ETH Price: $2,488.51 (-0.87%)
Gas: 3.2 Gwei

Token

Namecoin 2.0 (NM2.0)
 

Overview

Max Total Supply

1,000,000,000 NM2.0

Holders

60

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.608994412 NM2.0

Value
$0.00
0x94d0f8dc4adda372f6fd75d38e19bbc7156658e4
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:
Namecoin

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-10
*/

/*
https://www.namecoin.org.in/
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function getOwner() external view returns (address);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address _owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

abstract contract Ownable {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER");
        _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }

    event OwnershipTransferred(address owner);
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}
contract Namecoin is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Namecoin 2.0";
    string constant _symbol = unicode"NM2.0";
    uint8 constant _decimals = 9;
    uint256 _totalSupply = 1_000_000_000 * (10**_decimals);
    uint256 public _maxWalletAmount = 1_000_000_000 * (10**_decimals);
    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;
    mapping(address => bool) isFeeExempt;
    mapping(address => bool) isTxLimitExempt;
    uint256 NMFee = 2;
    address public NMTeam = msg.sender;
    IDEXRouter public router;
    address public pair;
    bool public swapEnabled = true;
    uint256 public swapThreshold = (_totalSupply / 10000) * 50;
    bool inSwap;
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(
            router.WETH(),
            address(this)
        );
        _allowances[address(this)][address(router)] = type(uint256).max;
        address _owner = owner;
        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;
        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable {}

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

    function decimals() external pure override returns (uint8) {
        return _decimals;
    }

    function symbol() external pure override returns (string memory) {
        return _symbol;
    }

    function name() external pure override returns (string memory) {
        return _name;
    }

    function getOwner() external view override returns (address) {
        return owner;
    }

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

    function allowance(address holder, address spender)
        external
        view
        override
        returns (uint256)
    {
        return _allowances[holder][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address recipient, uint256 amount)
        external
        override
        returns (bool)
    {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender]
                .sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }

        if (recipient != pair && recipient != DEAD) {
            require(
                isTxLimitExempt[recipient] ||
                    _balances[recipient] + amount <= _maxWalletAmount,
                "Transfer amount exceeds the bag size."
            );
        }

        if (shouldSwapBack()) {
            swapBack();
        }

        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );

        uint256 amountReceived = shouldTakeFee(sender)
            ? takeFee(sender, amount)
            : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount)
        internal
        returns (uint256)
    {
        uint256 feeAmount = amount.mul(NMFee).div(100);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return
            msg.sender != pair &&
            !inSwap &&
            swapEnabled &&
            _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToSwap = contractTokenBalance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETHMarketing = address(this).balance;

        (
            bool MarketingSuccess, /* bytes memory data */

        ) = payable(NMTeam).call{value: amountETHMarketing, gas: 30000}(
                ""
            );
        require(MarketingSuccess, "receiver rejected ETH transfer");
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"NMTeam","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac9190620007c6565b633b9aca00620000bd919062000903565b6003556009600a620000d09190620007c6565b633b9aca00620000e1919062000903565b600455600260095533600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60146101000a81548160ff021916908315150217905550603261271060035462000159919062000733565b62000165919062000903565b600d553480156200017557600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200028457600080fd5b505afa15801562000299573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bf91906200069b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200034357600080fd5b505afa15801562000358573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037e91906200069b565b306040518363ffffffff1660e01b81526004016200039e929190620006e9565b602060405180830381600087803b158015620003b957600080fd5b505af1158015620003ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f491906200069b565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000675919062000716565b60405180910390a35062000a34565b600081519050620006958162000a1a565b92915050565b600060208284031215620006ae57600080fd5b6000620006be8482850162000684565b91505092915050565b620006d28162000964565b82525050565b620006e38162000998565b82525050565b6000604082019050620007006000830185620006c7565b6200070f6020830184620006c7565b9392505050565b60006020820190506200072d6000830184620006d8565b92915050565b6000620007408262000998565b91506200074d8362000998565b92508262000760576200075f620009de565b5b828204905092915050565b6000808291508390505b6001851115620007bd57808604811115620007955762000794620009af565b5b6001851615620007a55780820291505b8081029050620007b58562000a0d565b945062000775565b94509492505050565b6000620007d38262000998565b9150620007e083620009a2565b92506200080f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000817565b905092915050565b600082620008295760019050620008fc565b81620008395760009050620008fc565b81600181146200085257600281146200085d5762000893565b6001915050620008fc565b60ff841115620008725762000871620009af565b5b8360020a9150848211156200088c576200088b620009af565b5b50620008fc565b5060208310610133831016604e8410600b8410161715620008cd5782820a905083811115620008c757620008c6620009af565b5b620008fc565b620008dc84848460016200076b565b92509050818404811115620008f657620008f5620009af565b5b81810290505b9392505050565b6000620009108262000998565b91506200091d8362000998565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009595762000958620009af565b5b828202905092915050565b6000620009718262000978565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160011c9050919050565b62000a258162000964565b811462000a3157600080fd5b50565b61217a8062000a446000396000f3fe60806040526004361061010d5760003560e01c806370a0823111610095578063a8aa1b3111610064578063a8aa1b311461037c578063a9059cbb146103a7578063dd62ed3e146103e4578063f42850b414610421578063f887ea401461044c57610114565b806370a08231146102d2578063715018a61461030f578063893d20e81461032657806395d89b411461035157610114565b806323b872dd116100dc57806323b872dd146101d75780632f54bf6e14610214578063313ce567146102515780636c0a24eb1461027c5780636ddd1713146102a757610114565b80630445b6671461011957806306fdde0314610144578063095ea7b31461016f57806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610477565b60405161013b9190611de4565b60405180910390f35b34801561015057600080fd5b5061015961047d565b6040516101669190611d22565b60405180910390f35b34801561017b57600080fd5b50610196600480360381019061019191906119c2565b6104ba565b6040516101a39190611cec565b60405180910390f35b3480156101b857600080fd5b506101c16105ac565b6040516101ce9190611de4565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190611973565b6105b6565b60405161020b9190611cec565b60405180910390f35b34801561022057600080fd5b5061023b600480360381019061023691906118e5565b6107b6565b6040516102489190611cec565b60405180910390f35b34801561025d57600080fd5b5061026661080f565b6040516102739190611e59565b60405180910390f35b34801561028857600080fd5b50610291610818565b60405161029e9190611de4565b60405180910390f35b3480156102b357600080fd5b506102bc61081e565b6040516102c99190611cec565b60405180910390f35b3480156102de57600080fd5b506102f960048036038101906102f491906118e5565b610831565b6040516103069190611de4565b60405180910390f35b34801561031b57600080fd5b5061032461087a565b005b34801561033257600080fd5b5061033b61093d565b6040516103489190611cd1565b60405180910390f35b34801561035d57600080fd5b50610366610966565b6040516103739190611d22565b60405180910390f35b34801561038857600080fd5b506103916109a3565b60405161039e9190611cd1565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c991906119c2565b6109c9565b6040516103db9190611cec565b60405180910390f35b3480156103f057600080fd5b5061040b60048036038101906104069190611937565b6109de565b6040516104189190611de4565b60405180910390f35b34801561042d57600080fd5b50610436610a65565b6040516104439190611cd1565b60405180910390f35b34801561045857600080fd5b50610461610a8b565b60405161046e9190611d07565b60405180910390f35b600d5481565b60606040518060400160405280600c81526020017f4e616d65636f696e20322e300000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161059a9190611de4565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146107a257610721826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ab19092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6107ad848484610b15565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b60045481565b600c60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610883336107b6565b6108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b990611dc4565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360006040516109339190611cd1565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4e4d322e30000000000000000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006109d6338484610b15565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af09190611d22565b60405180910390fd5b5060008385610b089190611fb5565b9050809150509392505050565b6000600e60009054906101000a900460ff1615610b3e57610b37848484610ede565b9050610ed7565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610bea5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610cd357600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610c93575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c909190611ed4565b11155b610cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc990611d44565b60405180910390fd5b5b610cdb6110b1565b15610ce957610ce8611188565b5b610d72826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ab19092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610dc08561153c565b610dca5782610dd5565b610dd48584611593565b5b9050610e2981600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116d690919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ec99190611de4565b60405180910390a360019150505b9392505050565b6000610f69826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ab19092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ffe82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116d690919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161109e9190611de4565b60405180910390a3600190509392505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561111e5750600e60009054906101000a900460ff16155b80156111365750600c60149054906101000a900460ff165b80156111835750600d54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600e60006101000a81548160ff0219169083151502179055506000600d54905060008190506000600267ffffffffffffffff8111156111f2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156112205781602001602082028036833780820191505090505b509050308160008151811061125e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561130057600080fd5b505afa158015611314573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611338919061190e565b81600181518110611372577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611410959493929190611dff565b600060405180830381600087803b15801561142a57600080fd5b505af115801561143e573d6000803e3d6000fd5b5050505060004790506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161149390611cbc565b600060405180830381858888f193505050503d80600081146114d1576040519150601f19603f3d011682016040523d82523d6000602084013e6114d6565b606091505b505090508061151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190611d84565b60405180910390fd5b50505050506000600e60006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806115be60646115b06009548661173490919063ffffffff16565b6117af90919063ffffffff16565b905061161281600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116d690919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116b29190611de4565b60405180910390a36116cd81846117f990919063ffffffff16565b91505092915050565b60008082846116e59190611ed4565b90508381101561172a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172190611d64565b60405180910390fd5b8091505092915050565b60008083141561174757600090506117a9565b600082846117559190611f5b565b90508284826117649190611f2a565b146117a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179b90611da4565b60405180910390fd5b809150505b92915050565b60006117f183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611843565b905092915050565b600061183b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ab1565b905092915050565b6000808311829061188a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118819190611d22565b60405180910390fd5b50600083856118999190611f2a565b9050809150509392505050565b6000813590506118b581612116565b92915050565b6000815190506118ca81612116565b92915050565b6000813590506118df8161212d565b92915050565b6000602082840312156118f757600080fd5b6000611905848285016118a6565b91505092915050565b60006020828403121561192057600080fd5b600061192e848285016118bb565b91505092915050565b6000806040838503121561194a57600080fd5b6000611958858286016118a6565b9250506020611969858286016118a6565b9150509250929050565b60008060006060848603121561198857600080fd5b6000611996868287016118a6565b93505060206119a7868287016118a6565b92505060406119b8868287016118d0565b9150509250925092565b600080604083850312156119d557600080fd5b60006119e3858286016118a6565b92505060206119f4858286016118d0565b9150509250929050565b6000611a0a8383611a16565b60208301905092915050565b611a1f81611fe9565b82525050565b611a2e81611fe9565b82525050565b6000611a3f82611e84565b611a498185611ea7565b9350611a5483611e74565b8060005b83811015611a85578151611a6c88826119fe565b9750611a7783611e9a565b925050600181019050611a58565b5085935050505092915050565b611a9b81611ffb565b82525050565b611aaa8161203e565b82525050565b611ab981612062565b82525050565b6000611aca82611e8f565b611ad48185611ec3565b9350611ae4818560208601612074565b611aed81612105565b840191505092915050565b6000611b05602583611ec3565b91507f5472616e7366657220616d6f756e74206578636565647320746865206261672060008301527f73697a652e0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611b6b601b83611ec3565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000611bab601e83611ec3565b91507f72656365697665722072656a656374656420455448207472616e7366657200006000830152602082019050919050565b6000611beb602183611ec3565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611c51600683611ec3565b91507f214f574e455200000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000611c91600083611eb8565b9150600082019050919050565b611ca781612027565b82525050565b611cb681612031565b82525050565b6000611cc782611c84565b9150819050919050565b6000602082019050611ce66000830184611a25565b92915050565b6000602082019050611d016000830184611a92565b92915050565b6000602082019050611d1c6000830184611aa1565b92915050565b60006020820190508181036000830152611d3c8184611abf565b905092915050565b60006020820190508181036000830152611d5d81611af8565b9050919050565b60006020820190508181036000830152611d7d81611b5e565b9050919050565b60006020820190508181036000830152611d9d81611b9e565b9050919050565b60006020820190508181036000830152611dbd81611bde565b9050919050565b60006020820190508181036000830152611ddd81611c44565b9050919050565b6000602082019050611df96000830184611c9e565b92915050565b600060a082019050611e146000830188611c9e565b611e216020830187611ab0565b8181036040830152611e338186611a34565b9050611e426060830185611a25565b611e4f6080830184611c9e565b9695505050505050565b6000602082019050611e6e6000830184611cad565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000611edf82612027565b9150611eea83612027565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611f1f57611f1e6120a7565b5b828201905092915050565b6000611f3582612027565b9150611f4083612027565b925082611f5057611f4f6120d6565b5b828204905092915050565b6000611f6682612027565b9150611f7183612027565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611faa57611fa96120a7565b5b828202905092915050565b6000611fc082612027565b9150611fcb83612027565b925082821015611fde57611fdd6120a7565b5b828203905092915050565b6000611ff482612007565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061204982612050565b9050919050565b600061205b82612007565b9050919050565b600061206d82612027565b9050919050565b60005b83811015612092578082015181840152602081019050612077565b838111156120a1576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b61211f81611fe9565b811461212a57600080fd5b50565b61213681612027565b811461214157600080fd5b5056fea26469706673582212202e088485cc884a26788b9a159a1a1c4cc918be2a2ed17b11b69107252b721fa064736f6c63430008000033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c806370a0823111610095578063a8aa1b3111610064578063a8aa1b311461037c578063a9059cbb146103a7578063dd62ed3e146103e4578063f42850b414610421578063f887ea401461044c57610114565b806370a08231146102d2578063715018a61461030f578063893d20e81461032657806395d89b411461035157610114565b806323b872dd116100dc57806323b872dd146101d75780632f54bf6e14610214578063313ce567146102515780636c0a24eb1461027c5780636ddd1713146102a757610114565b80630445b6671461011957806306fdde0314610144578063095ea7b31461016f57806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610477565b60405161013b9190611de4565b60405180910390f35b34801561015057600080fd5b5061015961047d565b6040516101669190611d22565b60405180910390f35b34801561017b57600080fd5b50610196600480360381019061019191906119c2565b6104ba565b6040516101a39190611cec565b60405180910390f35b3480156101b857600080fd5b506101c16105ac565b6040516101ce9190611de4565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f99190611973565b6105b6565b60405161020b9190611cec565b60405180910390f35b34801561022057600080fd5b5061023b600480360381019061023691906118e5565b6107b6565b6040516102489190611cec565b60405180910390f35b34801561025d57600080fd5b5061026661080f565b6040516102739190611e59565b60405180910390f35b34801561028857600080fd5b50610291610818565b60405161029e9190611de4565b60405180910390f35b3480156102b357600080fd5b506102bc61081e565b6040516102c99190611cec565b60405180910390f35b3480156102de57600080fd5b506102f960048036038101906102f491906118e5565b610831565b6040516103069190611de4565b60405180910390f35b34801561031b57600080fd5b5061032461087a565b005b34801561033257600080fd5b5061033b61093d565b6040516103489190611cd1565b60405180910390f35b34801561035d57600080fd5b50610366610966565b6040516103739190611d22565b60405180910390f35b34801561038857600080fd5b506103916109a3565b60405161039e9190611cd1565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c991906119c2565b6109c9565b6040516103db9190611cec565b60405180910390f35b3480156103f057600080fd5b5061040b60048036038101906104069190611937565b6109de565b6040516104189190611de4565b60405180910390f35b34801561042d57600080fd5b50610436610a65565b6040516104439190611cd1565b60405180910390f35b34801561045857600080fd5b50610461610a8b565b60405161046e9190611d07565b60405180910390f35b600d5481565b60606040518060400160405280600c81526020017f4e616d65636f696e20322e300000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161059a9190611de4565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146107a257610721826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ab19092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6107ad848484610b15565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b60045481565b600c60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610883336107b6565b6108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b990611dc4565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360006040516109339190611cd1565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4e4d322e30000000000000000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006109d6338484610b15565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af09190611d22565b60405180910390fd5b5060008385610b089190611fb5565b9050809150509392505050565b6000600e60009054906101000a900460ff1615610b3e57610b37848484610ede565b9050610ed7565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610bea5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610cd357600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610c93575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c909190611ed4565b11155b610cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc990611d44565b60405180910390fd5b5b610cdb6110b1565b15610ce957610ce8611188565b5b610d72826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ab19092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610dc08561153c565b610dca5782610dd5565b610dd48584611593565b5b9050610e2981600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116d690919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ec99190611de4565b60405180910390a360019150505b9392505050565b6000610f69826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ab19092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ffe82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116d690919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161109e9190611de4565b60405180910390a3600190509392505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561111e5750600e60009054906101000a900460ff16155b80156111365750600c60149054906101000a900460ff165b80156111835750600d54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600e60006101000a81548160ff0219169083151502179055506000600d54905060008190506000600267ffffffffffffffff8111156111f2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156112205781602001602082028036833780820191505090505b509050308160008151811061125e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561130057600080fd5b505afa158015611314573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611338919061190e565b81600181518110611372577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611410959493929190611dff565b600060405180830381600087803b15801561142a57600080fd5b505af115801561143e573d6000803e3d6000fd5b5050505060004790506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161149390611cbc565b600060405180830381858888f193505050503d80600081146114d1576040519150601f19603f3d011682016040523d82523d6000602084013e6114d6565b606091505b505090508061151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190611d84565b60405180910390fd5b50505050506000600e60006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806115be60646115b06009548661173490919063ffffffff16565b6117af90919063ffffffff16565b905061161281600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116d690919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116b29190611de4565b60405180910390a36116cd81846117f990919063ffffffff16565b91505092915050565b60008082846116e59190611ed4565b90508381101561172a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172190611d64565b60405180910390fd5b8091505092915050565b60008083141561174757600090506117a9565b600082846117559190611f5b565b90508284826117649190611f2a565b146117a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179b90611da4565b60405180910390fd5b809150505b92915050565b60006117f183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611843565b905092915050565b600061183b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ab1565b905092915050565b6000808311829061188a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118819190611d22565b60405180910390fd5b50600083856118999190611f2a565b9050809150509392505050565b6000813590506118b581612116565b92915050565b6000815190506118ca81612116565b92915050565b6000813590506118df8161212d565b92915050565b6000602082840312156118f757600080fd5b6000611905848285016118a6565b91505092915050565b60006020828403121561192057600080fd5b600061192e848285016118bb565b91505092915050565b6000806040838503121561194a57600080fd5b6000611958858286016118a6565b9250506020611969858286016118a6565b9150509250929050565b60008060006060848603121561198857600080fd5b6000611996868287016118a6565b93505060206119a7868287016118a6565b92505060406119b8868287016118d0565b9150509250925092565b600080604083850312156119d557600080fd5b60006119e3858286016118a6565b92505060206119f4858286016118d0565b9150509250929050565b6000611a0a8383611a16565b60208301905092915050565b611a1f81611fe9565b82525050565b611a2e81611fe9565b82525050565b6000611a3f82611e84565b611a498185611ea7565b9350611a5483611e74565b8060005b83811015611a85578151611a6c88826119fe565b9750611a7783611e9a565b925050600181019050611a58565b5085935050505092915050565b611a9b81611ffb565b82525050565b611aaa8161203e565b82525050565b611ab981612062565b82525050565b6000611aca82611e8f565b611ad48185611ec3565b9350611ae4818560208601612074565b611aed81612105565b840191505092915050565b6000611b05602583611ec3565b91507f5472616e7366657220616d6f756e74206578636565647320746865206261672060008301527f73697a652e0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611b6b601b83611ec3565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000611bab601e83611ec3565b91507f72656365697665722072656a656374656420455448207472616e7366657200006000830152602082019050919050565b6000611beb602183611ec3565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611c51600683611ec3565b91507f214f574e455200000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000611c91600083611eb8565b9150600082019050919050565b611ca781612027565b82525050565b611cb681612031565b82525050565b6000611cc782611c84565b9150819050919050565b6000602082019050611ce66000830184611a25565b92915050565b6000602082019050611d016000830184611a92565b92915050565b6000602082019050611d1c6000830184611aa1565b92915050565b60006020820190508181036000830152611d3c8184611abf565b905092915050565b60006020820190508181036000830152611d5d81611af8565b9050919050565b60006020820190508181036000830152611d7d81611b5e565b9050919050565b60006020820190508181036000830152611d9d81611b9e565b9050919050565b60006020820190508181036000830152611dbd81611bde565b9050919050565b60006020820190508181036000830152611ddd81611c44565b9050919050565b6000602082019050611df96000830184611c9e565b92915050565b600060a082019050611e146000830188611c9e565b611e216020830187611ab0565b8181036040830152611e338186611a34565b9050611e426060830185611a25565b611e4f6080830184611c9e565b9695505050505050565b6000602082019050611e6e6000830184611cad565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000611edf82612027565b9150611eea83612027565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611f1f57611f1e6120a7565b5b828201905092915050565b6000611f3582612027565b9150611f4083612027565b925082611f5057611f4f6120d6565b5b828204905092915050565b6000611f6682612027565b9150611f7183612027565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611faa57611fa96120a7565b5b828202905092915050565b6000611fc082612027565b9150611fcb83612027565b925082821015611fde57611fdd6120a7565b5b828203905092915050565b6000611ff482612007565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061204982612050565b9050919050565b600061205b82612007565b9050919050565b600061206d82612027565b9050919050565b60005b83811015612092578082015181840152602081019050612077565b838111156120a1576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b61211f81611fe9565b811461212a57600080fd5b50565b61213681612027565b811461214157600080fd5b5056fea26469706673582212202e088485cc884a26788b9a159a1a1c4cc918be2a2ed17b11b69107252b721fa064736f6c63430008000033

