ETH Price: $2,358.83 (+0.76%)

Token

Akiramenaide (AKIRA)
 

Overview

Max Total Supply

100,000,000 AKIRA

Holders

20

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,040,911.062697937155844199 AKIRA

Value
$0.00
0xb9612f890a780ed0ff44e7e650e4c4f2100b474c
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:
Akiramenaide

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-05
*/

// 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 Akiramenaide 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 = "Akiramenaide";
    string constant private _symbol = 'AKIRA';
    uint8 constant private _decimals = 18;

    uint256 constant private _tTotal = 100000000 * 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 * 3) / 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; // 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), "Needs to be higher 0.5%");
        require((_tTotal * percentSell) / divisorSell >= (_tTotal / 5000), "Needs to be higher as 0.5%");
        _maxTxAmountBuy = (_tTotal * percentBuy) / divisorBuy;
        _maxTxAmountSell = (_tTotal * percentSell) / divisorSell;
    }

    function setMaxWalletSize(uint256 percent, uint256 divisor) external onlyOwner {
        require((_tTotal * percent) / divisor >= (_tTotal / 100), "Needs to be higher as 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 must be greater than zero");
        
        if(_hasLimits(from, to)) {
            if(!tradingEnabled) {
                revert("Trading not yet enabled!");
            }
            if(lpPairs[from]){
                if (!_isExcludedFromLimits[from] && !_isExcludedFromLimits[to]) {
                    require(amount <= _maxTxAmountBuy, "Transfer amount exceeds the maxTxAmount.");
                }
            } else if (lpPairs[to]) {
                if (!_isExcludedFromLimits[from] && !_isExcludedFromLimits[to]) {
                    require(amount <= _maxTxAmountSell, "Transfer amount exceeds the maxTxAmount.");
                }
            }
            if(to != address(dexRouter) && !lpPairs[to]) {
                if (!_isExcludedFromLimits[to]) {
                    require(balanceOf(to) + amount <= _maxWalletSize, "Transfer amount exceeds the maxWalletSize.");
                }
            }
        }

        return _finalizeTransfer(from, to, amount);
    }

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



    function _checkLiquidityAdd(address from, address to) private {
        require(!_hasLiqBeenAdded, "Liquidity already added and marked.");
        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 at this time.");
            }
        }


        _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"}]

