ETH Price: $2,400.12 (-0.22%)

Token

8Bit-mfers (bmfers)
 

Overview

Max Total Supply

953 bmfers

Holders

131

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Filtered by Token Holder
tonybearbrick.eth
Balance
2 bmfers
0x17e566d94b9E9471eaAA1fd48fEd92666Fe0e6c0
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:
_8BitMFers

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2022-02-27
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.8;

/// @notice Modern, minimalist, and gas efficient ERC-721 implementation.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)
/// @dev Note that balanceOf does not revert if passed the zero address, in defiance of the ERC.
abstract contract ERC721 {
    /*///////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 indexed id);

    event Approval(address indexed owner, address indexed spender, uint256 indexed id);

    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    /*///////////////////////////////////////////////////////////////
                          METADATA STORAGE/LOGIC
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    function tokenURI(uint256 id) public view virtual returns (string memory);

    /*///////////////////////////////////////////////////////////////
                            ERC721 STORAGE                        
    //////////////////////////////////////////////////////////////*/

    mapping(address => uint256) public balanceOf;

    mapping(uint256 => address) public ownerOf;

    mapping(uint256 => address) public getApproved;

    mapping(address => mapping(address => bool)) public isApprovedForAll;

    /*///////////////////////////////////////////////////////////////
                              CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(string memory _name, string memory _symbol) {
        name = _name;
        symbol = _symbol;
    }

    /*///////////////////////////////////////////////////////////////
                              ERC721 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 id) public virtual {
        address owner = ownerOf[id];

        require(msg.sender == owner || isApprovedForAll[owner][msg.sender], "NOT_AUTHORIZED");

        getApproved[id] = spender;

        emit Approval(owner, spender, id);
    }

    function setApprovalForAll(address operator, bool approved) public virtual {
        isApprovedForAll[msg.sender][operator] = approved;

        emit ApprovalForAll(msg.sender, operator, approved);
    }

    function transferFrom(
        address from,
        address to,
        uint256 id
    ) public virtual {
        require(from == ownerOf[id], "WRONG_FROM");

        require(to != address(0), "INVALID_RECIPIENT");

        require(
            msg.sender == from || msg.sender == getApproved[id] || isApprovedForAll[from][msg.sender],
            "NOT_AUTHORIZED"
        );

        // Underflow of the sender's balance is impossible because we check for
        // ownership above and the recipient's balance can't realistically overflow.
        unchecked {
            balanceOf[from]--;

            balanceOf[to]++;
        }

        ownerOf[id] = to;

        delete getApproved[id];

        emit Transfer(from, to, id);
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id
    ) public virtual {
        transferFrom(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, "") ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        bytes memory data
    ) public virtual {
        transferFrom(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, data) ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    /*///////////////////////////////////////////////////////////////
                              ERC165 LOGIC
    //////////////////////////////////////////////////////////////*/

    function supportsInterface(bytes4 interfaceId) public pure virtual returns (bool) {
        return
            interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165
            interfaceId == 0x80ac58cd || // ERC165 Interface ID for ERC721
            interfaceId == 0x5b5e139f; // ERC165 Interface ID for ERC721Metadata
    }

    /*///////////////////////////////////////////////////////////////
                       INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 id) internal virtual {
        require(to != address(0), "INVALID_RECIPIENT");

        require(ownerOf[id] == address(0), "ALREADY_MINTED");

        // Counter overflow is incredibly unrealistic.
        unchecked {
            balanceOf[to]++;
        }

        ownerOf[id] = to;

        emit Transfer(address(0), to, id);
    }
}

/// @notice A generic interface for a contract which properly accepts ERC721 tokens.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)
interface ERC721TokenReceiver {
    function onERC721Received(
        address operator,
        address from,
        uint256 id,
        bytes calldata data
    ) external returns (bytes4);
}


contract _8BitMFers is ERC721("8Bit-mfers", "bmfers") {

    /* -------------------------------------------------------------------------- */
    /*                                  CONSTANTS                                 */
    /* -------------------------------------------------------------------------- */
    address public owner = msg.sender;

    uint256 constant MINT_FEE = 0.0099 ether; 
    
    uint256 constant MAX_GIVEAWAY_SUPPLY = 500;

    uint256 constant maxMintPerWallet = 25;

    uint256 constant MAX_SUPPLY = 6969;

    address constant MF_TEAM = address(0xA0c8041d9e225cba96089778C0cA3bf9fb7AFb7D); // change this to your address

    string constant unrevealedURI = "https://ipfs.io/ipfs/QmTYzJLzsaCqpceocDAuU2vsmZxRgNJSbvhrEZ8PcMLDAF";

    /* -------------------------------------------------------------------------- */
    /*                                MUTABLE STATE                               */
    /* -------------------------------------------------------------------------- */

    uint256 public giveawaySupply;

    uint256 public totalSupply;

    uint256 public revealedSupply;

    string public revealedURI;

    /* -------------------------------------------------------------------------- */
    /*                               MF_TEAM_METHODS                              */
    /* -------------------------------------------------------------------------- */

    function giveaway(address account, uint256 amount) external {
        // make sure no more than max supply can be minted
        require(totalSupply + amount <= MAX_SUPPLY);
        // make sure only MF team can call this method
        require(msg.sender == MF_TEAM);
        // make sure max giveaway supply is satisfied
        require(giveawaySupply + amount < MAX_GIVEAWAY_SUPPLY);

        for (uint i; i < amount; i++) {
            // increase totalSupply by 1
            totalSupply++;
            // increase giveawaySupply by 1
            giveawaySupply++;
            // mint user 1 nft
            _mint(account, totalSupply);
        }
    }

    function withdraw(address account, uint256 amount) external {
        // make sure only MF team can call this method
        require(msg.sender == MF_TEAM);
        
        // transfer amount to account
        payable(account).transfer(amount);
    }

    function reveal(string memory updatedURI, uint256 _revealedSupply) external {
        // make sure only MF team can call this method
        require(msg.sender == MF_TEAM);

        require(revealedSupply <= MAX_SUPPLY);

        revealedSupply = _revealedSupply;

        revealedURI = updatedURI;
    }
    /* -------------------------------------------------------------------------- */
    /*                               PUBLIC METHODS                               */
    /* -------------------------------------------------------------------------- */


    function mint(address account) external payable {
        //tokenbalance check
        require(balanceOf[account] + 1 <= maxMintPerWallet);
        // if supply is less than or equal to 500 allow user to mint free
        if (totalSupply > 500) require(msg.value >= MINT_FEE);


        require(totalSupply + 1 <= MAX_SUPPLY);
        totalSupply++;

        _mint(account, totalSupply);

    }

    function batchMint(address account, uint256 amount) external payable {
        //tokenbalance check
        require(balanceOf[account] + 1 <= maxMintPerWallet);

        require(totalSupply + amount <= MAX_SUPPLY);

  
        if (totalSupply > 500) require(msg.value >= MINT_FEE * amount);

        for (uint i; i < amount; i++) {

            totalSupply++;

            _mint(account, totalSupply);

        }
    }

    function tokenURI(uint256 tokenId) public override view returns (string memory) {

        if (tokenId > revealedSupply) return unrevealedURI;

        return string(abi.encodePacked(revealedURI, "/", _toString(tokenId), ".json"));
    }


    /* -------------------------------------------------------------------------- */
    /*                              INTERNAL METHODS                              */
    /* -------------------------------------------------------------------------- */

    function _toString(uint256 value) internal pure returns (string memory) {
        // Inspired by OraclizeAPI's implementation - MIT licence
        // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol

        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"batchMint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"giveaway","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"giveawaySupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"mint","outputs":[],"stateMutability":"payable","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":"uint256","name":"","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"updatedURI","type":"string"},{"internalType":"uint256","name":"_revealedSupply","type":"uint256"}],"name":"reveal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revealedSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revealedURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","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":"tokenId","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600680546001600160a01b031916331790553480156200002357600080fd5b50604080518082018252600a815269384269742d6d6665727360b01b602080830191825283518085019094526006845265626d6665727360d01b908401528151919291620000749160009162000093565b5080516200008a90600190602084019062000093565b50505062000176565b828054620000a19062000139565b90600052602060002090601f016020900481019282620000c5576000855562000110565b82601f10620000e057805160ff191683800117855562000110565b8280016001018555821562000110579182015b8281111562000110578251825591602001919060010190620000f3565b506200011e92915062000122565b5090565b5b808211156200011e576000815560010162000123565b600181811c908216806200014e57607f821691505b602082108114156200017057634e487b7160e01b600052602260045260246000fd5b50919050565b61160480620001866000396000f3fe6080604052600436106101405760003560e01c8063708b4730116100b6578063c87b56dd1161006f578063c87b56dd146103ae578063e288e733146103ce578063e985e9c5146103e4578063e9ac3ab41461041f578063f3fef3a314610435578063f7e8d6ea1461045557600080fd5b8063708b4730146102ec57806370a082311461030c5780638da5cb5b1461033957806395d89b4114610359578063a22cb4651461036e578063b88d4fde1461038e57600080fd5b806318160ddd1161010857806318160ddd1461022c57806323b872dd1461025057806342842e0e1461027057806343508b05146102905780636352211e146102a35780636a627842146102d957600080fd5b806301ffc9a714610145578063050225ea1461017a57806306fdde031461019c578063081812fc146101be578063095ea7b31461020c575b600080fd5b34801561015157600080fd5b50610165610160366004611216565b61046a565b60405190151581526020015b60405180910390f35b34801561018657600080fd5b5061019a6101953660046111ec565b6104bc565b005b3480156101a857600080fd5b506101b161056b565b6040516101719190611412565b3480156101ca57600080fd5b506101f46101d93660046112a9565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610171565b34801561021857600080fd5b5061019a6102273660046111ec565b6105f9565b34801561023857600080fd5b5061024260085481565b604051908152602001610171565b34801561025c57600080fd5b5061019a61026b3660046110f8565b6106e0565b34801561027c57600080fd5b5061019a61028b3660046110f8565b6108a7565b61019a61029e3660046111ec565b6109a9565b3480156102af57600080fd5b506101f46102be3660046112a9565b6003602052600090815260409020546001600160a01b031681565b61019a6102e73660046110a3565b610a5e565b3480156102f857600080fd5b5061019a610307366004611250565b610af1565b34801561031857600080fd5b506102426103273660046110a3565b60026020526000908152604090205481565b34801561034557600080fd5b506006546101f4906001600160a01b031681565b34801561036557600080fd5b506101b1610b3a565b34801561037a57600080fd5b5061019a6103893660046111b0565b610b47565b34801561039a57600080fd5b5061019a6103a9366004611134565b610bb3565b3480156103ba57600080fd5b506101b16103c93660046112a9565b610ca7565b3480156103da57600080fd5b5061024260075481565b3480156103f057600080fd5b506101656103ff3660046110c5565b600560209081526000928352604080842090915290825290205460ff1681565b34801561042b57600080fd5b5061024260095481565b34801561044157600080fd5b5061019a6104503660046111ec565b610d04565b34801561046157600080fd5b506101b1610d5a565b60006301ffc9a760e01b6001600160e01b03198316148061049b57506380ac58cd60e01b6001600160e01b03198316145b806104b65750635b5e139f60e01b6001600160e01b03198316145b92915050565b611b39816008546104cd9190611425565b11156104d857600080fd5b3373a0c8041d9e225cba96089778c0ca3bf9fb7afb7d146104f857600080fd5b6101f4816007546105099190611425565b1061051357600080fd5b60005b81811015610566576008805490600061052e836114ee565b909155505060078054906000610543836114ee565b919050555061055483600854610d67565b8061055e816114ee565b915050610516565b505050565b60008054610578906114b3565b80601f01602080910402602001604051908101604052809291908181526020018280546105a4906114b3565b80156105f15780601f106105c6576101008083540402835291602001916105f1565b820191906000526020600020905b8154815290600101906020018083116105d457829003601f168201915b505050505081565b6000818152600360205260409020546001600160a01b03163381148061064257506001600160a01b038116600090815260056020908152604080832033845290915290205460ff165b6106845760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b60008281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000818152600360205260409020546001600160a01b038481169116146107365760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b604482015260640161067b565b6001600160a01b0382166107805760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015260640161067b565b336001600160a01b03841614806107ad57506000818152600460205260409020546001600160a01b031633145b806107db57506001600160a01b038316600090815260056020908152604080832033845290915290205460ff165b6108185760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015260640161067b565b6001600160a01b0380841660008181526002602090815260408083208054600019019055938616808352848320805460010190558583526003825284832080546001600160a01b03199081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108b28383836106e0565b6001600160a01b0382163b158061096a5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a401602060405180830381600087803b15801561092657600080fd5b505af115801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095e9190611233565b6001600160e01b031916145b6105665760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b604482015260640161067b565b6001600160a01b0382166000908152600260205260409020546019906109d0906001611425565b11156109db57600080fd5b611b39816008546109ec9190611425565b11156109f757600080fd5b6101f46008541115610a2057610a148166232bff5f46c000611451565b341015610a2057600080fd5b60005b818110156105665760088054906000610a3b836114ee565b9190505550610a4c83600854610d67565b80610a56816114ee565b915050610a23565b6001600160a01b038116600090815260026020526040902054601990610a85906001611425565b1115610a9057600080fd5b6101f46008541115610ab05766232bff5f46c000341015610ab057600080fd5b611b396008546001610ac29190611425565b1115610acd57600080fd5b60088054906000610add836114ee565b9190505550610aee81600854610d67565b50565b3373a0c8041d9e225cba96089778c0ca3bf9fb7afb7d14610b1157600080fd5b611b396009541115610b2257600080fd5b6009819055815161056690600a906020850190610f78565b60018054610578906114b3565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610bbe8484846106e0565b6001600160a01b0383163b1580610c625750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a0290610c049033908990889088906004016113d5565b602060405180830381600087803b158015610c1e57600080fd5b505af1158015610c32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c569190611233565b6001600160e01b031916145b610ca15760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b604482015260640161067b565b50505050565b6060600954821115610cd25760405180608001604052806043815260200161158c6043913992915050565b600a610cdd83610e72565b604051602001610cee92919061130a565b6040516020818303038152906040529050919050565b3373a0c8041d9e225cba96089778c0ca3bf9fb7afb7d14610d2457600080fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610566573d6000803e3d6000fd5b600a8054610578906114b3565b6001600160a01b038216610db15760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015260640161067b565b6000818152600360205260409020546001600160a01b031615610e075760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d3525395115160921b604482015260640161067b565b6001600160a01b038216600081815260026020908152604080832080546001019055848352600390915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b606081610e965750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610ec05780610eaa816114ee565b9150610eb99050600a8361143d565b9150610e9a565b60008167ffffffffffffffff811115610edb57610edb61155f565b6040519080825280601f01601f191660200182016040528015610f05576020820181803683370190505b5090505b8415610f7057610f1a600183611470565b9150610f27600a86611509565b610f32906030611425565b60f81b818381518110610f4757610f47611549565b60200101906001600160f81b031916908160001a905350610f69600a8661143d565b9450610f09565b949350505050565b828054610f84906114b3565b90600052602060002090601f016020900481019282610fa65760008555610fec565b82601f10610fbf57805160ff1916838001178555610fec565b82800160010185558215610fec579182015b82811115610fec578251825591602001919060010190610fd1565b50610ff8929150610ffc565b5090565b5b80821115610ff85760008155600101610ffd565b600067ffffffffffffffff8084111561102c5761102c61155f565b604051601f8501601f19908116603f011681019082821181831017156110545761105461155f565b8160405280935085815286868601111561106d57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461109e57600080fd5b919050565b6000602082840312156110b557600080fd5b6110be82611087565b9392505050565b600080604083850312156110d857600080fd5b6110e183611087565b91506110ef60208401611087565b90509250929050565b60008060006060848603121561110d57600080fd5b61111684611087565b925061112460208501611087565b9150604084013590509250925092565b6000806000806080858703121561114a57600080fd5b61115385611087565b935061116160208601611087565b925060408501359150606085013567ffffffffffffffff81111561118457600080fd5b8501601f8101871361119557600080fd5b6111a487823560208401611011565b91505092959194509250565b600080604083850312156111c357600080fd5b6111cc83611087565b9150602083013580151581146111e157600080fd5b809150509250929050565b600080604083850312156111ff57600080fd5b61120883611087565b946020939093013593505050565b60006020828403121561122857600080fd5b81356110be81611575565b60006020828403121561124557600080fd5b81516110be81611575565b6000806040838503121561126357600080fd5b823567ffffffffffffffff81111561127a57600080fd5b8301601f8101851361128b57600080fd5b61129a85823560208401611011565b95602094909401359450505050565b6000602082840312156112bb57600080fd5b5035919050565b600081518084526112da816020860160208601611487565b601f01601f19169290920160200192915050565b60008151611300818560208601611487565b9290920192915050565b600080845481600182811c91508083168061132657607f831692505b602080841082141561134657634e487b7160e01b86526022600452602486fd5b81801561135a576001811461136b57611398565b60ff19861689528489019650611398565b60008b81526020902060005b868110156113905781548b820152908501908301611377565b505084890196505b5050505050506113cc6113bb6113b583602f60f81b815260010190565b866112ee565b64173539b7b760d91b815260050190565b95945050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611408908301846112c2565b9695505050505050565b6020815260006110be60208301846112c2565b600082198211156114385761143861151d565b500190565b60008261144c5761144c611533565b500490565b600081600019048311821515161561146b5761146b61151d565b500290565b6000828210156114825761148261151d565b500390565b60005b838110156114a257818101518382015260200161148a565b83811115610ca15750506000910152565b600181811c908216806114c757607f821691505b602082108114156114e857634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115025761150261151d565b5060010190565b60008261151857611518611533565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610aee57600080fdfe68747470733a2f2f697066732e696f2f697066732f516d54597a4a4c7a736143717063656f63444175553276736d5a7852674e4a5362766872455a3850634d4c444146a2646970667358221220c038d3ebd260c85307e66c52d7e82625b1098421a8cfac24c7e859aeeb48cce764736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101405760003560e01c8063708b4730116100b6578063c87b56dd1161006f578063c87b56dd146103ae578063e288e733146103ce578063e985e9c5146103e4578063e9ac3ab41461041f578063f3fef3a314610435578063f7e8d6ea1461045557600080fd5b8063708b4730146102ec57806370a082311461030c5780638da5cb5b1461033957806395d89b4114610359578063a22cb4651461036e578063b88d4fde1461038e57600080fd5b806318160ddd1161010857806318160ddd1461022c57806323b872dd1461025057806342842e0e1461027057806343508b05146102905780636352211e146102a35780636a627842146102d957600080fd5b806301ffc9a714610145578063050225ea1461017a57806306fdde031461019c578063081812fc146101be578063095ea7b31461020c575b600080fd5b34801561015157600080fd5b50610165610160366004611216565b61046a565b60405190151581526020015b60405180910390f35b34801561018657600080fd5b5061019a6101953660046111ec565b6104bc565b005b3480156101a857600080fd5b506101b161056b565b6040516101719190611412565b3480156101ca57600080fd5b506101f46101d93660046112a9565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610171565b34801561021857600080fd5b5061019a6102273660046111ec565b6105f9565b34801561023857600080fd5b5061024260085481565b604051908152602001610171565b34801561025c57600080fd5b5061019a61026b3660046110f8565b6106e0565b34801561027c57600080fd5b5061019a61028b3660046110f8565b6108a7565b61019a61029e3660046111ec565b6109a9565b3480156102af57600080fd5b506101f46102be3660046112a9565b6003602052600090815260409020546001600160a01b031681565b61019a6102e73660046110a3565b610a5e565b3480156102f857600080fd5b5061019a610307366004611250565b610af1565b34801561031857600080fd5b506102426103273660046110a3565b60026020526000908152604090205481565b34801561034557600080fd5b506006546101f4906001600160a01b031681565b34801561036557600080fd5b506101b1610b3a565b34801561037a57600080fd5b5061019a6103893660046111b0565b610b47565b34801561039a57600080fd5b5061019a6103a9366004611134565b610bb3565b3480156103ba57600080fd5b506101b16103c93660046112a9565b610ca7565b3480156103da57600080fd5b5061024260075481565b3480156103f057600080fd5b506101656103ff3660046110c5565b600560209081526000928352604080842090915290825290205460ff1681565b34801561042b57600080fd5b5061024260095481565b34801561044157600080fd5b5061019a6104503660046111ec565b610d04565b34801561046157600080fd5b506101b1610d5a565b60006301ffc9a760e01b6001600160e01b03198316148061049b57506380ac58cd60e01b6001600160e01b03198316145b806104b65750635b5e139f60e01b6001600160e01b03198316145b92915050565b611b39816008546104cd9190611425565b11156104d857600080fd5b3373a0c8041d9e225cba96089778c0ca3bf9fb7afb7d146104f857600080fd5b6101f4816007546105099190611425565b1061051357600080fd5b60005b81811015610566576008805490600061052e836114ee565b909155505060078054906000610543836114ee565b919050555061055483600854610d67565b8061055e816114ee565b915050610516565b505050565b60008054610578906114b3565b80601f01602080910402602001604051908101604052809291908181526020018280546105a4906114b3565b80156105f15780601f106105c6576101008083540402835291602001916105f1565b820191906000526020600020905b8154815290600101906020018083116105d457829003601f168201915b505050505081565b6000818152600360205260409020546001600160a01b03163381148061064257506001600160a01b038116600090815260056020908152604080832033845290915290205460ff165b6106845760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b60008281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000818152600360205260409020546001600160a01b038481169116146107365760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b604482015260640161067b565b6001600160a01b0382166107805760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015260640161067b565b336001600160a01b03841614806107ad57506000818152600460205260409020546001600160a01b031633145b806107db57506001600160a01b038316600090815260056020908152604080832033845290915290205460ff165b6108185760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015260640161067b565b6001600160a01b0380841660008181526002602090815260408083208054600019019055938616808352848320805460010190558583526003825284832080546001600160a01b03199081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108b28383836106e0565b6001600160a01b0382163b158061096a5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a401602060405180830381600087803b15801561092657600080fd5b505af115801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095e9190611233565b6001600160e01b031916145b6105665760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b604482015260640161067b565b6001600160a01b0382166000908152600260205260409020546019906109d0906001611425565b11156109db57600080fd5b611b39816008546109ec9190611425565b11156109f757600080fd5b6101f46008541115610a2057610a148166232bff5f46c000611451565b341015610a2057600080fd5b60005b818110156105665760088054906000610a3b836114ee565b9190505550610a4c83600854610d67565b80610a56816114ee565b915050610a23565b6001600160a01b038116600090815260026020526040902054601990610a85906001611425565b1115610a9057600080fd5b6101f46008541115610ab05766232bff5f46c000341015610ab057600080fd5b611b396008546001610ac29190611425565b1115610acd57600080fd5b60088054906000610add836114ee565b9190505550610aee81600854610d67565b50565b3373a0c8041d9e225cba96089778c0ca3bf9fb7afb7d14610b1157600080fd5b611b396009541115610b2257600080fd5b6009819055815161056690600a906020850190610f78565b60018054610578906114b3565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610bbe8484846106e0565b6001600160a01b0383163b1580610c625750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a0290610c049033908990889088906004016113d5565b602060405180830381600087803b158015610c1e57600080fd5b505af1158015610c32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c569190611233565b6001600160e01b031916145b610ca15760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b604482015260640161067b565b50505050565b6060600954821115610cd25760405180608001604052806043815260200161158c6043913992915050565b600a610cdd83610e72565b604051602001610cee92919061130a565b6040516020818303038152906040529050919050565b3373a0c8041d9e225cba96089778c0ca3bf9fb7afb7d14610d2457600080fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610566573d6000803e3d6000fd5b600a8054610578906114b3565b6001600160a01b038216610db15760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015260640161067b565b6000818152600360205260409020546001600160a01b031615610e075760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d3525395115160921b604482015260640161067b565b6001600160a01b038216600081815260026020908152604080832080546001019055848352600390915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b606081610e965750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610ec05780610eaa816114ee565b9150610eb99050600a8361143d565b9150610e9a565b60008167ffffffffffffffff811115610edb57610edb61155f565b6040519080825280601f01601f191660200182016040528015610f05576020820181803683370190505b5090505b8415610f7057610f1a600183611470565b9150610f27600a86611509565b610f32906030611425565b60f81b818381518110610f4757610f47611549565b60200101906001600160f81b031916908160001a905350610f69600a8661143d565b9450610f09565b949350505050565b828054610f84906114b3565b90600052602060002090601f016020900481019282610fa65760008555610fec565b82601f10610fbf57805160ff1916838001178555610fec565b82800160010185558215610fec579182015b82811115610fec578251825591602001919060010190610fd1565b50610ff8929150610ffc565b5090565b5b80821115610ff85760008155600101610ffd565b600067ffffffffffffffff8084111561102c5761102c61155f565b604051601f8501601f19908116603f011681019082821181831017156110545761105461155f565b8160405280935085815286868601111561106d57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461109e57600080fd5b919050565b6000602082840312156110b557600080fd5b6110be82611087565b9392505050565b600080604083850312156110d857600080fd5b6110e183611087565b91506110ef60208401611087565b90509250929050565b60008060006060848603121561110d57600080fd5b61111684611087565b925061112460208501611087565b9150604084013590509250925092565b6000806000806080858703121561114a57600080fd5b61115385611087565b935061116160208601611087565b925060408501359150606085013567ffffffffffffffff81111561118457600080fd5b8501601f8101871361119557600080fd5b6111a487823560208401611011565b91505092959194509250565b600080604083850312156111c357600080fd5b6111cc83611087565b9150602083013580151581146111e157600080fd5b809150509250929050565b600080604083850312156111ff57600080fd5b61120883611087565b946020939093013593505050565b60006020828403121561122857600080fd5b81356110be81611575565b60006020828403121561124557600080fd5b81516110be81611575565b6000806040838503121561126357600080fd5b823567ffffffffffffffff81111561127a57600080fd5b8301601f8101851361128b57600080fd5b61129a85823560208401611011565b95602094909401359450505050565b6000602082840312156112bb57600080fd5b5035919050565b600081518084526112da816020860160208601611487565b601f01601f19169290920160200192915050565b60008151611300818560208601611487565b9290920192915050565b600080845481600182811c91508083168061132657607f831692505b602080841082141561134657634e487b7160e01b86526022600452602486fd5b81801561135a576001811461136b57611398565b60ff19861689528489019650611398565b60008b81526020902060005b868110156113905781548b820152908501908301611377565b505084890196505b5050505050506113cc6113bb6113b583602f60f81b815260010190565b866112ee565b64173539b7b760d91b815260050190565b95945050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611408908301846112c2565b9695505050505050565b6020815260006110be60208301846112c2565b600082198211156114385761143861151d565b500190565b60008261144c5761144c611533565b500490565b600081600019048311821515161561146b5761146b61151d565b500290565b6000828210156114825761148261151d565b500390565b60005b838110156114a257818101518382015260200161148a565b83811115610ca15750506000910152565b600181811c908216806114c757607f821691505b602082108114156114e857634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115025761150261151d565b5060010190565b60008261151857611518611533565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610aee57600080fdfe68747470733a2f2f697066732e696f2f697066732f516d54597a4a4c7a736143717063656f63444175553276736d5a7852674e4a5362766872455a3850634d4c444146a2646970667358221220c038d3ebd260c85307e66c52d7e82625b1098421a8cfac24c7e859aeeb48cce764736f6c63430008070033

