Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
999,999,999,999 ROOTS
Holders
35
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
10,974,248,565.28318634438778073 ROOTSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ROOTS
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-08 */ // SPDX-License-Identifier: MIT // File: https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ // ROOTS is a DeFi & DEX platform on QOM. ROOTS aims at contributing to QOM’s vision of flipping Shiba by offering some advantages to QOM holders and increasing usecase of QOM. //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ // Be free like a bird but never forget: everything comes back to its ROOTS eventually. pragma solidity >=0.8.0; /// @notice Modern and gas efficient ERC20 + EIP-2612 implementation. /// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol) /// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol) /// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it. abstract contract ERC20 { /*////////////////////////////////////////////////////////////// EVENTS //////////////////////////////////////////////////////////////*/ event Transfer(address indexed from, address indexed to, uint256 amount); event Approval( address indexed owner, address indexed spender, uint256 amount ); /*////////////////////////////////////////////////////////////// METADATA STORAGE //////////////////////////////////////////////////////////////*/ string public name; string public symbol; uint8 public immutable decimals; /*////////////////////////////////////////////////////////////// ERC20 STORAGE //////////////////////////////////////////////////////////////*/ uint256 public totalSupply; mapping(address => uint256) public balanceOf; mapping(address => mapping(address => uint256)) public allowance; /*////////////////////////////////////////////////////////////// EIP-2612 STORAGE //////////////////////////////////////////////////////////////*/ uint256 internal immutable INITIAL_CHAIN_ID; bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR; mapping(address => uint256) public nonces; /*////////////////////////////////////////////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////*/ constructor(string memory _name, string memory _symbol, uint8 _decimals) { name = _name; symbol = _symbol; decimals = _decimals; INITIAL_CHAIN_ID = block.chainid; INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator(); } /*////////////////////////////////////////////////////////////// ERC20 LOGIC //////////////////////////////////////////////////////////////*/ function approve( address spender, uint256 amount ) public virtual returns (bool) { allowance[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function transfer( address to, uint256 amount ) public virtual returns (bool) { balanceOf[msg.sender] -= amount; // Cannot overflow because the sum of all user // balances can't exceed the max uint256 value. unchecked { balanceOf[to] += amount; } emit Transfer(msg.sender, to, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual returns (bool) { uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals. if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount; balanceOf[from] -= amount; // Cannot overflow because the sum of all user // balances can't exceed the max uint256 value. unchecked { balanceOf[to] += amount; } emit Transfer(from, to, amount); return true; } /*////////////////////////////////////////////////////////////// EIP-2612 LOGIC //////////////////////////////////////////////////////////////*/ function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) public virtual { require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED"); // Unchecked because the only math done is incrementing // the owner's nonce which cannot realistically overflow. unchecked { address recoveredAddress = ecrecover( keccak256( abi.encodePacked( "\x19\x01", DOMAIN_SEPARATOR(), keccak256( abi.encode( keccak256( "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)" ), owner, spender, value, nonces[owner]++, deadline ) ) ) ), v, r, s ); require( recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER" ); allowance[recoveredAddress][spender] = value; } emit Approval(owner, spender, value); } function DOMAIN_SEPARATOR() public view virtual returns (bytes32) { return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator(); } function computeDomainSeparator() internal view virtual returns (bytes32) { return keccak256( abi.encode( keccak256( "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)" ), keccak256(bytes(name)), keccak256("1"), block.chainid, address(this) ) ); } /*////////////////////////////////////////////////////////////// INTERNAL MINT/BURN LOGIC //////////////////////////////////////////////////////////////*/ function _mint(address to, uint256 amount) internal virtual { totalSupply += amount; // Cannot overflow because the sum of all user // balances can't exceed the max uint256 value. unchecked { balanceOf[to] += amount; } emit Transfer(address(0), to, amount); } function _burn(address from, uint256 amount) internal virtual { balanceOf[from] -= amount; // Cannot underflow because a user's balance // will never be larger than the total supply. unchecked { totalSupply -= amount; } emit Transfer(from, address(0), amount); } } pragma solidity ^0.8.18; contract ROOTS is ERC20 { constructor() ERC20("ROOTS", "ROOTS", 18) { _mint(msg.sender, 999_999_999_999 * 10 ** 18); } }
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":"amount","type":"uint256"}],"name":"Approval","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60e06040523480156200001157600080fd5b506040518060400160405280600581526020017f524f4f54530000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f524f4f545300000000000000000000000000000000000000000000000000000081525060128260009081620000919190620004d7565b508160019081620000a39190620004d7565b508060ff1660808160ff16815250504660a08181525050620000ca620000f960201b60201c565b60c08181525050505050620000f3336c0c9f2c9cd038943736989c00006200018960201b60201c565b620007db565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516200012d91906200066d565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016200016e959493929190620006f7565b60405160208183030381529060405280519060200120905090565b80600260008282546200019d919062000783565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002519190620007be565b60405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002df57607f821691505b602082108103620002f557620002f462000297565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200035f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000320565b6200036b868362000320565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003b8620003b2620003ac8462000383565b6200038d565b62000383565b9050919050565b6000819050919050565b620003d48362000397565b620003ec620003e382620003bf565b8484546200032d565b825550505050565b600090565b62000403620003f4565b62000410818484620003c9565b505050565b5b8181101562000438576200042c600082620003f9565b60018101905062000416565b5050565b601f82111562000487576200045181620002fb565b6200045c8462000310565b810160208510156200046c578190505b620004846200047b8562000310565b83018262000415565b50505b505050565b600082821c905092915050565b6000620004ac600019846008026200048c565b1980831691505092915050565b6000620004c7838362000499565b9150826002028217905092915050565b620004e2826200025d565b67ffffffffffffffff811115620004fe57620004fd62000268565b5b6200050a8254620002c6565b620005178282856200043c565b600060209050601f8311600181146200054f57600084156200053a578287015190505b620005468582620004b9565b865550620005b6565b601f1984166200055f86620002fb565b60005b82811015620005895784890151825560018201915060208501945060208101905062000562565b86831015620005a95784890151620005a5601f89168262000499565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b60008190508160005260206000209050919050565b60008154620005ed81620002c6565b620005f98186620005be565b945060018216600081146200061757600181146200062d5762000664565b60ff198316865281151582028601935062000664565b6200063885620005c9565b60005b838110156200065c578154818901526001820191506020810190506200063b565b838801955050505b50505092915050565b60006200067b8284620005de565b915081905092915050565b6000819050919050565b6200069b8162000686565b82525050565b620006ac8162000383565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006df82620006b2565b9050919050565b620006f181620006d2565b82525050565b600060a0820190506200070e600083018862000690565b6200071d602083018762000690565b6200072c604083018662000690565b6200073b6060830185620006a1565b6200074a6080830184620006e6565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007908262000383565b91506200079d8362000383565b9250828201905080821115620007b857620007b762000754565b5b92915050565b6000602082019050620007d56000830184620006a1565b92915050565b60805160a05160c0516114aa6200080b60003960006106b7015260006106830152600061065d01526114aa6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146101915780637ecebe00146101c157806395d89b41146101f1578063a9059cbb1461020f578063d505accf1461023f578063dd62ed3e1461025b576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633644e51514610173575b600080fd5b6100c161028b565b6040516100ce9190610ce8565b60405180910390f35b6100f160048036038101906100ec9190610da3565b610319565b6040516100fe9190610dfe565b60405180910390f35b61010f61040b565b60405161011c9190610e28565b60405180910390f35b61013f600480360381019061013a9190610e43565b610411565b60405161014c9190610dfe565b60405180910390f35b61015d61065b565b60405161016a9190610eb2565b60405180910390f35b61017b61067f565b6040516101889190610ee6565b60405180910390f35b6101ab60048036038101906101a69190610f01565b6106dc565b6040516101b89190610e28565b60405180910390f35b6101db60048036038101906101d69190610f01565b6106f4565b6040516101e89190610e28565b60405180910390f35b6101f961070c565b6040516102069190610ce8565b60405180910390f35b61022960048036038101906102249190610da3565b61079a565b6040516102369190610dfe565b60405180910390f35b61025960048036038101906102549190610f86565b6108ae565b005b61027560048036038101906102709190611028565b610ba7565b6040516102829190610e28565b60405180910390f35b6000805461029890611097565b80601f01602080910402602001604051908101604052809291908181526020018280546102c490611097565b80156103115780601f106102e657610100808354040283529160200191610311565b820191906000526020600020905b8154815290600101906020018083116102f457829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103f99190610e28565b60405180910390a36001905092915050565b60025481565b600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105475782816104c691906110f7565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461059691906110f7565b9250508190555082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516106479190610e28565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000046146106b5576106b0610bcc565b6106d7565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b60036020528060005260406000206000915090505481565b60056020528060005260406000206000915090505481565b6001805461071990611097565b80601f016020809104026020016040519081016040528092919081815260200182805461074590611097565b80156107925780601f1061076757610100808354040283529160200191610792565b820191906000526020600020905b81548152906001019060200180831161077557829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107eb91906110f7565b9250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161089c9190610e28565b60405180910390a36001905092915050565b428410156108f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e890611177565b60405180910390fd5b600060016108fd61067f565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a600560008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b604051602001610985969594939291906111a6565b604051602081830303815290604052805190602001206040516020016109ac92919061127f565b60405160208183030381529060405280519060200120858585604051600081526020016040526040516109e294939291906112b6565b6020604051602081039080840390855afa158015610a04573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610a7857508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aae90611347565b60405180910390fd5b85600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610b969190610e28565b60405180910390a350505050505050565b6004602052816000526040600020602052806000526040600020600091509150505481565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610bfe919061140a565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610c3d959493929190611421565b60405160208183030381529060405280519060200120905090565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c92578082015181840152602081019050610c77565b60008484015250505050565b6000601f19601f8301169050919050565b6000610cba82610c58565b610cc48185610c63565b9350610cd4818560208601610c74565b610cdd81610c9e565b840191505092915050565b60006020820190508181036000830152610d028184610caf565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d3a82610d0f565b9050919050565b610d4a81610d2f565b8114610d5557600080fd5b50565b600081359050610d6781610d41565b92915050565b6000819050919050565b610d8081610d6d565b8114610d8b57600080fd5b50565b600081359050610d9d81610d77565b92915050565b60008060408385031215610dba57610db9610d0a565b5b6000610dc885828601610d58565b9250506020610dd985828601610d8e565b9150509250929050565b60008115159050919050565b610df881610de3565b82525050565b6000602082019050610e136000830184610def565b92915050565b610e2281610d6d565b82525050565b6000602082019050610e3d6000830184610e19565b92915050565b600080600060608486031215610e5c57610e5b610d0a565b5b6000610e6a86828701610d58565b9350506020610e7b86828701610d58565b9250506040610e8c86828701610d8e565b9150509250925092565b600060ff82169050919050565b610eac81610e96565b82525050565b6000602082019050610ec76000830184610ea3565b92915050565b6000819050919050565b610ee081610ecd565b82525050565b6000602082019050610efb6000830184610ed7565b92915050565b600060208284031215610f1757610f16610d0a565b5b6000610f2584828501610d58565b91505092915050565b610f3781610e96565b8114610f4257600080fd5b50565b600081359050610f5481610f2e565b92915050565b610f6381610ecd565b8114610f6e57600080fd5b50565b600081359050610f8081610f5a565b92915050565b600080600080600080600060e0888a031215610fa557610fa4610d0a565b5b6000610fb38a828b01610d58565b9750506020610fc48a828b01610d58565b9650506040610fd58a828b01610d8e565b9550506060610fe68a828b01610d8e565b9450506080610ff78a828b01610f45565b93505060a06110088a828b01610f71565b92505060c06110198a828b01610f71565b91505092959891949750929550565b6000806040838503121561103f5761103e610d0a565b5b600061104d85828601610d58565b925050602061105e85828601610d58565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806110af57607f821691505b6020821081036110c2576110c1611068565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061110282610d6d565b915061110d83610d6d565b9250828203905081811115611125576111246110c8565b5b92915050565b7f5045524d49545f444541444c494e455f45585049524544000000000000000000600082015250565b6000611161601783610c63565b915061116c8261112b565b602082019050919050565b6000602082019050818103600083015261119081611154565b9050919050565b6111a081610d2f565b82525050565b600060c0820190506111bb6000830189610ed7565b6111c86020830188611197565b6111d56040830187611197565b6111e26060830186610e19565b6111ef6080830185610e19565b6111fc60a0830184610e19565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000611248600283611207565b915061125382611212565b600282019050919050565b6000819050919050565b61127961127482610ecd565b61125e565b82525050565b600061128a8261123b565b91506112968285611268565b6020820191506112a68284611268565b6020820191508190509392505050565b60006080820190506112cb6000830187610ed7565b6112d86020830186610ea3565b6112e56040830185610ed7565b6112f26060830184610ed7565b95945050505050565b7f494e56414c49445f5349474e4552000000000000000000000000000000000000600082015250565b6000611331600e83610c63565b915061133c826112fb565b602082019050919050565b6000602082019050818103600083015261136081611324565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b6000815461139481611097565b61139e8186611367565b945060018216600081146113b957600181146113ce57611401565b60ff1983168652811515820286019350611401565b6113d785611372565b60005b838110156113f9578154818901526001820191506020810190506113da565b838801955050505b50505092915050565b60006114168284611387565b915081905092915050565b600060a0820190506114366000830188610ed7565b6114436020830187610ed7565b6114506040830186610ed7565b61145d6060830185610e19565b61146a6080830184611197565b969550505050505056fea2646970667358221220ac7720fada2760d0367f4fb1a9007ee0813aeb083ef771d1066de3fa5c6eb06264736f6c63430008120033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146101915780637ecebe00146101c157806395d89b41146101f1578063a9059cbb1461020f578063d505accf1461023f578063dd62ed3e1461025b576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633644e51514610173575b600080fd5b6100c161028b565b6040516100ce9190610ce8565b60405180910390f35b6100f160048036038101906100ec9190610da3565b610319565b6040516100fe9190610dfe565b60405180910390f35b61010f61040b565b60405161011c9190610e28565b60405180910390f35b61013f600480360381019061013a9190610e43565b610411565b60405161014c9190610dfe565b60405180910390f35b61015d61065b565b60405161016a9190610eb2565b60405180910390f35b61017b61067f565b6040516101889190610ee6565b60405180910390f35b6101ab60048036038101906101a69190610f01565b6106dc565b6040516101b89190610e28565b60405180910390f35b6101db60048036038101906101d69190610f01565b6106f4565b6040516101e89190610e28565b60405180910390f35b6101f961070c565b6040516102069190610ce8565b60405180910390f35b61022960048036038101906102249190610da3565b61079a565b6040516102369190610dfe565b60405180910390f35b61025960048036038101906102549190610f86565b6108ae565b005b61027560048036038101906102709190611028565b610ba7565b6040516102829190610e28565b60405180910390f35b6000805461029890611097565b80601f01602080910402602001604051908101604052809291908181526020018280546102c490611097565b80156103115780601f106102e657610100808354040283529160200191610311565b820191906000526020600020905b8154815290600101906020018083116102f457829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103f99190610e28565b60405180910390a36001905092915050565b60025481565b600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105475782816104c691906110f7565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461059691906110f7565b9250508190555082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516106479190610e28565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000001281565b60007f000000000000000000000000000000000000000000000000000000000000000146146106b5576106b0610bcc565b6106d7565b7f5af3f0c983e4d1fb6630245359a482d8408845da34b6d2a18515ceeeeb3ef69f5b905090565b60036020528060005260406000206000915090505481565b60056020528060005260406000206000915090505481565b6001805461071990611097565b80601f016020809104026020016040519081016040528092919081815260200182805461074590611097565b80156107925780601f1061076757610100808354040283529160200191610792565b820191906000526020600020905b81548152906001019060200180831161077557829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107eb91906110f7565b9250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161089c9190610e28565b60405180910390a36001905092915050565b428410156108f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e890611177565b60405180910390fd5b600060016108fd61067f565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a600560008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b604051602001610985969594939291906111a6565b604051602081830303815290604052805190602001206040516020016109ac92919061127f565b60405160208183030381529060405280519060200120858585604051600081526020016040526040516109e294939291906112b6565b6020604051602081039080840390855afa158015610a04573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610a7857508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aae90611347565b60405180910390fd5b85600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610b969190610e28565b60405180910390a350505050505050565b6004602052816000526040600020602052806000526040600020600091509150505481565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610bfe919061140a565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610c3d959493929190611421565b60405160208183030381529060405280519060200120905090565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c92578082015181840152602081019050610c77565b60008484015250505050565b6000601f19601f8301169050919050565b6000610cba82610c58565b610cc48185610c63565b9350610cd4818560208601610c74565b610cdd81610c9e565b840191505092915050565b60006020820190508181036000830152610d028184610caf565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d3a82610d0f565b9050919050565b610d4a81610d2f565b8114610d5557600080fd5b50565b600081359050610d6781610d41565b92915050565b6000819050919050565b610d8081610d6d565b8114610d8b57600080fd5b50565b600081359050610d9d81610d77565b92915050565b60008060408385031215610dba57610db9610d0a565b5b6000610dc885828601610d58565b9250506020610dd985828601610d8e565b9150509250929050565b60008115159050919050565b610df881610de3565b82525050565b6000602082019050610e136000830184610def565b92915050565b610e2281610d6d565b82525050565b6000602082019050610e3d6000830184610e19565b92915050565b600080600060608486031215610e5c57610e5b610d0a565b5b6000610e6a86828701610d58565b9350506020610e7b86828701610d58565b9250506040610e8c86828701610d8e565b9150509250925092565b600060ff82169050919050565b610eac81610e96565b82525050565b6000602082019050610ec76000830184610ea3565b92915050565b6000819050919050565b610ee081610ecd565b82525050565b6000602082019050610efb6000830184610ed7565b92915050565b600060208284031215610f1757610f16610d0a565b5b6000610f2584828501610d58565b91505092915050565b610f3781610e96565b8114610f4257600080fd5b50565b600081359050610f5481610f2e565b92915050565b610f6381610ecd565b8114610f6e57600080fd5b50565b600081359050610f8081610f5a565b92915050565b600080600080600080600060e0888a031215610fa557610fa4610d0a565b5b6000610fb38a828b01610d58565b9750506020610fc48a828b01610d58565b9650506040610fd58a828b01610d8e565b9550506060610fe68a828b01610d8e565b9450506080610ff78a828b01610f45565b93505060a06110088a828b01610f71565b92505060c06110198a828b01610f71565b91505092959891949750929550565b6000806040838503121561103f5761103e610d0a565b5b600061104d85828601610d58565b925050602061105e85828601610d58565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806110af57607f821691505b6020821081036110c2576110c1611068565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061110282610d6d565b915061110d83610d6d565b9250828203905081811115611125576111246110c8565b5b92915050565b7f5045524d49545f444541444c494e455f45585049524544000000000000000000600082015250565b6000611161601783610c63565b915061116c8261112b565b602082019050919050565b6000602082019050818103600083015261119081611154565b9050919050565b6111a081610d2f565b82525050565b600060c0820190506111bb6000830189610ed7565b6111c86020830188611197565b6111d56040830187611197565b6111e26060830186610e19565b6111ef6080830185610e19565b6111fc60a0830184610e19565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000611248600283611207565b915061125382611212565b600282019050919050565b6000819050919050565b61127961127482610ecd565b61125e565b82525050565b600061128a8261123b565b91506112968285611268565b6020820191506112a68284611268565b6020820191508190509392505050565b60006080820190506112cb6000830187610ed7565b6112d86020830186610ea3565b6112e56040830185610ed7565b6112f26060830184610ed7565b95945050505050565b7f494e56414c49445f5349474e4552000000000000000000000000000000000000600082015250565b6000611331600e83610c63565b915061133c826112fb565b602082019050919050565b6000602082019050818103600083015261136081611324565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b6000815461139481611097565b61139e8186611367565b945060018216600081146113b957600181146113ce57611401565b60ff1983168652811515820286019350611401565b6113d785611372565b60005b838110156113f9578154818901526001820191506020810190506113da565b838801955050505b50505092915050565b60006114168284611387565b915081905092915050565b600060a0820190506114366000830188610ed7565b6114436020830187610ed7565b6114506040830186610ed7565b61145d6060830185610e19565b61146a6080830184611197565b969550505050505056fea2646970667358221220ac7720fada2760d0367f4fb1a9007ee0813aeb083ef771d1066de3fa5c6eb06264736f6c63430008120033
Deployed Bytecode Sourcemap
7958:140:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1788:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3231:242;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2071:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3899:625;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1844:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6303:226;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2106:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2532:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1815:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3481:410;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4719:1576;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2159:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1788:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3231:242::-;3330:4;3380:6;3347:9;:21;3357:10;3347:21;;;;;;;;;;;;;;;:30;3369:7;3347:30;;;;;;;;;;;;;;;:39;;;;3425:7;3404:37;;3413:10;3404:37;;;3434:6;3404:37;;;;;;:::i;:::-;;;;;;;;3461:4;3454:11;;3231:242;;;;:::o;2071:26::-;;;;:::o;3899:625::-;4021:4;4038:15;4056:9;:15;4066:4;4056:15;;;;;;;;;;;;;;;:27;4072:10;4056:27;;;;;;;;;;;;;;;;4038:45;;4147:17;4136:7;:28;4132:93;;4219:6;4209:7;:16;;;;:::i;:::-;4179:9;:15;4189:4;4179:15;;;;;;;;;;;;;;;:27;4195:10;4179:27;;;;;;;;;;;;;;;:46;;;;4132:93;4257:6;4238:9;:15;4248:4;4238:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;4431:6;4414:9;:13;4424:2;4414:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;4481:2;4466:26;;4475:4;4466:26;;;4485:6;4466:26;;;;;;:::i;:::-;;;;;;;;4512:4;4505:11;;;3899:625;;;;;:::o;1844:31::-;;;:::o;6303:226::-;6360:7;6417:16;6400:13;:33;:121;;6497:24;:22;:24::i;:::-;6400:121;;;6453:24;6400:121;6380:141;;6303:226;:::o;2106:44::-;;;;;;;;;;;;;;;;;:::o;2532:41::-;;;;;;;;;;;;;;;;;:::o;1815:20::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3481:410::-;3576:4;3618:6;3593:9;:21;3603:10;3593:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;3792:6;3775:9;:13;3785:2;3775:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;3848:2;3827:32;;3836:10;3827:32;;;3852:6;3827:32;;;;;;:::i;:::-;;;;;;;;3879:4;3872:11;;3481:410;;;;:::o;4719:1576::-;4947:15;4935:8;:27;;4927:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;5160:24;5187:827;5327:18;:16;:18::i;:::-;5457:167;5659:5;5699:7;5741:5;5781:6;:13;5788:5;5781:13;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;5831:8;5412:458;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5372:525;;;;;;5247:673;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5215:724;;;;;;5958:1;5978;5998;5187:827;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5160:854;;6085:1;6057:30;;:16;:30;;;;:59;;;;;6111:5;6091:25;;:16;:25;;;6057:59;6031:135;;;;;;;;;;;;:::i;:::-;;;;;;;;;6222:5;6183:9;:27;6193:16;6183:27;;;;;;;;;;;;;;;:36;6211:7;6183:36;;;;;;;;;;;;;;;:44;;;;5135:1104;6272:7;6256:31;;6265:5;6256:31;;;6281:5;6256:31;;;;;;:::i;:::-;;;;;;;;4719:1576;;;;;;;:::o;2159:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6537:505::-;6602:7;6703:143;6885:4;6869:22;;;;;;:::i;:::-;;;;;;;;6914:14;6951:13;6995:4;6670:349;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6642:392;;;;;;6622:412;;6537:505;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:77::-;4890:7;4919:5;4908:16;;4853:77;;;:::o;4936:118::-;5023:24;5041:5;5023:24;:::i;:::-;5018:3;5011:37;4936:118;;:::o;5060:222::-;5153:4;5191:2;5180:9;5176:18;5168:26;;5204:71;5272:1;5261:9;5257:17;5248:6;5204:71;:::i;:::-;5060:222;;;;:::o;5288:329::-;5347:6;5396:2;5384:9;5375:7;5371:23;5367:32;5364:119;;;5402:79;;:::i;:::-;5364:119;5522:1;5547:53;5592:7;5583:6;5572:9;5568:22;5547:53;:::i;:::-;5537:63;;5493:117;5288:329;;;;:::o;5623:118::-;5694:22;5710:5;5694:22;:::i;:::-;5687:5;5684:33;5674:61;;5731:1;5728;5721:12;5674:61;5623:118;:::o;5747:135::-;5791:5;5829:6;5816:20;5807:29;;5845:31;5870:5;5845:31;:::i;:::-;5747:135;;;;:::o;5888:122::-;5961:24;5979:5;5961:24;:::i;:::-;5954:5;5951:35;5941:63;;6000:1;5997;5990:12;5941:63;5888:122;:::o;6016:139::-;6062:5;6100:6;6087:20;6078:29;;6116:33;6143:5;6116:33;:::i;:::-;6016:139;;;;:::o;6161:1199::-;6272:6;6280;6288;6296;6304;6312;6320;6369:3;6357:9;6348:7;6344:23;6340:33;6337:120;;;6376:79;;:::i;:::-;6337:120;6496:1;6521:53;6566:7;6557:6;6546:9;6542:22;6521:53;:::i;:::-;6511:63;;6467:117;6623:2;6649:53;6694:7;6685:6;6674:9;6670:22;6649:53;:::i;:::-;6639:63;;6594:118;6751:2;6777:53;6822:7;6813:6;6802:9;6798:22;6777:53;:::i;:::-;6767:63;;6722:118;6879:2;6905:53;6950:7;6941:6;6930:9;6926:22;6905:53;:::i;:::-;6895:63;;6850:118;7007:3;7034:51;7077:7;7068:6;7057:9;7053:22;7034:51;:::i;:::-;7024:61;;6978:117;7134:3;7161:53;7206:7;7197:6;7186:9;7182:22;7161:53;:::i;:::-;7151:63;;7105:119;7263:3;7290:53;7335:7;7326:6;7315:9;7311:22;7290:53;:::i;:::-;7280:63;;7234:119;6161:1199;;;;;;;;;;:::o;7366:474::-;7434:6;7442;7491:2;7479:9;7470:7;7466:23;7462:32;7459:119;;;7497:79;;:::i;:::-;7459:119;7617:1;7642:53;7687:7;7678:6;7667:9;7663:22;7642:53;:::i;:::-;7632:63;;7588:117;7744:2;7770:53;7815:7;7806:6;7795:9;7791:22;7770:53;:::i;:::-;7760:63;;7715:118;7366:474;;;;;:::o;7846:180::-;7894:77;7891:1;7884:88;7991:4;7988:1;7981:15;8015:4;8012:1;8005:15;8032:320;8076:6;8113:1;8107:4;8103:12;8093:22;;8160:1;8154:4;8150:12;8181:18;8171:81;;8237:4;8229:6;8225:17;8215:27;;8171:81;8299:2;8291:6;8288:14;8268:18;8265:38;8262:84;;8318:18;;:::i;:::-;8262:84;8083:269;8032:320;;;:::o;8358:180::-;8406:77;8403:1;8396:88;8503:4;8500:1;8493:15;8527:4;8524:1;8517:15;8544:194;8584:4;8604:20;8622:1;8604:20;:::i;:::-;8599:25;;8638:20;8656:1;8638:20;:::i;:::-;8633:25;;8682:1;8679;8675:9;8667:17;;8706:1;8700:4;8697:11;8694:37;;;8711:18;;:::i;:::-;8694:37;8544:194;;;;:::o;8744:173::-;8884:25;8880:1;8872:6;8868:14;8861:49;8744:173;:::o;8923:366::-;9065:3;9086:67;9150:2;9145:3;9086:67;:::i;:::-;9079:74;;9162:93;9251:3;9162:93;:::i;:::-;9280:2;9275:3;9271:12;9264:19;;8923:366;;;:::o;9295:419::-;9461:4;9499:2;9488:9;9484:18;9476:26;;9548:9;9542:4;9538:20;9534:1;9523:9;9519:17;9512:47;9576:131;9702:4;9576:131;:::i;:::-;9568:139;;9295:419;;;:::o;9720:118::-;9807:24;9825:5;9807:24;:::i;:::-;9802:3;9795:37;9720:118;;:::o;9844:775::-;10077:4;10115:3;10104:9;10100:19;10092:27;;10129:71;10197:1;10186:9;10182:17;10173:6;10129:71;:::i;:::-;10210:72;10278:2;10267:9;10263:18;10254:6;10210:72;:::i;:::-;10292;10360:2;10349:9;10345:18;10336:6;10292:72;:::i;:::-;10374;10442:2;10431:9;10427:18;10418:6;10374:72;:::i;:::-;10456:73;10524:3;10513:9;10509:19;10500:6;10456:73;:::i;:::-;10539;10607:3;10596:9;10592:19;10583:6;10539:73;:::i;:::-;9844:775;;;;;;;;;:::o;10625:148::-;10727:11;10764:3;10749:18;;10625:148;;;;:::o;10779:214::-;10919:66;10915:1;10907:6;10903:14;10896:90;10779:214;:::o;10999:400::-;11159:3;11180:84;11262:1;11257:3;11180:84;:::i;:::-;11173:91;;11273:93;11362:3;11273:93;:::i;:::-;11391:1;11386:3;11382:11;11375:18;;10999:400;;;:::o;11405:79::-;11444:7;11473:5;11462:16;;11405:79;;;:::o;11490:157::-;11595:45;11615:24;11633:5;11615:24;:::i;:::-;11595:45;:::i;:::-;11590:3;11583:58;11490:157;;:::o;11653:663::-;11894:3;11916:148;12060:3;11916:148;:::i;:::-;11909:155;;12074:75;12145:3;12136:6;12074:75;:::i;:::-;12174:2;12169:3;12165:12;12158:19;;12187:75;12258:3;12249:6;12187:75;:::i;:::-;12287:2;12282:3;12278:12;12271:19;;12307:3;12300:10;;11653:663;;;;;:::o;12322:545::-;12495:4;12533:3;12522:9;12518:19;12510:27;;12547:71;12615:1;12604:9;12600:17;12591:6;12547:71;:::i;:::-;12628:68;12692:2;12681:9;12677:18;12668:6;12628:68;:::i;:::-;12706:72;12774:2;12763:9;12759:18;12750:6;12706:72;:::i;:::-;12788;12856:2;12845:9;12841:18;12832:6;12788:72;:::i;:::-;12322:545;;;;;;;:::o;12873:164::-;13013:16;13009:1;13001:6;12997:14;12990:40;12873:164;:::o;13043:366::-;13185:3;13206:67;13270:2;13265:3;13206:67;:::i;:::-;13199:74;;13282:93;13371:3;13282:93;:::i;:::-;13400:2;13395:3;13391:12;13384:19;;13043:366;;;:::o;13415:419::-;13581:4;13619:2;13608:9;13604:18;13596:26;;13668:9;13662:4;13658:20;13654:1;13643:9;13639:17;13632:47;13696:131;13822:4;13696:131;:::i;:::-;13688:139;;13415:419;;;:::o;13840:147::-;13941:11;13978:3;13963:18;;13840:147;;;;:::o;13993:144::-;14045:4;14068:3;14060:11;;14091:3;14088:1;14081:14;14125:4;14122:1;14112:18;14104:26;;13993:144;;;:::o;14165:878::-;14270:3;14307:5;14301:12;14336:36;14362:9;14336:36;:::i;:::-;14388:88;14469:6;14464:3;14388:88;:::i;:::-;14381:95;;14507:1;14496:9;14492:17;14523:1;14518:166;;;;14698:1;14693:344;;;;14485:552;;14518:166;14602:4;14598:9;14587;14583:25;14578:3;14571:38;14664:6;14657:14;14650:22;14642:6;14638:35;14633:3;14629:45;14622:52;;14518:166;;14693:344;14760:41;14795:5;14760:41;:::i;:::-;14823:1;14837:154;14851:6;14848:1;14845:13;14837:154;;;14925:7;14919:14;14915:1;14910:3;14906:11;14899:35;14975:1;14966:7;14962:15;14951:26;;14873:4;14870:1;14866:12;14861:17;;14837:154;;;15020:6;15015:3;15011:16;15004:23;;14700:337;;14485:552;;14274:769;;14165:878;;;;:::o;15049:273::-;15180:3;15202:94;15292:3;15283:6;15202:94;:::i;:::-;15195:101;;15313:3;15306:10;;15049:273;;;;:::o;15328:664::-;15533:4;15571:3;15560:9;15556:19;15548:27;;15585:71;15653:1;15642:9;15638:17;15629:6;15585:71;:::i;:::-;15666:72;15734:2;15723:9;15719:18;15710:6;15666:72;:::i;:::-;15748;15816:2;15805:9;15801:18;15792:6;15748:72;:::i;:::-;15830;15898:2;15887:9;15883:18;15874:6;15830:72;:::i;:::-;15912:73;15980:3;15969:9;15965:19;15956:6;15912:73;:::i;:::-;15328:664;;;;;;;;:::o
Swarm Source
ipfs://ac7720fada2760d0367f4fb1a9007ee0813aeb083ef771d1066de3fa5c6eb062
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.