60806040526064620000146012600a6200050c565b62000024906305f5e10062000524565b6200003190600262000524565b6200003d919062000546565b600a5560646012600a6200005291906200050c565b62000062906305f5e10062000524565b6200006f90600262000524565b6200007b919062000546565b600b5560646200008e6012600a6200050c565b6200009e906305f5e10062000524565b620000ab90600362000524565b620000b7919062000546565b600c55600d805461ffff19169055348015620000d257600080fd5b50620000e16012600a6200050c565b620000f1906305f5e10062000524565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001346012600a6200050c565b62000144906305f5e10062000524565b60405190815260200160405180910390a3600080546001600160a01b03199081163317909155600780548216737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556009805490921673a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001e7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020d919062000569565b6009546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af11580156200025f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000285919062000569565b600880546001600160a01b0319166001600160a01b039283169081179091556000908152600260205260408120805460ff1916600117905554600754620002d4929182169116600019620002f6565b600754620002f09030906001600160a01b0316600019620002f6565b62000594565b6001600160a01b038316620003485760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620003965760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016200033f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200044e578160001904821115620004325762000432620003f7565b808516156200044057918102915b93841c939080029062000412565b509250929050565b600082620004675750600162000506565b81620004765750600062000506565b81600181146200048f57600281146200049a57620004ba565b600191505062000506565b60ff841115620004ae57620004ae620003f7565b50506001821b62000506565b5060208310610133831016604e8410600b8410161715620004df575081810a62000506565b620004eb83836200040d565b8060001904821115620005025762000502620003f7565b0290505b92915050565b60006200051d60ff84168362000456565b9392505050565b6000816000190483118215151615620005415762000541620003f7565b500290565b6000826200056457634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200057c57600080fd5b81516001600160a01b03811681146200051d57600080fd5b611e2880620005a46000396000f3fe6080604052600436106101d15760003560e01c80635cce86cd116100f757806395d89b4111610095578063dd62ed3e11610064578063dd62ed3e1461057c578063eafb5a3c146105c2578063eec2744e146105e2578063fe575a871461060257600080fd5b806395d89b41146104e4578063a9059cbb14610512578063adba5bca14610532578063c0488b561461055c57600080fd5b806380c581d1116100d157806380c581d114610471578063893d20e8146104915780638a8c523c146104af5780638fa0e02b146104c457600080fd5b80635cce86cd146103ed57806370a0823114610426578063715018a61461045c57600080fd5b806323b872dd1161016f578063452ed4f11161013e578063452ed4f1146103745780634ada218b146103945780634fb2e45d146103ae57806350a8e016146103ce57600080fd5b806323b872dd146102f85780632600395714610318578063313ce5671461033857806336fddb041461035457600080fd5b80630758d924116101ab5780630758d92414610270578063095ea7b3146102905780630fa604e4146102c057806318160ddd146102e357600080fd5b806303fd2a45146101dd57806305bbedb61461021057806306fdde031461023257600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561021c57600080fd5b5061023061022b36600461191e565b61063b565b005b34801561023e57600080fd5b5060408051808201909152600c81526b416b6972616d656e6169646560a01b60208201525b60405161020791906119a2565b34801561027c57600080fd5b506007546101f3906001600160a01b031681565b34801561029c57600080fd5b506102b06102ab366004611a0f565b6106e5565b6040519015158152602001610207565b3480156102cc57600080fd5b506102d56106fc565b604051908152602001610207565b3480156102ef57600080fd5b506102d561071c565b34801561030457600080fd5b506102b0610313366004611a3b565b61075b565b34801561032457600080fd5b50610230610333366004611a7c565b6107d3565b34801561034457600080fd5b5060405160128152602001610207565b34801561036057600080fd5b5061023061036f366004611a9e565b6108d8565b34801561038057600080fd5b506008546101f3906001600160a01b031681565b3480156103a057600080fd5b50600d546102b09060ff1681565b3480156103ba57600080fd5b506102306103c9366004611ad3565b61092d565b3480156103da57600080fd5b50600d546102b090610100900460ff1681565b3480156103f957600080fd5b506102b0610408366004611ad3565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561043257600080fd5b506102d5610441366004611ad3565b6001600160a01b031660009081526001602052604090205490565b34801561046857600080fd5b50610230610a3a565b34801561047d57600080fd5b5061023061048c366004611a9e565b610aa0565b34801561049d57600080fd5b506000546001600160a01b03166101f3565b3480156104bb57600080fd5b50610230610af5565b3480156104d057600080fd5b506009546101f3906001600160a01b031681565b3480156104f057600080fd5b50604080518082019091526005815264414b49524160d81b6020820152610263565b34801561051e57600080fd5b506102b061052d366004611a0f565b610bd8565b34801561053e57600080fd5b50610547610bef565b60408051928352602083019190915201610207565b34801561056857600080fd5b50610230610577366004611af0565b610c2c565b34801561058857600080fd5b506102d5610597366004611b22565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105ce57600080fd5b506102306105dd366004611ad3565b610e11565b3480156105ee57600080fd5b506102306105fd366004611a9e565b611070565b34801561060e57600080fd5b506102b061061d366004611ad3565b6001600160a01b031660009081526006602052604090205460ff1690565b6000546001600160a01b0316331461066e5760405162461bcd60e51b815260040161066590611b5b565b60405180910390fd5b60005b828110156106df57816006600086868581811061069057610690611b86565b90506020020160208101906106a59190611ad3565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106d781611bb2565b915050610671565b50505050565b60006106f23384846110c5565b5060015b92915050565b600061070a6012600a611cb1565b600c546107179190611cc0565b905090565b600061072a6012600a611cb1565b610738906305f5e100611ce2565b61074157600080fd5b61074d6012600a611cb1565b610717906305f5e100611ce2565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107c0576001600160a01b0384166000908152600360209081526040808320338452909152812080548492906107ba908490611d01565b90915550505b6107cb8484846111be565b949350505050565b6000546001600160a01b031633146107fd5760405162461bcd60e51b815260040161066590611b5b565b606461080b6012600a611cb1565b610819906305f5e100611ce2565b6108239190611cc0565b81836108316012600a611cb1565b61083f906305f5e100611ce2565b6108499190611ce2565b6108539190611cc0565b10156108a15760405162461bcd60e51b815260206004820152601860248201527f4e6565647320746f2062652068696768657220617320312500000000000000006044820152606401610665565b80826108af6012600a611cb1565b6108bd906305f5e100611ce2565b6108c79190611ce2565b6108d19190611cc0565b600c555050565b6000546001600160a01b031633146109025760405162461bcd60e51b815260040161066590611b5b565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146109575760405162461bcd60e51b815260040161066590611b5b565b6001600160a01b03811661097d5760405162461bcd60e51b815260040161066590611d18565b6001600160a01b03811661dead14156109a85760405162461bcd60e51b815260040161066590611d18565b600080546001600160a01b0316815260016020526040902054156109ef57600080546001600160a01b031680825260016020526040909120546109ed919083906111be565b505b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314610a645760405162461bcd60e51b815260040161066590611b5b565b600080546001600160a01b031916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6000546001600160a01b03163314610aca5760405162461bcd60e51b815260040161066590611b5b565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b1f5760405162461bcd60e51b815260040161066590611b5b565b600d5460ff1615610b725760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610665565b600d54610100900460ff16610bc95760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610665565b600d805460ff19166001179055565b6000610be53384846111be565b5060019392505050565b600080610bfe6012600a611cb1565b600a54610c0b9190611cc0565b610c176012600a611cb1565b600b54610c249190611cc0565b915091509091565b6000546001600160a01b03163314610c565760405162461bcd60e51b815260040161066590611b5b565b611388610c656012600a611cb1565b610c73906305f5e100611ce2565b610c7d9190611cc0565b8385610c8b6012600a611cb1565b610c99906305f5e100611ce2565b610ca39190611ce2565b610cad9190611cc0565b1015610cfb5760405162461bcd60e51b815260206004820152601760248201527f4e6565647320746f2062652068696768657220302e35250000000000000000006044820152606401610665565b611388610d0a6012600a611cb1565b610d18906305f5e100611ce2565b610d229190611cc0565b8183610d306012600a611cb1565b610d3e906305f5e100611ce2565b610d489190611ce2565b610d529190611cc0565b1015610da05760405162461bcd60e51b815260206004820152601a60248201527f4e6565647320746f2062652068696768657220617320302e35250000000000006044820152606401610665565b8284610dae6012600a611cb1565b610dbc906305f5e100611ce2565b610dc69190611ce2565b610dd09190611cc0565b600a8190555080826012600a610de69190611cb1565b610df4906305f5e100611ce2565b610dfe9190611ce2565b610e089190611cc0565b600b5550505050565b6000546001600160a01b03163314610e3b5760405162461bcd60e51b815260040161066590611b5b565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea49190611d75565b60095460405163e6a4390560e01b81526001600160a01b03918216600482015230602482015291169063e6a4390590604401602060405180830381865afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f179190611d75565b90506001600160a01b03811661102357816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f899190611d75565b6009546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015610fda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffe9190611d75565b600880546001600160a01b0319166001600160a01b039290921691909117905561103f565b600880546001600160a01b0319166001600160a01b0383161790555b600780546001600160a01b0319166001600160a01b03841690811790915561106b9030906000196110c5565b505050565b6000546001600160a01b0316331461109a5760405162461bcd60e51b815260040161066590611b5b565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6001600160a01b0383166111115760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610665565b6001600160a01b03821661115d5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610665565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166112245760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610665565b6001600160a01b0383166112865760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610665565b6001600160a01b03841660009081526006602052604090205460ff16156112ef5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a206164647265737320697320626c61636b6c69737465640000006044820152606401610665565b6001600160a01b03831660009081526006602052604090205460ff16156113585760405162461bcd60e51b815260206004820152601d60248201527f45524332303a206164647265737320697320626c61636b6c69737465640000006044820152606401610665565b600082116113ba5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610665565b6113c48484611629565b1561161e57600d5460ff1661141b5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610665565b6001600160a01b03841660009081526002602052604090205460ff16156114aa576001600160a01b03841660009081526004602052604090205460ff1615801561147e57506001600160a01b03831660009081526004602052604090205460ff16155b156114a557600a548211156114a55760405162461bcd60e51b815260040161066590611d92565b611534565b6001600160a01b03831660009081526002602052604090205460ff1615611534576001600160a01b03841660009081526004602052604090205460ff1615801561150d57506001600160a01b03831660009081526004602052604090205460ff16155b1561153457600b548211156115345760405162461bcd60e51b815260040161066590611d92565b6007546001600160a01b0384811691161480159061156b57506001600160a01b03831660009081526002602052604090205460ff16155b1561161e576001600160a01b03831660009081526004602052604090205460ff1661161e57600c54826115b3856001600160a01b031660009081526001602052604090205490565b6115bd9190611dda565b111561161e5760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526930b63632ba29b4bd329760b11b6064820152608401610665565b6107cb8484846116fe565b600080546001600160a01b0384811691161480159061165657506000546001600160a01b03838116911614155b801561166d57506000546001600160a01b03163214155b801561168457506001600160a01b03821661dead14155b801561169857506001600160a01b03821615155b80156116bd57506001600160a01b03821660009081526005602052604090205460ff16155b80156116e257506001600160a01b03831660009081526005602052604090205460ff16155b80156116f757506001600160a01b0383163014155b9392505050565b600d54600090610100900460ff166117925761171a8484611845565b600d54610100900460ff1615801561173757506117378484611629565b156117925760405162461bcd60e51b815260206004820152602560248201527f4f6e6c79206f776e65722063616e207472616e736665722061742074686973206044820152643a34b6b29760d91b6064820152608401610665565b6001600160a01b038416600090815260016020526040812080548492906117ba908490611d01565b90915550506001600160a01b038316600090815260016020526040812080548492906117e7908490611dda565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161183391815260200190565b60405180910390a35060019392505050565b600d54610100900460ff16156118a95760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b6064820152608401610665565b6118b38282611629565b1580156118cd57506008546001600160a01b038281169116145b15611905576001600160a01b0382166000908152600560205260409020805460ff19166001179055600d805461ff0019166101001790555b5050565b8035801515811461191957600080fd5b919050565b60008060006040848603121561193357600080fd5b833567ffffffffffffffff8082111561194b57600080fd5b818601915086601f83011261195f57600080fd5b81358181111561196e57600080fd5b8760208260051b850101111561198357600080fd5b6020928301955093506119999186019050611909565b90509250925092565b600060208083528351808285015260005b818110156119cf578581018301518582016040015282016119b3565b818111156119e1576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611a0c57600080fd5b50565b60008060408385031215611a2257600080fd5b8235611a2d816119f7565b946020939093013593505050565b600080600060608486031215611a5057600080fd5b8335611a5b816119f7565b92506020840135611a6b816119f7565b929592945050506040919091013590565b60008060408385031215611a8f57600080fd5b50508035926020909101359150565b60008060408385031215611ab157600080fd5b8235611abc816119f7565b9150611aca60208401611909565b90509250929050565b600060208284031215611ae557600080fd5b81356116f7816119f7565b60008060008060808587031215611b0657600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611b3557600080fd5b8235611b40816119f7565b91506020830135611b50816119f7565b809150509250929050565b60208082526011908201527021b0b63632b9101e979e9037bbb732b91760791b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611bc657611bc6611b9c565b5060010190565b600181815b80851115611c08578160001904821115611bee57611bee611b9c565b80851615611bfb57918102915b93841c9390800290611bd2565b509250929050565b600082611c1f575060016106f6565b81611c2c575060006106f6565b8160018114611c425760028114611c4c57611c68565b60019150506106f6565b60ff841115611c5d57611c5d611b9c565b50506001821b6106f6565b5060208310610133831016604e8410600b8410161715611c8b575081810a6106f6565b611c958383611bcd565b8060001904821115611ca957611ca9611b9c565b029392505050565b60006116f760ff841683611c10565b600082611cdd57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611cfc57611cfc611b9c565b500290565b600082821015611d1357611d13611b9c565b500390565b6020808252603d908201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660408201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606082015260800190565b600060208284031215611d8757600080fd5b81516116f7816119f7565b60208082526028908201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546040820152673c20b6b7bab73a1760c11b606082015260800190565b60008219821115611ded57611ded611b9c565b50019056fea2646970667358221220475193c747bbe1af277451075923c4685ee7032c8b318470084c8439963f832f64736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80635cce86cd116100f757806395d89b4111610095578063dd62ed3e11610064578063dd62ed3e1461057c578063eafb5a3c146105c2578063eec2744e146105e2578063fe575a871461060257600080fd5b806395d89b41146104e4578063a9059cbb14610512578063adba5bca14610532578063c0488b561461055c57600080fd5b806380c581d1116100d157806380c581d114610471578063893d20e8146104915780638a8c523c146104af5780638fa0e02b146104c457600080fd5b80635cce86cd146103ed57806370a0823114610426578063715018a61461045c57600080fd5b806323b872dd1161016f578063452ed4f11161013e578063452ed4f1146103745780634ada218b146103945780634fb2e45d146103ae57806350a8e016146103ce57600080fd5b806323b872dd146102f85780632600395714610318578063313ce5671461033857806336fddb041461035457600080fd5b80630758d924116101ab5780630758d92414610270578063095ea7b3146102905780630fa604e4146102c057806318160ddd146102e357600080fd5b806303fd2a45146101dd57806305bbedb61461021057806306fdde031461023257600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561021c57600080fd5b5061023061022b36600461191e565b61063b565b005b34801561023e57600080fd5b5060408051808201909152600c81526b416b6972616d656e6169646560a01b60208201525b60405161020791906119a2565b34801561027c57600080fd5b506007546101f3906001600160a01b031681565b34801561029c57600080fd5b506102b06102ab366004611a0f565b6106e5565b6040519015158152602001610207565b3480156102cc57600080fd5b506102d56106fc565b604051908152602001610207565b3480156102ef57600080fd5b506102d561071c565b34801561030457600080fd5b506102b0610313366004611a3b565b61075b565b34801561032457600080fd5b50610230610333366004611a7c565b6107d3565b34801561034457600080fd5b5060405160128152602001610207565b34801561036057600080fd5b5061023061036f366004611a9e565b6108d8565b34801561038057600080fd5b506008546101f3906001600160a01b031681565b3480156103a057600080fd5b50600d546102b09060ff1681565b3480156103ba57600080fd5b506102306103c9366004611ad3565b61092d565b3480156103da57600080fd5b50600d546102b090610100900460ff1681565b3480156103f957600080fd5b506102b0610408366004611ad3565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561043257600080fd5b506102d5610441366004611ad3565b6001600160a01b031660009081526001602052604090205490565b34801561046857600080fd5b50610230610a3a565b34801561047d57600080fd5b5061023061048c366004611a9e565b610aa0565b34801561049d57600080fd5b506000546001600160a01b03166101f3565b3480156104bb57600080fd5b50610230610af5565b3480156104d057600080fd5b506009546101f3906001600160a01b031681565b3480156104f057600080fd5b50604080518082019091526005815264414b49524160d81b6020820152610263565b34801561051e57600080fd5b506102b061052d366004611a0f565b610bd8565b34801561053e57600080fd5b50610547610bef565b60408051928352602083019190915201610207565b34801561056857600080fd5b50610230610577366004611af0565b610c2c565b34801561058857600080fd5b506102d5610597366004611b22565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105ce57600080fd5b506102306105dd366004611ad3565b610e11565b3480156105ee57600080fd5b506102306105fd366004611a9e565b611070565b34801561060e57600080fd5b506102b061061d366004611ad3565b6001600160a01b031660009081526006602052604090205460ff1690565b6000546001600160a01b0316331461066e5760405162461bcd60e51b815260040161066590611b5b565b60405180910390fd5b60005b828110156106df57816006600086868581811061069057610690611b86565b90506020020160208101906106a59190611ad3565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106d781611bb2565b915050610671565b50505050565b60006106f23384846110c5565b5060015b92915050565b600061070a6012600a611cb1565b600c546107179190611cc0565b905090565b600061072a6012600a611cb1565b610738906305f5e100611ce2565b61074157600080fd5b61074d6012600a611cb1565b610717906305f5e100611ce2565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107c0576001600160a01b0384166000908152600360209081526040808320338452909152812080548492906107ba908490611d01565b90915550505b6107cb8484846111be565b949350505050565b6000546001600160a01b031633146107fd5760405162461bcd60e51b815260040161066590611b5b565b606461080b6012600a611cb1565b610819906305f5e100611ce2565b6108239190611cc0565b81836108316012600a611cb1565b61083f906305f5e100611ce2565b6108499190611ce2565b6108539190611cc0565b10156108a15760405162461bcd60e51b815260206004820152601860248201527f4e6565647320746f2062652068696768657220617320312500000000000000006044820152606401610665565b80826108af6012600a611cb1565b6108bd906305f5e100611ce2565b6108c79190611ce2565b6108d19190611cc0565b600c555050565b6000546001600160a01b031633146109025760405162461bcd60e51b815260040161066590611b5b565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146109575760405162461bcd60e51b815260040161066590611b5b565b6001600160a01b03811661097d5760405162461bcd60e51b815260040161066590611d18565b6001600160a01b03811661dead14156109a85760405162461bcd60e51b815260040161066590611d18565b600080546001600160a01b0316815260016020526040902054156109ef57600080546001600160a01b031680825260016020526040909120546109ed919083906111be565b505b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314610a645760405162461bcd60e51b815260040161066590611b5b565b600080546001600160a01b031916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6000546001600160a01b03163314610aca5760405162461bcd60e51b815260040161066590611b5b565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b1f5760405162461bcd60e51b815260040161066590611b5b565b600d5460ff1615610b725760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610665565b600d54610100900460ff16610bc95760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610665565b600d805460ff19166001179055565b6000610be53384846111be565b5060019392505050565b600080610bfe6012600a611cb1565b600a54610c0b9190611cc0565b610c176012600a611cb1565b600b54610c249190611cc0565b915091509091565b6000546001600160a01b03163314610c565760405162461bcd60e51b815260040161066590611b5b565b611388610c656012600a611cb1565b610c73906305f5e100611ce2565b610c7d9190611cc0565b8385610c8b6012600a611cb1565b610c99906305f5e100611ce2565b610ca39190611ce2565b610cad9190611cc0565b1015610cfb5760405162461bcd60e51b815260206004820152601760248201527f4e6565647320746f2062652068696768657220302e35250000000000000000006044820152606401610665565b611388610d0a6012600a611cb1565b610d18906305f5e100611ce2565b610d229190611cc0565b8183610d306012600a611cb1565b610d3e906305f5e100611ce2565b610d489190611ce2565b610d529190611cc0565b1015610da05760405162461bcd60e51b815260206004820152601a60248201527f4e6565647320746f2062652068696768657220617320302e35250000000000006044820152606401610665565b8284610dae6012600a611cb1565b610dbc906305f5e100611ce2565b610dc69190611ce2565b610dd09190611cc0565b600a8190555080826012600a610de69190611cb1565b610df4906305f5e100611ce2565b610dfe9190611ce2565b610e089190611cc0565b600b5550505050565b6000546001600160a01b03163314610e3b5760405162461bcd60e51b815260040161066590611b5b565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea49190611d75565b60095460405163e6a4390560e01b81526001600160a01b03918216600482015230602482015291169063e6a4390590604401602060405180830381865afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f179190611d75565b90506001600160a01b03811661102357816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f899190611d75565b6009546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015610fda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffe9190611d75565b600880546001600160a01b0319166001600160a01b039290921691909117905561103f565b600880546001600160a01b0319166001600160a01b0383161790555b600780546001600160a01b0319166001600160a01b03841690811790915561106b9030906000196110c5565b505050565b6000546001600160a01b0316331461109a5760405162461bcd60e51b815260040161066590611b5b565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6001600160a01b0383166111115760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610665565b6001600160a01b03821661115d5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610665565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166112245760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610665565b6001600160a01b0383166112865760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610665565b6001600160a01b03841660009081526006602052604090205460ff16156112ef5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a206164647265737320697320626c61636b6c69737465640000006044820152606401610665565b6001600160a01b03831660009081526006602052604090205460ff16156113585760405162461bcd60e51b815260206004820152601d60248201527f45524332303a206164647265737320697320626c61636b6c69737465640000006044820152606401610665565b600082116113ba5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610665565b6113c48484611629565b1561161e57600d5460ff1661141b5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610665565b6001600160a01b03841660009081526002602052604090205460ff16156114aa576001600160a01b03841660009081526004602052604090205460ff1615801561147e57506001600160a01b03831660009081526004602052604090205460ff16155b156114a557600a548211156114a55760405162461bcd60e51b815260040161066590611d92565b611534565b6001600160a01b03831660009081526002602052604090205460ff1615611534576001600160a01b03841660009081526004602052604090205460ff1615801561150d57506001600160a01b03831660009081526004602052604090205460ff16155b1561153457600b548211156115345760405162461bcd60e51b815260040161066590611d92565b6007546001600160a01b0384811691161480159061156b57506001600160a01b03831660009081526002602052604090205460ff16155b1561161e576001600160a01b03831660009081526004602052604090205460ff1661161e57600c54826115b3856001600160a01b031660009081526001602052604090205490565b6115bd9190611dda565b111561161e5760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526930b63632ba29b4bd329760b11b6064820152608401610665565b6107cb8484846116fe565b600080546001600160a01b0384811691161480159061165657506000546001600160a01b03838116911614155b801561166d57506000546001600160a01b03163214155b801561168457506001600160a01b03821661dead14155b801561169857506001600160a01b03821615155b80156116bd57506001600160a01b03821660009081526005602052604090205460ff16155b80156116e257506001600160a01b03831660009081526005602052604090205460ff16155b80156116f757506001600160a01b0383163014155b9392505050565b600d54600090610100900460ff166117925761171a8484611845565b600d54610100900460ff1615801561173757506117378484611629565b156117925760405162461bcd60e51b815260206004820152602560248201527f4f6e6c79206f776e65722063616e207472616e736665722061742074686973206044820152643a34b6b29760d91b6064820152608401610665565b6001600160a01b038416600090815260016020526040812080548492906117ba908490611d01565b90915550506001600160a01b038316600090815260016020526040812080548492906117e7908490611dda565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161183391815260200190565b60405180910390a35060019392505050565b600d54610100900460ff16156118a95760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b6064820152608401610665565b6118b38282611629565b1580156118cd57506008546001600160a01b038281169116145b15611905576001600160a01b0382166000908152600560205260409020805460ff19166001179055600d805461ff0019166101001790555b5050565b8035801515811461191957600080fd5b919050565b60008060006040848603121561193357600080fd5b833567ffffffffffffffff8082111561194b57600080fd5b818601915086601f83011261195f57600080fd5b81358181111561196e57600080fd5b8760208260051b850101111561198357600080fd5b6020928301955093506119999186019050611909565b90509250925092565b600060208083528351808285015260005b818110156119cf578581018301518582016040015282016119b3565b818111156119e1576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114611a0c57600080fd5b50565b60008060408385031215611a2257600080fd5b8235611a2d816119f7565b946020939093013593505050565b600080600060608486031215611a5057600080fd5b8335611a5b816119f7565b92506020840135611a6b816119f7565b929592945050506040919091013590565b60008060408385031215611a8f57600080fd5b50508035926020909101359150565b60008060408385031215611ab157600080fd5b8235611abc816119f7565b9150611aca60208401611909565b90509250929050565b600060208284031215611ae557600080fd5b81356116f7816119f7565b60008060008060808587031215611b0657600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215611b3557600080fd5b8235611b40816119f7565b91506020830135611b50816119f7565b809150509250929050565b60208082526011908201527021b0b63632b9101e979e9037bbb732b91760791b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611bc657611bc6611b9c565b5060010190565b600181815b80851115611c08578160001904821115611bee57611bee611b9c565b80851615611bfb57918102915b93841c9390800290611bd2565b509250929050565b600082611c1f575060016106f6565b81611c2c575060006106f6565b8160018114611c425760028114611c4c57611c68565b60019150506106f6565b60ff841115611c5d57611c5d611b9c565b50506001821b6106f6565b5060208310610133831016604e8410600b8410161715611c8b575081810a6106f6565b611c958383611bcd565b8060001904821115611ca957611ca9611b9c565b029392505050565b60006116f760ff841683611c10565b600082611cdd57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611cfc57611cfc611b9c565b500290565b600082821015611d1357611d13611b9c565b500390565b6020808252603d908201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660408201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606082015260800190565b600060208284031215611d8757600080fd5b81516116f7816119f7565b60208082526028908201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546040820152673c20b6b7bab73a1760c11b606082015260800190565b60008219821115611ded57611ded611b9c565b50019056fea2646970667358221220475193c747bbe1af277451075923c4685ee7032c8b318470084c8439963f832f64736f6c634300080a0033

