ETH Price: $2,619.80 (+1.23%)

Token

SUN INSTALLATION COLLECTION (SIC)
 

Overview

Max Total Supply

121 SIC

Holders

121

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
0x983f89f9bfb04cea76bf5f483cbe19efede50ff3
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SUNINSTALLATIONCOLLECTION

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-08-19
*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.0;

/**
 * @title ERC1155 SBT
 * @author 0xSumo @PBADAO
 */

pragma solidity ^0.8.0;

 abstract contract OwnControll {
    address public owner;
    mapping(address => bool) public admin;
    modifier onlyOwner { require(owner == msg.sender, "Not Owner"); _; }
    modifier onlyAdmin { require(admin[msg.sender], "Not Admin"); _; }
    constructor() { owner = msg.sender; }
    function transferOwnership(address new_) external onlyOwner { owner = new_; }
    function setAdmin(address address_, bool bool_) external onlyOwner { admin[address_] = bool_; }
}

abstract contract ERC1155URI {
    mapping(uint256 => string) public tokenToURI;
    function _setTokenToURI(uint256 tokenId_, string memory uri_) internal virtual {
        tokenToURI[tokenId_] = uri_;
    }
}

interface ERC1155TokenReceiver {
    function onERC1155Received(address operator_, address from_, uint256 id_, uint256 amount_, bytes calldata data_) external returns (bytes4);
    function onERC1155BatchReceived(address operator_, address from_, uint256[] calldata ids_, uint256[] calldata amounts_, bytes calldata data_) external returns (bytes4);
}

