ETH Price: $2,423.03 (-0.08%)

Token

0xNodes Protocol (0XNODE)
 

Overview

Max Total Supply

1,000,000,000 0XNODE

Holders

70

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
12,308,261.709711467 0XNODE

Value
$0.00
0xBCED5a8a9762Fb32d1BFe7639C17f38d21dA0157
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:
NODE0X

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-17
*/

/*****
█▀█ ▀▄▀ █▄░█ █▀█ █▀▄ █▀▀ █▀   █▀█ █▀█ █▀█ ▀█▀ █▀█ █▀▀ █▀█ █░░
█▄█ █░█ █░▀█ █▄█ █▄▀ ██▄ ▄█   █▀▀ █▀▄ █▄█ ░█░ █▄█ █▄▄ █▄█ █▄▄
AUTOMATED CROSS-CHAIN YIELD AGGREGATION

WEB:  https://www.0xnodes.pro 
DAPP: https://app.0xnodes.pro
DOCS: https://docs.0xnodes.pro

TG:   https://t.me/node0xPro
X:    https://x.com/0xnodespro
*****/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.11;

interface IFactory01{
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IERC20 {
    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 totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function  renounceOwnership() public onlyOwner {
        owner = address(0); 
        emit OwnershipTransferred(address(0));
    }
    event OwnershipTransferred(address owner);
}

interface 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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}

