ETH Price: $3,230.32 (-1.13%)

Token

Wagmi (WAGMI)
 

Overview

Max Total Supply

10,000,000 WAGMI

Holders

13

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
154,297.753183479435229088 WAGMI

Value
$0.00
0x437a086b9481ee8f965e01e65ae5afe1bee59c08
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:
Wagmi

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-07
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.8.10;

interface IERC20 {
  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);
}

interface IFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address lpPair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address lpPair);
    function createPair(address tokenA, address tokenB) external returns (address lpPair);
}

interface IRouter01 {
    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 addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IRouter02 is IRouter01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}


contract Wagmi is IERC20 {
    address private _owner;

    mapping (address => uint256) private _tOwned;
    mapping (address => bool) lpPairs;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    mapping (address => bool) private _isExcludedFromLimits;
    mapping (address => bool) private _liquidityHolders;
    mapping (address => bool) private _blacklist;

    string constant private _name = "Wagmi";
    string constant private _symbol = 'WAGMI';
    uint8 constant private _decimals = 18;

    uint256 constant private _tTotal = 10000000 * 10**_decimals;


    IRouter02 public dexRouter;
    address public lpPair;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;
    address public secondPair;
    
    uint256 private _maxTxAmountBuy = (_tTotal * 2) / 100; 
    uint256 private _maxTxAmountSell = (_tTotal * 2) / 100; 
    uint256 private _maxWalletSize = (_tTotal * 2) / 100; 

    bool public tradingEnabled = false;
    bool public _hasLiqBeenAdded = false;
    
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    
    modifier onlyOwner() {
        require(_owner == msg.sender, "Caller =/= owner.");
        _;
    }
    
    constructor () {
        _tOwned[msg.sender] = _tTotal;
        emit Transfer(address(0), msg.sender, _tTotal);

        _owner = msg.sender;

        dexRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        secondPair = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48; //0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48=>USDC PAIRED
        lpPair = IFactoryV2(dexRouter.factory()).createPair(secondPair, address(this)); 
        lpPairs[lpPair] = true;


        _approve(_owner, address(dexRouter), type(uint256).max);
        _approve(address(this), address(dexRouter), type(uint256).max);

    }

    receive() external payable {}


    function transferOwner(address newOwner) external onlyOwner {
        require(newOwner != address(0), "Call renounceOwnership to transfer owner to the zero address.");
        require(newOwner != DEAD, "Call renounceOwnership to transfer owner to the zero address.");
        
        if(balanceOf(_owner) > 0) {
            _transfer(_owner, newOwner, balanceOf(_owner));
        }
        
        _owner = newOwner;
        emit OwnershipTransferred(_owner, newOwner);
        
    }

    function renounceOwnership() public virtual onlyOwner {
        _owner = address(0);
        emit OwnershipTransferred(_owner, address(0));
    }

    function totalSupply() external pure override returns (uint256) { if (_tTotal == 0) { revert(); } return _tTotal; }
    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 allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) private {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");

        _allowances[sender][spender] = amount;
        emit Approval(sender, spender, 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] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function setNewRouter(address newRouter) public onlyOwner {
        IRouter02 _newRouter = IRouter02(newRouter);
        address get_pair = IFactoryV2(_newRouter.factory()).getPair(secondPair,address(this));
        if (get_pair == address(0)) {
            lpPair = IFactoryV2(_newRouter.factory()).createPair(secondPair,address(this));
        }
        else {
            lpPair = get_pair;
        }
        dexRouter = _newRouter;
        _approve(address(this), address(dexRouter), type(uint256).max);
    }

    function setLpPair(address pair, bool enabled) external onlyOwner {
            lpPairs[pair] = enabled;
    }

    function setBlacklistEnabled(address account, bool enabled) external onlyOwner {
        _blacklist[account] = enabled;
    }

    function setBlacklistEnabledMultiple(address[] calldata accounts, bool enabled) external onlyOwner {
        for(uint index=0;index<accounts.length;index++)_blacklist[accounts[index]] = enabled;
    }

    function isBlacklisted(address account) public view returns (bool) {
        return _blacklist[account];
    }



    function setMaxTxPercents(uint256 percentBuy, uint256 divisorBuy, uint256 percentSell, uint256 divisorSell) external onlyOwner {
        require((_tTotal * percentBuy) / divisorBuy >= (_tTotal / 5000), "0.5% or higher");
        require((_tTotal * percentSell) / divisorSell >= (_tTotal / 5000), "0.5% or higher");
        _maxTxAmountBuy = (_tTotal * percentBuy) / divisorBuy;
        _maxTxAmountSell = (_tTotal * percentSell) / divisorSell;
    }

    function setMaxWalletSize(uint256 percent, uint256 divisor) external onlyOwner {
        require((_tTotal * percent) / divisor >= (_tTotal / 100), "must be above 1%");
        _maxWalletSize = (_tTotal * percent) / divisor;
    }

    function setExcludedFromLimits(address account, bool enabled) external onlyOwner {
        _isExcludedFromLimits[account] = enabled;
    }

    function isExcludedFromLimits(address account) public view returns (bool) {
        return _isExcludedFromLimits[account];
    }

    function getMaxTXs() public view returns (uint256, uint256) {
        return (_maxTxAmountBuy / (10**_decimals), _maxTxAmountSell / (10**_decimals));
    }

    function getMaxWallet() public view returns (uint256) {
        return _maxWalletSize / (10**_decimals);
    }


    function _hasLimits(address from, address to) private view returns (bool) {
        return from != _owner
            && to != _owner
            && tx.origin != _owner
            && to != DEAD
            && to != address(0)
            && !_liquidityHolders[to]
            && !_liquidityHolders[from]
            && from != address(this);
    }

    function _transfer(address from, address to, uint256 amount) internal returns (bool) {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(_blacklist[from]==false, "ERC20: address is blacklisted");
        require(_blacklist[to]==false, "ERC20: address is blacklisted");
        require(amount > 0, "Transfer amount needs to be greater than zero");
        
        if(_hasLimits(from, to)) {
            if(!tradingEnabled) {
                revert("Trading not enabled!");
            }
            if(lpPairs[from]){
                if (!_isExcludedFromLimits[from] && !_isExcludedFromLimits[to]) {
                    require(amount <= _maxTxAmountBuy, "Transfer exceeds the maxTxAmount.");
                }
            } else if (lpPairs[to]) {
                if (!_isExcludedFromLimits[from] && !_isExcludedFromLimits[to]) {
                    require(amount <= _maxTxAmountSell, "Transfer exceeds the max TXNt.");
                }
            }
            if(to != address(dexRouter) && !lpPairs[to]) {
                if (!_isExcludedFromLimits[to]) {
                    require(balanceOf(to) + amount <= _maxWalletSize, "Transfer exceeds the maxWallet.");
                }
            }
        }

        return _finalizeTransfer(from, to, amount);
    }

    function enableTrading() public onlyOwner {
        require(!tradingEnabled, "Trading enabled!");
        require(_hasLiqBeenAdded, "Liquidity needs to be added.");
        
        tradingEnabled = true;
    }



    function _checkLiquidityAdd(address from, address to) private {
        require(!_hasLiqBeenAdded, "Liquidity already added.");
        if (!_hasLimits(from, to) && to == lpPair) {
            _liquidityHolders[from] = true;
            _hasLiqBeenAdded = true;
        }
    }
    

    function _finalizeTransfer(address from, address to, uint256 amount) private returns (bool) {
        if (!_hasLiqBeenAdded) {
            _checkLiquidityAdd(from, to);
            if (!_hasLiqBeenAdded && _hasLimits(from, to)) {
                revert("Only owner can transfer.");
            }
        }


        _tOwned[from] -= amount;
        _tOwned[to] += amount;

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

    
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_hasLiqBeenAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"dexRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMaxTXs","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxWallet","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":"account","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"secondPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setBlacklistEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setBlacklistEnabledMultiple","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setExcludedFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setLpPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentBuy","type":"uint256"},{"internalType":"uint256","name":"divisorBuy","type":"uint256"},{"internalType":"uint256","name":"percentSell","type":"uint256"},{"internalType":"uint256","name":"divisorSell","type":"uint256"}],"name":"setMaxTxPercents","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"divisor","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"}],"name":"setNewRouter","outputs":[],"stateMutability":"nonpayable","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":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064620000146012600a62000507565b6200002390629896806200051f565b620000309060026200051f565b6200003c919062000541565b600a5560646012600a62000051919062000507565b6200006090629896806200051f565b6200006d9060026200051f565b62000079919062000541565b600b5560646200008c6012600a62000507565b6200009b90629896806200051f565b620000a89060026200051f565b620000b4919062000541565b600c55600d805461ffff19169055348015620000cf57600080fd5b50620000de6012600a62000507565b620000ed90629896806200051f565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001306012600a62000507565b6200013f90629896806200051f565b60405190815260200160405180910390a3600080546001600160a01b03199081163317909155600780548216737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556009805490921673a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000208919062000564565b6009546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af11580156200025a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000280919062000564565b600880546001600160a01b0319166001600160a01b039283169081179091556000908152600260205260408120805460ff1916600117905554600754620002cf929182169116600019620002f1565b600754620002eb9030906001600160a01b0316600019620002f1565b6200058f565b6001600160a01b038316620003435760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620003915760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016200033a565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004495781600019048211156200042d576200042d620003f2565b808516156200043b57918102915b93841c93908002906200040d565b509250929050565b600082620004625750600162000501565b81620004715750600062000501565b81600181146200048a57600281146200049557620004b5565b600191505062000501565b60ff841115620004a957620004a9620003f2565b50506001821b62000501565b5060208310610133831016604e8410600b8410161715620004da575081810a62000501565b620004e6838362000408565b8060001904821115620004fd57620004fd620003f2565b0290505b92915050565b60006200051860ff84168362000451565b9392505050565b60008160001904831182151516156200053c576200053c620003f2565b500290565b6000826200055f57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200057757600080fd5b81516001600160a01b03811681146200051857600080fd5b611dce806200059f6000396000f3fe6080604052600436106101d15760003560e01c80635cce86cd116100f757806395d89b4111610095578063dd62ed3e11610064578063dd62ed3e14610575578063eafb5a3c146105bb578063eec2744e146105db578063fe575a87146105fb57600080fd5b806395d89b41146104dd578063a9059cbb1461050b578063adba5bca1461052b578063c0488b561461055557600080fd5b806380c581d1116100d157806380c581d11461046a578063893d20e81461048a5780638a8c523c146104a85780638fa0e02b146104bd57600080fd5b80635cce86cd146103e657806370a082311461041f578063715018a61461045557600080fd5b806323b872dd1161016f578063452ed4f11161013e578063452ed4f11461036d5780634ada218b1461038d5780634fb2e45d146103a757806350a8e016146103c757600080fd5b806323b872dd146102f15780632600395714610311578063313ce5671461033157806336fddb041461034d57600080fd5b80630758d924116101ab5780630758d92414610269578063095ea7b3146102895780630fa604e4146102b957806318160ddd146102dc57600080fd5b806303fd2a45146101dd57806305bbedb61461021057806306fdde031461023257600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561021c57600080fd5b5061023061022b36600461190c565b610634565b005b34801561023e57600080fd5b506040805180820190915260058152645761676d6960d81b60208201525b6040516102079190611990565b34801561027557600080fd5b506007546101f3906001600160a01b031681565b34801561029557600080fd5b506102a96102a43660046119fd565b6106de565b6040519015158152602001610207565b3480156102c557600080fd5b506102ce6106f5565b604051908152602001610207565b3480156102e857600080fd5b506102ce610715565b3480156102fd57600080fd5b506102a961030c366004611a29565b610752565b34801561031d57600080fd5b5061023061032c366004611a6a565b6107ca565b34801561033d57600080fd5b5060405160128152602001610207565b34801561035957600080fd5b50610230610368366004611a8c565b6108bf565b34801561037957600080fd5b506008546101f3906001600160a01b031681565b34801561039957600080fd5b50600d546102a99060ff1681565b3480156103b357600080fd5b506102306103c2366004611ac1565b610914565b3480156103d357600080fd5b50600d546102a990610100900460ff1681565b3480156103f257600080fd5b506102a9610401366004611ac1565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561042b57600080fd5b506102ce61043a366004611ac1565b6001600160a01b031660009081526001602052604090205490565b34801561046157600080fd5b50610230610a21565b34801561047657600080fd5b50610230610485366004611a8c565b610a87565b34801561049657600080fd5b506000546001600160a01b03166101f3565b3480156104b457600080fd5b50610230610adc565b3480156104c957600080fd5b506009546101f3906001600160a01b031681565b3480156104e957600080fd5b506040805180820190915260058152645741474d4960d81b602082015261025c565b34801561051757600080fd5b506102a96105263660046119fd565b610bb2565b34801561053757600080fd5b50610540610bc9565b60408051928352602083019190915201610207565b34801561056157600080fd5b50610230610570366004611ade565b610c06565b34801561058157600080fd5b506102ce610590366004611b10565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105c757600080fd5b506102306105d6366004611ac1565b610dc7565b3480156105e757600080fd5b506102306105f6366004611a8c565b611026565b34801561060757600080fd5b506102a9610616366004611ac1565b6001600160a01b031660009081526006602052604090205460ff1690565b6000546001600160a01b031633146106675760405162461bcd60e51b815260040161065e90611b49565b60405180910390fd5b60005b828110156106d857816006600086868581811061068957610689611b74565b905060200201602081019061069e9190611ac1565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106d081611ba0565b91505061066a565b50505050565b60006106eb33848461107b565b5060015b92915050565b60006107036012600a611c9f565b600c546107109190611cae565b905090565b60006107236012600a611c9f565b6107309062989680611cd0565b61073957600080fd5b6107456012600a611c9f565b6107109062989680611cd0565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107b7576001600160a01b0384166000908152600360209081526040808320338452909152812080548492906107b1908490611cef565b90915550505b6107c2848484611174565b949350505050565b6000546001600160a01b031633146107f45760405162461bcd60e51b815260040161065e90611b49565b60646108026012600a611c9f565b61080f9062989680611cd0565b6108199190611cae565b81836108276012600a611c9f565b6108349062989680611cd0565b61083e9190611cd0565b6108489190611cae565b10156108895760405162461bcd60e51b815260206004820152601060248201526f6d7573742062652061626f766520312560801b604482015260640161065e565b80826108976012600a611c9f565b6108a49062989680611cd0565b6108ae9190611cd0565b6108b89190611cae565b600c555050565b6000546001600160a01b031633146108e95760405162461bcd60e51b815260040161065e90611b49565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461093e5760405162461bcd60e51b815260040161065e90611b49565b6001600160a01b0381166109645760405162461bcd60e51b815260040161065e90611d06565b6001600160a01b03811661dead141561098f5760405162461bcd60e51b815260040161065e90611d06565b600080546001600160a01b0316815260016020526040902054156109d657600080546001600160a01b031680825260016020526040909120546109d491908390611174565b505b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314610a4b5760405162461bcd60e51b815260040161065e90611b49565b600080546001600160a01b031916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6000546001600160a01b03163314610ab15760405162461bcd60e51b815260040161065e90611b49565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b065760405162461bcd60e51b815260040161065e90611b49565b600d5460ff1615610b4c5760405162461bcd60e51b815260206004820152601060248201526f54726164696e6720656e61626c65642160801b604482015260640161065e565b600d54610100900460ff16610ba35760405162461bcd60e51b815260206004820152601c60248201527f4c6971756964697479206e6565647320746f2062652061646465642e00000000604482015260640161065e565b600d805460ff19166001179055565b6000610bbf338484611174565b5060019392505050565b600080610bd86012600a611c9f565b600a54610be59190611cae565b610bf16012600a611c9f565b600b54610bfe9190611cae565b915091509091565b6000546001600160a01b03163314610c305760405162461bcd60e51b815260040161065e90611b49565b611388610c3f6012600a611c9f565b610c4c9062989680611cd0565b610c569190611cae565b8385610c646012600a611c9f565b610c719062989680611cd0565b610c7b9190611cd0565b610c859190611cae565b1015610cc45760405162461bcd60e51b815260206004820152600e60248201526d18171a929037b9103434b3b432b960911b604482015260640161065e565b611388610cd36012600a611c9f565b610ce09062989680611cd0565b610cea9190611cae565b8183610cf86012600a611c9f565b610d059062989680611cd0565b610d0f9190611cd0565b610d199190611cae565b1015610d585760405162461bcd60e51b815260206004820152600e60248201526d18171a929037b9103434b3b432b960911b604482015260640161065e565b8284610d666012600a611c9f565b610d739062989680611cd0565b610d7d9190611cd0565b610d879190611cae565b600a8190555080826012600a610d9d9190611c9f565b610daa9062989680611cd0565b610db49190611cd0565b610dbe9190611cae565b600b5550505050565b6000546001600160a01b03163314610df15760405162461bcd60e51b815260040161065e90611b49565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5a9190611d63565b60095460405163e6a4390560e01b81526001600160a01b03918216600482015230602482015291169063e6a4390590604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ecd9190611d63565b90506001600160a01b038116610fd957816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3f9190611d63565b6009546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015610f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb49190611d63565b600880546001600160a01b0319166001600160a01b0392909216919091179055610ff5565b600880546001600160a01b0319166001600160a01b0383161790555b600780546001600160a01b0319166001600160a01b03841690811790915561102190309060001961107b565b505050565b6000546001600160a01b031633146110505760405162461bcd60e51b815260040161065e90611b49565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6001600160a01b0383166110c75760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161065e565b6001600160a01b0382166111135760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161065e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166111da5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161065e565b6001600160a01b03831661123c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161065e565b6001600160a01b03841660009081526006602052604090205460ff16156112a55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a206164647265737320697320626c61636b6c6973746564000000604482015260640161065e565b6001600160a01b03831660009081526006602052604090205460ff161561130e5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a206164647265737320697320626c61636b6c6973746564000000604482015260640161065e565b600082116113745760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657220616d6f756e74206e6565647320746f206265206772656160448201526c746572207468616e207a65726f60981b606482015260840161065e565b61137e8484611631565b1561162657600d5460ff166113cc5760405162461bcd60e51b815260206004820152601460248201527354726164696e67206e6f7420656e61626c65642160601b604482015260640161065e565b6001600160a01b03841660009081526002602052604090205460ff1615611495576001600160a01b03841660009081526004602052604090205460ff1615801561142f57506001600160a01b03831660009081526004602052604090205460ff16155b1561149057600a548211156114905760405162461bcd60e51b815260206004820152602160248201527f5472616e73666572206578636565647320746865206d61785478416d6f756e746044820152601760f91b606482015260840161065e565b61154f565b6001600160a01b03831660009081526002602052604090205460ff161561154f576001600160a01b03841660009081526004602052604090205460ff161580156114f857506001600160a01b03831660009081526004602052604090205460ff16155b1561154f57600b5482111561154f5760405162461bcd60e51b815260206004820152601e60248201527f5472616e73666572206578636565647320746865206d61782054584e742e0000604482015260640161065e565b6007546001600160a01b0384811691161480159061158657506001600160a01b03831660009081526002602052604090205460ff16155b15611626576001600160a01b03831660009081526004602052604090205460ff1661162657600c54826115ce856001600160a01b031660009081526001602052604090205490565b6115d89190611d80565b11156116265760405162461bcd60e51b815260206004820152601f60248201527f5472616e73666572206578636565647320746865206d617857616c6c65742e00604482015260640161065e565b6107c2848484611706565b600080546001600160a01b0384811691161480159061165e57506000546001600160a01b03838116911614155b801561167557506000546001600160a01b03163214155b801561168c57506001600160a01b03821661dead14155b80156116a057506001600160a01b03821615155b80156116c557506001600160a01b03821660009081526005602052604090205460ff16155b80156116ea57506001600160a01b03831660009081526005602052604090205460ff16155b80156116ff57506001600160a01b0383163014155b9392505050565b600d54600090610100900460ff1661178c57611722848461183f565b600d54610100900460ff1615801561173f575061173f8484611631565b1561178c5760405162461bcd60e51b815260206004820152601860248201527f4f6e6c79206f776e65722063616e207472616e736665722e0000000000000000604482015260640161065e565b6001600160a01b038416600090815260016020526040812080548492906117b4908490611cef565b90915550506001600160a01b038316600090815260016020526040812080548492906117e1908490611d80565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161182d91815260200190565b60405180910390a35060019392505050565b600d54610100900460ff16156118975760405162461bcd60e51b815260206004820152601860248201527f4c697175696469747920616c72656164792061646465642e0000000000000000604482015260640161065e565b6118a18282611631565b1580156118bb57506008546001600160a01b038281169116145b156118f3576001600160a01b0382166000908152600560205260409020805460ff19166001179055600d805461ff0019166101001790555b5050565b8035801515811461190757600080fd5b919050565b60008060006040848603121561192157600080fd5b833567ffffffffffffffff8082111561193957600080fd5b818601915086601f83011261194d57600080fd5b81358181111561195c57600080fd5b8760208260051b850101111561197157600080fd5b60209283019550935061198791860190506118f7565b90509250925092565b600060208083528351808285015260005b818110156119bd578581018301518582016040015282016119a1565b818111156119cf576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146119fa57600080fd5b50565b60008060408385031215611a1057600080fd5b8235611a1b816119e5565b946020939093013593505050565b600080600060608486031215611a3e57600080fd5b8335611a49816119e5565b92506020840135611a59816119e5565b929592945050506040919091013590565b60008060408385031215611a7d57600080fd5b50508035926020909101359150565b60008060408385031215611a9f57600080fd5b8235611aaa816119e5565b9150611ab8602084016118f7565b90509250929050565b600060208284031215611ad357600080fd5b81356116ff816119e5565b60008060008060808587031215611af457600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611b2357600080fd5b8235611b2e816119e5565b91506020830135611b3e816119e5565b809150509250929050565b60208082526011908201527021b0b63632b9101e979e9037bbb732b91760791b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611bb457611bb4611b8a565b5060010190565b600181815b80851115611bf6578160001904821115611bdc57611bdc611b8a565b80851615611be957918102915b93841c9390800290611bc0565b509250929050565b600082611c0d575060016106ef565b81611c1a575060006106ef565b8160018114611c305760028114611c3a57611c56565b60019150506106ef565b60ff841115611c4b57611c4b611b8a565b50506001821b6106ef565b5060208310610133831016604e8410600b8410161715611c79575081810a6106ef565b611c838383611bbb565b8060001904821115611c9757611c97611b8a565b029392505050565b60006116ff60ff841683611bfe565b600082611ccb57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611cea57611cea611b8a565b500290565b600082821015611d0157611d01611b8a565b500390565b6020808252603d908201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660408201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606082015260800190565b600060208284031215611d7557600080fd5b81516116ff816119e5565b60008219821115611d9357611d93611b8a565b50019056fea26469706673582212204e9b25993d77e2f50f2533242d59e5232b712fd3f4629ec21e2c31118f15e72064736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80635cce86cd116100f757806395d89b4111610095578063dd62ed3e11610064578063dd62ed3e14610575578063eafb5a3c146105bb578063eec2744e146105db578063fe575a87146105fb57600080fd5b806395d89b41146104dd578063a9059cbb1461050b578063adba5bca1461052b578063c0488b561461055557600080fd5b806380c581d1116100d157806380c581d11461046a578063893d20e81461048a5780638a8c523c146104a85780638fa0e02b146104bd57600080fd5b80635cce86cd146103e657806370a082311461041f578063715018a61461045557600080fd5b806323b872dd1161016f578063452ed4f11161013e578063452ed4f11461036d5780634ada218b1461038d5780634fb2e45d146103a757806350a8e016146103c757600080fd5b806323b872dd146102f15780632600395714610311578063313ce5671461033157806336fddb041461034d57600080fd5b80630758d924116101ab5780630758d92414610269578063095ea7b3146102895780630fa604e4146102b957806318160ddd146102dc57600080fd5b806303fd2a45146101dd57806305bbedb61461021057806306fdde031461023257600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561021c57600080fd5b5061023061022b36600461190c565b610634565b005b34801561023e57600080fd5b506040805180820190915260058152645761676d6960d81b60208201525b6040516102079190611990565b34801561027557600080fd5b506007546101f3906001600160a01b031681565b34801561029557600080fd5b506102a96102a43660046119fd565b6106de565b6040519015158152602001610207565b3480156102c557600080fd5b506102ce6106f5565b604051908152602001610207565b3480156102e857600080fd5b506102ce610715565b3480156102fd57600080fd5b506102a961030c366004611a29565b610752565b34801561031d57600080fd5b5061023061032c366004611a6a565b6107ca565b34801561033d57600080fd5b5060405160128152602001610207565b34801561035957600080fd5b50610230610368366004611a8c565b6108bf565b34801561037957600080fd5b506008546101f3906001600160a01b031681565b34801561039957600080fd5b50600d546102a99060ff1681565b3480156103b357600080fd5b506102306103c2366004611ac1565b610914565b3480156103d357600080fd5b50600d546102a990610100900460ff1681565b3480156103f257600080fd5b506102a9610401366004611ac1565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561042b57600080fd5b506102ce61043a366004611ac1565b6001600160a01b031660009081526001602052604090205490565b34801561046157600080fd5b50610230610a21565b34801561047657600080fd5b50610230610485366004611a8c565b610a87565b34801561049657600080fd5b506000546001600160a01b03166101f3565b3480156104b457600080fd5b50610230610adc565b3480156104c957600080fd5b506009546101f3906001600160a01b031681565b3480156104e957600080fd5b506040805180820190915260058152645741474d4960d81b602082015261025c565b34801561051757600080fd5b506102a96105263660046119fd565b610bb2565b34801561053757600080fd5b50610540610bc9565b60408051928352602083019190915201610207565b34801561056157600080fd5b50610230610570366004611ade565b610c06565b34801561058157600080fd5b506102ce610590366004611b10565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105c757600080fd5b506102306105d6366004611ac1565b610dc7565b3480156105e757600080fd5b506102306105f6366004611a8c565b611026565b34801561060757600080fd5b506102a9610616366004611ac1565b6001600160a01b031660009081526006602052604090205460ff1690565b6000546001600160a01b031633146106675760405162461bcd60e51b815260040161065e90611b49565b60405180910390fd5b60005b828110156106d857816006600086868581811061068957610689611b74565b905060200201602081019061069e9190611ac1565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106d081611ba0565b91505061066a565b50505050565b60006106eb33848461107b565b5060015b92915050565b60006107036012600a611c9f565b600c546107109190611cae565b905090565b60006107236012600a611c9f565b6107309062989680611cd0565b61073957600080fd5b6107456012600a611c9f565b6107109062989680611cd0565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107b7576001600160a01b0384166000908152600360209081526040808320338452909152812080548492906107b1908490611cef565b90915550505b6107c2848484611174565b949350505050565b6000546001600160a01b031633146107f45760405162461bcd60e51b815260040161065e90611b49565b60646108026012600a611c9f565b61080f9062989680611cd0565b6108199190611cae565b81836108276012600a611c9f565b6108349062989680611cd0565b61083e9190611cd0565b6108489190611cae565b10156108895760405162461bcd60e51b815260206004820152601060248201526f6d7573742062652061626f766520312560801b604482015260640161065e565b80826108976012600a611c9f565b6108a49062989680611cd0565b6108ae9190611cd0565b6108b89190611cae565b600c555050565b6000546001600160a01b031633146108e95760405162461bcd60e51b815260040161065e90611b49565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461093e5760405162461bcd60e51b815260040161065e90611b49565b6001600160a01b0381166109645760405162461bcd60e51b815260040161065e90611d06565b6001600160a01b03811661dead141561098f5760405162461bcd60e51b815260040161065e90611d06565b600080546001600160a01b0316815260016020526040902054156109d657600080546001600160a01b031680825260016020526040909120546109d491908390611174565b505b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314610a4b5760405162461bcd60e51b815260040161065e90611b49565b600080546001600160a01b031916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6000546001600160a01b03163314610ab15760405162461bcd60e51b815260040161065e90611b49565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b065760405162461bcd60e51b815260040161065e90611b49565b600d5460ff1615610b4c5760405162461bcd60e51b815260206004820152601060248201526f54726164696e6720656e61626c65642160801b604482015260640161065e565b600d54610100900460ff16610ba35760405162461bcd60e51b815260206004820152601c60248201527f4c6971756964697479206e6565647320746f2062652061646465642e00000000604482015260640161065e565b600d805460ff19166001179055565b6000610bbf338484611174565b5060019392505050565b600080610bd86012600a611c9f565b600a54610be59190611cae565b610bf16012600a611c9f565b600b54610bfe9190611cae565b915091509091565b6000546001600160a01b03163314610c305760405162461bcd60e51b815260040161065e90611b49565b611388610c3f6012600a611c9f565b610c4c9062989680611cd0565b610c569190611cae565b8385610c646012600a611c9f565b610c719062989680611cd0565b610c7b9190611cd0565b610c859190611cae565b1015610cc45760405162461bcd60e51b815260206004820152600e60248201526d18171a929037b9103434b3b432b960911b604482015260640161065e565b611388610cd36012600a611c9f565b610ce09062989680611cd0565b610cea9190611cae565b8183610cf86012600a611c9f565b610d059062989680611cd0565b610d0f9190611cd0565b610d199190611cae565b1015610d585760405162461bcd60e51b815260206004820152600e60248201526d18171a929037b9103434b3b432b960911b604482015260640161065e565b8284610d666012600a611c9f565b610d739062989680611cd0565b610d7d9190611cd0565b610d879190611cae565b600a8190555080826012600a610d9d9190611c9f565b610daa9062989680611cd0565b610db49190611cd0565b610dbe9190611cae565b600b5550505050565b6000546001600160a01b03163314610df15760405162461bcd60e51b815260040161065e90611b49565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5a9190611d63565b60095460405163e6a4390560e01b81526001600160a01b03918216600482015230602482015291169063e6a4390590604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ecd9190611d63565b90506001600160a01b038116610fd957816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3f9190611d63565b6009546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015610f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb49190611d63565b600880546001600160a01b0319166001600160a01b0392909216919091179055610ff5565b600880546001600160a01b0319166001600160a01b0383161790555b600780546001600160a01b0319166001600160a01b03841690811790915561102190309060001961107b565b505050565b6000546001600160a01b031633146110505760405162461bcd60e51b815260040161065e90611b49565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6001600160a01b0383166110c75760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161065e565b6001600160a01b0382166111135760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161065e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166111da5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161065e565b6001600160a01b03831661123c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161065e565b6001600160a01b03841660009081526006602052604090205460ff16156112a55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a206164647265737320697320626c61636b6c6973746564000000604482015260640161065e565b6001600160a01b03831660009081526006602052604090205460ff161561130e5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a206164647265737320697320626c61636b6c6973746564000000604482015260640161065e565b600082116113745760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657220616d6f756e74206e6565647320746f206265206772656160448201526c746572207468616e207a65726f60981b606482015260840161065e565b61137e8484611631565b1561162657600d5460ff166113cc5760405162461bcd60e51b815260206004820152601460248201527354726164696e67206e6f7420656e61626c65642160601b604482015260640161065e565b6001600160a01b03841660009081526002602052604090205460ff1615611495576001600160a01b03841660009081526004602052604090205460ff1615801561142f57506001600160a01b03831660009081526004602052604090205460ff16155b1561149057600a548211156114905760405162461bcd60e51b815260206004820152602160248201527f5472616e73666572206578636565647320746865206d61785478416d6f756e746044820152601760f91b606482015260840161065e565b61154f565b6001600160a01b03831660009081526002602052604090205460ff161561154f576001600160a01b03841660009081526004602052604090205460ff161580156114f857506001600160a01b03831660009081526004602052604090205460ff16155b1561154f57600b5482111561154f5760405162461bcd60e51b815260206004820152601e60248201527f5472616e73666572206578636565647320746865206d61782054584e742e0000604482015260640161065e565b6007546001600160a01b0384811691161480159061158657506001600160a01b03831660009081526002602052604090205460ff16155b15611626576001600160a01b03831660009081526004602052604090205460ff1661162657600c54826115ce856001600160a01b031660009081526001602052604090205490565b6115d89190611d80565b11156116265760405162461bcd60e51b815260206004820152601f60248201527f5472616e73666572206578636565647320746865206d617857616c6c65742e00604482015260640161065e565b6107c2848484611706565b600080546001600160a01b0384811691161480159061165e57506000546001600160a01b03838116911614155b801561167557506000546001600160a01b03163214155b801561168c57506001600160a01b03821661dead14155b80156116a057506001600160a01b03821615155b80156116c557506001600160a01b03821660009081526005602052604090205460ff16155b80156116ea57506001600160a01b03831660009081526005602052604090205460ff16155b80156116ff57506001600160a01b0383163014155b9392505050565b600d54600090610100900460ff1661178c57611722848461183f565b600d54610100900460ff1615801561173f575061173f8484611631565b1561178c5760405162461bcd60e51b815260206004820152601860248201527f4f6e6c79206f776e65722063616e207472616e736665722e0000000000000000604482015260640161065e565b6001600160a01b038416600090815260016020526040812080548492906117b4908490611cef565b90915550506001600160a01b038316600090815260016020526040812080548492906117e1908490611d80565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161182d91815260200190565b60405180910390a35060019392505050565b600d54610100900460ff16156118975760405162461bcd60e51b815260206004820152601860248201527f4c697175696469747920616c72656164792061646465642e0000000000000000604482015260640161065e565b6118a18282611631565b1580156118bb57506008546001600160a01b038281169116145b156118f3576001600160a01b0382166000908152600560205260409020805460ff19166001179055600d805461ff0019166101001790555b5050565b8035801515811461190757600080fd5b919050565b60008060006040848603121561192157600080fd5b833567ffffffffffffffff8082111561193957600080fd5b818601915086601f83011261194d57600080fd5b81358181111561195c57600080fd5b8760208260051b850101111561197157600080fd5b60209283019550935061198791860190506118f7565b90509250925092565b600060208083528351808285015260005b818110156119bd578581018301518582016040015282016119a1565b818111156119cf576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146119fa57600080fd5b50565b60008060408385031215611a1057600080fd5b8235611a1b816119e5565b946020939093013593505050565b600080600060608486031215611a3e57600080fd5b8335611a49816119e5565b92506020840135611a59816119e5565b929592945050506040919091013590565b60008060408385031215611a7d57600080fd5b50508035926020909101359150565b60008060408385031215611a9f57600080fd5b8235611aaa816119e5565b9150611ab8602084016118f7565b90509250929050565b600060208284031215611ad357600080fd5b81356116ff816119e5565b60008060008060808587031215611af457600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611b2357600080fd5b8235611b2e816119e5565b91506020830135611b3e816119e5565b809150509250929050565b60208082526011908201527021b0b63632b9101e979e9037bbb732b91760791b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611bb457611bb4611b8a565b5060010190565b600181815b80851115611bf6578160001904821115611bdc57611bdc611b8a565b80851615611be957918102915b93841c9390800290611bc0565b509250929050565b600082611c0d575060016106ef565b81611c1a575060006106ef565b8160018114611c305760028114611c3a57611c56565b60019150506106ef565b60ff841115611c4b57611c4b611b8a565b50506001821b6106ef565b5060208310610133831016604e8410600b8410161715611c79575081810a6106ef565b611c838383611bbb565b8060001904821115611c9757611c97611b8a565b029392505050565b60006116ff60ff841683611bfe565b600082611ccb57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611cea57611cea611b8a565b500290565b600082821015611d0157611d01611b8a565b500390565b6020808252603d908201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660408201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606082015260800190565b600060208284031215611d7557600080fd5b81516116ff816119e5565b60008219821115611d9357611d93611b8a565b50019056fea26469706673582212204e9b25993d77e2f50f2533242d59e5232b712fd3f4629ec21e2c31118f15e72064736f6c634300080a0033