contract SUNINSTALLATIONCOLLECTION is OwnControll, ERC1155URI {
    
    string public name = "SUN INSTALLATION COLLECTION"; 
    string public symbol = "SIC";

    mapping(address => mapping(uint256 => uint256)) public balanceOf;

    event TransferSingle(address indexed operator_, address indexed from_, address indexed to_, uint256 id_, uint256 amount_);
    event TransferBatch(address indexed operator_, address indexed from_, address indexed to_, uint256[] ids_, uint256[] amounts_);

    constructor() {}

    function _ERC1155Supported(address from_, address to_, uint256 id_, uint256 amount_, bytes memory data_) internal {
        require(to_.code.length == 0 ? to_ != address(0) : ERC1155TokenReceiver(to_).onERC1155Received(
            msg.sender, from_, id_, amount_, data_) ==
            ERC1155TokenReceiver.onERC1155Received.selector,
            "_ERC1155Supported(): Unsupported Recipient!"
        );
    }

    function _ERC1155BatchSupported(address from_, address to_, uint256[] memory ids_, uint256[] memory amounts_, bytes memory data_) internal {
        require(to_.code.length == 0 ? to_ != address(0) : ERC1155TokenReceiver(to_).onERC1155BatchReceived(
            msg.sender, from_, ids_, amounts_, data_) ==
            ERC1155TokenReceiver.onERC1155BatchReceived.selector,
            "_ERC1155BatchSupported(): Unsupported Recipient!"
        );
    }

    function _mintInternal(address to_, uint256 id_, uint256 amount_) internal {
        balanceOf[to_][id_] += amount_;
    }

    function _mint(address to_, uint256 id_, uint256 amount_, bytes memory data_) internal {
        _mintInternal(to_, id_, amount_);
        emit TransferSingle(msg.sender, address(0), to_, id_, amount_);
        _ERC1155Supported(address(0), to_, id_, amount_, data_);
    }

    function _batchMint(address to_, uint256[] memory ids_, uint256[] memory amounts_, bytes memory data_) internal {
        require(_isSameLength(ids_.length, amounts_.length));
        for (uint256 i = 0; i < ids_.length; i++) {
            _mintInternal(to_, ids_[i], amounts_[i]);
        }
        emit TransferBatch(msg.sender, address(0), to_, ids_, amounts_);
        _ERC1155BatchSupported(address(0), to_, ids_, amounts_, data_);
    }

    function _burnInternal(address from_, uint256 id_, uint256 amount_) internal {
        balanceOf[from_][id_] -= amount_;
    }

    function _burn(address from_, uint256 id_, uint256 amount_) internal {
        _burnInternal(from_, id_, amount_);
        emit TransferSingle(msg.sender, from_, address(0), id_, amount_);
    }

    function _batchBurn(address from_, uint256[] memory ids_, uint256[] memory amounts_) internal {
        require(_isSameLength(ids_.length, amounts_.length));  
        for (uint256 i = 0; i < ids_.length; i++) {
            _burnInternal(from_, ids_[i], amounts_[i]);
        }
        emit TransferBatch(msg.sender, from_, address(0), ids_, amounts_);
    }

    function _isSameLength(uint256 a, uint256 b) internal pure returns (bool) {
        return a == b;
    }

    function mintToken(address to_, uint256 id_, uint256 amount_, bytes memory data_) external onlyAdmin {
        _mint(to_, id_, amount_, data_);
    }

    function mintBatch(address[] calldata to_, uint256 id_, uint256[] memory amount_, bytes memory data_) external onlyOwner {
        require(_isSameLength(to_.length, amount_.length));
        for (uint256 i = 0; i < to_.length;) {
            _mint(to_[i], id_, amount_[i], data_);
            unchecked { ++i; }
        }
    }

    function mintTokenBatch(address to_, uint256[] memory ids_, uint256[] memory amounts_, bytes memory data_) external onlyAdmin {
        _batchMint(to_, ids_, amounts_, data_);
    }

    function burnToken(address from_, uint256 id_, uint256 amount_) external onlyAdmin {
        _burn(from_, id_, amount_);
    }

    function burnTokenBatch(address from_, uint256[] memory ids_, uint256[] memory amounts_) external onlyAdmin {
        _batchBurn(from_, ids_, amounts_);
    }

    function supportsInterface(bytes4 interfaceId_) public pure virtual returns (bool) {
        return interfaceId_ == 0x01ffc9a7 || interfaceId_ == 0xd9b67a26 || interfaceId_ == 0x0e89341c;
    }

    function setURI(uint256 tokenId_, string memory uri_) external onlyAdmin {
        _setTokenToURI(tokenId_, uri_);
    }

    function uri(uint256 id_) public virtual view returns (string memory) {
        return tokenToURI[id_];
    }

    function balanceOfBatch(address[] memory owners_, uint256[] memory ids_) public view virtual returns (uint256[] memory) {
        require(_isSameLength(owners_.length, ids_.length));
        uint256[] memory _balances = new uint256[](owners_.length);
        for (uint256 i = 0; i < owners_.length; i++) {
            _balances[i] = balanceOf[owners_[i]][ids_[i]];
        }
        return _balances;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator_","type":"address"},{"indexed":true,"internalType":"address","name":"from_","type":"address"},{"indexed":true,"internalType":"address","name":"to_","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids_","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts_","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator_","type":"address"},{"indexed":true,"internalType":"address","name":"from_","type":"address"},{"indexed":true,"internalType":"address","name":"to_","type":"address"},{"indexed":false,"internalType":"uint256","name":"id_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"TransferSingle","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"admin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"owners_","type":"address[]"},{"internalType":"uint256[]","name":"ids_","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"uint256","name":"id_","type":"uint256"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"burnToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"uint256[]","name":"ids_","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts_","type":"uint256[]"}],"name":"burnTokenBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"to_","type":"address[]"},{"internalType":"uint256","name":"id_","type":"uint256"},{"internalType":"uint256[]","name":"amount_","type":"uint256[]"},{"internalType":"bytes","name":"data_","type":"bytes"}],"name":"mintBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"id_","type":"uint256"},{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"name":"mintToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256[]","name":"ids_","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts_","type":"uint256[]"},{"internalType":"bytes","name":"data_","type":"bytes"}],"name":"mintTokenBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"},{"internalType":"bool","name":"bool_","type":"bool"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId_","type":"uint256"},{"internalType":"string","name":"uri_","type":"string"}],"name":"setURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId_","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenToURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"new_","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id_","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]

60c0604052601b60809081527f53554e20494e5354414c4c4154494f4e20434f4c4c454354494f4e000000000060a0526003906200003e908262000134565b5060408051808201909152600381526253494360e81b602082015260049062000068908262000134565b503480156200007657600080fd5b50600080546001600160a01b0319163317905562000200565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ba57607f821691505b602082108103620000db57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012f57600081815260208120601f850160051c810160208610156200010a5750805b601f850160051c820191505b818110156200012b5782815560010162000116565b5050505b505050565b81516001600160401b038111156200015057620001506200008f565b6200016881620001618454620000a5565b84620000e1565b602080601f831160018114620001a05760008415620001875750858301515b600019600386901b1c1916600185901b1785556200012b565b600085815260208120601f198616915b82811015620001d157888601518255948401946001909101908401620001b0565b5085821015620001f05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61163580620002106000396000f3fe608060405234801561001057600080fd5b506004361061010a5760003560e01c806360ae1540116100a25780638da5cb5b116100715780638da5cb5b1461024f57806395d89b411461027a578063ed8c593814610282578063f240ec3614610295578063f2fde38b146102a857600080fd5b806360ae1540146101f357806363a846f81461020657806370a2754e14610229578063862440e21461023c57600080fd5b80632f6b16d7116100de5780632f6b16d7146101985780634b0bddd2146101ab5780634e1273f4146101c05780635e315f8b146101e057600080fd5b8062fdd58e1461010f57806301ffc9a71461014d57806306fdde03146101705780630e89341c14610185575b600080fd5b61013a61011d366004610ce8565b600560209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b61016061015b366004610d2b565b6102bb565b6040519015158152602001610144565b61017861030d565b6040516101449190610d95565b610178610193366004610da8565b61039b565b6101786101a6366004610da8565b61043d565b6101be6101b9366004610dc1565b610456565b005b6101d36101ce366004610ed3565b6104b4565b6040516101449190610fce565b6101be6101ee366004611059565b6105be565b6101be6102013660046110ba565b6105ff565b610160610214366004611180565b60016020526000908152604090205460ff1681565b6101be61023736600461119b565b61069c565b6101be61024a366004611228565b6106d7565b600054610262906001600160a01b031681565b6040516001600160a01b039091168152602001610144565b610178610714565b6101be610290366004611279565b610721565b6101be6102a33660046112ac565b610760565b6101be6102b6366004611180565b61079a565b60006301ffc9a760e01b6001600160e01b0319831614806102ec5750636cdb3d1360e11b6001600160e01b03198316145b8061030757506303a24d0760e21b6001600160e01b03198316145b92915050565b6003805461031a90611320565b80601f016020809104026020016040519081016040528092919081815260200182805461034690611320565b80156103935780601f1061036857610100808354040283529160200191610393565b820191906000526020600020905b81548152906001019060200180831161037657829003601f168201915b505050505081565b60008181526002602052604090208054606091906103b890611320565b80601f01602080910402602001604051908101604052809291908181526020018280546103e490611320565b80156104315780601f1061040657610100808354040283529160200191610431565b820191906000526020600020905b81548152906001019060200180831161041457829003601f168201915b50505050509050919050565b6002602052600090815260409020805461031a90611320565b6000546001600160a01b031633146104895760405162461bcd60e51b81526004016104809061135a565b60405180910390fd5b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b60606104c1835183511490565b6104ca57600080fd5b6000835167ffffffffffffffff8111156104e6576104e6610dfd565b60405190808252806020026020018201604052801561050f578160200160208202803683370190505b50905060005b84518110156105b657600560008683815181106105345761053461137d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008583815181106105705761057061137d565b60200260200101518152602001908152602001600020548282815181106105995761059961137d565b6020908102919091010152806105ae816113a9565b915050610515565b509392505050565b3360009081526001602052604090205460ff166105ed5760405162461bcd60e51b8152600401610480906113c2565b6105f9848484846107e6565b50505050565b6000546001600160a01b031633146106295760405162461bcd60e51b81526004016104809061135a565b8151841461063657600080fd5b60005b848110156106945761068c8686838181106106565761065661137d565b905060200201602081019061066b9190611180565b8585848151811061067e5761067e61137d565b6020026020010151856107e6565b600101610639565b505050505050565b3360009081526001602052604090205460ff166106cb5760405162461bcd60e51b8152600401610480906113c2565b6105f984848484610848565b3360009081526001602052604090205460ff166107065760405162461bcd60e51b8152600401610480906113c2565b6107108282610918565b5050565b6004805461031a90611320565b3360009081526001602052604090205460ff166107505760405162461bcd60e51b8152600401610480906113c2565b61075b838383610930565b505050565b3360009081526001602052604090205460ff1661078f5760405162461bcd60e51b8152600401610480906113c2565b61075b83838361098a565b6000546001600160a01b031633146107c45760405162461bcd60e51b81526004016104809061135a565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6107f1848484610a44565b60408051848152602081018490526001600160a01b0386169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46105f9600085858585610a81565b825182511461085657600080fd5b60005b83518110156108b15761089f858583815181106108785761087861137d565b60200260200101518584815181106108925761089261137d565b6020026020010151610a44565b806108a9816113a9565b915050610859565b50836001600160a01b031660006001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516109029291906113e5565b60405180910390a46105f9600085858585610b8e565b600082815260026020526040902061075b8282611459565b61093b838383610c99565b60408051838152602081018390526000916001600160a01b0386169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b815181511461099857600080fd5b60005b82518110156109f3576109e1848483815181106109ba576109ba61137d565b60200260200101518484815181106109d4576109d461137d565b6020026020010151610c99565b806109eb816113a9565b91505061099b565b5060006001600160a01b0316836001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb858560405161097d9291906113e5565b6001600160a01b038316600090815260056020908152604080832085845290915281208054839290610a77908490611519565b9091555050505050565b6001600160a01b0384163b15610b1a5760405163f23a6e6160e01b808252906001600160a01b0386169063f23a6e6190610ac79033908a9089908990899060040161152c565b6020604051808303816000875af1158015610ae6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0a9190611571565b6001600160e01b03191614610b27565b6001600160a01b03841615155b610b875760405162461bcd60e51b815260206004820152602b60248201527f5f45524331313535537570706f7274656428293a20556e737570706f7274656460448201526a20526563697069656e742160a81b6064820152608401610480565b5050505050565b6001600160a01b0384163b15610c275760405163bc197c8160e01b808252906001600160a01b0386169063bc197c8190610bd49033908a9089908990899060040161158e565b6020604051808303816000875af1158015610bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c179190611571565b6001600160e01b03191614610c34565b6001600160a01b03841615155b610b875760405162461bcd60e51b815260206004820152603060248201527f5f455243313135354261746368537570706f7274656428293a20556e7375707060448201526f6f7274656420526563697069656e742160801b6064820152608401610480565b6001600160a01b038316600090815260056020908152604080832085845290915281208054839290610a779084906115ec565b80356001600160a01b0381168114610ce357600080fd5b919050565b60008060408385031215610cfb57600080fd5b610d0483610ccc565b946020939093013593505050565b6001600160e01b031981168114610d2857600080fd5b50565b600060208284031215610d3d57600080fd5b8135610d4881610d12565b9392505050565b6000815180845260005b81811015610d7557602081850181015186830182015201610d59565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610d486020830184610d4f565b600060208284031215610dba57600080fd5b5035919050565b60008060408385031215610dd457600080fd5b610ddd83610ccc565b915060208301358015158114610df257600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e3c57610e3c610dfd565b604052919050565b600067ffffffffffffffff821115610e5e57610e5e610dfd565b5060051b60200190565b600082601f830112610e7957600080fd5b81356020610e8e610e8983610e44565b610e13565b82815260059290921b84018101918181019086841115610ead57600080fd5b8286015b84811015610ec85780358352918301918301610eb1565b509695505050505050565b60008060408385031215610ee657600080fd5b823567ffffffffffffffff80821115610efe57600080fd5b818501915085601f830112610f1257600080fd5b81356020610f22610e8983610e44565b82815260059290921b84018101918181019089841115610f4157600080fd5b948201945b83861015610f6657610f5786610ccc565b82529482019490820190610f46565b96505086013592505080821115610f7c57600080fd5b50610f8985828601610e68565b9150509250929050565b600081518084526020808501945080840160005b83811015610fc357815187529582019590820190600101610fa7565b509495945050505050565b602081526000610d486020830184610f93565b600067ffffffffffffffff831115610ffb57610ffb610dfd565b61100e601f8401601f1916602001610e13565b905082815283838301111561102257600080fd5b828260208301376000602084830101529392505050565b600082601f83011261104a57600080fd5b610d4883833560208501610fe1565b6000806000806080858703121561106f57600080fd5b61107885610ccc565b93506020850135925060408501359150606085013567ffffffffffffffff8111156110a257600080fd5b6110ae87828801611039565b91505092959194509250565b6000806000806000608086880312156110d257600080fd5b853567ffffffffffffffff808211156110ea57600080fd5b818801915088601f8301126110fe57600080fd5b81358181111561110d57600080fd5b8960208260051b850101111561112257600080fd5b6020928301975095509087013593506040870135908082111561114457600080fd5b61115089838a01610e68565b9350606088013591508082111561116657600080fd5b5061117388828901611039565b9150509295509295909350565b60006020828403121561119257600080fd5b610d4882610ccc565b600080600080608085870312156111b157600080fd5b6111ba85610ccc565b9350602085013567ffffffffffffffff808211156111d757600080fd5b6111e388838901610e68565b945060408701359150808211156111f957600080fd5b61120588838901610e68565b9350606087013591508082111561121b57600080fd5b506110ae87828801611039565b6000806040838503121561123b57600080fd5b82359150602083013567ffffffffffffffff81111561125957600080fd5b8301601f8101851361126a57600080fd5b610f8985823560208401610fe1565b60008060006060848603121561128e57600080fd5b61129784610ccc565b95602085013595506040909401359392505050565b6000806000606084860312156112c157600080fd5b6112ca84610ccc565b9250602084013567ffffffffffffffff808211156112e757600080fd5b6112f387838801610e68565b9350604086013591508082111561130957600080fd5b5061131686828701610e68565b9150509250925092565b600181811c9082168061133457607f821691505b60208210810361135457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600990820152682737ba1027bbb732b960b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016113bb576113bb611393565b5060010190565b6020808252600990820152682737ba1020b236b4b760b91b604082015260600190565b6040815260006113f86040830185610f93565b828103602084015261140a8185610f93565b95945050505050565b601f82111561075b57600081815260208120601f850160051c8101602086101561143a5750805b601f850160051c820191505b8181101561069457828155600101611446565b815167ffffffffffffffff81111561147357611473610dfd565b611487816114818454611320565b84611413565b602080601f8311600181146114bc57600084156114a45750858301515b600019600386901b1c1916600185901b178555610694565b600085815260208120601f198616915b828110156114eb578886015182559484019460019091019084016114cc565b50858210156115095787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8082018082111561030757610307611393565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061156690830184610d4f565b979650505050505050565b60006020828403121561158357600080fd5b8151610d4881610d12565b6001600160a01b0386811682528516602082015260a0604082018190526000906115ba90830186610f93565b82810360608401526115cc8186610f93565b905082810360808401526115e08185610d4f565b98975050505050505050565b818103818111156103075761030761139356fea26469706673582212204492c3cc47157a53244633321b3051d334fc1ea29cf5c4dcd82814246703e00a64736f6c63430008130033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010a5760003560e01c806360ae1540116100a25780638da5cb5b116100715780638da5cb5b1461024f57806395d89b411461027a578063ed8c593814610282578063f240ec3614610295578063f2fde38b146102a857600080fd5b806360ae1540146101f357806363a846f81461020657806370a2754e14610229578063862440e21461023c57600080fd5b80632f6b16d7116100de5780632f6b16d7146101985780634b0bddd2146101ab5780634e1273f4146101c05780635e315f8b146101e057600080fd5b8062fdd58e1461010f57806301ffc9a71461014d57806306fdde03146101705780630e89341c14610185575b600080fd5b61013a61011d366004610ce8565b600560209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b61016061015b366004610d2b565b6102bb565b6040519015158152602001610144565b61017861030d565b6040516101449190610d95565b610178610193366004610da8565b61039b565b6101786101a6366004610da8565b61043d565b6101be6101b9366004610dc1565b610456565b005b6101d36101ce366004610ed3565b6104b4565b6040516101449190610fce565b6101be6101ee366004611059565b6105be565b6101be6102013660046110ba565b6105ff565b610160610214366004611180565b60016020526000908152604090205460ff1681565b6101be61023736600461119b565b61069c565b6101be61024a366004611228565b6106d7565b600054610262906001600160a01b031681565b6040516001600160a01b039091168152602001610144565b610178610714565b6101be610290366004611279565b610721565b6101be6102a33660046112ac565b610760565b6101be6102b6366004611180565b61079a565b60006301ffc9a760e01b6001600160e01b0319831614806102ec5750636cdb3d1360e11b6001600160e01b03198316145b8061030757506303a24d0760e21b6001600160e01b03198316145b92915050565b6003805461031a90611320565b80601f016020809104026020016040519081016040528092919081815260200182805461034690611320565b80156103935780601f1061036857610100808354040283529160200191610393565b820191906000526020600020905b81548152906001019060200180831161037657829003601f168201915b505050505081565b60008181526002602052604090208054606091906103b890611320565b80601f01602080910402602001604051908101604052809291908181526020018280546103e490611320565b80156104315780601f1061040657610100808354040283529160200191610431565b820191906000526020600020905b81548152906001019060200180831161041457829003601f168201915b50505050509050919050565b6002602052600090815260409020805461031a90611320565b6000546001600160a01b031633146104895760405162461bcd60e51b81526004016104809061135a565b60405180910390fd5b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b60606104c1835183511490565b6104ca57600080fd5b6000835167ffffffffffffffff8111156104e6576104e6610dfd565b60405190808252806020026020018201604052801561050f578160200160208202803683370190505b50905060005b84518110156105b657600560008683815181106105345761053461137d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008583815181106105705761057061137d565b60200260200101518152602001908152602001600020548282815181106105995761059961137d565b6020908102919091010152806105ae816113a9565b915050610515565b509392505050565b3360009081526001602052604090205460ff166105ed5760405162461bcd60e51b8152600401610480906113c2565b6105f9848484846107e6565b50505050565b6000546001600160a01b031633146106295760405162461bcd60e51b81526004016104809061135a565b8151841461063657600080fd5b60005b848110156106945761068c8686838181106106565761065661137d565b905060200201602081019061066b9190611180565b8585848151811061067e5761067e61137d565b6020026020010151856107e6565b600101610639565b505050505050565b3360009081526001602052604090205460ff166106cb5760405162461bcd60e51b8152600401610480906113c2565b6105f984848484610848565b3360009081526001602052604090205460ff166107065760405162461bcd60e51b8152600401610480906113c2565b6107108282610918565b5050565b6004805461031a90611320565b3360009081526001602052604090205460ff166107505760405162461bcd60e51b8152600401610480906113c2565b61075b838383610930565b505050565b3360009081526001602052604090205460ff1661078f5760405162461bcd60e51b8152600401610480906113c2565b61075b83838361098a565b6000546001600160a01b031633146107c45760405162461bcd60e51b81526004016104809061135a565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6107f1848484610a44565b60408051848152602081018490526001600160a01b0386169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46105f9600085858585610a81565b825182511461085657600080fd5b60005b83518110156108b15761089f858583815181106108785761087861137d565b60200260200101518584815181106108925761089261137d565b6020026020010151610a44565b806108a9816113a9565b915050610859565b50836001600160a01b031660006001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516109029291906113e5565b60405180910390a46105f9600085858585610b8e565b600082815260026020526040902061075b8282611459565b61093b838383610c99565b60408051838152602081018390526000916001600160a01b0386169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a4505050565b815181511461099857600080fd5b60005b82518110156109f3576109e1848483815181106109ba576109ba61137d565b60200260200101518484815181106109d4576109d461137d565b6020026020010151610c99565b806109eb816113a9565b91505061099b565b5060006001600160a01b0316836001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb858560405161097d9291906113e5565b6001600160a01b038316600090815260056020908152604080832085845290915281208054839290610a77908490611519565b9091555050505050565b6001600160a01b0384163b15610b1a5760405163f23a6e6160e01b808252906001600160a01b0386169063f23a6e6190610ac79033908a9089908990899060040161152c565b6020604051808303816000875af1158015610ae6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0a9190611571565b6001600160e01b03191614610b27565b6001600160a01b03841615155b610b875760405162461bcd60e51b815260206004820152602b60248201527f5f45524331313535537570706f7274656428293a20556e737570706f7274656460448201526a20526563697069656e742160a81b6064820152608401610480565b5050505050565b6001600160a01b0384163b15610c275760405163bc197c8160e01b808252906001600160a01b0386169063bc197c8190610bd49033908a9089908990899060040161158e565b6020604051808303816000875af1158015610bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c179190611571565b6001600160e01b03191614610c34565b6001600160a01b03841615155b610b875760405162461bcd60e51b815260206004820152603060248201527f5f455243313135354261746368537570706f7274656428293a20556e7375707060448201526f6f7274656420526563697069656e742160801b6064820152608401610480565b6001600160a01b038316600090815260056020908152604080832085845290915281208054839290610a779084906115ec565b80356001600160a01b0381168114610ce357600080fd5b919050565b60008060408385031215610cfb57600080fd5b610d0483610ccc565b946020939093013593505050565b6001600160e01b031981168114610d2857600080fd5b50565b600060208284031215610d3d57600080fd5b8135610d4881610d12565b9392505050565b6000815180845260005b81811015610d7557602081850181015186830182015201610d59565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610d486020830184610d4f565b600060208284031215610dba57600080fd5b5035919050565b60008060408385031215610dd457600080fd5b610ddd83610ccc565b915060208301358015158114610df257600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e3c57610e3c610dfd565b604052919050565b600067ffffffffffffffff821115610e5e57610e5e610dfd565b5060051b60200190565b600082601f830112610e7957600080fd5b81356020610e8e610e8983610e44565b610e13565b82815260059290921b84018101918181019086841115610ead57600080fd5b8286015b84811015610ec85780358352918301918301610eb1565b509695505050505050565b60008060408385031215610ee657600080fd5b823567ffffffffffffffff80821115610efe57600080fd5b818501915085601f830112610f1257600080fd5b81356020610f22610e8983610e44565b82815260059290921b84018101918181019089841115610f4157600080fd5b948201945b83861015610f6657610f5786610ccc565b82529482019490820190610f46565b96505086013592505080821115610f7c57600080fd5b50610f8985828601610e68565b9150509250929050565b600081518084526020808501945080840160005b83811015610fc357815187529582019590820190600101610fa7565b509495945050505050565b602081526000610d486020830184610f93565b600067ffffffffffffffff831115610ffb57610ffb610dfd565b61100e601f8401601f1916602001610e13565b905082815283838301111561102257600080fd5b828260208301376000602084830101529392505050565b600082601f83011261104a57600080fd5b610d4883833560208501610fe1565b6000806000806080858703121561106f57600080fd5b61107885610ccc565b93506020850135925060408501359150606085013567ffffffffffffffff8111156110a257600080fd5b6110ae87828801611039565b91505092959194509250565b6000806000806000608086880312156110d257600080fd5b853567ffffffffffffffff808211156110ea57600080fd5b818801915088601f8301126110fe57600080fd5b81358181111561110d57600080fd5b8960208260051b850101111561112257600080fd5b6020928301975095509087013593506040870135908082111561114457600080fd5b61115089838a01610e68565b9350606088013591508082111561116657600080fd5b5061117388828901611039565b9150509295509295909350565b60006020828403121561119257600080fd5b610d4882610ccc565b600080600080608085870312156111b157600080fd5b6111ba85610ccc565b9350602085013567ffffffffffffffff808211156111d757600080fd5b6111e388838901610e68565b945060408701359150808211156111f957600080fd5b61120588838901610e68565b9350606087013591508082111561121b57600080fd5b506110ae87828801611039565b6000806040838503121561123b57600080fd5b82359150602083013567ffffffffffffffff81111561125957600080fd5b8301601f8101851361126a57600080fd5b610f8985823560208401610fe1565b60008060006060848603121561128e57600080fd5b61129784610ccc565b95602085013595506040909401359392505050565b6000806000606084860312156112c157600080fd5b6112ca84610ccc565b9250602084013567ffffffffffffffff808211156112e757600080fd5b6112f387838801610e68565b9350604086013591508082111561130957600080fd5b5061131686828701610e68565b9150509250925092565b600181811c9082168061133457607f821691505b60208210810361135457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600990820152682737ba1027bbb732b960b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016113bb576113bb611393565b5060010190565b6020808252600990820152682737ba1020b236b4b760b91b604082015260600190565b6040815260006113f86040830185610f93565b828103602084015261140a8185610f93565b95945050505050565b601f82111561075b57600081815260208120601f850160051c8101602086101561143a5750805b601f850160051c820191505b8181101561069457828155600101611446565b815167ffffffffffffffff81111561147357611473610dfd565b611487816114818454611320565b84611413565b602080601f8311600181146114bc57600084156114a45750858301515b600019600386901b1c1916600185901b178555610694565b600085815260208120601f198616915b828110156114eb578886015182559484019460019091019084016114cc565b50858210156115095787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8082018082111561030757610307611393565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061156690830184610d4f565b979650505050505050565b60006020828403121561158357600080fd5b8151610d4881610d12565b6001600160a01b0386811682528516602082015260a0604082018190526000906115ba90830186610f93565b82810360608401526115cc8186610f93565b905082810360808401526115e08185610d4f565b98975050505050505050565b818103818111156103075761030761139356fea26469706673582212204492c3cc47157a53244633321b3051d334fc1ea29cf5c4dcd82814246703e00a64736f6c63430008130033

Deployed Bytecode Sourcemap

1218:4984:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1388:64;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;597:25:1;;;585:2;570:18;1388:64:0;;;;;;;;5334:195;;;;;;:::i;:::-;;:::i;:::-;;;1184:14:1;;1177:22;1159:41;;1147:2;1132:18;5334:195:0;1019:187:1;1293:50:0;;;:::i;:::-;;;;;;;:::i;5667:111::-;;;;;;:::i;:::-;;:::i;677:44::-;;;;;;:::i;:::-;;:::i;539:95::-;;;;;;:::i;:::-;;:::i;:::-;;5786:413;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4339:151::-;;;;;;:::i;:::-;;:::i;4498:333::-;;;;;;:::i;:::-;;:::i;223:37::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4839:183;;;;;;:::i;:::-;;:::i;5537:122::-;;;;;;:::i;:::-;;:::i;196:20::-;;;;;-1:-1:-1;;;;;196:20:0;;;;;;-1:-1:-1;;;;;9567:32:1;;;9549:51;;9537:2;9522:18;196:20:0;9403:203:1;1351:28:0;;;:::i;5030:128::-;;;;;;:::i;:::-;;:::i;5166:160::-;;;;;;:::i;:::-;;:::i;456:77::-;;;;;;:::i;:::-;;:::i;5334:195::-;5411:4;-1:-1:-1;;;;;;;;;5435:26:0;;;;:56;;-1:-1:-1;;;;;;;;;;5465:26:0;;;5435:56;:86;;;-1:-1:-1;;;;;;;;;;5495:26:0;;;5435:86;5428:93;5334:195;-1:-1:-1;;5334:195:0:o;1293:50::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5667:111::-;5755:15;;;;:10;:15;;;;;5748:22;;5722:13;;5755:15;5748:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5667:111;;;:::o;677:44::-;;;;;;;;;;;;;;;;:::i;539:95::-;296:5;;-1:-1:-1;;;;;296:5:0;305:10;296:19;288:41;;;;-1:-1:-1;;;288:41:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;608:15:0;;;::::1;;::::0;;;:5:::1;:15;::::0;;;;:23;;-1:-1:-1;;608:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;539:95::o;5786:413::-;5888:16;5925:42;5939:7;:14;5955:4;:11;4317:6;;4225:106;5925:42;5917:51;;;;;;5979:26;6022:7;:14;6008:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6008:29:0;;5979:58;;6053:9;6048:117;6072:7;:14;6068:1;:18;6048:117;;;6123:9;:21;6133:7;6141:1;6133:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;6123:21:0;-1:-1:-1;;;;;6123:21:0;;;;;;;;;;;;:30;6145:4;6150:1;6145:7;;;;;;;;:::i;:::-;;;;;;;6123:30;;;;;;;;;;;;6108:9;6118:1;6108:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6088:3;;;;:::i;:::-;;;;6048:117;;;-1:-1:-1;6182:9:0;5786:413;-1:-1:-1;;;5786:413:0:o;4339:151::-;376:10;370:17;;;;:5;:17;;;;;;;;362:39;;;;-1:-1:-1;;;362:39:0;;;;;;;:::i;:::-;4451:31:::1;4457:3;4462;4467:7;4476:5;4451;:31::i;:::-;4339:151:::0;;;;:::o;4498:333::-;296:5;;-1:-1:-1;;;;;296:5:0;305:10;296:19;288:41;;;;-1:-1:-1;;;288:41:0;;;;;;;:::i;:::-;4664:14;;4317:6;;4630:50:::1;;;::::0;::::1;;4696:9;4691:133;4711:14:::0;;::::1;4691:133;;;4743:37;4749:3;;4753:1;4749:6;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;4757:3;4762:7;4770:1;4762:10;;;;;;;;:::i;:::-;;;;;;;4774:5;4743;:37::i;:::-;4807:3;;4691:133;;;;4498:333:::0;;;;;:::o;4839:183::-;376:10;370:17;;;;:5;:17;;;;;;;;362:39;;;;-1:-1:-1;;;362:39:0;;;;;;;:::i;:::-;4976:38:::1;4987:3;4992:4;4998:8;5008:5;4976:10;:38::i;5537:122::-:0;376:10;370:17;;;;:5;:17;;;;;;;;362:39;;;;-1:-1:-1;;;362:39:0;;;;;;;:::i;:::-;5621:30:::1;5636:8;5646:4;5621:14;:30::i;:::-;5537:122:::0;;:::o;1351:28::-;;;;;;;:::i;5030:128::-;376:10;370:17;;;;:5;:17;;;;;;;;362:39;;;;-1:-1:-1;;;362:39:0;;;;;;;:::i;:::-;5124:26:::1;5130:5;5137:3;5142:7;5124:5;:26::i;:::-;5030:128:::0;;;:::o;5166:160::-;376:10;370:17;;;;:5;:17;;;;;;;;362:39;;;;-1:-1:-1;;;362:39:0;;;;;;;:::i;:::-;5285:33:::1;5296:5;5303:4;5309:8;5285:10;:33::i;456:77::-:0;296:5;;-1:-1:-1;;;;;296:5:0;305:10;296:19;288:41;;;;-1:-1:-1;;;288:41:0;;;;;;;:::i;:::-;518:5:::1;:12:::0;;-1:-1:-1;;;;;;518:12:0::1;-1:-1:-1::0;;;;;518:12:0;;;::::1;::::0;;;::::1;::::0;;456:77::o;2770:277::-;2868:32;2882:3;2887;2892:7;2868:13;:32::i;:::-;2916:57;;;12249:25:1;;;12305:2;12290:18;;12283:34;;;-1:-1:-1;;;;;2916:57:0;;;2951:1;;2931:10;;2916:57;;12222:18:1;2916:57:0;;;;;;;2984:55;3010:1;3014:3;3019;3024:7;3033:5;2984:17;:55::i;3055:449::-;3200:11;;3213:15;;4317:6;3178:52;;;;;;3246:9;3241:109;3265:4;:11;3261:1;:15;3241:109;;;3298:40;3312:3;3317:4;3322:1;3317:7;;;;;;;;:::i;:::-;;;;;;;3326:8;3335:1;3326:11;;;;;;;;:::i;:::-;;;;;;;3298:13;:40::i;:::-;3278:3;;;;:::i;:::-;;;;3241:109;;;;3403:3;-1:-1:-1;;;;;3365:58:0;3399:1;-1:-1:-1;;;;;3365:58:0;3379:10;-1:-1:-1;;;;;3365:58:0;;3408:4;3414:8;3365:58;;;;;;;:::i;:::-;;;;;;;;3434:62;3465:1;3469:3;3474:4;3480:8;3490:5;3434:22;:62::i;728:125::-;818:20;;;;:10;:20;;;;;:27;841:4;818:20;:27;:::i;3648:197::-;3728:34;3742:5;3749:3;3754:7;3728:13;:34::i;:::-;3778:59;;;12249:25:1;;;12305:2;12290:18;;12283:34;;;3820:1:0;;-1:-1:-1;;;;;3778:59:0;;;3793:10;;3778:59;;12222:18:1;3778:59:0;;;;;;;;3648:197;;;:::o;3853:364::-;3980:11;;3993:15;;4317:6;3958:52;;;;;;4028:9;4023:111;4047:4;:11;4043:1;:15;4023:111;;;4080:42;4094:5;4101:4;4106:1;4101:7;;;;;;;;:::i;:::-;;;;;;;4110:8;4119:1;4110:11;;;;;;;;:::i;:::-;;;;;;;4080:13;:42::i;:::-;4060:3;;;;:::i;:::-;;;;4023:111;;;;4190:1;-1:-1:-1;;;;;4149:60:0;4175:5;-1:-1:-1;;;;;4149:60:0;4163:10;-1:-1:-1;;;;;4149:60:0;;4194:4;4200:8;4149:60;;;;;;;:::i;2638:124::-;-1:-1:-1;;;;;2724:14:0;;;;;;:9;:14;;;;;;;;:19;;;;;;;;:30;;2747:7;;2724:14;:30;;2747:7;;2724:30;:::i;:::-;;;;-1:-1:-1;;;;;2638:124:0:o;1748:416::-;-1:-1:-1;;;;;1881:15:0;;;:20;:204;;1924:97;;-1:-1:-1;;;1924:97:0;;;2038:47;-1:-1:-1;;;;;1924:43:0;;;2038:47;;1924:97;;1982:10;;1994:5;;2001:3;;2006:7;;2015:5;;1924:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1924:161:0;;1881:204;;;-1:-1:-1;;;;;1904:17:0;;;;1881:204;1873:283;;;;-1:-1:-1;;;1873:283:0;;16154:2:1;1873:283:0;;;16136:21:1;16193:2;16173:18;;;16166:30;16232:34;16212:18;;;16205:62;-1:-1:-1;;;16283:18:1;;;16276:41;16334:19;;1873:283:0;15952:407:1;1873:283:0;1748:416;;;;;:::o;2172:458::-;-1:-1:-1;;;;;2330:15:0;;;:20;:216;;2373:104;;-1:-1:-1;;;2373:104:0;;;2494:52;-1:-1:-1;;;;;2373:48:0;;;2494:52;;2373:104;;2436:10;;2448:5;;2455:4;;2461:8;;2471:5;;2373:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;2373:173:0;;2330:216;;;-1:-1:-1;;;;;2353:17:0;;;;2330:216;2322:300;;;;-1:-1:-1;;;2322:300:0;;17398:2:1;2322:300:0;;;17380:21:1;17437:2;17417:18;;;17410:30;17476:34;17456:18;;;17449:62;-1:-1:-1;;;17527:18:1;;;17520:46;17583:19;;2322:300:0;17196:412:1;3512:128:0;-1:-1:-1;;;;;3600:16:0;;;;;;:9;:16;;;;;;;;:21;;;;;;;;:32;;3625:7;;3600:16;:32;;3625:7;;3600:32;:::i;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:1:o;633:131::-;-1:-1:-1;;;;;;707:32:1;;697:43;;687:71;;754:1;751;744:12;687:71;633:131;:::o;769:245::-;827:6;880:2;868:9;859:7;855:23;851:32;848:52;;;896:1;893;886:12;848:52;935:9;922:23;954:30;978:5;954:30;:::i;:::-;1003:5;769:245;-1:-1:-1;;;769:245:1:o;1211:423::-;1253:3;1291:5;1285:12;1318:6;1313:3;1306:19;1343:1;1353:162;1367:6;1364:1;1361:13;1353:162;;;1429:4;1485:13;;;1481:22;;1475:29;1457:11;;;1453:20;;1446:59;1382:12;1353:162;;;1357:3;1560:1;1553:4;1544:6;1539:3;1535:16;1531:27;1524:38;1623:4;1616:2;1612:7;1607:2;1599:6;1595:15;1591:29;1586:3;1582:39;1578:50;1571:57;;;1211:423;;;;:::o;1639:220::-;1788:2;1777:9;1770:21;1751:4;1808:45;1849:2;1838:9;1834:18;1826:6;1808:45;:::i;1864:180::-;1923:6;1976:2;1964:9;1955:7;1951:23;1947:32;1944:52;;;1992:1;1989;1982:12;1944:52;-1:-1:-1;2015:23:1;;1864:180;-1:-1:-1;1864:180:1:o;2049:347::-;2114:6;2122;2175:2;2163:9;2154:7;2150:23;2146:32;2143:52;;;2191:1;2188;2181:12;2143:52;2214:29;2233:9;2214:29;:::i;:::-;2204:39;;2293:2;2282:9;2278:18;2265:32;2340:5;2333:13;2326:21;2319:5;2316:32;2306:60;;2362:1;2359;2352:12;2306:60;2385:5;2375:15;;;2049:347;;;;;:::o;2401:127::-;2462:10;2457:3;2453:20;2450:1;2443:31;2493:4;2490:1;2483:15;2517:4;2514:1;2507:15;2533:275;2604:2;2598:9;2669:2;2650:13;;-1:-1:-1;;2646:27:1;2634:40;;2704:18;2689:34;;2725:22;;;2686:62;2683:88;;;2751:18;;:::i;:::-;2787:2;2780:22;2533:275;;-1:-1:-1;2533:275:1:o;2813:183::-;2873:4;2906:18;2898:6;2895:30;2892:56;;;2928:18;;:::i;:::-;-1:-1:-1;2973:1:1;2969:14;2985:4;2965:25;;2813:183::o;3001:662::-;3055:5;3108:3;3101:4;3093:6;3089:17;3085:27;3075:55;;3126:1;3123;3116:12;3075:55;3162:6;3149:20;3188:4;3212:60;3228:43;3268:2;3228:43;:::i;:::-;3212:60;:::i;:::-;3306:15;;;3392:1;3388:10;;;;3376:23;;3372:32;;;3337:12;;;;3416:15;;;3413:35;;;3444:1;3441;3434:12;3413:35;3480:2;3472:6;3468:15;3492:142;3508:6;3503:3;3500:15;3492:142;;;3574:17;;3562:30;;3612:12;;;;3525;;3492:142;;;-1:-1:-1;3652:5:1;3001:662;-1:-1:-1;;;;;;3001:662:1:o;3668:1146::-;3786:6;3794;3847:2;3835:9;3826:7;3822:23;3818:32;3815:52;;;3863:1;3860;3853:12;3815:52;3903:9;3890:23;3932:18;3973:2;3965:6;3962:14;3959:34;;;3989:1;3986;3979:12;3959:34;4027:6;4016:9;4012:22;4002:32;;4072:7;4065:4;4061:2;4057:13;4053:27;4043:55;;4094:1;4091;4084:12;4043:55;4130:2;4117:16;4152:4;4176:60;4192:43;4232:2;4192:43;:::i;4176:60::-;4270:15;;;4352:1;4348:10;;;;4340:19;;4336:28;;;4301:12;;;;4376:19;;;4373:39;;;4408:1;4405;4398:12;4373:39;4432:11;;;;4452:148;4468:6;4463:3;4460:15;4452:148;;;4534:23;4553:3;4534:23;:::i;:::-;4522:36;;4485:12;;;;4578;;;;4452:148;;;4619:5;-1:-1:-1;;4662:18:1;;4649:32;;-1:-1:-1;;4693:16:1;;;4690:36;;;4722:1;4719;4712:12;4690:36;;4745:63;4800:7;4789:8;4778:9;4774:24;4745:63;:::i;:::-;4735:73;;;3668:1146;;;;;:::o;4819:435::-;4872:3;4910:5;4904:12;4937:6;4932:3;4925:19;4963:4;4992:2;4987:3;4983:12;4976:19;;5029:2;5022:5;5018:14;5050:1;5060:169;5074:6;5071:1;5068:13;5060:169;;;5135:13;;5123:26;;5169:12;;;;5204:15;;;;5096:1;5089:9;5060:169;;;-1:-1:-1;5245:3:1;;4819:435;-1:-1:-1;;;;;4819:435:1:o;5259:261::-;5438:2;5427:9;5420:21;5401:4;5458:56;5510:2;5499:9;5495:18;5487:6;5458:56;:::i;5525:406::-;5589:5;5623:18;5615:6;5612:30;5609:56;;;5645:18;;:::i;:::-;5683:57;5728:2;5707:15;;-1:-1:-1;;5703:29:1;5734:4;5699:40;5683:57;:::i;:::-;5674:66;;5763:6;5756:5;5749:21;5803:3;5794:6;5789:3;5785:16;5782:25;5779:45;;;5820:1;5817;5810:12;5779:45;5869:6;5864:3;5857:4;5850:5;5846:16;5833:43;5923:1;5916:4;5907:6;5900:5;5896:18;5892:29;5885:40;5525:406;;;;;:::o;5936:220::-;5978:5;6031:3;6024:4;6016:6;6012:17;6008:27;5998:55;;6049:1;6046;6039:12;5998:55;6071:79;6146:3;6137:6;6124:20;6117:4;6109:6;6105:17;6071:79;:::i;6161:531::-;6256:6;6264;6272;6280;6333:3;6321:9;6312:7;6308:23;6304:33;6301:53;;;6350:1;6347;6340:12;6301:53;6373:29;6392:9;6373:29;:::i;:::-;6363:39;;6449:2;6438:9;6434:18;6421:32;6411:42;;6500:2;6489:9;6485:18;6472:32;6462:42;;6555:2;6544:9;6540:18;6527:32;6582:18;6574:6;6571:30;6568:50;;;6614:1;6611;6604:12;6568:50;6637:49;6678:7;6669:6;6658:9;6654:22;6637:49;:::i;:::-;6627:59;;;6161:531;;;;;;;:::o;6697:1114::-;6844:6;6852;6860;6868;6876;6929:3;6917:9;6908:7;6904:23;6900:33;6897:53;;;6946:1;6943;6936:12;6897:53;6986:9;6973:23;7015:18;7056:2;7048:6;7045:14;7042:34;;;7072:1;7069;7062:12;7042:34;7110:6;7099:9;7095:22;7085:32;;7155:7;7148:4;7144:2;7140:13;7136:27;7126:55;;7177:1;7174;7167:12;7126:55;7217:2;7204:16;7243:2;7235:6;7232:14;7229:34;;;7259:1;7256;7249:12;7229:34;7314:7;7307:4;7297:6;7294:1;7290:14;7286:2;7282:23;7278:34;7275:47;7272:67;;;7335:1;7332;7325:12;7272:67;7366:4;7358:13;;;;-1:-1:-1;7390:6:1;-1:-1:-1;7428:20:1;;;7415:34;;-1:-1:-1;7502:2:1;7487:18;;7474:32;;7518:16;;;7515:36;;;7547:1;7544;7537:12;7515:36;7570:63;7625:7;7614:8;7603:9;7599:24;7570:63;:::i;:::-;7560:73;;7686:2;7675:9;7671:18;7658:32;7642:48;;7715:2;7705:8;7702:16;7699:36;;;7731:1;7728;7721:12;7699:36;;7754:51;7797:7;7786:8;7775:9;7771:24;7754:51;:::i;:::-;7744:61;;;6697:1114;;;;;;;;:::o;7816:186::-;7875:6;7928:2;7916:9;7907:7;7903:23;7899:32;7896:52;;;7944:1;7941;7934:12;7896:52;7967:29;7986:9;7967:29;:::i;8007:868::-;8152:6;8160;8168;8176;8229:3;8217:9;8208:7;8204:23;8200:33;8197:53;;;8246:1;8243;8236:12;8197:53;8269:29;8288:9;8269:29;:::i;:::-;8259:39;;8349:2;8338:9;8334:18;8321:32;8372:18;8413:2;8405:6;8402:14;8399:34;;;8429:1;8426;8419:12;8399:34;8452:61;8505:7;8496:6;8485:9;8481:22;8452:61;:::i;:::-;8442:71;;8566:2;8555:9;8551:18;8538:32;8522:48;;8595:2;8585:8;8582:16;8579:36;;;8611:1;8608;8601:12;8579:36;8634:63;8689:7;8678:8;8667:9;8663:24;8634:63;:::i;:::-;8624:73;;8750:2;8739:9;8735:18;8722:32;8706:48;;8779:2;8769:8;8766:16;8763:36;;;8795:1;8792;8785:12;8763:36;;8818:51;8861:7;8850:8;8839:9;8835:24;8818:51;:::i;8880:518::-;8958:6;8966;9019:2;9007:9;8998:7;8994:23;8990:32;8987:52;;;9035:1;9032;9025:12;8987:52;9071:9;9058:23;9048:33;;9132:2;9121:9;9117:18;9104:32;9159:18;9151:6;9148:30;9145:50;;;9191:1;9188;9181:12;9145:50;9214:22;;9267:4;9259:13;;9255:27;-1:-1:-1;9245:55:1;;9296:1;9293;9286:12;9245:55;9319:73;9384:7;9379:2;9366:16;9361:2;9357;9353:11;9319:73;:::i;9611:322::-;9688:6;9696;9704;9757:2;9745:9;9736:7;9732:23;9728:32;9725:52;;;9773:1;9770;9763:12;9725:52;9796:29;9815:9;9796:29;:::i;:::-;9786:39;9872:2;9857:18;;9844:32;;-1:-1:-1;9923:2:1;9908:18;;;9895:32;;9611:322;-1:-1:-1;;;9611:322:1:o;9938:669::-;10065:6;10073;10081;10134:2;10122:9;10113:7;10109:23;10105:32;10102:52;;;10150:1;10147;10140:12;10102:52;10173:29;10192:9;10173:29;:::i;:::-;10163:39;;10253:2;10242:9;10238:18;10225:32;10276:18;10317:2;10309:6;10306:14;10303:34;;;10333:1;10330;10323:12;10303:34;10356:61;10409:7;10400:6;10389:9;10385:22;10356:61;:::i;:::-;10346:71;;10470:2;10459:9;10455:18;10442:32;10426:48;;10499:2;10489:8;10486:16;10483:36;;;10515:1;10512;10505:12;10483:36;;10538:63;10593:7;10582:8;10571:9;10567:24;10538:63;:::i;:::-;10528:73;;;9938:669;;;;;:::o;10612:380::-;10691:1;10687:12;;;;10734;;;10755:61;;10809:4;10801:6;10797:17;10787:27;;10755:61;10862:2;10854:6;10851:14;10831:18;10828:38;10825:161;;10908:10;10903:3;10899:20;10896:1;10889:31;10943:4;10940:1;10933:15;10971:4;10968:1;10961:15;10825:161;;10612:380;;;:::o;10997:332::-;11199:2;11181:21;;;11238:1;11218:18;;;11211:29;-1:-1:-1;;;11271:2:1;11256:18;;11249:39;11320:2;11305:18;;10997:332::o;11334:127::-;11395:10;11390:3;11386:20;11383:1;11376:31;11426:4;11423:1;11416:15;11450:4;11447:1;11440:15;11466:127;11527:10;11522:3;11518:20;11515:1;11508:31;11558:4;11555:1;11548:15;11582:4;11579:1;11572:15;11598:135;11637:3;11658:17;;;11655:43;;11678:18;;:::i;:::-;-1:-1:-1;11725:1:1;11714:13;;11598:135::o;11738:332::-;11940:2;11922:21;;;11979:1;11959:18;;;11952:29;-1:-1:-1;;;12012:2:1;11997:18;;11990:39;12061:2;12046:18;;11738:332::o;12328:465::-;12585:2;12574:9;12567:21;12548:4;12611:56;12663:2;12652:9;12648:18;12640:6;12611:56;:::i;:::-;12715:9;12707:6;12703:22;12698:2;12687:9;12683:18;12676:50;12743:44;12780:6;12772;12743:44;:::i;:::-;12735:52;12328:465;-1:-1:-1;;;;;12328:465:1:o;12924:545::-;13026:2;13021:3;13018:11;13015:448;;;13062:1;13087:5;13083:2;13076:17;13132:4;13128:2;13118:19;13202:2;13190:10;13186:19;13183:1;13179:27;13173:4;13169:38;13238:4;13226:10;13223:20;13220:47;;;-1:-1:-1;13261:4:1;13220:47;13316:2;13311:3;13307:12;13304:1;13300:20;13294:4;13290:31;13280:41;;13371:82;13389:2;13382:5;13379:13;13371:82;;;13434:17;;;13415:1;13404:13;13371:82;;13645:1352;13771:3;13765:10;13798:18;13790:6;13787:30;13784:56;;;13820:18;;:::i;:::-;13849:97;13939:6;13899:38;13931:4;13925:11;13899:38;:::i;:::-;13893:4;13849:97;:::i;:::-;14001:4;;14065:2;14054:14;;14082:1;14077:663;;;;14784:1;14801:6;14798:89;;;-1:-1:-1;14853:19:1;;;14847:26;14798:89;-1:-1:-1;;13602:1:1;13598:11;;;13594:24;13590:29;13580:40;13626:1;13622:11;;;13577:57;14900:81;;14047:944;;14077:663;12871:1;12864:14;;;12908:4;12895:18;;-1:-1:-1;;14113:20:1;;;14231:236;14245:7;14242:1;14239:14;14231:236;;;14334:19;;;14328:26;14313:42;;14426:27;;;;14394:1;14382:14;;;;14261:19;;14231:236;;;14235:3;14495:6;14486:7;14483:19;14480:201;;;14556:19;;;14550:26;-1:-1:-1;;14639:1:1;14635:14;;;14651:3;14631:24;14627:37;14623:42;14608:58;14593:74;;14480:201;-1:-1:-1;;;;;14727:1:1;14711:14;;;14707:22;14694:36;;-1:-1:-1;13645:1352:1:o;15002:125::-;15067:9;;;15088:10;;;15085:36;;;15101:18;;:::i;15132:561::-;-1:-1:-1;;;;;15429:15:1;;;15411:34;;15481:15;;15476:2;15461:18;;15454:43;15528:2;15513:18;;15506:34;;;15571:2;15556:18;;15549:34;;;15391:3;15614;15599:19;;15592:32;;;15354:4;;15641:46;;15667:19;;15659:6;15641:46;:::i;:::-;15633:54;15132:561;-1:-1:-1;;;;;;;15132:561:1:o;15698:249::-;15767:6;15820:2;15808:9;15799:7;15795:23;15791:32;15788:52;;;15836:1;15833;15826:12;15788:52;15868:9;15862:16;15887:30;15911:5;15887:30;:::i;16364:827::-;-1:-1:-1;;;;;16761:15:1;;;16743:34;;16813:15;;16808:2;16793:18;;16786:43;16723:3;16860:2;16845:18;;16838:31;;;16686:4;;16892:57;;16929:19;;16921:6;16892:57;:::i;:::-;16997:9;16989:6;16985:22;16980:2;16969:9;16965:18;16958:50;17031:44;17068:6;17060;17031:44;:::i;:::-;17017:58;;17124:9;17116:6;17112:22;17106:3;17095:9;17091:19;17084:51;17152:33;17178:6;17170;17152:33;:::i;:::-;17144:41;16364:827;-1:-1:-1;;;;;;;;16364:827:1:o;17613:128::-;17680:9;;;17701:11;;;17698:37;;;17715:18;;:::i

Swarm Source

ipfs://4492c3cc47157a53244633321b3051d334fc1ea29cf5c4dcd82814246703e00a
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.