Deployed Bytecode Sourcemap

3097:9555:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3792:73;;;;;;;;;;;;3823:42;3792:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;3792:73:0;;;;;;;;8181:202;;;;;;;;;;-1:-1:-1;8181:202:0;;;;;:::i;:::-;;:::i;:::-;;5986:80;;;;;;;;;;-1:-1:-1;6058:5:0;;;;;;;;;;;;-1:-1:-1;;;6058:5:0;;;;5986:80;;;;;;;:::i;3731:26::-;;;;;;;;;;-1:-1:-1;3731:26:0;;;;-1:-1:-1;;;;;3731:26:0;;;6596:159;;;;;;;;;;-1:-1:-1;6596:159:0;;;;;:::i;:::-;;:::i;:::-;;;2529:14:1;;2522:22;2504:41;;2492:2;2477:18;6596:159:0;2364:187:1;9697:112:0;;;;;;;;;;;;;:::i;:::-;;;2702:25:1;;;2690:2;2675:18;9697:112:0;2556:177:1;5689:115:0;;;;;;;;;;;;;:::i;7080:306::-;;;;;;;;;;-1:-1:-1;7080:306:0;;;;;:::i;:::-;;:::i;8998:240::-;;;;;;;;;;-1:-1:-1;8998:240:0;;;;;:::i;:::-;;:::i;5810:80::-;;;;;;;;;;-1:-1:-1;5810:80:0;;3649:2;3594:36:1;;3582:2;3567:18;5810:80:0;3452:184:1;9246:140:0;;;;;;;;;;-1:-1:-1;9246:140:0;;;;;:::i;:::-;;:::i;3764:21::-;;;;;;;;;;-1:-1:-1;3764:21:0;;;;-1:-1:-1;;;;;3764:21:0;;;4094:34;;;;;;;;;;-1:-1:-1;4094:34:0;;;;;;;;5028:497;;;;;;;;;;-1:-1:-1;5028:497:0;;;;;:::i;:::-;;:::i;4135:36::-;;;;;;;;;;-1:-1:-1;4135: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;6298:117;;;;;;;;;;-1:-1:-1;6298:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6391:16:0;6364:7;6391:16;;;:7;:16;;;;;;;6298:117;5533:148;;;;;;;;;;;;;:::i;7926:112::-;;;;;;;;;;-1:-1:-1;7926:112:0;;;;;:::i;:::-;;:::i;6072:79::-;;;;;;;;;;-1:-1:-1;6124:7:0;6142:6;-1:-1:-1;;;;;6142:6:0;6072:79;;11635:219;;;;;;;;;;;;;:::i;3872:25::-;;;;;;;;;;-1:-1:-1;3872:25:0;;;;-1:-1:-1;;;;;3872:25:0;;;5896:84;;;;;;;;;;-1:-1:-1;5970:7:0;;;;;;;;;;;;-1:-1:-1;;;5970:7:0;;;;5896:84;;6423:165;;;;;;;;;;-1:-1:-1;6423:165:0;;;;;:::i;:::-;;:::i;9532:157::-;;;;;;;;;;;;;:::i;:::-;;;;4387:25:1;;;4443:2;4428:18;;4421:34;;;;4360:18;9532:157:0;4213:248:1;8515:475:0;;;;;;;;;;-1:-1:-1;8515:475:0;;;;;:::i;:::-;;:::i;6157:133::-;;;;;;;;;;-1:-1:-1;6157:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6259:19:0;;;6241:7;6259:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6157:133;7394:524;;;;;;;;;;-1:-1:-1;7394:524:0;;;;;:::i;:::-;;:::i;8046:127::-;;;;;;;;;;-1:-1:-1;8046:127:0;;;;;:::i;:::-;;:::i;8391:112::-;;;;;;;;;;-1:-1:-1;8391:112:0;;;;;:::i;:::-;-1:-1:-1;;;;;8476:19:0;8452:4;8476:19;;;:10;:19;;;;;;;;;8391:112;8181:202;4326:6;;-1:-1:-1;;;;;4326:6:0;4336:10;4326:20;4318:50;;;;-1:-1:-1;;;4318:50:0;;;;;;;:::i;:::-;;;;;;;;;8295:10:::1;8291:84;8308:21:::0;;::::1;8291:84;;;8368:7;8338:10;:27;8349:8;;8358:5;8349:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8338:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;8338:27:0;:37;;-1:-1:-1;;8338:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8330:7;::::1;::::0;::::1;:::i;:::-;;;;8291:84;;;;8181:202:::0;;;:::o;6596:159::-;6671:4;6688:37;6697:10;6709:7;6718:6;6688:8;:37::i;:::-;-1:-1:-1;6743:4:0;6596:159;;;;;:::o;9697:112::-;9742:7;9787:13;3649:2;9787;:13;:::i;:::-;9769:14;;:32;;;;:::i;:::-;9762:39;;9697:112;:::o;5689:115::-;5744:7;3707:13;3649:2;3707;:13;:::i;:::-;3695:25;;:9;:25;:::i;:::-;5755:31;;5775:8;;;5755:31;3707:13;3649:2;3707;:13;:::i;:::-;3695:25;;:9;:25;:::i;7080:306::-;-1:-1:-1;;;;;7201:19:0;;7180:4;7201:19;;;:11;:19;;;;;;;;7221:10;7201:31;;;;;;;;-1:-1:-1;;7201:52:0;7197:126;;-1:-1:-1;;;;;7270:19:0;;;;;;:11;:19;;;;;;;;7290:10;7270:31;;;;;;;:41;;7305:6;;7270:19;:41;;7305:6;;7270:41;:::i;:::-;;;;-1:-1:-1;;7197:126:0;7342:36;7352:6;7360:9;7371:6;7342:9;:36::i;:::-;7335:43;7080:306;-1:-1:-1;;;;7080:306:0:o;8998:240::-;4326:6;;-1:-1:-1;;;;;4326:6:0;4336:10;4326:20;4318:50;;;;-1:-1:-1;;;4318:50:0;;;;;;;:::i;:::-;9140:3:::1;3707:13;3649:2;3707;:13;:::i;:::-;3695:25;::::0;:9:::1;:25;:::i;:::-;9130:13;;;;:::i;:::-;9118:7:::0;9107;3707:13:::1;3649:2;3707;:13;:::i;:::-;3695:25;::::0;:9:::1;:25;:::i;:::-;9097:17;;;;:::i;:::-;9096:29;;;;:::i;:::-;:48;;9088:85;;;::::0;-1:-1:-1;;;9088:85:0;;8109:2:1;9088:85:0::1;::::0;::::1;8091:21:1::0;8148:2;8128:18;;;8121:30;8187:26;8167:18;;;8160:54;8231:18;;9088:85:0::1;7907:348:1::0;9088:85:0::1;9223:7:::0;9212;3707:13:::1;3649:2;3707;:13;:::i;:::-;3695:25;::::0;:9:::1;:25;:::i;:::-;9202:17;;;;:::i;:::-;9201:29;;;;:::i;:::-;9184:14;:46:::0;-1:-1:-1;;8998:240:0:o;9246:140::-;4326:6;;-1:-1:-1;;;;;4326:6:0;4336:10;4326:20;4318:50;;;;-1:-1:-1;;;4318: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;5028:497::-;4326:6;;-1:-1:-1;;;;;4326:6:0;4336:10;4326:20;4318:50;;;;-1:-1:-1;;;4318:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5107:22:0;::::1;5099:96;;;;-1:-1:-1::0;;;5099:96:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5214:16:0;::::1;3823:42;5214:16;;5206:90;;;;-1:-1:-1::0;;;5206:90:0::1;;;;;;;:::i;:::-;5340:1;5330:6:::0;;-1:-1:-1;;;;;5330:6:0::1;6391:16:::0;;:7;:16;;;;;;5320:21;5317:99:::1;;5368:6;::::0;;-1:-1:-1;;;;;5368:6:0::1;6391:16:::0;;;:7;:16;;;;;;;5358:46:::1;::::0;5368:6;5376:8;;5358:9:::1;:46::i;:::-;;5317:99;5436:6;:17:::0;;-1:-1:-1;;;;;;5436:17:0::1;-1:-1:-1::0;;;;;5436:17:0;::::1;::::0;;::::1;::::0;;5469:38:::1;::::0;5436:17;;;;5469:38:::1;::::0;5436:6;5469:38:::1;5028:497:::0;:::o;5533:148::-;4326:6;;-1:-1:-1;;;;;4326:6:0;4336:10;4326:20;4318:50;;;;-1:-1:-1;;;4318:50:0;;;;;;;:::i;:::-;5615:1:::1;5598:19:::0;;-1:-1:-1;;;;;;5598:19:0::1;::::0;;5633:40:::1;::::0;5615:1;;5633:40:::1;::::0;5615:1;;5633:40:::1;5533:148::o:0;7926:112::-;4326:6;;-1:-1:-1;;;;;4326:6:0;4336:10;4326:20;4318:50;;;;-1:-1:-1;;;4318:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8007:13:0;;;::::1;;::::0;;;:7:::1;:13;::::0;;;;:23;;-1:-1:-1;;8007:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7926:112::o;11635:219::-;4326:6;;-1:-1:-1;;;;;4326:6:0;4336:10;4326:20;4318:50;;;;-1:-1:-1;;;4318:50:0;;;;;;;:::i;:::-;11697:14:::1;::::0;::::1;;11696:15;11688:52;;;::::0;-1:-1:-1;;;11688:52:0;;8892:2:1;11688:52:0::1;::::0;::::1;8874:21:1::0;8931:2;8911:18;;;8904:30;8970:26;8950:18;;;8943:54;9014:18;;11688:52:0::1;8690:348:1::0;11688:52:0::1;11759:16;::::0;::::1;::::0;::::1;;;11751:53;;;::::0;-1:-1:-1;;;11751:53:0;;9245:2:1;11751:53:0::1;::::0;::::1;9227:21:1::0;9284:2;9264:18;;;9257:30;9323:26;9303:18;;;9296:54;9367:18;;11751:53:0::1;9043:348:1::0;11751:53:0::1;11825:14;:21:::0;;-1:-1:-1;;11825:21:0::1;11842:4;11825:21;::::0;;11635:219::o;6423:165::-;6501:4;6518:40;6528:10;6540:9;6551:6;6518:9;:40::i;:::-;-1:-1:-1;6576:4:0;;6423:165;-1:-1:-1;;;6423:165:0:o;9532:157::-;9574:7;;9630:13;3649:2;9630;:13;:::i;:::-;9611:15;;:33;;;;:::i;:::-;9666:13;3649:2;9666;:13;:::i;:::-;9646:16;;:34;;;;:::i;:::-;9603:78;;;;9532:157;;:::o;8515:475::-;4326:6;;-1:-1:-1;;;;;4326:6:0;4336:10;4326:20;4318:50;;;;-1:-1:-1;;;4318:50:0;;;;;;;:::i;:::-;8711:4:::1;3707:13;3649:2;3707;:13;:::i;:::-;3695:25;::::0;:9:::1;:25;:::i;:::-;8701:14;;;;:::i;:::-;8686:10:::0;8672;3707:13:::1;3649:2;3707;:13;:::i;:::-;3695:25;::::0;:9:::1;:25;:::i;:::-;8662:20;;;;:::i;:::-;8661:35;;;;:::i;:::-;:55;;8653:91;;;::::0;-1:-1:-1;;;8653:91:0;;9598:2:1;8653:91:0::1;::::0;::::1;9580:21:1::0;9637:2;9617:18;;;9610:30;9676:25;9656:18;;;9649:53;9719:18;;8653:91:0::1;9396:347:1::0;8653:91:0::1;8815:4;3707:13;3649:2;3707;:13;:::i;:::-;3695:25;::::0;:9:::1;:25;:::i;:::-;8805:14;;;;:::i;:::-;8789:11:::0;8774;3707:13:::1;3649:2;3707;:13;:::i;:::-;3695:25;::::0;:9:::1;:25;:::i;:::-;8764:21;;;;:::i;:::-;8763:37;;;;:::i;:::-;:57;;8755:96;;;::::0;-1:-1:-1;;;8755:96:0;;9950:2:1;8755:96:0::1;::::0;::::1;9932:21:1::0;9989:2;9969:18;;;9962:30;10028:28;10008:18;;;10001:56;10074:18;;8755:96:0::1;9748:350:1::0;8755:96:0::1;8905:10:::0;8891;3707:13:::1;3649:2;3707;:13;:::i;:::-;3695:25;::::0;:9:::1;:25;:::i;:::-;8881:20;;;;:::i;:::-;8880:35;;;;:::i;:::-;8862:15;:53;;;;8971:11;8956;3649:2;3707;:13;;;;:::i;:::-;3695:25;::::0;:9:::1;:25;:::i;:::-;8946:21;;;;:::i;:::-;8945:37;;;;:::i;:::-;8926:16;:56:::0;-1:-1:-1;;;;8515:475:0:o;7394:524::-;4326:6;;-1:-1:-1;;;;;4326:6:0;4336:10;4326:20;4318:50;;;;-1:-1:-1;;;4318:50:0;;;;;;;:::i;:::-;7463:20:::1;7496:9;7463:43;;7517:16;7547:10;-1:-1:-1::0;;;;;7547:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7577:10;::::0;7536:66:::1;::::0;-1:-1:-1;;;7536:66:0;;-1:-1:-1;;;;;7577:10:0;;::::1;7536:66;::::0;::::1;10571:34:1::0;7596:4:0::1;10621:18:1::0;;;10614:43;7536:40:0;::::1;::::0;::::1;::::0;10506:18:1;;7536:66:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7517:85:::0;-1:-1:-1;;;;;;7617:22:0;::::1;7613:192;;7676:10;-1:-1:-1::0;;;;;7676:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7709:10;::::0;7665:69:::1;::::0;-1:-1:-1;;;7665:69:0;;-1:-1:-1;;;;;7709:10:0;;::::1;7665:69;::::0;::::1;10571:34:1::0;7728:4:0::1;10621:18:1::0;;;10614:43;7665::0;::::1;::::0;::::1;::::0;10506:18:1;;7665:69:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7656:6;:78:::0;;-1:-1:-1;;;;;;7656:78:0::1;-1:-1:-1::0;;;;;7656:78:0;;;::::1;::::0;;;::::1;::::0;;7613:192:::1;;;7776:6;:17:::0;;-1:-1:-1;;;;;;7776:17:0::1;-1:-1:-1::0;;;;;7776:17:0;::::1;;::::0;;7613:192:::1;7815:9;:22:::0;;-1:-1:-1;;;;;;7815:22:0::1;-1:-1:-1::0;;;;;7815:22:0;::::1;::::0;;::::1;::::0;;;7848:62:::1;::::0;7865:4:::1;::::0;-1:-1:-1;;7848:8:0::1;:62::i;:::-;7452:466;;7394:524:::0;:::o;8046:127::-;4326:6;;-1:-1:-1;;;;;4326:6:0;4336:10;4326:20;4318:50;;;;-1:-1:-1;;;4318:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8136:19:0;;;::::1;;::::0;;;:10:::1;:19;::::0;;;;:29;;-1:-1:-1;;8136:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8046:127::o;6763:309::-;-1:-1:-1;;;;;6857:20:0;;6849:52;;;;-1:-1:-1;;;6849:52:0;;10870:2:1;6849:52:0;;;10852:21:1;10909:2;10889:18;;;10882:30;-1:-1:-1;;;10928:18:1;;;10921:49;10987:18;;6849:52:0;10668:343:1;6849:52:0;-1:-1:-1;;;;;6920:21:0;;6912:53;;;;-1:-1:-1;;;6912:53:0;;10870:2:1;6912:53:0;;;10852:21:1;10909:2;10889:18;;;10882:30;-1:-1:-1;;;10928:18:1;;;10921:49;10987:18;;6912:53:0;10668:343:1;6912:53:0;-1:-1:-1;;;;;6978:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;7031:33;;2702:25:1;;;7031:33:0;;2675:18:1;7031:33:0;;;;;;;6763:309;;;:::o;10184:1443::-;10263:4;-1:-1:-1;;;;;10288:18:0;;10280:68;;;;-1:-1:-1;;;10280:68:0;;11218:2:1;10280:68:0;;;11200:21:1;11257:2;11237:18;;;11230:30;11296:34;11276:18;;;11269:62;-1:-1:-1;;;11347:18:1;;;11340:35;11392:19;;10280:68:0;11016:401:1;10280:68:0;-1:-1:-1;;;;;10367:16:0;;10359:64;;;;-1:-1:-1;;;10359:64:0;;11624:2:1;10359:64:0;;;11606:21:1;11663:2;11643:18;;;11636:30;11702:34;11682:18;;;11675:62;-1:-1:-1;;;11753:18:1;;;11746:33;11796:19;;10359:64:0;11422:399:1;10359:64:0;-1:-1:-1;;;;;10442:16:0;;;;;;:10;:16;;;;;;;;:23;10434:65;;;;-1:-1:-1;;;10434:65:0;;12028:2:1;10434:65:0;;;12010:21:1;12067:2;12047:18;;;12040:30;12106:31;12086:18;;;12079:59;12155:18;;10434:65:0;11826:353:1;10434:65:0;-1:-1:-1;;;;;10518:14:0;;;;;;:10;:14;;;;;;;;:21;10510:63;;;;-1:-1:-1;;;10510:63:0;;12028:2:1;10510:63:0;;;12010:21:1;12067:2;12047:18;;;12040:30;12106:31;12086:18;;;12079:59;12155:18;;10510:63:0;11826:353:1;10510:63:0;10601:1;10592:6;:10;10584:64;;;;-1:-1:-1;;;10584:64:0;;12386:2:1;10584:64:0;;;12368:21:1;12425:2;12405:18;;;12398:30;12464:34;12444:18;;;12437:62;-1:-1:-1;;;12515:18:1;;;12508:39;12564:19;;10584:64:0;12184:405:1;10584:64:0;10672:20;10683:4;10689:2;10672:10;:20::i;:::-;10669:896;;;10713:14;;;;10709:89;;10748:34;;-1:-1:-1;;;10748:34:0;;12796:2:1;10748:34:0;;;12778:21:1;12835:2;12815:18;;;12808:30;12874:26;12854:18;;;12847:54;12918:18;;10748:34:0;12594:348:1;10709:89:0;-1:-1:-1;;;;;10815:13:0;;;;;;:7;:13;;;;;;;;10812:479;;;-1:-1:-1;;;;;10853:27:0;;;;;;:21;:27;;;;;;;;10852:28;:58;;;;-1:-1:-1;;;;;;10885:25:0;;;;;;:21;:25;;;;;;;;10884:26;10852:58;10848:185;;;10953:15;;10943:6;:25;;10935:78;;;;-1:-1:-1;;;10935:78:0;;;;;;;:::i;:::-;10812:479;;;-1:-1:-1;;;;;11058:11:0;;;;;;:7;:11;;;;;;;;11054:237;;;-1:-1:-1;;;;;11095:27:0;;;;;;:21;:27;;;;;;;;11094:28;:58;;;;-1:-1:-1;;;;;;11127:25:0;;;;;;:21;:25;;;;;;;;11126:26;11094:58;11090:186;;;11195:16;;11185:6;:26;;11177:79;;;;-1:-1:-1;;;11177:79:0;;;;;;;:::i;:::-;11322:9;;-1:-1:-1;;;;;11308:24:0;;;11322:9;;11308:24;;;;:40;;-1:-1:-1;;;;;;11337:11:0;;;;;;:7;:11;;;;;;;;11336:12;11308:40;11305:249;;;-1:-1:-1;;;;;11374:25:0;;;;;;:21;:25;;;;;;;;11369:170;;11458:14;;11448:6;11432:13;11442:2;-1:-1:-1;;;;;6391:16:0;6364:7;6391:16;;;:7;:16;;;;;;;6298:117;11432:13;:22;;;;:::i;:::-;:40;;11424:95;;;;-1:-1:-1;;;11424:95:0;;13691:2:1;11424:95:0;;;13673:21:1;13730:2;13710:18;;;13703:30;13769:34;13749:18;;;13742:62;-1:-1:-1;;;13820:18:1;;;13813:40;13870:19;;11424:95:0;13489:406:1;11424:95:0;11584:35;11602:4;11608:2;11612:6;11584: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;;3823: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;12174:467::-;12282:16;;12260:4;;12282:16;;;;;12277:221;;12315:28;12334:4;12340:2;12315:18;:28::i;:::-;12363:16;;;;;;;12362:17;:41;;;;;12383:20;12394:4;12400:2;12383:10;:20::i;:::-;12358:129;;;12424:47;;-1:-1:-1;;;12424:47:0;;14102:2:1;12424:47:0;;;14084:21:1;14141:2;14121:18;;;14114:30;14180:34;14160:18;;;14153:62;-1:-1:-1;;;14231:18:1;;;14224:35;14276:19;;12424:47:0;13900:401:1;12358:129:0;-1:-1:-1;;;;;12512:13:0;;;;;;:7;:13;;;;;:23;;12529:6;;12512:13;:23;;12529:6;;12512:23;:::i;:::-;;;;-1:-1:-1;;;;;;;12546:11:0;;;;;;:7;:11;;;;;:21;;12561:6;;12546:11;:21;;12561:6;;12546:21;:::i;:::-;;;;;;;;12600:2;-1:-1:-1;;;;;12585:26:0;12594:4;-1:-1:-1;;;;;12585:26:0;;12604:6;12585:26;;;;2702:25:1;;2690:2;2675:18;;2556:177;12585:26:0;;;;;;;;-1:-1:-1;12629:4:0;12174:467;;;;;:::o;11866:294::-;11948:16;;;;;;;11947:17;11939:65;;;;-1:-1:-1;;;11939:65:0;;14508:2:1;11939:65:0;;;14490:21:1;14547:2;14527:18;;;14520:30;14586:34;14566:18;;;14559:62;-1:-1:-1;;;14637:18:1;;;14630:33;14680:19;;11939:65:0;14306:399:1;11939:65:0;12020:20;12031:4;12037:2;12020:10;:20::i;:::-;12019:21;:37;;;;-1:-1:-1;12050:6:0;;-1:-1:-1;;;;;12044:12:0;;;12050:6;;12044:12;12019:37;12015:138;;;-1:-1:-1;;;;;12073:23:0;;;;;;:17;:23;;;;;:30;;-1:-1:-1;;12073:30:0;12099:4;12073:30;;;12118:16;:23;;-1:-1:-1;;12118:23:0;12073:30;12118:23;;;12015:138;11866:294;;:::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;8260:425::-;8462:2;8444:21;;;8501:2;8481:18;;;8474:30;8540:34;8535:2;8520:18;;8513:62;8611:31;8606:2;8591:18;;8584:59;8675:3;8660:19;;8260:425::o;10103:251::-;10173:6;10226:2;10214:9;10205:7;10201:23;10197:32;10194:52;;;10242:1;10239;10232:12;10194:52;10274:9;10268:16;10293:31;10318:5;10293:31;:::i;12947:404::-;13149:2;13131:21;;;13188:2;13168:18;;;13161:30;13227:34;13222:2;13207:18;;13200:62;-1:-1:-1;;;13293:2:1;13278:18;;13271:38;13341:3;13326:19;;12947:404::o;13356:128::-;13396:3;13427:1;13423:6;13420:1;13417:13;13414:39;;;13433:18;;:::i;:::-;-1:-1:-1;13469:9:1;;13356:128::o

Swarm Source

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