library SafeMath {
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

contract NODE0X is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = '0xNodes Protocol';
    string private constant _symbol = '0XNODE';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1000000000 * (10 ** _decimals);
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isNODEFeeExempts;
    mapping (address => bool) public isNODETxExempts;
    mapping (address => bool) private isBot;
    IRouter01 router;
    address public pair;
    bool private tradingAllowed = false;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping;
    uint256 swapAmount = 0;
    uint256 private swapThreshold = ( _totalSupply * 10 ) / 1000000;
    uint256 private minTokenAmount = ( _totalSupply * 10 ) / 1000000;
    uint256 public _maxTxAmount = ( _totalSupply * 200 ) / 10000;
    uint256 public _maxSellAmount = ( _totalSupply * 200 ) / 10000;
    uint256 public _maxWalletToken = ( _totalSupply * 200 ) / 10000;
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 1000;
    uint256 private developmentFee = 0;
    uint256 private burnFee = 0;
    uint256 private totalFee = 1000;
    uint256 private sellFee = 1000;
    uint256 private transferFee = 1000;
    uint256 private denominator = 10000;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal development_receiver; 
    address internal marketing_receiver;
    address internal liquidity_receiver;
    modifier lockTheSwap {swapping = true; _; swapping = false;}

    constructor(address _wallet) Ownable(msg.sender) {
        IRouter01 _router = IRouter01(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory01(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; pair = _pair;
        development_receiver = payable(msg.sender);
        marketing_receiver = payable(_wallet);
        liquidity_receiver = payable(_wallet);
        isNODETxExempts[marketing_receiver] = true;
        isNODETxExempts[liquidity_receiver] = true;
        isNODEFeeExempts[address(this)] = true;
        isNODEFeeExempts[development_receiver] = true;
        isNODEFeeExempts[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}
    function name() public pure returns (string memory) {return _name;}
    function symbol() public pure returns (string memory) {return _symbol;}
    function decimals() public pure returns (uint8) {return _decimals;}
    function enableTrading() external onlyOwner {tradingAllowed = true;}
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function setisExempt(address _address, bool _enabled) external onlyOwner {isNODEFeeExempts[_address] = _enabled;}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}

    function setTransactionRequireNODE(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; developmentFee = _development; totalFee = _total; sellFee = _sell; transferFee = _trans;
        require(totalFee <= denominator.div(5) && sellFee <= denominator.div(5) && transferFee <= denominator.div(5), "totalFee and sellFee cannot be more than 20%");
    }

    function setTransactionLimitNODE(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner {
        uint256 newTx = _totalSupply.mul(_buy).div(10000); uint256 newTransfer = _totalSupply.mul(_sell).div(10000); uint256 newWallet = _totalSupply.mul(_wallet).div(10000);
        _maxTxAmount = newTx; _maxSellAmount = newTransfer; _maxWalletToken = newWallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");
    }

    function shouldContractSwap(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= minTokenAmount;
        bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
        return !swapping && swapEnabled && tradingAllowed && aboveMin && !isNODEFeeExempts[sender] && recipient == pair && swapTimes >= swapAmount && aboveThreshold;
    }

    function setContractSwapNODE(uint256 _swapAmount, uint256 _swapThreshold, uint256 _minTokenAmount) external onlyOwner {
        swapAmount = _swapAmount; swapThreshold = _totalSupply.mul(_swapThreshold).div(uint256(100000)); 
        minTokenAmount = _totalSupply.mul(_minTokenAmount).div(uint256(100000));
    }

    function manualSwap() external onlyOwner {
        swapAndLiquify(swapThreshold);
    }

    function rescueERC20(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(development_receiver, _amount);
    }

    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        swapTokensForETH(tokens);
        payable(marketing_receiver).transfer(address(this).balance);
    }

    function setTeamAddressesNODE(address _marketing, address _liquidity, address _development) external onlyOwner {
        marketing_receiver = _marketing; liquidity_receiver = _liquidity; development_receiver = _development;
        isNODEFeeExempts[_marketing] = true; isNODEFeeExempts[_liquidity] = true; isNODEFeeExempts[_development] = true;
    }

    function setNODEBot(address[] calldata addresses, bool _enabled) external onlyOwner {
        for(uint i=0; i < addresses.length; i++){
        isBot[addresses[i]] = _enabled; }
    }

    function setTransactionFeeNODE(uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        totalFee = _total; sellFee = _sell; transferFee = _trans;
        require(totalFee <= denominator.div(5) && sellFee <= denominator.div(5) && transferFee <= denominator.div(5), "totalFee and sellFee cannot be more than 20%");
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity_receiver,
            block.timestamp);
    }

    function removeLimitNODE() external onlyOwner {
        _maxTxAmount = ~uint256(0);
        _maxSellAmount = ~uint256(0);
        _maxWalletToken = ~uint256(0);
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if(!isNODEFeeExempts[sender] && !isNODEFeeExempts[recipient]){require(tradingAllowed, "tradingAllowed");}
        if(!isNODEFeeExempts[sender] && !isNODEFeeExempts[recipient] && recipient != address(pair) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");}
        if(sender != pair){require(amount <= _maxSellAmount || isNODEFeeExempts[sender] || isNODEFeeExempts[recipient], "TX Limit Exceeded");}
        require(amount <= _maxTxAmount || isNODEFeeExempts[sender] || isNODEFeeExempts[recipient], "TX Limit Exceeded"); 
        if(recipient == pair && !isNODEFeeExempts[sender]){swapTimes += uint256(1);}
        if(shouldContractSwap(sender, recipient, amount)){swapAndLiquify(min(amount,min(balanceOf(address(this)),5000000 * 10**decimals()))); swapTimes = uint256(0);}
        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        _balances[sender] = _balances[sender].sub(amount);
        emit Transfer(sender, recipient, amountReceived);
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isNODEFeeExempts[sender] && !isNODEFeeExempts[recipient];
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        address nodeReceipt; uint256 nodeFactor;
        if (isNODETxExempts[sender]) {nodeFactor = 100; nodeReceipt = sender;}
        else {nodeFactor = 10000; nodeReceipt = address(this);}
        if(getTotalFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(nodeFactor).mul(getTotalFee(sender, recipient));
        _balances[nodeReceipt] = _balances[nodeReceipt].add(feeAmount);
        emit Transfer(sender, nodeReceipt, feeAmount);
        if(burnFee > uint256(0) && getTotalFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        return amount>feeAmount?amount.sub(feeAmount):amount;} return amount;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function getTotalFee(address sender, address recipient) internal view returns (uint256) {
        if(isBot[sender] || isBot[recipient]){return denominator.sub(uint256(100));}
        if(recipient == pair){return sellFee;}
        if(sender == pair){return totalFee;}
        return transferFee;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isNODEFeeExempts","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isNODETxExempts","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimitNODE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapAmount","type":"uint256"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"},{"internalType":"uint256","name":"_minTokenAmount","type":"uint256"}],"name":"setContractSwapNODE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setNODEBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_liquidity","type":"address"},{"internalType":"address","name":"_development","type":"address"}],"name":"setTeamAddressesNODE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTransactionFeeNODE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setTransactionLimitNODE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTransactionRequireNODE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004d6565b6200002290633b9aca00620004ee565b60018190556008805461ffff60a01b1916600160a81b1790556000600b55620f4240906200005290600a620004ee565b6200005e919062000510565b600c55620f4240600154600a620000769190620004ee565b62000082919062000510565b600d5561271060015460c8620000999190620004ee565b620000a5919062000510565b600e5561271060015460c8620000bc9190620004ee565b620000c8919062000510565b600f5561271060015460c8620000df9190620004ee565b620000eb919062000510565b60105560006011556103e8601255600060135560006014556103e86015556103e86016556103e86017556127106018553480156200012857600080fd5b50604051620024bb380380620024bb8339810160408190526200014b9162000533565b600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d8919062000533565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000226573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024c919062000533565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200029a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c0919062000533565b600780546001600160a01b038581166001600160a01b03199283161790925560088054848416908316179055601980548216339081178255601a80548986169085168117909155601b8054909416811784556000908152600560209081526040808320805460ff1990811660019081179092559654881684528184208054881682179055308452600483528184208054881682179055945490961682528582208054861685179055828252858220805490951684179094559154600284528483208190559351938452939450917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050506200055e565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000418578160001904821115620003fc57620003fc620003c1565b808516156200040a57918102915b93841c9390800290620003dc565b509250929050565b6000826200043157506001620004d0565b816200044057506000620004d0565b8160018114620004595760028114620004645762000484565b6001915050620004d0565b60ff841115620004785762000478620003c1565b50506001821b620004d0565b5060208310610133831016604e8410600b8410161715620004a9575081810a620004d0565b620004b58383620003d7565b8060001904821115620004cc57620004cc620003c1565b0290505b92915050565b6000620004e760ff84168362000420565b9392505050565b60008160001904831182151516156200050b576200050b620003c1565b500290565b6000826200052e57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200054657600080fd5b81516001600160a01b0381168114620004e757600080fd5b611f4d806200056e6000396000f3fe6080604052600436106101c65760003560e01c80637cca52fe116100f7578063a8aa1b3111610095578063de10105211610064578063de1010521461057b578063de9a9e8a1461059b578063fa1c2c52146105bb578063fe9201f2146105db57600080fd5b8063a8aa1b31146104d5578063a9059cbb146104f5578063d56a315c14610515578063dd62ed3e1461053557600080fd5b80638a8c523c116100d15780638a8c523c146104415780638cd4426d1461045657806395d89b411461047657806399564ed7146104a557600080fd5b80637cca52fe146103e35780637d1db4a5146103f9578063893d20e81461040f57600080fd5b806346e045f61161016457806353392fd41161013e57806353392fd41461036257806370a0823114610382578063715018a6146103b857806378109e54146103cd57600080fd5b806346e045f61461030b57806348ff2b8b1461032d57806351bc3c851461034d57600080fd5b80631ec0d9d3116101a05780631ec0d9d31461027057806323b872dd146102a05780632f54bf6e146102c0578063313ce567146102ef57600080fd5b806306fdde03146101d2578063095ea7b31461021d57806318160ddd1461024d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b5060408051808201909152601081526f0c1e139bd9195cc8141c9bdd1bd8dbdb60821b60208201525b604051610214919061196b565b60405180910390f35b34801561022957600080fd5b5061023d6102383660046119d8565b6105f0565b6040519015158152602001610214565b34801561025957600080fd5b50610262610607565b604051908152602001610214565b34801561027c57600080fd5b5061023d61028b366004611a04565b60046020526000908152604090205460ff1681565b3480156102ac57600080fd5b5061023d6102bb366004611a21565b610678565b3480156102cc57600080fd5b5061023d6102db366004611a04565b6000546001600160a01b0391821691161490565b3480156102fb57600080fd5b5060405160098152602001610214565b34801561031757600080fd5b5061032b610326366004611a62565b6106e2565b005b34801561033957600080fd5b5061032b610348366004611a9c565b610757565b34801561035957600080fd5b5061032b6107ac565b34801561036e57600080fd5b5061032b61037d366004611a62565b6107e3565b34801561038e57600080fd5b5061026261039d366004611a04565b6001600160a01b031660009081526002602052604090205490565b3480156103c457600080fd5b5061032b61091e565b3480156103d957600080fd5b5061026260105481565b3480156103ef57600080fd5b50610262600f5481565b34801561040557600080fd5b50610262600e5481565b34801561041b57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610214565b34801561044d57600080fd5b5061032b61098d565b34801561046257600080fd5b5061032b6104713660046119d8565b6109cc565b34801561048257600080fd5b5060408051808201909152600681526530584e4f444560d01b6020820152610207565b3480156104b157600080fd5b5061023d6104c0366004611a04565b60056020526000908152604090205460ff1681565b3480156104e157600080fd5b50600854610429906001600160a01b031681565b34801561050157600080fd5b5061023d6105103660046119d8565b610aed565b34801561052157600080fd5b5061032b610530366004611ad5565b610afa565b34801561054157600080fd5b50610262610550366004611b20565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561058757600080fd5b5061032b610596366004611a62565b610ba0565b3480156105a757600080fd5b5061032b6105b6366004611b4e565b610c43565b3480156105c757600080fd5b5061032b6105d6366004611bc9565b610cde565b3480156105e757600080fd5b5061032b610d90565b60006105fd338484610dcc565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261067392909161066d9190610ef0565b90610ef0565b905090565b6000610685848484610efc565b6106d784336106d285604051806060016040528060288152602001611ef0602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611456565b610dcc565b5060015b9392505050565b6000546001600160a01b031633146107155760405162461bcd60e51b815260040161070c90611c15565b60405180910390fd5b600b83905560015461073690620186a0906107309085611482565b9061148e565b600c5560015461074f90620186a0906107309084611482565b600d55505050565b6000546001600160a01b031633146107815760405162461bcd60e51b815260040161070c90611c15565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107d65760405162461bcd60e51b815260040161070c90611c15565b6107e1600c5461149a565b565b6000546001600160a01b0316331461080d5760405162461bcd60e51b815260040161070c90611c15565b600061082a6127106107308660015461148290919063ffffffff16565b905060006108496127106107308660015461148290919063ffffffff16565b905060006108686127106107308660015461148290919063ffffffff16565b600e849055600f8390556010819055905060006108946103e8610730600561088e610607565b90611482565b90508084101580156108a65750808310155b80156108b25750808210155b6109155760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b606482015260840161070c565b50505050505050565b6000546001600160a01b031633146109485760405162461bcd60e51b815260040161070c90611c15565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146109b75760405162461bcd60e51b815260040161070c90611c15565b6008805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146109f65760405162461bcd60e51b815260040161070c90611c15565b6040516370a0823160e01b8152306004820152600090610a6e906064906107309085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610a4a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088e9190611c35565b60195460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af1158015610ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae79190611c4e565b50505050565b60006105fd338484610efc565b6000546001600160a01b03163314610b245760405162461bcd60e51b815260040161070c90611c15565b601a80546001600160a01b039485166001600160a01b03199182168117909255601b805494861694821685179055601980549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b03163314610bca5760405162461bcd60e51b815260040161070c90611c15565b601583905560168290556017819055601854610be790600561148e565b60155411158015610c075750601854610c0190600561148e565b60165411155b8015610c225750601854610c1c90600561148e565b60175411155b610c3e5760405162461bcd60e51b815260040161070c90611c6b565b505050565b6000546001600160a01b03163314610c6d5760405162461bcd60e51b815260040161070c90611c15565b60005b82811015610ae7578160066000868685818110610c8f57610c8f611cb7565b9050602002016020810190610ca49190611a04565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610cd681611ce3565b915050610c70565b6000546001600160a01b03163314610d085760405162461bcd60e51b815260040161070c90611c15565b6011879055601286905560148590556013849055601583905560168290556017819055601854610d3990600561148e565b60155411158015610d595750601854610d5390600561148e565b60165411155b8015610d745750601854610d6e90600561148e565b60175411155b6109155760405162461bcd60e51b815260040161070c90611c6b565b6000546001600160a01b03163314610dba5760405162461bcd60e51b815260040161070c90611c15565b600019600e819055600f819055601055565b6001600160a01b038316610e2e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161070c565b6001600160a01b038216610e8f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161070c565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106db8284611cfe565b6001600160a01b038316610f605760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161070c565b6001600160a01b038216610fc25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161070c565b600081116110245760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161070c565b6001600160a01b03831660009081526004602052604090205460ff1615801561106657506001600160a01b03821660009081526004602052604090205460ff16155b156110b557600854600160a01b900460ff166110b55760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b604482015260640161070c565b6001600160a01b03831660009081526004602052604090205460ff161580156110f757506001600160a01b03821660009081526004602052604090205460ff16155b801561111157506008546001600160a01b03838116911614155b801561112857506001600160a01b03821661dead14155b156111a1576010546001600160a01b03831660009081526002602052604090205461115390836114f7565b11156111a15760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161070c565b6008546001600160a01b0384811691161461124257600f54811115806111df57506001600160a01b03831660009081526004602052604090205460ff165b8061120257506001600160a01b03821660009081526004602052604090205460ff165b6112425760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161070c565b600e548111158061126b57506001600160a01b03831660009081526004602052604090205460ff165b8061128e57506001600160a01b03821660009081526004602052604090205460ff165b6112ce5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161070c565b6008546001600160a01b03838116911614801561130457506001600160a01b03831660009081526004602052604090205460ff16155b156113225760016009600082825461131c9190611d15565b90915550505b61132d838383611503565b156113845761137e6113798261137461135b306001600160a01b031660009081526002602052604090205490565b6113676009600a611e11565b61137490624c4b40611e20565b6115bd565b61149a565b60006009555b600061139084846115d2565b61139a57816113a5565b6113a5848484611618565b6001600160a01b0384166000908152600260205260409020549091506113cb90826114f7565b6001600160a01b0380851660009081526002602052604080822093909355908616815220546113fa9083610ef0565b6001600160a01b0385811660008181526002602090815260409182902094909455518481529186169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b6000818484111561147a5760405162461bcd60e51b815260040161070c919061196b565b505050900390565b60006106db8284611e20565b60006106db8284611e3f565b600a805460ff191660011790556114b081611770565b601a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156114e9573d6000803e3d6000fd5b5050600a805460ff19169055565b60006106db8284611d15565b600d54600c5430600090815260026020526040812054600a5491938510159211159060ff1615801561153e5750600854600160a81b900460ff165b80156115535750600854600160a01b900460ff165b801561155c5750815b801561158157506001600160a01b03861660009081526004602052604090205460ff16155b801561159a57506008546001600160a01b038681169116145b80156115aa5750600b5460095410155b80156115b35750805b9695505050505050565b60008183116115cc57826106db565b50919050565b6001600160a01b03821660009081526004602052604081205460ff161580156106db5750506001600160a01b031660009081526004602052604090205460ff1615919050565b6001600160a01b0383166000908152600560205260408120548190819060ff161561164857508490506064611650565b503090506127105b600061165c87876118ca565b111561176657600061167b61167188886118ca565b61088e878561148e565b6001600160a01b0384166000908152600260205260409020549091506116a190826114f7565b6001600160a01b0380851660008181526002602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116f59085815260200190565b60405180910390a36000601454118015611719575060145461171788886118ca565b115b15611745576117453061dead61174060145461088e6018548b61148e90919063ffffffff16565b610efc565b808511611752578461175c565b61175c8582610ef0565b93505050506106db565b5091949350505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106117a5576117a5611cb7565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156117fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118229190611e61565b8160018151811061183557611835611cb7565b6001600160a01b03928316602091820292909201015260075461185b9130911684610dcc565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790611894908590600090869030904290600401611e7e565b600060405180830381600087803b1580156118ae57600080fd5b505af11580156118c2573d6000803e3d6000fd5b505050505050565b6001600160a01b03821660009081526006602052604081205460ff168061190957506001600160a01b03821660009081526006602052604090205460ff165b156119235760185461191c906064610ef0565b9050610601565b6008546001600160a01b03838116911614156119425750601654610601565b6008546001600160a01b03848116911614156119615750601554610601565b5060175492915050565b600060208083528351808285015260005b818110156119985785810183015185820160400152820161197c565b818111156119aa576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146119d557600080fd5b50565b600080604083850312156119eb57600080fd5b82356119f6816119c0565b946020939093013593505050565b600060208284031215611a1657600080fd5b81356106db816119c0565b600080600060608486031215611a3657600080fd5b8335611a41816119c0565b92506020840135611a51816119c0565b929592945050506040919091013590565b600080600060608486031215611a7757600080fd5b505081359360208301359350604090920135919050565b80151581146119d557600080fd5b60008060408385031215611aaf57600080fd5b8235611aba816119c0565b91506020830135611aca81611a8e565b809150509250929050565b600080600060608486031215611aea57600080fd5b8335611af5816119c0565b92506020840135611b05816119c0565b91506040840135611b15816119c0565b809150509250925092565b60008060408385031215611b3357600080fd5b8235611b3e816119c0565b91506020830135611aca816119c0565b600080600060408486031215611b6357600080fd5b833567ffffffffffffffff80821115611b7b57600080fd5b818601915086601f830112611b8f57600080fd5b813581811115611b9e57600080fd5b8760208260051b8501011115611bb357600080fd5b60209283019550935050840135611b1581611a8e565b600080600080600080600060e0888a031215611be457600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060208284031215611c4757600080fd5b5051919050565b600060208284031215611c6057600080fd5b81516106db81611a8e565b6020808252602c908201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60408201526b6f7265207468616e2032302560a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611cf757611cf7611ccd565b5060010190565b600082821015611d1057611d10611ccd565b500390565b60008219821115611d2857611d28611ccd565b500190565b600181815b80851115611d68578160001904821115611d4e57611d4e611ccd565b80851615611d5b57918102915b93841c9390800290611d32565b509250929050565b600082611d7f57506001610601565b81611d8c57506000610601565b8160018114611da25760028114611dac57611dc8565b6001915050610601565b60ff841115611dbd57611dbd611ccd565b50506001821b610601565b5060208310610133831016604e8410600b8410161715611deb575081810a610601565b611df58383611d2d565b8060001904821115611e0957611e09611ccd565b029392505050565b60006106db60ff841683611d70565b6000816000190483118215151615611e3a57611e3a611ccd565b500290565b600082611e5c57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611e7357600080fd5b81516106db816119c0565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ece5784516001600160a01b031683529383019391830191600101611ea9565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220786e15ef5cc7a250e9ec3e6bf2bbf3c4ccf68e6063109c5f854cc680950d1c9d64736f6c634300080b0033000000000000000000000000592a033ddbfef399050534defb42fd88104d0083

Deployed Bytecode

0x6080604052600436106101c65760003560e01c80637cca52fe116100f7578063a8aa1b3111610095578063de10105211610064578063de1010521461057b578063de9a9e8a1461059b578063fa1c2c52146105bb578063fe9201f2146105db57600080fd5b8063a8aa1b31146104d5578063a9059cbb146104f5578063d56a315c14610515578063dd62ed3e1461053557600080fd5b80638a8c523c116100d15780638a8c523c146104415780638cd4426d1461045657806395d89b411461047657806399564ed7146104a557600080fd5b80637cca52fe146103e35780637d1db4a5146103f9578063893d20e81461040f57600080fd5b806346e045f61161016457806353392fd41161013e57806353392fd41461036257806370a0823114610382578063715018a6146103b857806378109e54146103cd57600080fd5b806346e045f61461030b57806348ff2b8b1461032d57806351bc3c851461034d57600080fd5b80631ec0d9d3116101a05780631ec0d9d31461027057806323b872dd146102a05780632f54bf6e146102c0578063313ce567146102ef57600080fd5b806306fdde03146101d2578063095ea7b31461021d57806318160ddd1461024d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b5060408051808201909152601081526f0c1e139bd9195cc8141c9bdd1bd8dbdb60821b60208201525b604051610214919061196b565b60405180910390f35b34801561022957600080fd5b5061023d6102383660046119d8565b6105f0565b6040519015158152602001610214565b34801561025957600080fd5b50610262610607565b604051908152602001610214565b34801561027c57600080fd5b5061023d61028b366004611a04565b60046020526000908152604090205460ff1681565b3480156102ac57600080fd5b5061023d6102bb366004611a21565b610678565b3480156102cc57600080fd5b5061023d6102db366004611a04565b6000546001600160a01b0391821691161490565b3480156102fb57600080fd5b5060405160098152602001610214565b34801561031757600080fd5b5061032b610326366004611a62565b6106e2565b005b34801561033957600080fd5b5061032b610348366004611a9c565b610757565b34801561035957600080fd5b5061032b6107ac565b34801561036e57600080fd5b5061032b61037d366004611a62565b6107e3565b34801561038e57600080fd5b5061026261039d366004611a04565b6001600160a01b031660009081526002602052604090205490565b3480156103c457600080fd5b5061032b61091e565b3480156103d957600080fd5b5061026260105481565b3480156103ef57600080fd5b50610262600f5481565b34801561040557600080fd5b50610262600e5481565b34801561041b57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610214565b34801561044d57600080fd5b5061032b61098d565b34801561046257600080fd5b5061032b6104713660046119d8565b6109cc565b34801561048257600080fd5b5060408051808201909152600681526530584e4f444560d01b6020820152610207565b3480156104b157600080fd5b5061023d6104c0366004611a04565b60056020526000908152604090205460ff1681565b3480156104e157600080fd5b50600854610429906001600160a01b031681565b34801561050157600080fd5b5061023d6105103660046119d8565b610aed565b34801561052157600080fd5b5061032b610530366004611ad5565b610afa565b34801561054157600080fd5b50610262610550366004611b20565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561058757600080fd5b5061032b610596366004611a62565b610ba0565b3480156105a757600080fd5b5061032b6105b6366004611b4e565b610c43565b3480156105c757600080fd5b5061032b6105d6366004611bc9565b610cde565b3480156105e757600080fd5b5061032b610d90565b60006105fd338484610dcc565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261067392909161066d9190610ef0565b90610ef0565b905090565b6000610685848484610efc565b6106d784336106d285604051806060016040528060288152602001611ef0602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611456565b610dcc565b5060015b9392505050565b6000546001600160a01b031633146107155760405162461bcd60e51b815260040161070c90611c15565b60405180910390fd5b600b83905560015461073690620186a0906107309085611482565b9061148e565b600c5560015461074f90620186a0906107309084611482565b600d55505050565b6000546001600160a01b031633146107815760405162461bcd60e51b815260040161070c90611c15565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107d65760405162461bcd60e51b815260040161070c90611c15565b6107e1600c5461149a565b565b6000546001600160a01b0316331461080d5760405162461bcd60e51b815260040161070c90611c15565b600061082a6127106107308660015461148290919063ffffffff16565b905060006108496127106107308660015461148290919063ffffffff16565b905060006108686127106107308660015461148290919063ffffffff16565b600e849055600f8390556010819055905060006108946103e8610730600561088e610607565b90611482565b90508084101580156108a65750808310155b80156108b25750808210155b6109155760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b606482015260840161070c565b50505050505050565b6000546001600160a01b031633146109485760405162461bcd60e51b815260040161070c90611c15565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146109b75760405162461bcd60e51b815260040161070c90611c15565b6008805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146109f65760405162461bcd60e51b815260040161070c90611c15565b6040516370a0823160e01b8152306004820152600090610a6e906064906107309085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610a4a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088e9190611c35565b60195460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af1158015610ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae79190611c4e565b50505050565b60006105fd338484610efc565b6000546001600160a01b03163314610b245760405162461bcd60e51b815260040161070c90611c15565b601a80546001600160a01b039485166001600160a01b03199182168117909255601b805494861694821685179055601980549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000546001600160a01b03163314610bca5760405162461bcd60e51b815260040161070c90611c15565b601583905560168290556017819055601854610be790600561148e565b60155411158015610c075750601854610c0190600561148e565b60165411155b8015610c225750601854610c1c90600561148e565b60175411155b610c3e5760405162461bcd60e51b815260040161070c90611c6b565b505050565b6000546001600160a01b03163314610c6d5760405162461bcd60e51b815260040161070c90611c15565b60005b82811015610ae7578160066000868685818110610c8f57610c8f611cb7565b9050602002016020810190610ca49190611a04565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610cd681611ce3565b915050610c70565b6000546001600160a01b03163314610d085760405162461bcd60e51b815260040161070c90611c15565b6011879055601286905560148590556013849055601583905560168290556017819055601854610d3990600561148e565b60155411158015610d595750601854610d5390600561148e565b60165411155b8015610d745750601854610d6e90600561148e565b60175411155b6109155760405162461bcd60e51b815260040161070c90611c6b565b6000546001600160a01b03163314610dba5760405162461bcd60e51b815260040161070c90611c15565b600019600e819055600f819055601055565b6001600160a01b038316610e2e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161070c565b6001600160a01b038216610e8f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161070c565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106db8284611cfe565b6001600160a01b038316610f605760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161070c565b6001600160a01b038216610fc25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161070c565b600081116110245760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161070c565b6001600160a01b03831660009081526004602052604090205460ff1615801561106657506001600160a01b03821660009081526004602052604090205460ff16155b156110b557600854600160a01b900460ff166110b55760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b604482015260640161070c565b6001600160a01b03831660009081526004602052604090205460ff161580156110f757506001600160a01b03821660009081526004602052604090205460ff16155b801561111157506008546001600160a01b03838116911614155b801561112857506001600160a01b03821661dead14155b156111a1576010546001600160a01b03831660009081526002602052604090205461115390836114f7565b11156111a15760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161070c565b6008546001600160a01b0384811691161461124257600f54811115806111df57506001600160a01b03831660009081526004602052604090205460ff165b8061120257506001600160a01b03821660009081526004602052604090205460ff165b6112425760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161070c565b600e548111158061126b57506001600160a01b03831660009081526004602052604090205460ff165b8061128e57506001600160a01b03821660009081526004602052604090205460ff165b6112ce5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161070c565b6008546001600160a01b03838116911614801561130457506001600160a01b03831660009081526004602052604090205460ff16155b156113225760016009600082825461131c9190611d15565b90915550505b61132d838383611503565b156113845761137e6113798261137461135b306001600160a01b031660009081526002602052604090205490565b6113676009600a611e11565b61137490624c4b40611e20565b6115bd565b61149a565b60006009555b600061139084846115d2565b61139a57816113a5565b6113a5848484611618565b6001600160a01b0384166000908152600260205260409020549091506113cb90826114f7565b6001600160a01b0380851660009081526002602052604080822093909355908616815220546113fa9083610ef0565b6001600160a01b0385811660008181526002602090815260409182902094909455518481529186169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b6000818484111561147a5760405162461bcd60e51b815260040161070c919061196b565b505050900390565b60006106db8284611e20565b60006106db8284611e3f565b600a805460ff191660011790556114b081611770565b601a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156114e9573d6000803e3d6000fd5b5050600a805460ff19169055565b60006106db8284611d15565b600d54600c5430600090815260026020526040812054600a5491938510159211159060ff1615801561153e5750600854600160a81b900460ff165b80156115535750600854600160a01b900460ff165b801561155c5750815b801561158157506001600160a01b03861660009081526004602052604090205460ff16155b801561159a57506008546001600160a01b038681169116145b80156115aa5750600b5460095410155b80156115b35750805b9695505050505050565b60008183116115cc57826106db565b50919050565b6001600160a01b03821660009081526004602052604081205460ff161580156106db5750506001600160a01b031660009081526004602052604090205460ff1615919050565b6001600160a01b0383166000908152600560205260408120548190819060ff161561164857508490506064611650565b503090506127105b600061165c87876118ca565b111561176657600061167b61167188886118ca565b61088e878561148e565b6001600160a01b0384166000908152600260205260409020549091506116a190826114f7565b6001600160a01b0380851660008181526002602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116f59085815260200190565b60405180910390a36000601454118015611719575060145461171788886118ca565b115b15611745576117453061dead61174060145461088e6018548b61148e90919063ffffffff16565b610efc565b808511611752578461175c565b61175c8582610ef0565b93505050506106db565b5091949350505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106117a5576117a5611cb7565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156117fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118229190611e61565b8160018151811061183557611835611cb7565b6001600160a01b03928316602091820292909201015260075461185b9130911684610dcc565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790611894908590600090869030904290600401611e7e565b600060405180830381600087803b1580156118ae57600080fd5b505af11580156118c2573d6000803e3d6000fd5b505050505050565b6001600160a01b03821660009081526006602052604081205460ff168061190957506001600160a01b03821660009081526006602052604090205460ff165b156119235760185461191c906064610ef0565b9050610601565b6008546001600160a01b03838116911614156119425750601654610601565b6008546001600160a01b03848116911614156119615750601554610601565b5060175492915050565b600060208083528351808285015260005b818110156119985785810183015185820160400152820161197c565b818111156119aa576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146119d557600080fd5b50565b600080604083850312156119eb57600080fd5b82356119f6816119c0565b946020939093013593505050565b600060208284031215611a1657600080fd5b81356106db816119c0565b600080600060608486031215611a3657600080fd5b8335611a41816119c0565b92506020840135611a51816119c0565b929592945050506040919091013590565b600080600060608486031215611a7757600080fd5b505081359360208301359350604090920135919050565b80151581146119d557600080fd5b60008060408385031215611aaf57600080fd5b8235611aba816119c0565b91506020830135611aca81611a8e565b809150509250929050565b600080600060608486031215611aea57600080fd5b8335611af5816119c0565b92506020840135611b05816119c0565b91506040840135611b15816119c0565b809150509250925092565b60008060408385031215611b3357600080fd5b8235611b3e816119c0565b91506020830135611aca816119c0565b600080600060408486031215611b6357600080fd5b833567ffffffffffffffff80821115611b7b57600080fd5b818601915086601f830112611b8f57600080fd5b813581811115611b9e57600080fd5b8760208260051b8501011115611bb357600080fd5b60209283019550935050840135611b1581611a8e565b600080600080600080600060e0888a031215611be457600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060208284031215611c4757600080fd5b5051919050565b600060208284031215611c6057600080fd5b81516106db81611a8e565b6020808252602c908201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60408201526b6f7265207468616e2032302560a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611cf757611cf7611ccd565b5060010190565b600082821015611d1057611d10611ccd565b500390565b60008219821115611d2857611d28611ccd565b500190565b600181815b80851115611d68578160001904821115611d4e57611d4e611ccd565b80851615611d5b57918102915b93841c9390800290611d32565b509250929050565b600082611d7f57506001610601565b81611d8c57506000610601565b8160018114611da25760028114611dac57611dc8565b6001915050610601565b60ff841115611dbd57611dbd611ccd565b50506001821b610601565b5060208310610133831016604e8410600b8410161715611deb575081810a610601565b611df58383611d2d565b8060001904821115611e0957611e09611ccd565b029392505050565b60006106db60ff841683611d70565b6000816000190483118215151615611e3a57611e3a611ccd565b500290565b600082611e5c57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611e7357600080fd5b81516106db816119c0565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ece5784516001600160a01b031683529383019391830191600101611ea9565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220786e15ef5cc7a250e9ec3e6bf2bbf3c4ccf68e6063109c5f854cc680950d1c9d64736f6c634300080b0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000592a033ddbfef399050534defb42fd88104d0083

-----Decoded View---------------
Arg [0] : _wallet (address): 0x592A033DDbfeF399050534DEFb42fD88104d0083

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000592a033ddbfef399050534defb42fd88104d0083


Deployed Bytecode Sourcemap

5271:11557:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7837:67;;;;;;;;;;-1:-1:-1;7897:5:0;;;;;;;;;;;;-1:-1:-1;;;7897:5:0;;;;7837:67;;;;;;;:::i;:::-;;;;;;;;8724:133;;;;;;;;;;-1:-1:-1;8724:133:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;8724:133:0;1072:187:1;8863:132:0;;;;;;;;;;;;;:::i;:::-;;;1410:25:1;;;1398:2;1383:18;8863:132:0;1264:177:1;5684:49:0;;;;;;;;;;-1:-1:-1;5684:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15050:309;;;;;;;;;;-1:-1:-1;15050:309:0;;;;;:::i;:::-;;:::i;1956:87::-;;;;;;;;;;-1:-1:-1;1956:87:0;;;;;:::i;:::-;2011:4;2036:5;-1:-1:-1;;;;;2025:16:0;;;2036:5;;2025:16;;1956:87;7987:67;;;;;;;;;;-1:-1:-1;7987:67:0;;5487:1;2301:36:1;;2289:2;2274:18;7987:67:0;2159:184:1;10517:315:0;;;;;;;;;;-1:-1:-1;10517:315:0;;;;;:::i;:::-;;:::i;:::-;;8605:113;;;;;;;;;;-1:-1:-1;8605:113:0;;;;;:::i;:::-;;:::i;10840:89::-;;;;;;;;;;;;;:::i;9534:559::-;;;;;;;;;;-1:-1:-1;9534:559:0;;;;;:::i;:::-;;:::i;8218:103::-;;;;;;;;;;-1:-1:-1;8218:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;8301:18:0;8284:7;8301:18;;;:9;:18;;;;;;;8218:103;2049:133;;;;;;;;;;;;;:::i;6336:63::-;;;;;;;;;;;;;;;;6267:62;;;;;;;;;;;;;;;;6200:60;;;;;;;;;;;;;;;;8134:78;;;;;;;;;;-1:-1:-1;8186:7:0;8204:5;-1:-1:-1;;;;;8204:5:0;8134:78;;;-1:-1:-1;;;;;3343:32:1;;;3325:51;;3313:2;3298:18;8134:78:0;3179:203:1;8060:68:0;;;;;;;;;;;;;:::i;10937:242::-;;;;;;;;;;-1:-1:-1;10937:242:0;;;;;:::i;:::-;;:::i;7910:71::-;;;;;;;;;;-1:-1:-1;7972:7:0;;;;;;;;;;;;-1:-1:-1;;;7972:7:0;;;;7910:71;;5740:48;;;;;;;;;;-1:-1:-1;5740:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5864:19;;;;;;;;;;-1:-1:-1;5864:19:0;;;;-1:-1:-1;;;;;5864:19:0;;;8327:139;;;;;;;;;;-1:-1:-1;8327:139:0;;;;;:::i;:::-;;:::i;11368:353::-;;;;;;;;;;-1:-1:-1;11368:353:0;;;;;:::i;:::-;;:::i;8472:127::-;;;;;;;;;;-1:-1:-1;8472:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8570:18:0;;;8553:7;8570:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8472:127;11923:340;;;;;;;;;;-1:-1:-1;11923:340:0;;;;;:::i;:::-;;:::i;11729:186::-;;;;;;;;;;-1:-1:-1;11729:186:0;;;;;:::i;:::-;;:::i;9003:523::-;;;;;;;;;;-1:-1:-1;9003:523:0;;;;;:::i;:::-;;:::i;12622:170::-;;;;;;;;;;;;;:::i;8724:133::-;8799:4;8806:37;8815:10;8827:7;8836:6;8806:8;:37::i;:::-;-1:-1:-1;8851:4:0;8724:133;;;;;:::o;8863:132::-;8301:9;:18;;;;6753:42;8916:7;8301:18;;;;;8933:12;;8916:7;;8933:60;;8301:18;;8933:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8926:67;;8863:132;:::o;15050:309::-;15148:4;15165:36;15175:6;15183:9;15194:6;15165:9;:36::i;:::-;15212:117;15221:6;15229:10;15241:87;15277:6;15241:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15241:19:0;;;;;;:11;:19;;;;;;;;15261:10;15241:31;;;;;;;;;:87;:35;:87::i;:::-;15212:8;:117::i;:::-;-1:-1:-1;15347:4:0;15050:309;;;;;;:::o;10517:315::-;2011:4;2036:5;-1:-1:-1;;;;;2036:5:0;1923:10;2025:16;1907:38;;;;-1:-1:-1;;;1907:38:0;;;;;;;:::i;:::-;;;;;;;;;10646:10:::1;:24:::0;;;10688:12:::1;::::0;:53:::1;::::0;10733:6:::1;::::0;10688:32:::1;::::0;10705:14;10688:16:::1;:32::i;:::-;:36:::0;::::1;:53::i;:::-;10672:13;:69:::0;10770:12:::1;::::0;:54:::1;::::0;10816:6:::1;::::0;10770:33:::1;::::0;10787:15;10770:16:::1;:33::i;:54::-;10753:14;:71:::0;-1:-1:-1;;;10517:315:0:o;8605:113::-;2011:4;2036:5;-1:-1:-1;;;;;2036:5:0;1923:10;2025:16;1907:38;;;;-1:-1:-1;;;1907:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8679:26:0;;;::::1;;::::0;;;:16:::1;:26;::::0;;;;:37;;-1:-1:-1;;8679:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8605:113::o;10840:89::-;2011:4;2036:5;-1:-1:-1;;;;;2036:5:0;1923:10;2025:16;1907:38;;;;-1:-1:-1;;;1907:38:0;;;;;;;:::i;:::-;10892:29:::1;10907:13;;10892:14;:29::i;:::-;10840:89::o:0;9534:559::-;2011:4;2036:5;-1:-1:-1;;;;;2036:5:0;1923:10;2025:16;1907:38;;;;-1:-1:-1;;;1907:38:0;;;;;;;:::i;:::-;9643:13:::1;9659:33;9686:5;9659:22;9676:4;9659:12;;:16;;:22;;;;:::i;:33::-;9643:49;;9694:19;9716:34;9744:5;9716:23;9733:5;9716:12;;:16;;:23;;;;:::i;:34::-;9694:56;;9752:17;9772:36;9802:5;9772:25;9789:7;9772:12;;:16;;:25;;;;:::i;:36::-;9819:12;:20:::0;;;9841:14:::1;:28:::0;;;9871:15:::1;:27:::0;;;9752:56;-1:-1:-1;;9925:30:0::1;9950:4;9925:20;9943:1;9925:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:30::-;9909:46;;9983:5;9974;:14;;:38;;;;;10007:5;9992:11;:20;;9974:38;:60;;;;;10029:5;10016:9;:18;;9974:60;9966:119;;;::::0;-1:-1:-1;;;9966:119:0;;6202:2:1;9966:119:0::1;::::0;::::1;6184:21:1::0;6241:2;6221:18;;;6214:30;6280:34;6260:18;;;6253:62;-1:-1:-1;;;6331:18:1;;;6324:44;6385:19;;9966:119:0::1;6000:410:1::0;9966:119:0::1;9632:461;;;;9534:559:::0;;;:::o;2049:133::-;2011:4;2036:5;-1:-1:-1;;;;;2036:5:0;1923:10;2025:16;1907:38;;;;-1:-1:-1;;;1907:38:0;;;;;;;:::i;:::-;2123:1:::1;2107:18:::0;;-1:-1:-1;;;;;;2107:18:0::1;::::0;;2142:32:::1;::::0;3325:51:1;;;2142:32:0::1;::::0;3313:2:1;3298:18;2142:32:0::1;;;;;;;2049:133::o:0;8060:68::-;2011:4;2036:5;-1:-1:-1;;;;;2036:5:0;1923:10;2025:16;1907:38;;;;-1:-1:-1;;;1907:38:0;;;;;;;:::i;:::-;8105:14:::1;:21:::0;;-1:-1:-1;;;;8105:21:0::1;-1:-1:-1::0;;;8105:21:0::1;::::0;;8060:68::o;10937:242::-;2011:4;2036:5;-1:-1:-1;;;;;2036:5:0;1923:10;2025:16;1907:38;;;;-1:-1:-1;;;1907:38:0;;;;;;;:::i;:::-;11041:41:::1;::::0;-1:-1:-1;;;11041:41:0;;11076:4:::1;11041:41;::::0;::::1;3325:51:1::0;11023:15:0::1;::::0;11041:63:::1;::::0;11100:3:::1;::::0;11041:54:::1;::::0;11087:7;;-1:-1:-1;;;;;11041:26:0;::::1;::::0;::::1;::::0;3298:18:1;;11041:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:63::-;11141:20;::::0;11115:56:::1;::::0;-1:-1:-1;;;11115:56:0;;-1:-1:-1;;;;;11141:20:0;;::::1;11115:56;::::0;::::1;6778:51:1::0;6845:18;;;6838:34;;;11023:81:0;;-1:-1:-1;11115:25:0;::::1;::::0;::::1;::::0;6751:18:1;;11115:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11012:167;10937:242:::0;;:::o;8327:139::-;8405:4;8412:40;8422:10;8434:9;8445:6;8412:9;:40::i;11368:353::-;2011:4;2036:5;-1:-1:-1;;;;;2036:5:0;1923:10;2025:16;1907:38;;;;-1:-1:-1;;;1907:38:0;;;;;;;:::i;:::-;11490:18:::1;:31:::0;;-1:-1:-1;;;;;11490:31:0;;::::1;-1:-1:-1::0;;;;;;11490:31:0;;::::1;::::0;::::1;::::0;;;11523:18:::1;:31:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;11556:20:::1;:35:::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;11490:18:::1;11602:28:::0;;;:16:::1;:28;::::0;;;;;:35;;-1:-1:-1;;11602:35:0;;::::1;11490:31:::0;11602:35;;::::1;::::0;;;11639:28;;;;;;:35;;;::::1;::::0;::::1;::::0;;11676:30;;;;;;:37;;;;::::1;::::0;;::::1;::::0;;11368:353::o;11923:340::-;2011:4;2036:5;-1:-1:-1;;;;;2036:5:0;1923:10;2025:16;1907:38;;;;-1:-1:-1;;;1907:38:0;;;;;;;:::i;:::-;12031:8:::1;:17:::0;;;12050:7:::1;:15:::0;;;12067:11:::1;:20:::0;;;12118:11:::1;::::0;:18:::1;::::0;12134:1:::1;12118:15;:18::i;:::-;12106:8;;:30;;:63;;;;-1:-1:-1::0;12151:11:0::1;::::0;:18:::1;::::0;12167:1:::1;12151:15;:18::i;:::-;12140:7;;:29;;12106:63;:100;;;;-1:-1:-1::0;12188:11:0::1;::::0;:18:::1;::::0;12204:1:::1;12188:15;:18::i;:::-;12173:11;;:33;;12106:100;12098:157;;;;-1:-1:-1::0;;;12098:157:0::1;;;;;;;:::i;:::-;11923:340:::0;;;:::o;11729:186::-;2011:4;2036:5;-1:-1:-1;;;;;2036:5:0;1923:10;2025:16;1907:38;;;;-1:-1:-1;;;1907:38:0;;;;;;;:::i;:::-;11828:6:::1;11824:84;11838:20:::0;;::::1;11824:84;;;11897:8;11875:5;:19;11881:9;;11891:1;11881:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11875:19:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11875:19:0;:30;;-1:-1:-1;;11875:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11860:3;::::1;::::0;::::1;:::i;:::-;;;;11824:84;;9003:523:::0;2011:4;2036:5;-1:-1:-1;;;;;2036:5:0;1923:10;2025:16;1907:38;;;;-1:-1:-1;;;1907:38:0;;;;;;;:::i;:::-;9192:12:::1;:25:::0;;;9219:12:::1;:25:::0;;;9246:7:::1;:15:::0;;;9263:14:::1;:29:::0;;;9294:8:::1;:17:::0;;;9313:7:::1;:15:::0;;;9330:11:::1;:20:::0;;;9381:11:::1;::::0;:18:::1;::::0;9397:1:::1;9381:15;:18::i;:::-;9369:8;;:30;;:63;;;;-1:-1:-1::0;9414:11:0::1;::::0;:18:::1;::::0;9430:1:::1;9414:15;:18::i;:::-;9403:7;;:29;;9369:63;:100;;;;-1:-1:-1::0;9451:11:0::1;::::0;:18:::1;::::0;9467:1:::1;9451:15;:18::i;:::-;9436:11;;:33;;9369:100;9361:157;;;;-1:-1:-1::0;;;9361:157:0::1;;;;;;;:::i;12622:170::-:0;2011:4;2036:5;-1:-1:-1;;;;;2036:5:0;1923:10;2025:16;1907:38;;;;-1:-1:-1;;;1907:38:0;;;;;;;:::i;:::-;-1:-1:-1;;12679:12:0::1;:26:::0;;;12716:14:::1;:28:::0;;;12755:15:::1;:29:::0;12622:170::o;16177:335::-;-1:-1:-1;;;;;16270:19:0;;16262:68;;;;-1:-1:-1;;;16262:68:0;;8152:2:1;16262:68:0;;;8134:21:1;8191:2;8171:18;;;8164:30;8230:34;8210:18;;;8203:62;-1:-1:-1;;;8281:18:1;;;8274:34;8325:19;;16262:68:0;7950:400:1;16262:68:0;-1:-1:-1;;;;;16349:21:0;;16341:68;;;;-1:-1:-1;;;16341:68:0;;8557:2:1;16341:68:0;;;8539:21:1;8596:2;8576:18;;;8569:30;8635:34;8615:18;;;8608:62;-1:-1:-1;;;8686:18:1;;;8679:32;8728:19;;16341:68:0;8355:398:1;16341:68:0;-1:-1:-1;;;;;16420:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16472:32;;1410:25:1;;;16472:32:0;;1383:18:1;16472:32:0;;;;;;;16177:335;;;:::o;4106:98::-;4164:7;4191:5;4195:1;4191;:5;:::i;12800:1507::-;-1:-1:-1;;;;;12897:20:0;;12889:70;;;;-1:-1:-1;;;12889:70:0;;9090:2:1;12889:70:0;;;9072:21:1;9129:2;9109:18;;;9102:30;9168:34;9148:18;;;9141:62;-1:-1:-1;;;9219:18:1;;;9212:35;9264:19;;12889:70:0;8888:401:1;12889:70:0;-1:-1:-1;;;;;12978:23:0;;12970:71;;;;-1:-1:-1;;;12970:71:0;;9496:2:1;12970:71:0;;;9478:21:1;9535:2;9515:18;;;9508:30;9574:34;9554:18;;;9547:62;-1:-1:-1;;;9625:18:1;;;9618:33;9668:19;;12970:71:0;9294:399:1;12970:71:0;13069:1;13060:6;:10;13052:64;;;;-1:-1:-1;;;13052:64:0;;9900:2:1;13052:64:0;;;9882:21:1;9939:2;9919:18;;;9912:30;9978:34;9958:18;;;9951:62;-1:-1:-1;;;10029:18:1;;;10022:39;10078:19;;13052:64:0;9698:405:1;13052:64:0;-1:-1:-1;;;;;13131:24:0;;;;;;:16;:24;;;;;;;;13130:25;:57;;;;-1:-1:-1;;;;;;13160:27:0;;;;;;:16;:27;;;;;;;;13159:28;13130:57;13127:105;;;13197:14;;-1:-1:-1;;;13197:14:0;;;;13189:41;;;;-1:-1:-1;;;13189:41:0;;10310:2:1;13189:41:0;;;10292:21:1;10349:2;10329:18;;;10322:30;-1:-1:-1;;;10368:18:1;;;10361:44;10422:18;;13189:41:0;10108:338:1;13189:41:0;-1:-1:-1;;;;;13246:24:0;;;;;;:16;:24;;;;;;;;13245:25;:57;;;;-1:-1:-1;;;;;;13275:27:0;;;;;;:16;:27;;;;;;;;13274:28;13245:57;:87;;;;-1:-1:-1;13327:4:0;;-1:-1:-1;;;;;13306:26:0;;;13327:4;;13306:26;;13245:87;:117;;;;-1:-1:-1;;;;;;13336:26:0;;6753:42;13336:26;;13245:117;13242:230;;;13420:15;;-1:-1:-1;;;;;13383:20:0;;;;;;:9;:20;;;;;;:32;;13408:6;13383:24;:32::i;:::-;13382:53;;13374:96;;;;-1:-1:-1;;;13374:96:0;;10653:2:1;13374:96:0;;;10635:21:1;10692:2;10672:18;;;10665:30;10731:32;10711:18;;;10704:60;10781:18;;13374:96:0;10451:354:1;13374:96:0;13495:4;;-1:-1:-1;;;;;13485:14:0;;;13495:4;;13485:14;13482:134;;13519:14;;13509:6;:24;;:52;;;-1:-1:-1;;;;;;13537:24:0;;;;;;:16;:24;;;;;;;;13509:52;:83;;;-1:-1:-1;;;;;;13565:27:0;;;;;;:16;:27;;;;;;;;13509:83;13501:113;;;;-1:-1:-1;;;13501:113:0;;11012:2:1;13501:113:0;;;10994:21:1;11051:2;11031:18;;;11024:30;-1:-1:-1;;;11070:18:1;;;11063:47;11127:18;;13501:113:0;10810:341:1;13501:113:0;13644:12;;13634:6;:22;;:50;;;-1:-1:-1;;;;;;13660:24:0;;;;;;:16;:24;;;;;;;;13634:50;:81;;;-1:-1:-1;;;;;;13688:27:0;;;;;;:16;:27;;;;;;;;13634:81;13626:111;;;;-1:-1:-1;;;13626:111:0;;11012:2:1;13626:111:0;;;10994:21:1;11051:2;11031:18;;;11024:30;-1:-1:-1;;;11070:18:1;;;11063:47;11127:18;;13626:111:0;10810:341:1;13626:111:0;13765:4;;-1:-1:-1;;;;;13752:17:0;;;13765:4;;13752:17;:46;;;;-1:-1:-1;;;;;;13774:24:0;;;;;;:16;:24;;;;;;;;13773:25;13752:46;13749:76;;;13821:1;13800:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;13749:76:0;13838:45;13857:6;13865:9;13876:6;13838:18;:45::i;:::-;13835:158;;;13885:82;13900:66;13904:6;13911:54;13915:24;13933:4;-1:-1:-1;;;;;8301:18:0;8284:7;8301:18;;;:9;:18;;;;;;;8218:103;13915:24;13950:14;5487:1;13950:2;:14;:::i;:::-;13940:24;;:7;:24;:::i;:::-;13911:3;:54::i;13900:66::-;13885:14;:82::i;:::-;13989:1;13969:9;:22;13835:158;14003:22;14028:32;14042:6;14050:9;14028:13;:32::i;:::-;:78;;14100:6;14028:78;;;14063:34;14071:6;14079:9;14090:6;14063:7;:34::i;:::-;-1:-1:-1;;;;;14140:20:0;;;;;;:9;:20;;;;;;14003:103;;-1:-1:-1;14140:40:0;;14003:103;14140:24;:40::i;:::-;-1:-1:-1;;;;;14117:20:0;;;;;;;:9;:20;;;;;;:63;;;;14211:17;;;;;;;:29;;14233:6;14211:21;:29::i;:::-;-1:-1:-1;;;;;14191:17:0;;;;;;;:9;:17;;;;;;;;;:49;;;;14256:43;1410:25:1;;;14256:43:0;;;;14191:17;;14256:43;;1383:18:1;14256:43:0;;;;;;;12878:1429;12800:1507;;;:::o;4530:240::-;4650:7;4711:12;4703:6;;;;4695:29;;;;-1:-1:-1;;;4695:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;4746:5:0;;;4530:240::o;4212:98::-;4270:7;4297:5;4301:1;4297;:5;:::i;4318:98::-;4376:7;4403:5;4407:1;4403;:5;:::i;11187:173::-;6953:8;:15;;-1:-1:-1;;6953:15:0;6964:4;6953:15;;;11258:24:::1;11275:6:::0;11258:16:::1;:24::i;:::-;11301:18;::::0;11293:59:::1;::::0;-1:-1:-1;;;;;11301:18:0;;::::1;::::0;11330:21:::1;11293:59:::0;::::1;;;::::0;11301:18:::1;11293:59:::0;11301:18;11293:59;11330:21;11301:18;11293:59;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6973:8:0;:16;;-1:-1:-1;;6973:16:0;;;11187:173::o;4000:98::-;4058:7;4085:5;4089:1;4085;:5;:::i;10101:408::-;10246:14;;10321:13;;10311:4;10203;8301:18;;;:9;:18;;;;;;10353:8;;10203:4;;10236:24;;;;-1:-1:-1;10293:41:0;;10353:8;;10352:9;:24;;;;-1:-1:-1;10365:11:0;;-1:-1:-1;;;10365:11:0;;;;10352:24;:42;;;;-1:-1:-1;10380:14:0;;-1:-1:-1;;;10380:14:0;;;;10352:42;:54;;;;;10398:8;10352:54;:83;;;;-1:-1:-1;;;;;;10411:24:0;;;;;;:16;:24;;;;;;;;10410:25;10352:83;:104;;;;-1:-1:-1;10452:4:0;;-1:-1:-1;;;;;10439:17:0;;;10452:4;;10439:17;10352:104;:131;;;;;10473:10;;10460:9;;:23;;10352:131;:149;;;;;10487:14;10352:149;10345:156;10101:408;-1:-1:-1;;;;;;10101:408:0:o;14757:107::-;14814:7;14846:1;14842;:5;14841:15;;14855:1;14841:15;;;-1:-1:-1;14851:1:0;14757:107;-1:-1:-1;14757:107:0:o;14872:170::-;-1:-1:-1;;;;;14978:24:0;;14953:4;14978:24;;;:16;:24;;;;;;;;14977:25;:57;;;;-1:-1:-1;;;;;;;15007:27:0;;;;;:16;:27;;;;;;;;15006:28;;14872:170;-1:-1:-1;14872:170:0:o;15367:802::-;-1:-1:-1;;;;;15527:23:0;;15453:7;15527:23;;;:15;:23;;;;;;15453:7;;;;15527:23;;15523:135;;;-1:-1:-1;15585:6:0;;-1:-1:-1;15566:3:0;15523:135;;;-1:-1:-1;15651:4:0;;-1:-1:-1;15622:5:0;15523:135;15704:1;15671:30;15683:6;15691:9;15671:11;:30::i;:::-;:34;15668:479;;;15717:17;15737:58;15764:30;15776:6;15784:9;15764:11;:30::i;:::-;15737:22;:6;15748:10;15737;:22::i;:58::-;-1:-1:-1;;;;;15831:22:0;;;;;;:9;:22;;;;;;15717:78;;-1:-1:-1;15831:37:0;;15717:78;15831:26;:37::i;:::-;-1:-1:-1;;;;;15806:22:0;;;;;;;:9;:22;;;;;;;:62;;;;15884:40;;;;;;;;;;15914:9;1410:25:1;;1398:2;1383:18;;1264:177;15884:40:0;;;;;;;;15956:1;15938:7;;:20;:64;;;;;15995:7;;15962:30;15974:6;15982:9;15962:11;:30::i;:::-;:40;15938:64;15935:148;;;16004:77;16022:4;6753:42;16044:36;16072:7;;16044:23;16055:11;;16044:6;:10;;:23;;;;:::i;:36::-;16004:9;:77::i;:::-;16107:9;16100:6;:16;:45;;16139:6;16100:45;;;16117:21;:6;16128:9;16117:10;:21::i;:::-;16093:52;;;;;;;15668:479;-1:-1:-1;16155:6:0;;15367:802;-1:-1:-1;;;;15367:802:0:o;14315:434::-;14405:16;;;14419:1;14405:16;;;;;;;;14381:21;;14405:16;;;;;;;;;;-1:-1:-1;14405:16:0;14381:40;;14450:4;14432;14437:1;14432:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14432:23:0;;;:7;;;;;;;;;;:23;;;;14476:6;;:13;;;-1:-1:-1;;;14476:13:0;;;;:6;;;;;:11;;:13;;;;;14432:7;;14476:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14466:4;14471:1;14466:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14466:23:0;;;:7;;;;;;;;;:23;14532:6;;14500:53;;14517:4;;14532:6;14541:11;14500:8;:53::i;:::-;14564:6;;:177;;-1:-1:-1;;;14564:177:0;;-1:-1:-1;;;;;14564:6:0;;;;:57;;:177;;14636:11;;14564:6;;14678:4;;14705;;14725:15;;14564:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14370:379;14315:434;:::o;16520:305::-;-1:-1:-1;;;;;16622:13:0;;16599:7;16622:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;16639:16:0;;;;;;:5;:16;;;;;;;;16622:33;16619:76;;;16664:11;;:29;;16688:3;16664:15;:29::i;:::-;16657:36;;;;16619:76;16721:4;;-1:-1:-1;;;;;16708:17:0;;;16721:4;;16708:17;16705:38;;;-1:-1:-1;16734:7:0;;16727:14;;16705:38;16766:4;;-1:-1:-1;;;;;16756:14:0;;;16766:4;;16756:14;16753:36;;;-1:-1:-1;16779:8:0;;16772:15;;16753:36;-1:-1:-1;16806:11:0;;16520:305;;;;:::o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:247::-;1505:6;1558:2;1546:9;1537:7;1533:23;1529:32;1526:52;;;1574:1;1571;1564:12;1526:52;1613:9;1600:23;1632:31;1657:5;1632:31;:::i;1698:456::-;1775:6;1783;1791;1844:2;1832:9;1823:7;1819:23;1815:32;1812:52;;;1860:1;1857;1850:12;1812:52;1899:9;1886:23;1918:31;1943:5;1918:31;:::i;:::-;1968:5;-1:-1:-1;2025:2:1;2010:18;;1997:32;2038:33;1997:32;2038:33;:::i;:::-;1698:456;;2090:7;;-1:-1:-1;;;2144:2:1;2129:18;;;;2116:32;;1698:456::o;2348:316::-;2425:6;2433;2441;2494:2;2482:9;2473:7;2469:23;2465:32;2462:52;;;2510:1;2507;2500:12;2462:52;-1:-1:-1;;2533:23:1;;;2603:2;2588:18;;2575:32;;-1:-1:-1;2654:2:1;2639:18;;;2626:32;;2348:316;-1:-1:-1;2348:316:1:o;2669:118::-;2755:5;2748:13;2741:21;2734:5;2731:32;2721:60;;2777:1;2774;2767:12;2792:382;2857:6;2865;2918:2;2906:9;2897:7;2893:23;2889:32;2886:52;;;2934:1;2931;2924:12;2886:52;2973:9;2960:23;2992:31;3017:5;2992:31;:::i;:::-;3042:5;-1:-1:-1;3099:2:1;3084:18;;3071:32;3112:30;3071:32;3112:30;:::i;:::-;3161:7;3151:17;;;2792:382;;;;;:::o;3387:529::-;3464:6;3472;3480;3533:2;3521:9;3512:7;3508:23;3504:32;3501:52;;;3549:1;3546;3539:12;3501:52;3588:9;3575:23;3607:31;3632:5;3607:31;:::i;:::-;3657:5;-1:-1:-1;3714:2:1;3699:18;;3686:32;3727:33;3686:32;3727:33;:::i;:::-;3779:7;-1:-1:-1;3838:2:1;3823:18;;3810:32;3851:33;3810:32;3851:33;:::i;:::-;3903:7;3893:17;;;3387:529;;;;;:::o;3921:388::-;3989:6;3997;4050:2;4038:9;4029:7;4025:23;4021:32;4018:52;;;4066:1;4063;4056:12;4018:52;4105:9;4092:23;4124:31;4149:5;4124:31;:::i;:::-;4174:5;-1:-1:-1;4231:2:1;4216:18;;4203:32;4244:33;4203:32;4244:33;:::i;4314:750::-;4406:6;4414;4422;4475:2;4463:9;4454:7;4450:23;4446:32;4443:52;;;4491:1;4488;4481:12;4443:52;4531:9;4518:23;4560:18;4601:2;4593:6;4590:14;4587:34;;;4617:1;4614;4607:12;4587:34;4655:6;4644:9;4640:22;4630:32;;4700:7;4693:4;4689:2;4685:13;4681:27;4671:55;;4722:1;4719;4712:12;4671:55;4762:2;4749:16;4788:2;4780:6;4777:14;4774:34;;;4804:1;4801;4794:12;4774:34;4859:7;4852:4;4842:6;4839:1;4835:14;4831:2;4827:23;4823:34;4820:47;4817:67;;;4880:1;4877;4870:12;4817:67;4911:4;4903:13;;;;-1:-1:-1;4935:6:1;-1:-1:-1;;4976:20:1;;4963:34;5006:28;4963:34;5006:28;:::i;5069:592::-;5182:6;5190;5198;5206;5214;5222;5230;5283:3;5271:9;5262:7;5258:23;5254:33;5251:53;;;5300:1;5297;5290:12;5251:53;-1:-1:-1;;5323:23:1;;;5393:2;5378:18;;5365:32;;-1:-1:-1;5444:2:1;5429:18;;5416:32;;5495:2;5480:18;;5467:32;;-1:-1:-1;5546:3:1;5531:19;;5518:33;;-1:-1:-1;5598:3:1;5583:19;;5570:33;;-1:-1:-1;5650:3:1;5635:19;5622:33;;-1:-1:-1;5069:592:1;-1:-1:-1;5069:592:1:o;5666:329::-;5868:2;5850:21;;;5907:1;5887:18;;;5880:29;-1:-1:-1;;;5940:2:1;5925:18;;5918:36;5986:2;5971:18;;5666:329::o;6415:184::-;6485:6;6538:2;6526:9;6517:7;6513:23;6509:32;6506:52;;;6554:1;6551;6544:12;6506:52;-1:-1:-1;6577:16:1;;6415:184;-1:-1:-1;6415:184:1:o;6883:245::-;6950:6;7003:2;6991:9;6982:7;6978:23;6974:32;6971:52;;;7019:1;7016;7009:12;6971:52;7051:9;7045:16;7070:28;7092:5;7070:28;:::i;7133:408::-;7335:2;7317:21;;;7374:2;7354:18;;;7347:30;7413:34;7408:2;7393:18;;7386:62;-1:-1:-1;;;7479:2:1;7464:18;;7457:42;7531:3;7516:19;;7133:408::o;7546:127::-;7607:10;7602:3;7598:20;7595:1;7588:31;7638:4;7635:1;7628:15;7662:4;7659:1;7652:15;7678:127;7739:10;7734:3;7730:20;7727:1;7720:31;7770:4;7767:1;7760:15;7794:4;7791:1;7784:15;7810:135;7849:3;-1:-1:-1;;7870:17:1;;7867:43;;;7890:18;;:::i;:::-;-1:-1:-1;7937:1:1;7926:13;;7810:135::o;8758:125::-;8798:4;8826:1;8823;8820:8;8817:34;;;8831:18;;:::i;:::-;-1:-1:-1;8868:9:1;;8758:125::o;11156:128::-;11196:3;11227:1;11223:6;11220:1;11217:13;11214:39;;;11233:18;;:::i;:::-;-1:-1:-1;11269:9:1;;11156:128::o;11289:422::-;11378:1;11421:5;11378:1;11435:270;11456:7;11446:8;11443:21;11435:270;;;11515:4;11511:1;11507:6;11503:17;11497:4;11494:27;11491:53;;;11524:18;;:::i;:::-;11574:7;11564:8;11560:22;11557:55;;;11594:16;;;;11557:55;11673:22;;;;11633:15;;;;11435:270;;;11439:3;11289:422;;;;;:::o;11716:806::-;11765:5;11795:8;11785:80;;-1:-1:-1;11836:1:1;11850:5;;11785:80;11884:4;11874:76;;-1:-1:-1;11921:1:1;11935:5;;11874:76;11966:4;11984:1;11979:59;;;;12052:1;12047:130;;;;11959:218;;11979:59;12009:1;12000:10;;12023:5;;;12047:130;12084:3;12074:8;12071:17;12068:43;;;12091:18;;:::i;:::-;-1:-1:-1;;12147:1:1;12133:16;;12162:5;;11959:218;;12261:2;12251:8;12248:16;12242:3;12236:4;12233:13;12229:36;12223:2;12213:8;12210:16;12205:2;12199:4;12196:12;12192:35;12189:77;12186:159;;;-1:-1:-1;12298:19:1;;;12330:5;;12186:159;12377:34;12402:8;12396:4;12377:34;:::i;:::-;12447:6;12443:1;12439:6;12435:19;12426:7;12423:32;12420:58;;;12458:18;;:::i;:::-;12496:20;;11716:806;-1:-1:-1;;;11716:806:1:o;12527:140::-;12585:5;12614:47;12655:4;12645:8;12641:19;12635:4;12614:47;:::i;12672:168::-;12712:7;12778:1;12774;12770:6;12766:14;12763:1;12760:21;12755:1;12748:9;12741:17;12737:45;12734:71;;;12785:18;;:::i;:::-;-1:-1:-1;12825:9:1;;12672:168::o;12845:217::-;12885:1;12911;12901:132;;12955:10;12950:3;12946:20;12943:1;12936:31;12990:4;12987:1;12980:15;13018:4;13015:1;13008:15;12901:132;-1:-1:-1;13047:9:1;;12845:217::o;13199:251::-;13269:6;13322:2;13310:9;13301:7;13297:23;13293:32;13290:52;;;13338:1;13335;13328:12;13290:52;13370:9;13364:16;13389:31;13414:5;13389:31;:::i;13455:980::-;13717:4;13765:3;13754:9;13750:19;13796:6;13785:9;13778:25;13822:2;13860:6;13855:2;13844:9;13840:18;13833:34;13903:3;13898:2;13887:9;13883:18;13876:31;13927:6;13962;13956:13;13993:6;13985;13978:22;14031:3;14020:9;14016:19;14009:26;;14070:2;14062:6;14058:15;14044:29;;14091:1;14101:195;14115:6;14112:1;14109:13;14101:195;;;14180:13;;-1:-1:-1;;;;;14176:39:1;14164:52;;14271:15;;;;14236:12;;;;14212:1;14130:9;14101:195;;;-1:-1:-1;;;;;;;14352:32:1;;;;14347:2;14332:18;;14325:60;-1:-1:-1;;;14416:3:1;14401:19;14394:35;14313:3;13455:980;-1:-1:-1;;;13455:980:1:o

Swarm Source

ipfs://786e15ef5cc7a250e9ec3e6bf2bbf3c4ccf68e6063109c5f854cc680950d1c9d
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.