Deployed Bytecode Sourcemap

3097:9499:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3777:73;;;;;;;;;;;;3808:42;3777:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;3777:73:0;;;;;;;;8210:202;;;;;;;;;;-1:-1:-1;8210:202:0;;;;;:::i;:::-;;:::i;:::-;;6015:80;;;;;;;;;;-1:-1:-1;6087:5:0;;;;;;;;;;;;-1:-1:-1;;;6087:5:0;;;;6015:80;;;;;;;:::i;3716:26::-;;;;;;;;;;-1:-1:-1;3716:26:0;;;;-1:-1:-1;;;;;3716:26:0;;;6625:159;;;;;;;;;;-1:-1:-1;6625:159:0;;;;;:::i;:::-;;:::i;:::-;;;2529:14:1;;2522:22;2504:41;;2492:2;2477:18;6625:159:0;2364:187:1;9697:112:0;;;;;;;;;;;;;:::i;:::-;;;2702:25:1;;;2690:2;2675:18;9697:112:0;2556:177:1;5718:115:0;;;;;;;;;;;;;:::i;7109:306::-;;;;;;;;;;-1:-1:-1;7109:306:0;;;;;:::i;:::-;;:::i;9006:232::-;;;;;;;;;;-1:-1:-1;9006:232:0;;;;;:::i;:::-;;:::i;5839:80::-;;;;;;;;;;-1:-1:-1;5839:80:0;;3635:2;3594:36:1;;3582:2;3567:18;5839:80:0;3452:184:1;9246:140:0;;;;;;;;;;-1:-1:-1;9246:140:0;;;;;:::i;:::-;;:::i;3749:21::-;;;;;;;;;;-1:-1:-1;3749:21:0;;;;-1:-1:-1;;;;;3749:21:0;;;4080:34;;;;;;;;;;-1:-1:-1;4080:34:0;;;;;;;;5057:497;;;;;;;;;;-1:-1:-1;5057:497:0;;;;;:::i;:::-;;:::i;4121:36::-;;;;;;;;;;-1:-1:-1;4121:36:0;;;;;;;;;;;9394:130;;;;;;;;;;-1:-1:-1;9394:130:0;;;;;:::i;:::-;-1:-1:-1;;;;;9486:30:0;9462:4;9486:30;;;:21;:30;;;;;;;;;9394:130;6327:117;;;;;;;;;;-1:-1:-1;6327:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6420:16:0;6393:7;6420:16;;;:7;:16;;;;;;;6327:117;5562:148;;;;;;;;;;;;;:::i;7955:112::-;;;;;;;;;;-1:-1:-1;7955:112:0;;;;;:::i;:::-;;:::i;6101:79::-;;;;;;;;;;-1:-1:-1;6153:7:0;6171:6;-1:-1:-1;;;;;6171:6:0;6101:79;;11607:215;;;;;;;;;;;;;:::i;3857:25::-;;;;;;;;;;-1:-1:-1;3857:25:0;;;;-1:-1:-1;;;;;3857:25:0;;;5925:84;;;;;;;;;;-1:-1:-1;5999:7:0;;;;;;;;;;;;-1:-1:-1;;;5999:7:0;;;;5925:84;;6452:165;;;;;;;;;;-1:-1:-1;6452:165:0;;;;;:::i;:::-;;:::i;9532:157::-;;;;;;;;;;;;;:::i;:::-;;;;4387:25:1;;;4443:2;4428:18;;4421:34;;;;4360:18;9532:157:0;4213:248:1;8544:454:0;;;;;;;;;;-1:-1:-1;8544:454:0;;;;;:::i;:::-;;:::i;6186:133::-;;;;;;;;;;-1:-1:-1;6186:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6288:19:0;;;6270:7;6288:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6186:133;7423:524;;;;;;;;;;-1:-1:-1;7423:524:0;;;;;:::i;:::-;;:::i;8075:127::-;;;;;;;;;;-1:-1:-1;8075:127:0;;;;;:::i;:::-;;:::i;8420:112::-;;;;;;;;;;-1:-1:-1;8420:112:0;;;;;:::i;:::-;-1:-1:-1;;;;;8505:19:0;8481:4;8505:19;;;:10;:19;;;;;;;;;8420:112;8210:202;4312:6;;-1:-1:-1;;;;;4312:6:0;4322:10;4312:20;4304:50;;;;-1:-1:-1;;;4304:50:0;;;;;;;:::i;:::-;;;;;;;;;8324:10:::1;8320:84;8337:21:::0;;::::1;8320:84;;;8397:7;8367:10;:27;8378:8;;8387:5;8378:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8367:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;8367:27:0;:37;;-1:-1:-1;;8367:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8359:7;::::1;::::0;::::1;:::i;:::-;;;;8320:84;;;;8210:202:::0;;;:::o;6625:159::-;6700:4;6717:37;6726:10;6738:7;6747:6;6717:8;:37::i;:::-;-1:-1:-1;6772:4:0;6625:159;;;;;:::o;9697:112::-;9742:7;9787:13;3635:2;9787;:13;:::i;:::-;9769:14;;:32;;;;:::i;:::-;9762:39;;9697:112;:::o;5718:115::-;5773:7;3692:13;3635:2;3692;:13;:::i;:::-;3681:24;;:8;:24;:::i;:::-;5784:31;;5804:8;;;5784:31;3692:13;3635:2;3692;:13;:::i;:::-;3681:24;;:8;:24;:::i;7109:306::-;-1:-1:-1;;;;;7230:19:0;;7209:4;7230:19;;;:11;:19;;;;;;;;7250:10;7230:31;;;;;;;;-1:-1:-1;;7230:52:0;7226:126;;-1:-1:-1;;;;;7299:19:0;;;;;;:11;:19;;;;;;;;7319:10;7299:31;;;;;;;:41;;7334:6;;7299:19;:41;;7334:6;;7299:41;:::i;:::-;;;;-1:-1:-1;;7226:126:0;7371:36;7381:6;7389:9;7400:6;7371:9;:36::i;:::-;7364:43;7109:306;-1:-1:-1;;;;7109:306:0:o;9006:232::-;4312:6;;-1:-1:-1;;;;;4312:6:0;4322:10;4312:20;4304:50;;;;-1:-1:-1;;;4304:50:0;;;;;;;:::i;:::-;9148:3:::1;3692:13;3635:2;3692;:13;:::i;:::-;3681:24;::::0;:8:::1;:24;:::i;:::-;9138:13;;;;:::i;:::-;9126:7:::0;9115;3692:13:::1;3635:2;3692;:13;:::i;:::-;3681:24;::::0;:8:::1;:24;:::i;:::-;9105:17;;;;:::i;:::-;9104:29;;;;:::i;:::-;:48;;9096:77;;;::::0;-1:-1:-1;;;9096:77:0;;8109:2:1;9096:77:0::1;::::0;::::1;8091:21:1::0;8148:2;8128:18;;;8121:30;-1:-1:-1;;;8167:18:1;;;8160:46;8223:18;;9096:77:0::1;7907:340:1::0;9096:77:0::1;9223:7:::0;9212;3692:13:::1;3635:2;3692;:13;:::i;:::-;3681:24;::::0;:8:::1;:24;:::i;:::-;9202:17;;;;:::i;:::-;9201:29;;;;:::i;:::-;9184:14;:46:::0;-1:-1:-1;;9006:232:0:o;9246:140::-;4312:6;;-1:-1:-1;;;;;4312:6:0;4322:10;4312:20;4304:50;;;;-1:-1:-1;;;4304:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9338:30:0;;;::::1;;::::0;;;:21:::1;:30;::::0;;;;:40;;-1:-1:-1;;9338:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9246:140::o;5057:497::-;4312:6;;-1:-1:-1;;;;;4312:6:0;4322:10;4312:20;4304:50;;;;-1:-1:-1;;;4304:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5136:22:0;::::1;5128:96;;;;-1:-1:-1::0;;;5128:96:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5243:16:0;::::1;3808:42;5243:16;;5235:90;;;;-1:-1:-1::0;;;5235:90:0::1;;;;;;;:::i;:::-;5369:1;5359:6:::0;;-1:-1:-1;;;;;5359:6:0::1;6420:16:::0;;:7;:16;;;;;;5349:21;5346:99:::1;;5397:6;::::0;;-1:-1:-1;;;;;5397:6:0::1;6420:16:::0;;;:7;:16;;;;;;;5387:46:::1;::::0;5397:6;5405:8;;5387:9:::1;:46::i;:::-;;5346:99;5465:6;:17:::0;;-1:-1:-1;;;;;;5465:17:0::1;-1:-1:-1::0;;;;;5465:17:0;::::1;::::0;;::::1;::::0;;5498:38:::1;::::0;5465:17;;;;5498:38:::1;::::0;5465:6;5498:38:::1;5057:497:::0;:::o;5562:148::-;4312:6;;-1:-1:-1;;;;;4312:6:0;4322:10;4312:20;4304:50;;;;-1:-1:-1;;;4304:50:0;;;;;;;:::i;:::-;5644:1:::1;5627:19:::0;;-1:-1:-1;;;;;;5627:19:0::1;::::0;;5662:40:::1;::::0;5644:1;;5662:40:::1;::::0;5644:1;;5662:40:::1;5562:148::o:0;7955:112::-;4312:6;;-1:-1:-1;;;;;4312:6:0;4322:10;4312:20;4304:50;;;;-1:-1:-1;;;4304:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8036:13:0;;;::::1;;::::0;;;:7:::1;:13;::::0;;;;:23;;-1:-1:-1;;8036:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7955:112::o;11607:215::-;4312:6;;-1:-1:-1;;;;;4312:6:0;4322:10;4312:20;4304:50;;;;-1:-1:-1;;;4304:50:0;;;;;;;:::i;:::-;11669:14:::1;::::0;::::1;;11668:15;11660:44;;;::::0;-1:-1:-1;;;11660:44:0;;8884:2:1;11660:44:0::1;::::0;::::1;8866:21:1::0;8923:2;8903:18;;;8896:30;-1:-1:-1;;;8942:18:1;;;8935:46;8998:18;;11660:44:0::1;8682:340:1::0;11660:44:0::1;11723:16;::::0;::::1;::::0;::::1;;;11715:57;;;::::0;-1:-1:-1;;;11715:57:0;;9229:2:1;11715:57:0::1;::::0;::::1;9211:21:1::0;9268:2;9248:18;;;9241:30;9307;9287:18;;;9280:58;9355:18;;11715:57:0::1;9027:352:1::0;11715:57:0::1;11793:14;:21:::0;;-1:-1:-1;;11793:21:0::1;11810:4;11793:21;::::0;;11607:215::o;6452:165::-;6530:4;6547:40;6557:10;6569:9;6580:6;6547:9;:40::i;:::-;-1:-1:-1;6605:4:0;;6452:165;-1:-1:-1;;;6452:165:0:o;9532:157::-;9574:7;;9630:13;3635:2;9630;:13;:::i;:::-;9611:15;;:33;;;;:::i;:::-;9666:13;3635:2;9666;:13;:::i;:::-;9646:16;;:34;;;;:::i;:::-;9603:78;;;;9532:157;;:::o;8544:454::-;4312:6;;-1:-1:-1;;;;;4312:6:0;4322:10;4312:20;4304:50;;;;-1:-1:-1;;;4304:50:0;;;;;;;:::i;:::-;8740:4:::1;3692:13;3635:2;3692;:13;:::i;:::-;3681:24;::::0;:8:::1;:24;:::i;:::-;8730:14;;;;:::i;:::-;8715:10:::0;8701;3692:13:::1;3635:2;3692;:13;:::i;:::-;3681:24;::::0;:8:::1;:24;:::i;:::-;8691:20;;;;:::i;:::-;8690:35;;;;:::i;:::-;:55;;8682:82;;;::::0;-1:-1:-1;;;8682:82:0;;9586:2:1;8682:82:0::1;::::0;::::1;9568:21:1::0;9625:2;9605:18;;;9598:30;-1:-1:-1;;;9644:18:1;;;9637:44;9698:18;;8682:82:0::1;9384:338:1::0;8682:82:0::1;8835:4;3692:13;3635:2;3692;:13;:::i;:::-;3681:24;::::0;:8:::1;:24;:::i;:::-;8825:14;;;;:::i;:::-;8809:11:::0;8794;3692:13:::1;3635:2;3692;:13;:::i;:::-;3681:24;::::0;:8:::1;:24;:::i;:::-;8784:21;;;;:::i;:::-;8783:37;;;;:::i;:::-;:57;;8775:84;;;::::0;-1:-1:-1;;;8775:84:0;;9586:2:1;8775:84:0::1;::::0;::::1;9568:21:1::0;9625:2;9605:18;;;9598:30;-1:-1:-1;;;9644:18:1;;;9637:44;9698:18;;8775:84:0::1;9384:338:1::0;8775:84:0::1;8913:10:::0;8899;3692:13:::1;3635:2;3692;:13;:::i;:::-;3681:24;::::0;:8:::1;:24;:::i;:::-;8889:20;;;;:::i;:::-;8888:35;;;;:::i;:::-;8870:15;:53;;;;8979:11;8964;3635:2;3692;:13;;;;:::i;:::-;3681:24;::::0;:8:::1;:24;:::i;:::-;8954:21;;;;:::i;:::-;8953:37;;;;:::i;:::-;8934:16;:56:::0;-1:-1:-1;;;;8544:454:0:o;7423:524::-;4312:6;;-1:-1:-1;;;;;4312:6:0;4322:10;4312:20;4304:50;;;;-1:-1:-1;;;4304:50:0;;;;;;;:::i;:::-;7492:20:::1;7525:9;7492:43;;7546:16;7576:10;-1:-1:-1::0;;;;;7576:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7606:10;::::0;7565:66:::1;::::0;-1:-1:-1;;;7565:66:0;;-1:-1:-1;;;;;7606:10:0;;::::1;7565:66;::::0;::::1;10195:34:1::0;7625:4:0::1;10245:18:1::0;;;10238:43;7565:40:0;::::1;::::0;::::1;::::0;10130:18:1;;7565:66:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7546:85:::0;-1:-1:-1;;;;;;7646:22:0;::::1;7642:192;;7705:10;-1:-1:-1::0;;;;;7705:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7738:10;::::0;7694:69:::1;::::0;-1:-1:-1;;;7694:69:0;;-1:-1:-1;;;;;7738:10:0;;::::1;7694:69;::::0;::::1;10195:34:1::0;7757:4:0::1;10245:18:1::0;;;10238:43;7694::0;::::1;::::0;::::1;::::0;10130:18:1;;7694:69:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7685:6;:78:::0;;-1:-1:-1;;;;;;7685:78:0::1;-1:-1:-1::0;;;;;7685:78:0;;;::::1;::::0;;;::::1;::::0;;7642:192:::1;;;7805:6;:17:::0;;-1:-1:-1;;;;;;7805:17:0::1;-1:-1:-1::0;;;;;7805:17:0;::::1;;::::0;;7642:192:::1;7844:9;:22:::0;;-1:-1:-1;;;;;;7844:22:0::1;-1:-1:-1::0;;;;;7844:22:0;::::1;::::0;;::::1;::::0;;;7877:62:::1;::::0;7894:4:::1;::::0;-1:-1:-1;;7877:8:0::1;:62::i;:::-;7481:466;;7423:524:::0;:::o;8075:127::-;4312:6;;-1:-1:-1;;;;;4312:6:0;4322:10;4312:20;4304:50;;;;-1:-1:-1;;;4304:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8165:19:0;;;::::1;;::::0;;;:10:::1;:19;::::0;;;;:29;;-1:-1:-1;;8165:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8075:127::o;6792:309::-;-1:-1:-1;;;;;6886:20:0;;6878:52;;;;-1:-1:-1;;;6878:52:0;;10494:2:1;6878:52:0;;;10476:21:1;10533:2;10513:18;;;10506:30;-1:-1:-1;;;10552:18:1;;;10545:49;10611:18;;6878:52:0;10292:343:1;6878:52:0;-1:-1:-1;;;;;6949:21:0;;6941:53;;;;-1:-1:-1;;;6941:53:0;;10494:2:1;6941:53:0;;;10476:21:1;10533:2;10513:18;;;10506:30;-1:-1:-1;;;10552:18:1;;;10545:49;10611:18;;6941:53:0;10292:343:1;6941:53:0;-1:-1:-1;;;;;7007:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;7060:33;;2702:25:1;;;7060:33:0;;2675:18:1;7060:33:0;;;;;;;6792:309;;;:::o;10184:1415::-;10263:4;-1:-1:-1;;;;;10288:18:0;;10280:68;;;;-1:-1:-1;;;10280:68:0;;10842:2:1;10280:68:0;;;10824:21:1;10881:2;10861:18;;;10854:30;10920:34;10900:18;;;10893:62;-1:-1:-1;;;10971:18:1;;;10964:35;11016:19;;10280:68:0;10640:401:1;10280:68:0;-1:-1:-1;;;;;10367:16:0;;10359:64;;;;-1:-1:-1;;;10359:64:0;;11248:2:1;10359:64:0;;;11230:21:1;11287:2;11267:18;;;11260:30;11326:34;11306:18;;;11299:62;-1:-1:-1;;;11377:18:1;;;11370:33;11420:19;;10359:64:0;11046:399:1;10359:64:0;-1:-1:-1;;;;;10442:16:0;;;;;;:10;:16;;;;;;;;:23;10434:65;;;;-1:-1:-1;;;10434:65:0;;11652:2:1;10434:65:0;;;11634:21:1;11691:2;11671:18;;;11664:30;11730:31;11710:18;;;11703:59;11779:18;;10434:65:0;11450:353:1;10434:65:0;-1:-1:-1;;;;;10518:14:0;;;;;;:10;:14;;;;;;;;:21;10510:63;;;;-1:-1:-1;;;10510:63:0;;11652:2:1;10510:63:0;;;11634:21:1;11691:2;11671:18;;;11664:30;11730:31;11710:18;;;11703:59;11779:18;;10510:63:0;11450:353:1;10510:63:0;10601:1;10592:6;:10;10584:68;;;;-1:-1:-1;;;10584:68:0;;12010:2:1;10584:68:0;;;11992:21:1;12049:2;12029:18;;;12022:30;12088:34;12068:18;;;12061:62;-1:-1:-1;;;12139:18:1;;;12132:43;12192:19;;10584:68:0;11808:409:1;10584:68:0;10676:20;10687:4;10693:2;10676:10;:20::i;:::-;10673:864;;;10717:14;;;;10713:85;;10752:30;;-1:-1:-1;;;10752:30:0;;12424:2:1;10752:30:0;;;12406:21:1;12463:2;12443:18;;;12436:30;-1:-1:-1;;;12482:18:1;;;12475:50;12542:18;;10752:30:0;12222:344:1;10713:85:0;-1:-1:-1;;;;;10815:13:0;;;;;;:7;:13;;;;;;;;10812:462;;;-1:-1:-1;;;;;10853:27:0;;;;;;:21;:27;;;;;;;;10852:28;:58;;;;-1:-1:-1;;;;;;10885:25:0;;;;;;:21;:25;;;;;;;;10884:26;10852:58;10848:178;;;10953:15;;10943:6;:25;;10935:71;;;;-1:-1:-1;;;10935:71:0;;12773:2:1;10935:71:0;;;12755:21:1;12812:2;12792:18;;;12785:30;12851:34;12831:18;;;12824:62;-1:-1:-1;;;12902:18:1;;;12895:31;12943:19;;10935:71:0;12571:397:1;10935:71:0;10812:462;;;-1:-1:-1;;;;;11051:11:0;;;;;;:7;:11;;;;;;;;11047:227;;;-1:-1:-1;;;;;11088:27:0;;;;;;:21;:27;;;;;;;;11087:28;:58;;;;-1:-1:-1;;;;;;11120:25:0;;;;;;:21;:25;;;;;;;;11119:26;11087:58;11083:176;;;11188:16;;11178:6;:26;;11170:69;;;;-1:-1:-1;;;11170:69:0;;13175:2:1;11170:69:0;;;13157:21:1;13214:2;13194:18;;;13187:30;13253:32;13233:18;;;13226:60;13303:18;;11170:69:0;12973:354:1;11170:69:0;11305:9;;-1:-1:-1;;;;;11291:24:0;;;11305:9;;11291:24;;;;:40;;-1:-1:-1;;;;;;11320:11:0;;;;;;:7;:11;;;;;;;;11319:12;11291:40;11288:238;;;-1:-1:-1;;;;;11357:25:0;;;;;;:21;:25;;;;;;;;11352:159;;11441:14;;11431:6;11415:13;11425:2;-1:-1:-1;;;;;6420:16:0;6393:7;6420:16;;;:7;:16;;;;;;;6327:117;11415:13;:22;;;;:::i;:::-;:40;;11407:84;;;;-1:-1:-1;;;11407:84:0;;13667:2:1;11407:84:0;;;13649:21:1;13706:2;13686:18;;;13679:30;13745:33;13725:18;;;13718:61;13796:18;;11407:84:0;13465:355:1;11407:84:0;11556:35;11574:4;11580:2;11584:6;11556:17;:35::i;9819:357::-;9887:4;9919:6;;-1:-1:-1;;;;;9911:14:0;;;9919:6;;9911:14;;;;:43;;-1:-1:-1;9948:6:0;;-1:-1:-1;;;;;9942:12:0;;;9948:6;;9942:12;;9911:43;:79;;;;-1:-1:-1;9984:6:0;;-1:-1:-1;;;;;9984:6:0;9971:9;:19;;9911:79;:106;;;;-1:-1:-1;;;;;;10007:10:0;;3808:42;10007:10;;9911:106;:139;;;;-1:-1:-1;;;;;;10034:16:0;;;;9911:139;:178;;;;-1:-1:-1;;;;;;10068:21:0;;;;;;:17;:21;;;;;;;;10067:22;9911:178;:219;;;;-1:-1:-1;;;;;;10107:23:0;;;;;;:17;:23;;;;;;;;10106:24;9911:219;:257;;;;-1:-1:-1;;;;;;10147:21:0;;10163:4;10147:21;;9911:257;9904:264;9819:357;-1:-1:-1;;;9819:357:0:o;12131:454::-;12239:16;;12217:4;;12239:16;;;;;12234:208;;12272:28;12291:4;12297:2;12272:18;:28::i;:::-;12320:16;;;;;;;12319:17;:41;;;;;12340:20;12351:4;12357:2;12340:10;:20::i;:::-;12315:116;;;12381:34;;-1:-1:-1;;;12381:34:0;;14027:2:1;12381:34:0;;;14009:21:1;14066:2;14046:18;;;14039:30;14105:26;14085:18;;;14078:54;14149:18;;12381:34:0;13825:348:1;12315:116:0;-1:-1:-1;;;;;12456:13:0;;;;;;:7;:13;;;;;:23;;12473:6;;12456:13;:23;;12473:6;;12456:23;:::i;:::-;;;;-1:-1:-1;;;;;;;12490:11:0;;;;;;:7;:11;;;;;:21;;12505:6;;12490:11;:21;;12505:6;;12490:21;:::i;:::-;;;;;;;;12544:2;-1:-1:-1;;;;;12529:26:0;12538:4;-1:-1:-1;;;;;12529:26:0;;12548:6;12529:26;;;;2702:25:1;;2690:2;2675:18;;2556:177;12529:26:0;;;;;;;;-1:-1:-1;12573:4:0;12131:454;;;;;:::o;11834:283::-;11916:16;;;;;;;11915:17;11907:54;;;;-1:-1:-1;;;11907:54:0;;14380:2:1;11907:54:0;;;14362:21:1;14419:2;14399:18;;;14392:30;14458:26;14438:18;;;14431:54;14502:18;;11907:54:0;14178:348:1;11907:54:0;11977:20;11988:4;11994:2;11977:10;:20::i;:::-;11976:21;:37;;;;-1:-1:-1;12007:6:0;;-1:-1:-1;;;;;12001:12:0;;;12007:6;;12001:12;11976:37;11972:138;;;-1:-1:-1;;;;;12030:23:0;;;;;;:17;:23;;;;;:30;;-1:-1:-1;;12030:30:0;12056:4;12030:30;;;12075:16;:23;;-1:-1:-1;;12075:23:0;12030:30;12075:23;;;11972:138;11834:283;;:::o;222:160:1:-;287:20;;343:13;;336:21;326:32;;316:60;;372:1;369;362:12;316:60;222:160;;;:::o;387:689::-;479:6;487;495;548:2;536:9;527:7;523:23;519:32;516:52;;;564:1;561;554:12;516:52;604:9;591:23;633:18;674:2;666:6;663:14;660:34;;;690:1;687;680:12;660:34;728:6;717:9;713:22;703:32;;773:7;766:4;762:2;758:13;754:27;744:55;;795:1;792;785:12;744:55;835:2;822:16;861:2;853:6;850:14;847:34;;;877:1;874;867:12;847:34;932:7;925:4;915:6;912:1;908:14;904:2;900:23;896:34;893:47;890:67;;;953:1;950;943:12;890:67;984:4;976:13;;;;-1:-1:-1;1008:6:1;-1:-1:-1;1033:37:1;;1049:20;;;-1:-1:-1;1033:37:1;:::i;:::-;1023:47;;387:689;;;;;:::o;1081:597::-;1193:4;1222:2;1251;1240:9;1233:21;1283:6;1277:13;1326:6;1321:2;1310:9;1306:18;1299:34;1351:1;1361:140;1375:6;1372:1;1369:13;1361:140;;;1470:14;;;1466:23;;1460:30;1436:17;;;1455:2;1432:26;1425:66;1390:10;;1361:140;;;1519:6;1516:1;1513:13;1510:91;;;1589:1;1584:2;1575:6;1564:9;1560:22;1556:31;1549:42;1510:91;-1:-1:-1;1662:2:1;1641:15;-1:-1:-1;;1637:29:1;1622:45;;;;1669:2;1618:54;;1081:597;-1:-1:-1;;;1081:597:1:o;1908:131::-;-1:-1:-1;;;;;1983:31:1;;1973:42;;1963:70;;2029:1;2026;2019:12;1963:70;1908:131;:::o;2044:315::-;2112:6;2120;2173:2;2161:9;2152:7;2148:23;2144:32;2141:52;;;2189:1;2186;2179:12;2141:52;2228:9;2215:23;2247:31;2272:5;2247:31;:::i;:::-;2297:5;2349:2;2334:18;;;;2321:32;;-1:-1:-1;;;2044:315:1:o;2738:456::-;2815:6;2823;2831;2884:2;2872:9;2863:7;2859:23;2855:32;2852:52;;;2900:1;2897;2890:12;2852:52;2939:9;2926:23;2958:31;2983:5;2958:31;:::i;:::-;3008:5;-1:-1:-1;3065:2:1;3050:18;;3037:32;3078:33;3037:32;3078:33;:::i;:::-;2738:456;;3130:7;;-1:-1:-1;;;3184:2:1;3169:18;;;;3156:32;;2738:456::o;3199:248::-;3267:6;3275;3328:2;3316:9;3307:7;3303:23;3299:32;3296:52;;;3344:1;3341;3334:12;3296:52;-1:-1:-1;;3367:23:1;;;3437:2;3422:18;;;3409:32;;-1:-1:-1;3199:248:1:o;3641:315::-;3706:6;3714;3767:2;3755:9;3746:7;3742:23;3738:32;3735:52;;;3783:1;3780;3773:12;3735:52;3822:9;3809:23;3841:31;3866:5;3841:31;:::i;:::-;3891:5;-1:-1:-1;3915:35:1;3946:2;3931:18;;3915:35;:::i;:::-;3905:45;;3641:315;;;;;:::o;3961:247::-;4020:6;4073:2;4061:9;4052:7;4048:23;4044:32;4041:52;;;4089:1;4086;4079:12;4041:52;4128:9;4115:23;4147:31;4172:5;4147:31;:::i;4466:385::-;4552:6;4560;4568;4576;4629:3;4617:9;4608:7;4604:23;4600:33;4597:53;;;4646:1;4643;4636:12;4597:53;-1:-1:-1;;4669:23:1;;;4739:2;4724:18;;4711:32;;-1:-1:-1;4790:2:1;4775:18;;4762:32;;4841:2;4826:18;4813:32;;-1:-1:-1;4466:385:1;-1:-1:-1;4466:385:1:o;4856:388::-;4924:6;4932;4985:2;4973:9;4964:7;4960:23;4956:32;4953:52;;;5001:1;4998;4991:12;4953:52;5040:9;5027:23;5059:31;5084:5;5059:31;:::i;:::-;5109:5;-1:-1:-1;5166:2:1;5151:18;;5138:32;5179:33;5138:32;5179:33;:::i;:::-;5231:7;5221:17;;;4856:388;;;;;:::o;5249:341::-;5451:2;5433:21;;;5490:2;5470:18;;;5463:30;-1:-1:-1;;;5524:2:1;5509:18;;5502:47;5581:2;5566:18;;5249:341::o;5595:127::-;5656:10;5651:3;5647:20;5644:1;5637:31;5687:4;5684:1;5677:15;5711:4;5708:1;5701:15;5727:127;5788:10;5783:3;5779:20;5776:1;5769:31;5819:4;5816:1;5809:15;5843:4;5840:1;5833:15;5859:135;5898:3;-1:-1:-1;;5919:17:1;;5916:43;;;5939:18;;:::i;:::-;-1:-1:-1;5986:1:1;5975:13;;5859:135::o;5999:422::-;6088:1;6131:5;6088:1;6145:270;6166:7;6156:8;6153:21;6145:270;;;6225:4;6221:1;6217:6;6213:17;6207:4;6204:27;6201:53;;;6234:18;;:::i;:::-;6284:7;6274:8;6270:22;6267:55;;;6304:16;;;;6267:55;6383:22;;;;6343:15;;;;6145:270;;;6149:3;5999:422;;;;;:::o;6426:806::-;6475:5;6505:8;6495:80;;-1:-1:-1;6546:1:1;6560:5;;6495:80;6594:4;6584:76;;-1:-1:-1;6631:1:1;6645:5;;6584:76;6676:4;6694:1;6689:59;;;;6762:1;6757:130;;;;6669:218;;6689:59;6719:1;6710:10;;6733:5;;;6757:130;6794:3;6784:8;6781:17;6778:43;;;6801:18;;:::i;:::-;-1:-1:-1;;6857:1:1;6843:16;;6872:5;;6669:218;;6971:2;6961:8;6958:16;6952:3;6946:4;6943:13;6939:36;6933:2;6923:8;6920:16;6915:2;6909:4;6906:12;6902:35;6899:77;6896:159;;;-1:-1:-1;7008:19:1;;;7040:5;;6896:159;7087:34;7112:8;7106:4;7087:34;:::i;:::-;7157:6;7153:1;7149:6;7145:19;7136:7;7133:32;7130:58;;;7168:18;;:::i;:::-;7206:20;;6426:806;-1:-1:-1;;;6426:806:1:o;7237:140::-;7295:5;7324:47;7365:4;7355:8;7351:19;7345:4;7324:47;:::i;7382:217::-;7422:1;7448;7438:132;;7492:10;7487:3;7483:20;7480:1;7473:31;7527:4;7524:1;7517:15;7555:4;7552:1;7545:15;7438:132;-1:-1:-1;7584:9:1;;7382:217::o;7604:168::-;7644:7;7710:1;7706;7702:6;7698:14;7695:1;7692:21;7687:1;7680:9;7673:17;7669:45;7666:71;;;7717:18;;:::i;:::-;-1:-1:-1;7757:9:1;;7604:168::o;7777:125::-;7817:4;7845:1;7842;7839:8;7836:34;;;7850:18;;:::i;:::-;-1:-1:-1;7887:9:1;;7777:125::o;8252:425::-;8454:2;8436:21;;;8493:2;8473:18;;;8466:30;8532:34;8527:2;8512:18;;8505:62;8603:31;8598:2;8583:18;;8576:59;8667:3;8652:19;;8252:425::o;9727:251::-;9797:6;9850:2;9838:9;9829:7;9825:23;9821:32;9818:52;;;9866:1;9863;9856:12;9818:52;9898:9;9892:16;9917:31;9942:5;9917:31;:::i;13332:128::-;13372:3;13403:1;13399:6;13396:1;13393:13;13390:39;;;13409:18;;:::i;:::-;-1:-1:-1;13445:9:1;;13332:128::o

Swarm Source

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