Deployed Bytecode Sourcemap

4592:6185:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5425:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6465:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6990:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6147:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7442:424;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2586:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6257:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4994:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5388:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6667:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2697:131;;;;;;;;;;;;;:::i;:::-;;6567:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6359:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5362:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7246:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6794;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5290:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5331:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5425:58;;;;:::o;6465:94::-;6513:13;6546:5;;;;;;;;;;;;;;;;;6539:12;;6465:94;:::o;6990:248::-;7092:4;7149:6;7114:11;:23;7126:10;7114:23;;;;;;;;;;;;;;;:32;7138:7;7114:32;;;;;;;;;;;;;;;:41;;;;7192:7;7171:37;;7180:10;7171:37;;;7201:6;7171:37;;;;;;:::i;:::-;;;;;;;;7226:4;7219:11;;6990:248;;;;:::o;6147:102::-;6202:7;6229:12;;6222:19;;6147:102;:::o;7442:424::-;7576:4;7632:17;7597:11;:19;7609:6;7597:19;;;;;;;;;;;;;;;:31;7617:10;7597:31;;;;;;;;;;;;;;;;:52;7593:206;;7700:87;7754:6;7700:87;;;;;;;;;;;;;;;;;:11;:19;7712:6;7700:19;;;;;;;;;;;;;;;:31;7720:10;7700:31;;;;;;;;;;;;;;;;:53;;:87;;;;;:::i;:::-;7666:11;:19;7678:6;7666:19;;;;;;;;;;;;;;;:31;7686:10;7666:31;;;;;;;;;;;;;;;:121;;;;7593:206;7818:40;7832:6;7840:9;7851:6;7818:13;:40::i;:::-;7811:47;;7442:424;;;;;:::o;2586:103::-;2641:4;2676:5;;;;;;;;;;;2665:16;;:7;:16;;;2658:23;;2586:103;;;:::o;6257:94::-;6309:5;4925:1;6327:16;;6257:94;:::o;4994:65::-;;;;:::o;5388:30::-;;;;;;;;;;;;;:::o;6667:119::-;6733:7;6760:9;:18;6770:7;6760:18;;;;;;;;;;;;;;;;6753:25;;6667:119;;;:::o;2697:131::-;2528:19;2536:10;2528:7;:19::i;:::-;2520:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2770:1:::1;2754:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2788:32;2817:1;2788:32;;;;;;:::i;:::-;;;;;;;;2697:131::o:0;6567:92::-;6619:7;6646:5;;;;;;;;;;;6639:12;;6567:92;:::o;6359:98::-;6409:13;6442:7;;;;;;;;;;;;;;;;;6435:14;;6359:98;:::o;5362:19::-;;;;;;;;;;;;;:::o;7246:188::-;7353:4;7382:44;7396:10;7408:9;7419:6;7382:13;:44::i;:::-;7375:51;;7246:188;;;;:::o;6794:::-;6914:7;6946:11;:19;6958:6;6946:19;;;;;;;;;;;;;;;:28;6966:7;6946:28;;;;;;;;;;;;;;;;6939:35;;6794:188;;;;:::o;5290:34::-;;;;;;;;;;;;;:::o;5331:24::-;;;;;;;;;;;;;:::o;453:224::-;573:7;606:1;601;:6;;609:12;593:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;633:9;649:1;645;:5;;;;:::i;:::-;633:17;;668:1;661:8;;;453:224;;;;;:::o;7874:990::-;8000:4;8021:6;;;;;;;;;;;8017:87;;;8051:41;8066:6;8074:9;8085:6;8051:14;:41::i;:::-;8044:48;;;;8017:87;8133:4;;;;;;;;;;;8120:17;;:9;:17;;;;:38;;;;;8154:4;;;;;;;;;;;8141:17;;:9;:17;;;;8120:38;8116:270;;;8201:15;:26;8217:9;8201:26;;;;;;;;;;;;;;;;;;;;;;;;;:100;;;;8285:16;;8275:6;8252:9;:20;8262:9;8252:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;8201:100;8175:199;;;;;;;;;;;;:::i;:::-;;;;;;;;;8116:270;8402:16;:14;:16::i;:::-;8398:59;;;8435:10;:8;:10::i;:::-;8398:59;8489:90;8525:6;8489:90;;;;;;;;;;;;;;;;;:9;:17;8499:6;8489:17;;;;;;;;;;;;;;;;:21;;:90;;;;;:::i;:::-;8469:9;:17;8479:6;8469:17;;;;;;;;;;;;;;;:110;;;;8592:22;8617:21;8631:6;8617:13;:21::i;:::-;:82;;8693:6;8617:82;;;8654:23;8662:6;8670;8654:7;:23::i;:::-;8617:82;8592:107;;8733:40;8758:14;8733:9;:20;8743:9;8733:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8710:9;:20;8720:9;8710:20;;;;;;;;;;;;;;;:63;;;;8808:9;8791:43;;8800:6;8791:43;;;8819:14;8791:43;;;;;;:::i;:::-;;;;;;;;8852:4;8845:11;;;7874:990;;;;;;:::o;8872:401::-;8999:4;9036:90;9072:6;9036:90;;;;;;;;;;;;;;;;;:9;:17;9046:6;9036:17;;;;;;;;;;;;;;;;:21;;:90;;;;;:::i;:::-;9016:9;:17;9026:6;9016:17;;;;;;;;;;;;;;;:110;;;;9160:32;9185:6;9160:9;:20;9170:9;9160:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9137:9;:20;9147:9;9137:20;;;;;;;;;;;;;;;:55;;;;9225:9;9208:35;;9217:6;9208:35;;;9236:6;9208:35;;;;;;:::i;:::-;;;;;;;;9261:4;9254:11;;8872:401;;;;;:::o;9749:222::-;9798:4;9849;;;;;;;;;;;9835:18;;:10;:18;;;;:42;;;;;9871:6;;;;;;;;;;;9870:7;9835:42;:70;;;;;9894:11;;;;;;;;;;;9835:70;:128;;;;;9950:13;;9922:9;:24;9940:4;9922:24;;;;;;;;;;;;;;;;:41;;9835:128;9815:148;;9749:222;:::o;9979:795::-;5548:4;5539:6;;:13;;;;;;;;;;;;;;;;;;10028:28:::1;10059:13;;10028:44;;10083:20;10106;10083:43;;10139:21;10177:1;10163:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10139:40;;10208:4;10190;10195:1;10190:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10234:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10224:4;10229:1;10224:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10260:6;;;;;;;;;;;:57;;;10332:12;10359:1;10375:4;10402;10422:15;10260:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10461:26;10490:21;10461:50;;10539:21;10609:6;;;;;;;;;;;10601:20;;10629:18;10654:5;10601:95;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10524:172;;;10715:16;10707:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;5563:1;;;;;5584:5:::0;5575:6;;:14;;;;;;;;;;;;;;;;;;9979:795::o;9281:114::-;9343:4;9368:11;:19;9380:6;9368:19;;;;;;;;;;;;;;;;;;;;;;;;;9367:20;9360:27;;9281:114;;;:::o;9403:338::-;9488:7;9513:17;9533:26;9555:3;9533:17;9544:5;;9533:6;:10;;:17;;;;:::i;:::-;:21;;:26;;;;:::i;:::-;9513:46;;9597:39;9626:9;9597;:24;9615:4;9597:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9570:9;:24;9588:4;9570:24;;;;;;;;;;;;;;;:66;;;;9677:4;9652:42;;9661:6;9652:42;;;9684:9;9652:42;;;;;;:::i;:::-;;;;;;;;9712:21;9723:9;9712:6;:10;;:21;;;;:::i;:::-;9705:28;;;9403:338;;;;:::o;122:179::-;180:7;200:9;216:1;212;:5;;;;:::i;:::-;200:17;;241:1;236;:6;;228:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;292:1;285:8;;;122:179;;;;:::o;685:246::-;743:7;772:1;767;:6;763:47;;;797:1;790:8;;;;763:47;820:9;836:1;832;:5;;;;:::i;:::-;820:17;;865:1;860;856;:5;;;;:::i;:::-;:10;848:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;922:1;915:8;;;685:246;;;;;:::o;939:132::-;997:7;1024:39;1028:1;1031;1024:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1017:46;;939:132;;;;:::o;309:136::-;367:7;394:43;398:1;401;394:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;387:50;;309:136;;;;:::o;1079:223::-;1199:7;1231:1;1227;:5;1234:12;1219:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1258:9;1274:1;1270;:5;;;;:::i;:::-;1258:17;;1293:1;1286:8;;;1079:223;;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:139::-;;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;353:87;;;;:::o;446:262::-;;554:2;542:9;533:7;529:23;525:32;522:2;;;570:1;567;560:12;522:2;613:1;638:53;683:7;674:6;663:9;659:22;638:53;:::i;:::-;628:63;;584:117;512:196;;;;:::o;714:284::-;;833:2;821:9;812:7;808:23;804:32;801:2;;;849:1;846;839:12;801:2;892:1;917:64;973:7;964:6;953:9;949:22;917:64;:::i;:::-;907:74;;863:128;791:207;;;;:::o;1004:407::-;;;1129:2;1117:9;1108:7;1104:23;1100:32;1097:2;;;1145:1;1142;1135:12;1097:2;1188:1;1213:53;1258:7;1249:6;1238:9;1234:22;1213:53;:::i;:::-;1203:63;;1159:117;1315:2;1341:53;1386:7;1377:6;1366:9;1362:22;1341:53;:::i;:::-;1331:63;;1286:118;1087:324;;;;;:::o;1417:552::-;;;;1559:2;1547:9;1538:7;1534:23;1530:32;1527:2;;;1575:1;1572;1565:12;1527:2;1618:1;1643:53;1688:7;1679:6;1668:9;1664:22;1643:53;:::i;:::-;1633:63;;1589:117;1745:2;1771:53;1816:7;1807:6;1796:9;1792:22;1771:53;:::i;:::-;1761:63;;1716:118;1873:2;1899:53;1944:7;1935:6;1924:9;1920:22;1899:53;:::i;:::-;1889:63;;1844:118;1517:452;;;;;:::o;1975:407::-;;;2100:2;2088:9;2079:7;2075:23;2071:32;2068:2;;;2116:1;2113;2106:12;2068:2;2159:1;2184:53;2229:7;2220:6;2209:9;2205:22;2184:53;:::i;:::-;2174:63;;2130:117;2286:2;2312:53;2357:7;2348:6;2337:9;2333:22;2312:53;:::i;:::-;2302:63;;2257:118;2058:324;;;;;:::o;2388:179::-;;2478:46;2520:3;2512:6;2478:46;:::i;:::-;2556:4;2551:3;2547:14;2533:28;;2468:99;;;;:::o;2573:108::-;2650:24;2668:5;2650:24;:::i;:::-;2645:3;2638:37;2628:53;;:::o;2687:118::-;2774:24;2792:5;2774:24;:::i;:::-;2769:3;2762:37;2752:53;;:::o;2841:732::-;;2989:54;3037:5;2989:54;:::i;:::-;3059:86;3138:6;3133:3;3059:86;:::i;:::-;3052:93;;3169:56;3219:5;3169:56;:::i;:::-;3248:7;3279:1;3264:284;3289:6;3286:1;3283:13;3264:284;;;3365:6;3359:13;3392:63;3451:3;3436:13;3392:63;:::i;:::-;3385:70;;3478:60;3531:6;3478:60;:::i;:::-;3468:70;;3324:224;3311:1;3308;3304:9;3299:14;;3264:284;;;3268:14;3564:3;3557:10;;2965:608;;;;;;;:::o;3579:109::-;3660:21;3675:5;3660:21;:::i;:::-;3655:3;3648:34;3638:50;;:::o;3694:167::-;3799:55;3848:5;3799:55;:::i;:::-;3794:3;3787:68;3777:84;;:::o;3867:147::-;3962:45;4001:5;3962:45;:::i;:::-;3957:3;3950:58;3940:74;;:::o;4020:364::-;;4136:39;4169:5;4136:39;:::i;:::-;4191:71;4255:6;4250:3;4191:71;:::i;:::-;4184:78;;4271:52;4316:6;4311:3;4304:4;4297:5;4293:16;4271:52;:::i;:::-;4348:29;4370:6;4348:29;:::i;:::-;4343:3;4339:39;4332:46;;4112:272;;;;;:::o;4390:369::-;;4553:67;4617:2;4612:3;4553:67;:::i;:::-;4546:74;;4650:34;4646:1;4641:3;4637:11;4630:55;4716:7;4711:2;4706:3;4702:12;4695:29;4750:2;4745:3;4741:12;4734:19;;4536:223;;;:::o;4765:325::-;;4928:67;4992:2;4987:3;4928:67;:::i;:::-;4921:74;;5025:29;5021:1;5016:3;5012:11;5005:50;5081:2;5076:3;5072:12;5065:19;;4911:179;;;:::o;5096:328::-;;5259:67;5323:2;5318:3;5259:67;:::i;:::-;5252:74;;5356:32;5352:1;5347:3;5343:11;5336:53;5415:2;5410:3;5406:12;5399:19;;5242:182;;;:::o;5430:365::-;;5593:67;5657:2;5652:3;5593:67;:::i;:::-;5586:74;;5690:34;5686:1;5681:3;5677:11;5670:55;5756:3;5751:2;5746:3;5742:12;5735:25;5786:2;5781:3;5777:12;5770:19;;5576:219;;;:::o;5801:303::-;;5964:66;6028:1;6023:3;5964:66;:::i;:::-;5957:73;;6060:8;6056:1;6051:3;6047:11;6040:29;6095:2;6090:3;6086:12;6079:19;;5947:157;;;:::o;6110:297::-;;6290:83;6371:1;6366:3;6290:83;:::i;:::-;6283:90;;6399:1;6394:3;6390:11;6383:18;;6273:134;;;:::o;6413:118::-;6500:24;6518:5;6500:24;:::i;:::-;6495:3;6488:37;6478:53;;:::o;6537:112::-;6620:22;6636:5;6620:22;:::i;:::-;6615:3;6608:35;6598:51;;:::o;6655:379::-;;6861:147;7004:3;6861:147;:::i;:::-;6854:154;;7025:3;7018:10;;6843:191;;;:::o;7040:222::-;;7171:2;7160:9;7156:18;7148:26;;7184:71;7252:1;7241:9;7237:17;7228:6;7184:71;:::i;:::-;7138:124;;;;:::o;7268:210::-;;7393:2;7382:9;7378:18;7370:26;;7406:65;7468:1;7457:9;7453:17;7444:6;7406:65;:::i;:::-;7360:118;;;;:::o;7484:258::-;;7633:2;7622:9;7618:18;7610:26;;7646:89;7732:1;7721:9;7717:17;7708:6;7646:89;:::i;:::-;7600:142;;;;:::o;7748:313::-;;7899:2;7888:9;7884:18;7876:26;;7948:9;7942:4;7938:20;7934:1;7923:9;7919:17;7912:47;7976:78;8049:4;8040:6;7976:78;:::i;:::-;7968:86;;7866:195;;;;:::o;8067:419::-;;8271:2;8260:9;8256:18;8248:26;;8320:9;8314:4;8310:20;8306:1;8295:9;8291:17;8284:47;8348:131;8474:4;8348:131;:::i;:::-;8340:139;;8238:248;;;:::o;8492:419::-;;8696:2;8685:9;8681:18;8673:26;;8745:9;8739:4;8735:20;8731:1;8720:9;8716:17;8709:47;8773:131;8899:4;8773:131;:::i;:::-;8765:139;;8663:248;;;:::o;8917:419::-;;9121:2;9110:9;9106:18;9098:26;;9170:9;9164:4;9160:20;9156:1;9145:9;9141:17;9134:47;9198:131;9324:4;9198:131;:::i;:::-;9190:139;;9088:248;;;:::o;9342:419::-;;9546:2;9535:9;9531:18;9523:26;;9595:9;9589:4;9585:20;9581:1;9570:9;9566:17;9559:47;9623:131;9749:4;9623:131;:::i;:::-;9615:139;;9513:248;;;:::o;9767:419::-;;9971:2;9960:9;9956:18;9948:26;;10020:9;10014:4;10010:20;10006:1;9995:9;9991:17;9984:47;10048:131;10174:4;10048:131;:::i;:::-;10040:139;;9938:248;;;:::o;10192:222::-;;10323:2;10312:9;10308:18;10300:26;;10336:71;10404:1;10393:9;10389:17;10380:6;10336:71;:::i;:::-;10290:124;;;;:::o;10420:831::-;;10721:3;10710:9;10706:19;10698:27;;10735:71;10803:1;10792:9;10788:17;10779:6;10735:71;:::i;:::-;10816:80;10892:2;10881:9;10877:18;10868:6;10816:80;:::i;:::-;10943:9;10937:4;10933:20;10928:2;10917:9;10913:18;10906:48;10971:108;11074:4;11065:6;10971:108;:::i;:::-;10963:116;;11089:72;11157:2;11146:9;11142:18;11133:6;11089:72;:::i;:::-;11171:73;11239:3;11228:9;11224:19;11215:6;11171:73;:::i;:::-;10688:563;;;;;;;;:::o;11257:214::-;;11384:2;11373:9;11369:18;11361:26;;11397:67;11461:1;11450:9;11446:17;11437:6;11397:67;:::i;:::-;11351:120;;;;:::o;11477:132::-;;11567:3;11559:11;;11597:4;11592:3;11588:14;11580:22;;11549:60;;;:::o;11615:114::-;;11716:5;11710:12;11700:22;;11689:40;;;:::o;11735:99::-;;11821:5;11815:12;11805:22;;11794:40;;;:::o;11840:113::-;;11942:4;11937:3;11933:14;11925:22;;11915:38;;;:::o;11959:184::-;;12092:6;12087:3;12080:19;12132:4;12127:3;12123:14;12108:29;;12070:73;;;;:::o;12149:147::-;;12287:3;12272:18;;12262:34;;;;:::o;12302:169::-;;12420:6;12415:3;12408:19;12460:4;12455:3;12451:14;12436:29;;12398:73;;;;:::o;12477:305::-;;12536:20;12554:1;12536:20;:::i;:::-;12531:25;;12570:20;12588:1;12570:20;:::i;:::-;12565:25;;12724:1;12656:66;12652:74;12649:1;12646:81;12643:2;;;12730:18;;:::i;:::-;12643:2;12774:1;12771;12767:9;12760:16;;12521:261;;;;:::o;12788:185::-;;12845:20;12863:1;12845:20;:::i;:::-;12840:25;;12879:20;12897:1;12879:20;:::i;:::-;12874:25;;12918:1;12908:2;;12923:18;;:::i;:::-;12908:2;12965:1;12962;12958:9;12953:14;;12830:143;;;;:::o;12979:348::-;;13042:20;13060:1;13042:20;:::i;:::-;13037:25;;13076:20;13094:1;13076:20;:::i;:::-;13071:25;;13264:1;13196:66;13192:74;13189:1;13186:81;13181:1;13174:9;13167:17;13163:105;13160:2;;;13271:18;;:::i;:::-;13160:2;13319:1;13316;13312:9;13301:20;;13027:300;;;;:::o;13333:191::-;;13393:20;13411:1;13393:20;:::i;:::-;13388:25;;13427:20;13445:1;13427:20;:::i;:::-;13422:25;;13466:1;13463;13460:8;13457:2;;;13471:18;;:::i;:::-;13457:2;13516:1;13513;13509:9;13501:17;;13378:146;;;;:::o;13530:96::-;;13596:24;13614:5;13596:24;:::i;:::-;13585:35;;13575:51;;;:::o;13632:90::-;;13709:5;13702:13;13695:21;13684:32;;13674:48;;;:::o;13728:126::-;;13805:42;13798:5;13794:54;13783:65;;13773:81;;;:::o;13860:77::-;;13926:5;13915:16;;13905:32;;;:::o;13943:86::-;;14018:4;14011:5;14007:16;13996:27;;13986:43;;;:::o;14035:162::-;;14136:55;14185:5;14136:55;:::i;:::-;14123:68;;14113:84;;;:::o;14203:131::-;;14304:24;14322:5;14304:24;:::i;:::-;14291:37;;14281:53;;;:::o;14340:121::-;;14431:24;14449:5;14431:24;:::i;:::-;14418:37;;14408:53;;;:::o;14467:307::-;14535:1;14545:113;14559:6;14556:1;14553:13;14545:113;;;14644:1;14639:3;14635:11;14629:18;14625:1;14620:3;14616:11;14609:39;14581:2;14578:1;14574:10;14569:15;;14545:113;;;14676:6;14673:1;14670:13;14667:2;;;14756:1;14747:6;14742:3;14738:16;14731:27;14667:2;14516:258;;;;:::o;14780:180::-;14828:77;14825:1;14818:88;14925:4;14922:1;14915:15;14949:4;14946:1;14939:15;14966:180;15014:77;15011:1;15004:88;15111:4;15108:1;15101:15;15135:4;15132:1;15125:15;15152:102;;15244:2;15240:7;15235:2;15228:5;15224:14;15220:28;15210:38;;15200:54;;;:::o;15260:122::-;15333:24;15351:5;15333:24;:::i;:::-;15326:5;15323:35;15313:2;;15372:1;15369;15362:12;15313:2;15303:79;:::o;15388:122::-;15461:24;15479:5;15461:24;:::i;:::-;15454:5;15451:35;15441:2;;15500:1;15497;15490:12;15441:2;15431:79;:::o

Swarm Source

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