Deployed Bytecode Sourcemap

5742:5076:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4427:340;;;;;;;;;;-1:-1:-1;4427:340:0;;;;;:::i;:::-;;:::i;:::-;;;7668:14:1;;7661:22;7643:41;;7631:2;7616:18;4427:340:0;;;;;;;;7193:673;;;;;;;;;;-1:-1:-1;7193:673:0;;;;;:::i;:::-;;:::i;:::-;;1012:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;1465:46::-;;;;;;;;;;-1:-1:-1;1465:46:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1465:46:0;;;;;;-1:-1:-1;;;;;6406:32:1;;;6388:51;;6376:2;6361:18;1465:46:0;6242:203:1;2092:289:0;;;;;;;;;;-1:-1:-1;2092:289:0;;;;;:::i;:::-;;:::i;6826:26::-;;;;;;;;;;;;;;;;;;;9781:25:1;;;9769:2;9754:18;6826:26:0;9635:177:1;2604:764:0;;;;;;;;;;-1:-1:-1;2604:764:0;;;;;:::i;:::-;;:::i;3376:409::-;;;;;;;;;;-1:-1:-1;3376:409:0;;;;;:::i;:::-;;:::i;9135:434::-;;;;;;:::i;:::-;;:::i;1414:42::-;;;;;;;;;;-1:-1:-1;1414:42:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1414:42:0;;;8721:406;;;;;;:::i;:::-;;:::i;8140:313::-;;;;;;;;;;-1:-1:-1;8140:313:0;;;;;:::i;:::-;;:::i;1361:44::-;;;;;;;;;;-1:-1:-1;1361:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;6063:33;;;;;;;;;;-1:-1:-1;6063:33:0;;;;-1:-1:-1;;;;;6063:33:0;;;1039:20;;;;;;;;;;;;;:::i;2389:207::-;;;;;;;;;;-1:-1:-1;2389:207:0;;;;;:::i;:::-;;:::i;3793:439::-;;;;;;;;;;-1:-1:-1;3793:439:0;;;;;:::i;:::-;;:::i;9577:242::-;;;;;;;;;;-1:-1:-1;9577:242:0;;;;;:::i;:::-;;:::i;6788:29::-;;;;;;;;;;;;;;;;1520:68;;;;;;;;;;-1:-1:-1;1520:68:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;6861:29;;;;;;;;;;;;;;;;7874:258;;;;;;;;;;-1:-1:-1;7874:258:0;;;;;:::i;:::-;;:::i;6899:25::-;;;;;;;;;;;;;:::i;4427:340::-;4503:4;-1:-1:-1;;;;;;;;;4540:25:0;;;;:101;;-1:-1:-1;;;;;;;;;;4616:25:0;;;4540:101;:177;;;-1:-1:-1;;;;;;;;;;4692:25:0;;;4540:177;4520:197;4427:340;-1:-1:-1;;4427:340:0:o;7193:673::-;6287:4;7346:6;7332:11;;:20;;;;:::i;:::-;:34;;7324:43;;;;;;7442:10;6335:42;7442:21;7434:30;;;;;;6198:3;7555:6;7538:14;;:23;;;;:::i;:::-;:45;7530:54;;;;;;7602:6;7597:262;7614:6;7610:1;:10;7597:262;;;7684:11;:13;;;:11;:13;;;:::i;:::-;;;;-1:-1:-1;;7757:14:0;:16;;;:14;:16;;;:::i;:::-;;;;;;7820:27;7826:7;7835:11;;7820:5;:27::i;:::-;7622:3;;;;:::i;:::-;;;;7597:262;;;;7193:673;;:::o;1012:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2092:289::-;2164:13;2180:11;;;:7;:11;;;;;;-1:-1:-1;;;;;2180:11:0;2212:10;:19;;;:58;;-1:-1:-1;;;;;;2235:23:0;;;;;;:16;:23;;;;;;;;2259:10;2235:35;;;;;;;;;;2212:58;2204:85;;;;-1:-1:-1;;;2204:85:0;;9155:2:1;2204:85:0;;;9137:21:1;9194:2;9174:18;;;9167:30;-1:-1:-1;;;9213:18:1;;;9206:44;9267:18;;2204:85:0;;;;;;;;;2302:15;;;;:11;:15;;;;;;:25;;-1:-1:-1;;;;;;2302:25:0;-1:-1:-1;;;;;2302:25:0;;;;;;;;;2345:28;;2302:15;;2345:28;;;;;;;2153:228;2092:289;;:::o;2604:764::-;2740:11;;;;:7;:11;;;;;;-1:-1:-1;;;;;2732:19:0;;;2740:11;;2732:19;2724:42;;;;-1:-1:-1;;;2724:42:0;;9498:2:1;2724:42:0;;;9480:21:1;9537:2;9517:18;;;9510:30;-1:-1:-1;;;9556:18:1;;;9549:40;9606:18;;2724:42:0;9296:334:1;2724:42:0;-1:-1:-1;;;;;2787:16:0;;2779:46;;;;-1:-1:-1;;;2779:46:0;;8121:2:1;2779:46:0;;;8103:21:1;8160:2;8140:18;;;8133:30;-1:-1:-1;;;8179:18:1;;;8172:47;8236:18;;2779:46:0;7919:341:1;2779:46:0;2860:10;-1:-1:-1;;;;;2860:18:0;;;;:51;;-1:-1:-1;2896:15:0;;;;:11;:15;;;;;;-1:-1:-1;;;;;2896:15:0;2882:10;:29;2860:51;:89;;;-1:-1:-1;;;;;;2915:22:0;;;;;;:16;:22;;;;;;;;2938:10;2915:34;;;;;;;;;;2860:89;2838:153;;;;-1:-1:-1;;;2838:153:0;;9155:2:1;2838:153:0;;;9137:21:1;9194:2;9174:18;;;9167:30;-1:-1:-1;;;9213:18:1;;;9206:44;9267:18;;2838:153:0;8953:338:1;2838:153:0;-1:-1:-1;;;;;3196:15:0;;;;;;;:9;:15;;;;;;;;:17;;-1:-1:-1;;3196:17:0;;;3230:13;;;;;;;;;:15;;3196:17;3230:15;;;3269:11;;;:7;:11;;;;;:16;;-1:-1:-1;;;;;;3269:16:0;;;;;;;;3305:11;:15;;;;;;3298:22;;;;;;;;3338;;3277:2;;3230:13;3196:15;3338:22;;;2604:764;;;:::o;3376:409::-;3500:26;3513:4;3519:2;3523;3500:12;:26::i;:::-;-1:-1:-1;;;;;3561:14:0;;;:19;;:172;;-1:-1:-1;3601:66:0;;-1:-1:-1;;;3601:66:0;;;3642:10;3601:66;;;7248:34:1;-1:-1:-1;;;;;7318:15:1;;;7298:18;;;7291:43;7350:18;;;7343:34;;;7413:3;7393:18;;;7386:31;-1:-1:-1;7433:19:1;;;7426:30;3688:45:0;;3601:40;;;;3688:45;;7473:19:1;;3601:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;3601:132:0;;3561:172;3539:238;;;;-1:-1:-1;;;3539:238:0;;8467:2:1;3539:238:0;;;8449:21:1;8506:2;8486:18;;;8479:30;-1:-1:-1;;;8525:18:1;;;8518:46;8581:18;;3539:238:0;8265:340:1;9135:434:0;-1:-1:-1;;;;;9253:18:0;;;;;;:9;:18;;;;;;6246:2;;9253:22;;9274:1;9253:22;:::i;:::-;:42;;9245:51;;;;;;6287:4;9331:6;9317:11;;:20;;;;:::i;:::-;:34;;9309:43;;;;;;9387:3;9373:11;;:17;9369:62;;;9413:17;9424:6;6133:12;9413:17;:::i;:::-;9400:9;:30;;9392:39;;;;;;9449:6;9444:118;9461:6;9457:1;:10;9444:118;;;9491:11;:13;;;:11;:13;;;:::i;:::-;;;;;;9521:27;9527:7;9536:11;;9521:5;:27::i;:::-;9469:3;;;;:::i;:::-;;;;9444:118;;8721:406;-1:-1:-1;;;;;8818:18:0;;;;;;:9;:18;;;;;;6246:2;;8818:22;;8839:1;8818:22;:::i;:::-;:42;;8810:51;;;;;;8965:3;8951:11;;:17;8947:53;;;6133:12;8978:9;:21;;8970:30;;;;;;6287:4;9023:11;;9037:1;9023:15;;;;:::i;:::-;:29;;9015:38;;;;;;9064:11;:13;;;:11;:13;;;:::i;:::-;;;;;;9090:27;9096:7;9105:11;;9090:5;:27::i;:::-;8721:406;:::o;8140:313::-;8291:10;6335:42;8291:21;8283:30;;;;;;6287:4;8334:14;;:28;;8326:37;;;;;;8376:14;:32;;;8421:24;;;;:11;;:24;;;;;:::i;1039:20::-;;;;;;;:::i;2389:207::-;2492:10;2475:28;;;;:16;:28;;;;;;;;-1:-1:-1;;;;;2475:38:0;;;;;;;;;;;;:49;;-1:-1:-1;;2475:49:0;;;;;;;;;;2542:46;;7643:41:1;;;2475:38:0;;2492:10;2542:46;;7616:18:1;2542:46:0;;;;;;;2389:207;;:::o;3793:439::-;3945:26;3958:4;3964:2;3968;3945:12;:26::i;:::-;-1:-1:-1;;;;;4006:14:0;;;:19;;:174;;-1:-1:-1;4046:68:0;;-1:-1:-1;;;4046:68:0;;;4135:45;-1:-1:-1;;;;;4046:40:0;;;4135:45;;4046:68;;4087:10;;4099:4;;4105:2;;4109:4;;4046:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;4046:134:0;;4006:174;3984:240;;;;-1:-1:-1;;;3984:240:0;;8467:2:1;3984:240:0;;;8449:21:1;8506:2;8486:18;;;8479:30;-1:-1:-1;;;8525:18:1;;;8518:46;8581:18;;3984:240:0;8265:340:1;3984:240:0;3793:439;;;;:::o;9577:242::-;9642:13;9684:14;;9674:7;:24;9670:50;;;9707:13;;;;;;;;;;;;;;;;;9700:20;9577:242;-1:-1:-1;;9577:242:0:o;9670:50::-;9764:11;9782:18;9792:7;9782:9;:18::i;:::-;9747:63;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9733:78;;9577:242;;;:::o;7874:258::-;8009:10;6335:42;8009:21;8001:30;;;;;;8091:33;;-1:-1:-1;;;;;8091:25:0;;;:33;;;;;8117:6;;8091:33;;;;8117:6;8091:25;:33;;;;;;;;;;;;;;;;;;;6899:25;;;;;;;:::i;4967:381::-;-1:-1:-1;;;;;5042:16:0;;5034:46;;;;-1:-1:-1;;;5034:46:0;;8121:2:1;5034:46:0;;;8103:21:1;8160:2;8140:18;;;8133:30;-1:-1:-1;;;8179:18:1;;;8172:47;8236:18;;5034:46:0;7919:341:1;5034:46:0;5124:1;5101:11;;;:7;:11;;;;;;-1:-1:-1;;;;;5101:11:0;:25;5093:52;;;;-1:-1:-1;;;5093:52:0;;8812:2:1;5093:52:0;;;8794:21:1;8851:2;8831:18;;;8824:30;-1:-1:-1;;;8870:18:1;;;8863:44;8924:18;;5093:52:0;8610:338:1;5093:52:0;-1:-1:-1;;;;;5239:13:0;;;;;;:9;:13;;;;;;;;:15;;;;;;5278:11;;;:7;:11;;;;;;:16;;-1:-1:-1;;;;;;5278:16:0;;;;;5312:28;5286:2;;5239:13;;5312:28;;5239:13;;5312:28;4967:381;;:::o;10089:724::-;10146:13;10367:10;10363:53;;-1:-1:-1;;10394:10:0;;;;;;;;;;;;-1:-1:-1;;;10394:10:0;;;;;10089:724::o;10363:53::-;10441:5;10426:12;10482:78;10489:9;;10482:78;;10515:8;;;;:::i;:::-;;-1:-1:-1;10538:10:0;;-1:-1:-1;10546:2:0;10538:10;;:::i;:::-;;;10482:78;;;10570:19;10602:6;10592:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10592:17:0;;10570:39;;10620:154;10627:10;;10620:154;;10654:11;10664:1;10654:11;;:::i;:::-;;-1:-1:-1;10723:10:0;10731:2;10723:5;:10;:::i;:::-;10710:24;;:2;:24;:::i;:::-;10697:39;;10680:6;10687;10680:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;10680:56:0;;;;;;;;-1:-1:-1;10751:11:0;10760:2;10751:11;;:::i;:::-;;;10620:154;;;10798:6;10089:724;-1:-1:-1;;;;10089:724:0:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:631:1;78:5;108:18;149:2;141:6;138:14;135:40;;;155:18;;:::i;:::-;230:2;224:9;198:2;284:15;;-1:-1:-1;;280:24:1;;;306:2;276:33;272:42;260:55;;;330:18;;;350:22;;;327:46;324:72;;;376:18;;:::i;:::-;416:10;412:2;405:22;445:6;436:15;;475:6;467;460:22;515:3;506:6;501:3;497:16;494:25;491:45;;;532:1;529;522:12;491:45;582:6;577:3;570:4;562:6;558:17;545:44;637:1;630:4;621:6;613;609:19;605:30;598:41;;;;14:631;;;;;:::o;650:173::-;718:20;;-1:-1:-1;;;;;767:31:1;;757:42;;747:70;;813:1;810;803:12;747:70;650:173;;;:::o;828:186::-;887:6;940:2;928:9;919:7;915:23;911:32;908:52;;;956:1;953;946:12;908:52;979:29;998:9;979:29;:::i;:::-;969:39;828:186;-1:-1:-1;;;828:186:1:o;1019:260::-;1087:6;1095;1148:2;1136:9;1127:7;1123:23;1119:32;1116:52;;;1164:1;1161;1154:12;1116:52;1187:29;1206:9;1187:29;:::i;:::-;1177:39;;1235:38;1269:2;1258:9;1254:18;1235:38;:::i;:::-;1225:48;;1019:260;;;;;:::o;1284:328::-;1361:6;1369;1377;1430:2;1418:9;1409:7;1405:23;1401:32;1398:52;;;1446:1;1443;1436:12;1398:52;1469:29;1488:9;1469:29;:::i;:::-;1459:39;;1517:38;1551:2;1540:9;1536:18;1517:38;:::i;:::-;1507:48;;1602:2;1591:9;1587:18;1574:32;1564:42;;1284:328;;;;;:::o;1617:666::-;1712:6;1720;1728;1736;1789:3;1777:9;1768:7;1764:23;1760:33;1757:53;;;1806:1;1803;1796:12;1757:53;1829:29;1848:9;1829:29;:::i;:::-;1819:39;;1877:38;1911:2;1900:9;1896:18;1877:38;:::i;:::-;1867:48;;1962:2;1951:9;1947:18;1934:32;1924:42;;2017:2;2006:9;2002:18;1989:32;2044:18;2036:6;2033:30;2030:50;;;2076:1;2073;2066:12;2030:50;2099:22;;2152:4;2144:13;;2140:27;-1:-1:-1;2130:55:1;;2181:1;2178;2171:12;2130:55;2204:73;2269:7;2264:2;2251:16;2246:2;2242;2238:11;2204:73;:::i;:::-;2194:83;;;1617:666;;;;;;;:::o;2288:347::-;2353:6;2361;2414:2;2402:9;2393:7;2389:23;2385:32;2382:52;;;2430:1;2427;2420:12;2382:52;2453:29;2472:9;2453:29;:::i;:::-;2443:39;;2532:2;2521:9;2517:18;2504:32;2579:5;2572:13;2565:21;2558:5;2555:32;2545:60;;2601:1;2598;2591:12;2545:60;2624:5;2614:15;;;2288:347;;;;;:::o;2640:254::-;2708:6;2716;2769:2;2757:9;2748:7;2744:23;2740:32;2737:52;;;2785:1;2782;2775:12;2737:52;2808:29;2827:9;2808:29;:::i;:::-;2798:39;2884:2;2869:18;;;;2856:32;;-1:-1:-1;;;2640:254:1:o;2899:245::-;2957:6;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3065:9;3052:23;3084:30;3108:5;3084:30;:::i;3149:249::-;3218:6;3271:2;3259:9;3250:7;3246:23;3242:32;3239:52;;;3287:1;3284;3277:12;3239:52;3319:9;3313:16;3338:30;3362:5;3338:30;:::i;3403:522::-;3481:6;3489;3542:2;3530:9;3521:7;3517:23;3513:32;3510:52;;;3558:1;3555;3548:12;3510:52;3598:9;3585:23;3631:18;3623:6;3620:30;3617:50;;;3663:1;3660;3653:12;3617:50;3686:22;;3739:4;3731:13;;3727:27;-1:-1:-1;3717:55:1;;3768:1;3765;3758:12;3717:55;3791:75;3858:7;3853:2;3840:16;3833:4;3829:2;3825:13;3791:75;:::i;:::-;3781:85;3913:4;3898:20;;;;3885:34;;-1:-1:-1;;;;3403:522:1:o;3930:180::-;3989:6;4042:2;4030:9;4021:7;4017:23;4013:32;4010:52;;;4058:1;4055;4048:12;4010:52;-1:-1:-1;4081:23:1;;3930:180;-1:-1:-1;3930:180:1:o;4115:257::-;4156:3;4194:5;4188:12;4221:6;4216:3;4209:19;4237:63;4293:6;4286:4;4281:3;4277:14;4270:4;4263:5;4259:16;4237:63;:::i;:::-;4354:2;4333:15;-1:-1:-1;;4329:29:1;4320:39;;;;4361:4;4316:50;;4115:257;-1:-1:-1;;4115:257:1:o;4377:185::-;4419:3;4457:5;4451:12;4472:52;4517:6;4512:3;4505:4;4498:5;4494:16;4472:52;:::i;:::-;4540:16;;;;;4377:185;-1:-1:-1;;4377:185:1:o;4804:1433::-;5182:3;5211:1;5244:6;5238:13;5274:3;5296:1;5324:9;5320:2;5316:18;5306:28;;5384:2;5373:9;5369:18;5406;5396:61;;5450:4;5442:6;5438:17;5428:27;;5396:61;5476:2;5524;5516:6;5513:14;5493:18;5490:38;5487:165;;;-1:-1:-1;;;5551:33:1;;5607:4;5604:1;5597:15;5637:4;5558:3;5625:17;5487:165;5668:18;5695:104;;;;5813:1;5808:320;;;;5661:467;;5695:104;-1:-1:-1;;5728:24:1;;5716:37;;5773:16;;;;-1:-1:-1;5695:104:1;;5808:320;9890:1;9883:14;;;9927:4;9914:18;;5903:1;5917:165;5931:6;5928:1;5925:13;5917:165;;;6009:14;;5996:11;;;5989:35;6052:16;;;;5946:10;;5917:165;;;5921:3;;6111:6;6106:3;6102:16;6095:23;;5661:467;;;;;;;6144:87;6169:61;6195:34;6225:3;-1:-1:-1;;;4750:16:1;;4791:1;4782:11;;4685:114;6195:34;6187:6;6169:61;:::i;:::-;-1:-1:-1;;;4627:20:1;;4672:1;4663:11;;4567:113;6144:87;6137:94;4804:1433;-1:-1:-1;;;;;4804:1433:1:o;6450:488::-;-1:-1:-1;;;;;6719:15:1;;;6701:34;;6771:15;;6766:2;6751:18;;6744:43;6818:2;6803:18;;6796:34;;;6866:3;6861:2;6846:18;;6839:31;;;6644:4;;6887:45;;6912:19;;6904:6;6887:45;:::i;:::-;6879:53;6450:488;-1:-1:-1;;;;;;6450:488:1:o;7695:219::-;7844:2;7833:9;7826:21;7807:4;7864:44;7904:2;7893:9;7889:18;7881:6;7864:44;:::i;9943:128::-;9983:3;10014:1;10010:6;10007:1;10004:13;10001:39;;;10020:18;;:::i;:::-;-1:-1:-1;10056:9:1;;9943:128::o;10076:120::-;10116:1;10142;10132:35;;10147:18;;:::i;:::-;-1:-1:-1;10181:9:1;;10076:120::o;10201:168::-;10241:7;10307:1;10303;10299:6;10295:14;10292:1;10289:21;10284:1;10277:9;10270:17;10266:45;10263:71;;;10314:18;;:::i;:::-;-1:-1:-1;10354:9:1;;10201:168::o;10374:125::-;10414:4;10442:1;10439;10436:8;10433:34;;;10447:18;;:::i;:::-;-1:-1:-1;10484:9:1;;10374:125::o;10504:258::-;10576:1;10586:113;10600:6;10597:1;10594:13;10586:113;;;10676:11;;;10670:18;10657:11;;;10650:39;10622:2;10615:10;10586:113;;;10717:6;10714:1;10711:13;10708:48;;;-1:-1:-1;;10752:1:1;10734:16;;10727:27;10504:258::o;10767:380::-;10846:1;10842:12;;;;10889;;;10910:61;;10964:4;10956:6;10952:17;10942:27;;10910:61;11017:2;11009:6;11006:14;10986:18;10983:38;10980:161;;;11063:10;11058:3;11054:20;11051:1;11044:31;11098:4;11095:1;11088:15;11126:4;11123:1;11116:15;10980:161;;10767:380;;;:::o;11152:135::-;11191:3;-1:-1:-1;;11212:17:1;;11209:43;;;11232:18;;:::i;:::-;-1:-1:-1;11279:1:1;11268:13;;11152:135::o;11292:112::-;11324:1;11350;11340:35;;11355:18;;:::i;:::-;-1:-1:-1;11389:9:1;;11292:112::o;11409:127::-;11470:10;11465:3;11461:20;11458:1;11451:31;11501:4;11498:1;11491:15;11525:4;11522:1;11515:15;11541:127;11602:10;11597:3;11593:20;11590:1;11583:31;11633:4;11630:1;11623:15;11657:4;11654:1;11647:15;11673:127;11734:10;11729:3;11725:20;11722:1;11715:31;11765:4;11762:1;11755:15;11789:4;11786:1;11779:15;11805:127;11866:10;11861:3;11857:20;11854:1;11847:31;11897:4;11894:1;11887:15;11921:4;11918:1;11911:15;11937:131;-1:-1:-1;;;;;;12011:32:1;;12001:43;;11991:71;;12058:1;12055;12048:12

Swarm Source

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