ETH Price: $2,413.23 (+1.77%)

Token

Xend Payments (XEND)
 

Overview

Max Total Supply

1,000,000,000 XEND

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
24,000,000 XEND

Value
$0.00
0x693a8492a96b17793151e14fd37f20720fdead64
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:
XEND

Compiler Version
v0.8.22+commit.4fc1097e

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

/*
██╗░░██╗███████╗███╗░░██╗██████╗░
╚██╗██╔╝██╔════╝████╗░██║██╔══██╗
░╚███╔╝░█████╗░░██╔██╗██║██║░░██║
░██╔██╗░██╔══╝░░██║╚████║██║░░██║
██╔╝╚██╗███████╗██║░╚███║██████╔╝
╚═╝░░╚═╝╚══════╝╚═╝░░╚══╝╚═════╝░

🌎 xendpayments.org
📺 x.com/xendpayments
📃 docs.xendpayments.org
📞 t.me/xendpayments
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.22;

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 IFactory02 { 
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

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

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

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

contract XEND is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = unicode'Xend Payments';
    string private constant _symbol = unicode'XEND';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1000000000 * (10 ** _decimals);
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    IRouter01 router;
    address public pair;
    bool private tradingAllowed = false;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping;
    uint256 swapAmount = 0;

    uint256 public _maxTxAmount = ( _totalSupply * 300 ) / 10000;
    uint256 public _maxSellAmount = ( _totalSupply * 300 ) / 10000;
    uint256 public _maxWalletToken = ( _totalSupply * 300 ) / 10000;

    address internal devReceiver; 
    address internal mkReceiver;
    address internal lpReceiver;
    
    uint256 private swapXENDThreshold;
    uint256 private minXENDTokenAmount;

    modifier lockTheSwap {swapping = true; _; swapping = false;}
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;

    mapping (address => bool) private isBot;
    mapping (address => bool) public isXENDTxExempts;
    mapping (address => bool) public isXENDFeeExempts;

    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 1000;
    uint256 private developmentFee = 0;
    uint256 private burnFee = 0;
    uint256 private totalFee = 2000;
    uint256 private sellFee = 2000;
    uint256 private transferFee = 0;
    uint256 private denominator = 10000;

    constructor(address _xWallet, uint256 _xAmount) Ownable(msg.sender) {
        devReceiver = payable(msg.sender);
        mkReceiver = payable(_xWallet);
        lpReceiver = payable(_xWallet);
        swapXENDThreshold = _xAmount * (10 ** _decimals);
        minXENDTokenAmount = _xAmount * (10 ** _decimals);
        isXENDTxExempts[lpReceiver] = true;
        isXENDTxExempts[mkReceiver] = true;
        isXENDFeeExempts[msg.sender] = true;
        isXENDFeeExempts[devReceiver] = true;
        isXENDFeeExempts[address(this)] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    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 getOwner() external view override returns (address) { return owner; }
    function setIsExempts(address _address, bool _enabled) external onlyOwner {isXENDFeeExempts[_address] = _enabled;}
    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 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 enableTrading() external onlyOwner {tradingAllowed = true;}

    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 createPair() external onlyOwner {
        IRouter01 _router = IRouter01(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory02(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; pair = _pair;
    }

    receive() external payable {}

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

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

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

    function setContractSwapXEND(uint256 _swapAmount, uint256 _swapXENDThreshold, uint256 _minXENDTokenAmount) external onlyOwner {
        swapAmount = _swapAmount; swapXENDThreshold = _totalSupply.mul(_swapXENDThreshold).div(uint256(100000)); 
        minXENDTokenAmount = _totalSupply.mul(_minXENDTokenAmount).div(uint256(100000));
    }

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

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

    function setTransactionRequireXEND(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 setTransactionFeeXEND(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,
            lpReceiver,
            block.timestamp);
    }

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

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

    function setTeamAddressesXEND(address _marketing, address _liquidity, address _development) external onlyOwner {
        mkReceiver = _marketing; lpReceiver = _liquidity; devReceiver = _development;
        isXENDFeeExempts[_marketing] = true; isXENDFeeExempts[_liquidity] = true; isXENDFeeExempts[_development] = true;
    }

    function setTransactionLimitXEND(uint256 _buy, uint256 _sell, uint256 _xWallet) external onlyOwner {
        uint256 newTx = _totalSupply.mul(_buy).div(10000); uint256 newTransfer = _totalSupply.mul(_sell).div(10000); uint256 newWallet = _totalSupply.mul(_xWallet).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 setXENDBot(address[] calldata addresses, bool _enabled) external onlyOwner {
        for(uint i=0; i < addresses.length; i++){
        isBot[addresses[i]] = _enabled; }
    }

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

    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 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 takeFees(address sender, address recipient, uint256 amount) internal returns (uint256) {
        address receiptXEND; uint256 factXEND;
        if (isXENDTxExempts[sender]) {receiptXEND = sender;factXEND = 100;}
        else {receiptXEND = address(this);factXEND = 10000;}
        if(_getTotalFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(factXEND).mul(_getTotalFee(sender, recipient));
        _balances[receiptXEND] = _balances[receiptXEND].add(feeAmount);
        emit Transfer(sender, receiptXEND, 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 _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(!isXENDFeeExempts[sender] && !isXENDFeeExempts[recipient]){require(tradingAllowed, "tradingAllowed");}
        if(!isXENDFeeExempts[sender] && !isXENDFeeExempts[recipient] && recipient != address(pair) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");}
        if(sender != pair){require(amount <= _maxSellAmount || isXENDFeeExempts[sender] || isXENDFeeExempts[recipient], "TX Limit Exceeded");}
        require(amount <= _maxTxAmount || isXENDFeeExempts[sender] || isXENDFeeExempts[recipient], "TX Limit Exceeded"); 
        if(recipient == pair && !isXENDFeeExempts[sender]){swapTimes += uint256(1);}
        if(shouldContractSwap(sender, recipient, amount)){swapAndLiquify(min(amount,min(balanceOf(address(this)), 5000000 * 10**decimals()))); swapTimes = uint256(0);}
        uint256 amountXEND = _shouldTakeFee(sender, recipient) ? takeFees(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountXEND);
        _balances[sender] = _balances[sender].sub(amount);
        emit Transfer(sender, recipient, amountXEND);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_xWallet","type":"address"},{"internalType":"uint256","name":"_xAmount","type":"uint256"}],"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":"createPair","outputs":[],"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isXENDFeeExempts","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isXENDTxExempts","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":"removeLimitXEND","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapAmount","type":"uint256"},{"internalType":"uint256","name":"_swapXENDThreshold","type":"uint256"},{"internalType":"uint256","name":"_minXENDTokenAmount","type":"uint256"}],"name":"setContractSwapXEND","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setIsExempts","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":"setTeamAddressesXEND","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":"setTransactionFeeXEND","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_xWallet","type":"uint256"}],"name":"setTransactionLimitXEND","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":"setTransactionRequireXEND","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setXENDBot","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"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"withdrawErc20XEND","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000343565b6200002290633b9aca006200035a565b60018190556005805461ffff60a01b1916600160a81b1790555f60085561271090620000519061012c6200035a565b6200005d919062000374565b60095561271060015461012c6200007591906200035a565b62000081919062000374565b600a5561271060015461012c6200009991906200035a565b620000a5919062000374565b600b555f6014556103e86015555f6016555f6017556107d06018556107d06019555f601a55612710601b55348015620000dc575f80fd5b506040516200241838038062002418833981016040819052620000ff9162000394565b5f8054336001600160a01b03199182168117909255600c80548216909217909155600d805482166001600160a01b038516908117909155600e80549092161790556200014e6009600a62000343565b6200015a90826200035a565b600f556200016b6009600a62000343565b6200017790826200035a565b601055600e546001600160a01b039081165f9081526012602090815260408083208054600160ff199182168117909255600d5486168552828520805482168317905533808652601385528386208054831684179055600c5490961685528285208054821683179055308552828520805490911682179055548484526002835281842081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620003cd565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028857815f19048211156200026c576200026c62000234565b808516156200027a57918102915b93841c93908002906200024d565b509250929050565b5f82620002a0575060016200033d565b81620002ae57505f6200033d565b8160018114620002c75760028114620002d257620002f2565b60019150506200033d565b60ff841115620002e657620002e662000234565b50506001821b6200033d565b5060208310610133831016604e8410600b841016171562000317575081810a6200033d565b62000323838362000248565b805f190482111562000339576200033962000234565b0290505b92915050565b5f6200035360ff84168362000290565b9392505050565b80820281158282048414176200033d576200033d62000234565b5f826200038f57634e487b7160e01b5f52601260045260245ffd5b500490565b5f8060408385031215620003a6575f80fd5b82516001600160a01b0381168114620003bd575f80fd5b6020939093015192949293505050565b61203d80620003db5f395ff3fe6080604052600436106101c8575f3560e01c806378109e54116100f25780639e78fb4f11610092578063c1a7285e11610062578063c1a7285e1461052d578063d665b77d1461054c578063dd62ed3e1461056b578063e7e30cc5146105af575f80fd5b80639e78fb4f146104c7578063a8aa1b31146104db578063a9059cbb146104fa578063ac49faf514610519575f80fd5b8063893d20e8116100cd578063893d20e8146104385780638a8c523c146104685780638e491c711461047c57806395d89b411461049b575f80fd5b806378109e54146103f95780637cca52fe1461040e5780637d1db4a514610423575f80fd5b8063310a0c821161016857806364180af21161013857806364180af2146103735780636fa2eb181461039257806370a08231146103b1578063715018a6146103e5575f80fd5b8063310a0c8214610306578063313ce567146103255780633d731c8e1461034057806351bc3c851461035f575f80fd5b806312d1fd54116101a357806312d1fd541461027757806318160ddd1461029857806323b872dd146102ba5780632f54bf6e146102d9575f80fd5b806306fdde03146101d3578063093da35c1461021a578063095ea7b314610258575f80fd5b366101cf57005b5f80fd5b3480156101de575f80fd5b5060408051808201909152600d81526c58656e64205061796d656e747360981b60208201525b6040516102119190611ac1565b60405180910390f35b348015610225575f80fd5b50610248610234366004611b24565b60136020525f908152604090205460ff1681565b6040519015158152602001610211565b348015610263575f80fd5b50610248610272366004611b3f565b6105dd565b348015610282575f80fd5b50610296610291366004611b69565b6105f3565b005b3480156102a3575f80fd5b506102ac610738565b604051908152602001610211565b3480156102c5575f80fd5b506102486102d4366004611b92565b6107a8565b3480156102e4575f80fd5b506102486102f3366004611b24565b5f546001600160a01b0391821691161490565b348015610311575f80fd5b50610296610320366004611b69565b610810565b348015610330575f80fd5b5060405160098152602001610211565b34801561034b575f80fd5b5061029661035a366004611b69565b610875565b34801561036a575f80fd5b50610296610917565b34801561037e575f80fd5b5061029661038d366004611bd0565b61094d565b34801561039d575f80fd5b506102966103ac366004611c18565b6109f1565b3480156103bc575f80fd5b506102ac6103cb366004611b24565b6001600160a01b03165f9081526002602052604090205490565b3480156103f0575f80fd5b50610296610aa2565b348015610404575f80fd5b506102ac600b5481565b348015610419575f80fd5b506102ac600a5481565b34801561042e575f80fd5b506102ac60095481565b348015610443575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610211565b348015610473575f80fd5b50610296610b0f565b348015610487575f80fd5b50610296610496366004611c6c565b610b4d565b3480156104a6575f80fd5b506040805180820190915260048152631611539160e21b6020820152610204565b3480156104d2575f80fd5b50610296610be0565b3480156104e6575f80fd5b50600554610450906001600160a01b031681565b348015610505575f80fd5b50610248610514366004611b3f565b610d8f565b348015610524575f80fd5b50610296610d9b565b348015610538575f80fd5b50610296610547366004611ce0565b610dd5565b348015610557575f80fd5b50610296610566366004611b3f565b610e28565b348015610576575f80fd5b506102ac610585366004611d17565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b3480156105ba575f80fd5b506102486105c9366004611b24565b60126020525f908152604090205460ff1681565b5f6105e9338484610f3c565b5060015b92915050565b5f546001600160a01b031633146106255760405162461bcd60e51b815260040161061c90611d43565b60405180910390fd5b5f6106476127106106418660015461105f90919063ffffffff16565b9061106a565b90505f6106656127106106418660015461105f90919063ffffffff16565b90505f6106836127106106418660015461105f90919063ffffffff16565b6009849055600a839055600b81905590505f6106ae6103e861064160056106a8610738565b9061105f565b90508084101580156106c05750808310155b80156106cc5750808210155b61072f5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b606482015260840161061c565b50505050505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926107a392909161079d9190611075565b90611075565b905090565b5f6107b4848484611080565b610805843361080085604051806060016040528060288152602001611fe0602891396001600160a01b038a165f90815260036020908152604080832033845290915290205491906115c8565b610f3c565b5060015b9392505050565b5f546001600160a01b031633146108395760405162461bcd60e51b815260040161061c90611d43565b600883905560015461085490620186a090610641908561105f565b600f5560015461086d90620186a090610641908461105f565b601055505050565b5f546001600160a01b0316331461089e5760405162461bcd60e51b815260040161061c90611d43565b60188390556019829055601a819055601b546108bb90600561106a565b601854111580156108db5750601b546108d590600561106a565b60195411155b80156108f65750601b546108f090600561106a565b601a5411155b6109125760405162461bcd60e51b815260040161061c90611d63565b505050565b5f546001600160a01b031633146109405760405162461bcd60e51b815260040161061c90611d43565b61094b600f546115f3565b565b5f546001600160a01b031633146109765760405162461bcd60e51b815260040161061c90611d43565b600d80546001600160a01b039485166001600160a01b03199182168117909255600e805494861694821685179055600c805493909516921682179093555f92835260136020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b5f546001600160a01b03163314610a1a5760405162461bcd60e51b815260040161061c90611d43565b601487905560158690556017859055601684905560188390556019829055601a819055601b54610a4b90600561106a565b60185411158015610a6b5750601b54610a6590600561106a565b60195411155b8015610a865750601b54610a8090600561106a565b601a5411155b61072f5760405162461bcd60e51b815260040161061c90611d63565b5f546001600160a01b03163314610acb5760405162461bcd60e51b815260040161061c90611d43565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b03163314610b385760405162461bcd60e51b815260040161061c90611d43565b6005805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610b765760405162461bcd60e51b815260040161061c90611d43565b5f5b82811015610bda578160115f868685818110610b9657610b96611daf565b9050602002016020810190610bab9190611b24565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610b78565b50505050565b5f546001600160a01b03163314610c095760405162461bcd60e51b815260040161061c90611d43565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c829190611dc3565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf19190611dc3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610d3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5f9190611dc3565b600480546001600160a01b039485166001600160a01b031991821617909155600580549290941691161790915550565b5f6105e9338484611080565b5f546001600160a01b03163314610dc45760405162461bcd60e51b815260040161061c90611d43565b5f196009819055600a819055600b55565b5f546001600160a01b03163314610dfe5760405162461bcd60e51b815260040161061c90611d43565b6001600160a01b03919091165f908152601360205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610e515760405162461bcd60e51b815260040161061c90611d43565b6040516370a0823160e01b81523060048201525f90610ec6906064906106419085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610ea2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a89190611dde565b600c5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610f18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bda9190611df5565b6001600160a01b038316610f9e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161061c565b6001600160a01b038216610fff5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161061c565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6108098284611e24565b5f6108098284611e3b565b5f6108098284611e5a565b6001600160a01b0383166110e45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161061c565b6001600160a01b0382166111465760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161061c565b5f81116111a75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161061c565b6001600160a01b0383165f9081526013602052604090205460ff161580156111e757506001600160a01b0382165f9081526013602052604090205460ff16155b1561123657600554600160a01b900460ff166112365760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b604482015260640161061c565b6001600160a01b0383165f9081526013602052604090205460ff1615801561127657506001600160a01b0382165f9081526013602052604090205460ff16155b801561129057506005546001600160a01b03838116911614155b80156112a757506001600160a01b03821661dead14155b1561131f57600b546001600160a01b0383165f908152600260205260409020546112d1908361164d565b111561131f5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161061c565b6005546001600160a01b038481169116146113be57600a548111158061135c57506001600160a01b0383165f9081526013602052604090205460ff165b8061137e57506001600160a01b0382165f9081526013602052604090205460ff165b6113be5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161061c565b600954811115806113e657506001600160a01b0383165f9081526013602052604090205460ff165b8061140857506001600160a01b0382165f9081526013602052604090205460ff165b6114485760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161061c565b6005546001600160a01b03838116911614801561147d57506001600160a01b0383165f9081526013602052604090205460ff16155b1561149a57600160065f8282546114949190611e6d565b90915550505b6114a5838383611658565b156114fa576114f56114f0826114eb6114d2306001600160a01b03165f9081526002602052604090205490565b6114de6009600a611f60565b6114eb90624c4b40611e24565b611710565b6115f3565b5f6006555b5f6115058484611724565b61150f578161151a565b61151a848484611768565b6001600160a01b0384165f9081526002602052604090205490915061153f908261164d565b6001600160a01b038085165f90815260026020526040808220939093559086168152205461156d9083611075565b6001600160a01b038581165f8181526002602090815260409182902094909455518481529186169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b5f81848411156115eb5760405162461bcd60e51b815260040161061c9190611ac1565b505050900390565b6007805460ff19166001179055611609816118ba565b600d546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561163f573d5f803e3d5ffd5b50506007805460ff19169055565b5f6108098284611e6d565b601054600f54305f9081526002602052604081205460075491938510159211159060ff161580156116925750600554600160a81b900460ff165b80156116a75750600554600160a01b900460ff165b80156116b05750815b80156116d457506001600160a01b0386165f9081526013602052604090205460ff16155b80156116ed57506005546001600160a01b038681169116145b80156116fd575060085460065410155b80156117065750805b9695505050505050565b5f81831161171e5782610809565b50919050565b6001600160a01b0382165f9081526013602052604081205460ff161580156108095750506001600160a01b03165f9081526013602052604090205460ff1615919050565b6001600160a01b0383165f908152601260205260408120548190819060ff16156117975750849050606461179f565b503090506127105b5f6117aa8787611a22565b11156118b0575f6117c86117be8888611a22565b6106a8878561106a565b6001600160a01b0384165f908152600260205260409020549091506117ed908261164d565b6001600160a01b038085165f8181526002602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118409085815260200190565b60405180910390a35f60175411801561186357506017546118618888611a22565b115b1561188f5761188f3061dead61188a6017546106a8601b548b61106a90919063ffffffff16565b611080565b80851161189c57846118a6565b6118a68582611075565b9350505050610809565b5091949350505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106118ed576118ed611daf565b60200260200101906001600160a01b031690816001600160a01b03168152505060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561195d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119819190611dc3565b8160018151811061199457611994611daf565b6001600160a01b0392831660209182029290920101526004546119ba9130911684610f3c565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac947916119f19186915f9187913091429101611f6e565b5f604051808303815f87803b158015611a08575f80fd5b505af1158015611a1a573d5f803e3d5ffd5b505050505050565b6001600160a01b0382165f9081526011602052604081205460ff1680611a5f57506001600160a01b0382165f9081526011602052604090205460ff165b15611a7957601b54611a72906064611075565b90506105ed565b6005546001600160a01b0390811690831603611a9857506019546105ed565b6005546001600160a01b0390811690841603611ab757506018546105ed565b50601a5492915050565b5f602080835283518060208501525f5b81811015611aed57858101830151858201604001528201611ad1565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611b21575f80fd5b50565b5f60208284031215611b34575f80fd5b813561080981611b0d565b5f8060408385031215611b50575f80fd5b8235611b5b81611b0d565b946020939093013593505050565b5f805f60608486031215611b7b575f80fd5b505081359360208301359350604090920135919050565b5f805f60608486031215611ba4575f80fd5b8335611baf81611b0d565b92506020840135611bbf81611b0d565b929592945050506040919091013590565b5f805f60608486031215611be2575f80fd5b8335611bed81611b0d565b92506020840135611bfd81611b0d565b91506040840135611c0d81611b0d565b809150509250925092565b5f805f805f805f60e0888a031215611c2e575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b8015158114611b21575f80fd5b5f805f60408486031215611c7e575f80fd5b833567ffffffffffffffff80821115611c95575f80fd5b818601915086601f830112611ca8575f80fd5b813581811115611cb6575f80fd5b8760208260051b8501011115611cca575f80fd5b60209283019550935050840135611c0d81611c5f565b5f8060408385031215611cf1575f80fd5b8235611cfc81611b0d565b91506020830135611d0c81611c5f565b809150509250929050565b5f8060408385031215611d28575f80fd5b8235611d3381611b0d565b91506020830135611d0c81611b0d565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252602c908201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60408201526b6f7265207468616e2032302560a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611dd3575f80fd5b815161080981611b0d565b5f60208284031215611dee575f80fd5b5051919050565b5f60208284031215611e05575f80fd5b815161080981611c5f565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176105ed576105ed611e10565b5f82611e5557634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156105ed576105ed611e10565b808201808211156105ed576105ed611e10565b600181815b80851115611eba57815f1904821115611ea057611ea0611e10565b80851615611ead57918102915b93841c9390800290611e85565b509250929050565b5f82611ed0575060016105ed565b81611edc57505f6105ed565b8160018114611ef25760028114611efc57611f18565b60019150506105ed565b60ff841115611f0d57611f0d611e10565b50506001821b6105ed565b5060208310610133831016604e8410600b8410161715611f3b575081810a6105ed565b611f458383611e80565b805f1904821115611f5857611f58611e10565b029392505050565b5f61080960ff841683611ec2565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611fbe5784516001600160a01b031683529383019391830191600101611f99565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122029c2fa3891f992e4c66096baad467bdb13de140deb0084100d8afa9ec80eac2564736f6c63430008160033000000000000000000000000a8dda230b09e6782cb5877e4c2abe6ebb71c6f4b0000000000000000000000000000000000000000000000000000000000002710

Deployed Bytecode

0x6080604052600436106101c8575f3560e01c806378109e54116100f25780639e78fb4f11610092578063c1a7285e11610062578063c1a7285e1461052d578063d665b77d1461054c578063dd62ed3e1461056b578063e7e30cc5146105af575f80fd5b80639e78fb4f146104c7578063a8aa1b31146104db578063a9059cbb146104fa578063ac49faf514610519575f80fd5b8063893d20e8116100cd578063893d20e8146104385780638a8c523c146104685780638e491c711461047c57806395d89b411461049b575f80fd5b806378109e54146103f95780637cca52fe1461040e5780637d1db4a514610423575f80fd5b8063310a0c821161016857806364180af21161013857806364180af2146103735780636fa2eb181461039257806370a08231146103b1578063715018a6146103e5575f80fd5b8063310a0c8214610306578063313ce567146103255780633d731c8e1461034057806351bc3c851461035f575f80fd5b806312d1fd54116101a357806312d1fd541461027757806318160ddd1461029857806323b872dd146102ba5780632f54bf6e146102d9575f80fd5b806306fdde03146101d3578063093da35c1461021a578063095ea7b314610258575f80fd5b366101cf57005b5f80fd5b3480156101de575f80fd5b5060408051808201909152600d81526c58656e64205061796d656e747360981b60208201525b6040516102119190611ac1565b60405180910390f35b348015610225575f80fd5b50610248610234366004611b24565b60136020525f908152604090205460ff1681565b6040519015158152602001610211565b348015610263575f80fd5b50610248610272366004611b3f565b6105dd565b348015610282575f80fd5b50610296610291366004611b69565b6105f3565b005b3480156102a3575f80fd5b506102ac610738565b604051908152602001610211565b3480156102c5575f80fd5b506102486102d4366004611b92565b6107a8565b3480156102e4575f80fd5b506102486102f3366004611b24565b5f546001600160a01b0391821691161490565b348015610311575f80fd5b50610296610320366004611b69565b610810565b348015610330575f80fd5b5060405160098152602001610211565b34801561034b575f80fd5b5061029661035a366004611b69565b610875565b34801561036a575f80fd5b50610296610917565b34801561037e575f80fd5b5061029661038d366004611bd0565b61094d565b34801561039d575f80fd5b506102966103ac366004611c18565b6109f1565b3480156103bc575f80fd5b506102ac6103cb366004611b24565b6001600160a01b03165f9081526002602052604090205490565b3480156103f0575f80fd5b50610296610aa2565b348015610404575f80fd5b506102ac600b5481565b348015610419575f80fd5b506102ac600a5481565b34801561042e575f80fd5b506102ac60095481565b348015610443575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610211565b348015610473575f80fd5b50610296610b0f565b348015610487575f80fd5b50610296610496366004611c6c565b610b4d565b3480156104a6575f80fd5b506040805180820190915260048152631611539160e21b6020820152610204565b3480156104d2575f80fd5b50610296610be0565b3480156104e6575f80fd5b50600554610450906001600160a01b031681565b348015610505575f80fd5b50610248610514366004611b3f565b610d8f565b348015610524575f80fd5b50610296610d9b565b348015610538575f80fd5b50610296610547366004611ce0565b610dd5565b348015610557575f80fd5b50610296610566366004611b3f565b610e28565b348015610576575f80fd5b506102ac610585366004611d17565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b3480156105ba575f80fd5b506102486105c9366004611b24565b60126020525f908152604090205460ff1681565b5f6105e9338484610f3c565b5060015b92915050565b5f546001600160a01b031633146106255760405162461bcd60e51b815260040161061c90611d43565b60405180910390fd5b5f6106476127106106418660015461105f90919063ffffffff16565b9061106a565b90505f6106656127106106418660015461105f90919063ffffffff16565b90505f6106836127106106418660015461105f90919063ffffffff16565b6009849055600a839055600b81905590505f6106ae6103e861064160056106a8610738565b9061105f565b90508084101580156106c05750808310155b80156106cc5750808210155b61072f5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b606482015260840161061c565b50505050505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926107a392909161079d9190611075565b90611075565b905090565b5f6107b4848484611080565b610805843361080085604051806060016040528060288152602001611fe0602891396001600160a01b038a165f90815260036020908152604080832033845290915290205491906115c8565b610f3c565b5060015b9392505050565b5f546001600160a01b031633146108395760405162461bcd60e51b815260040161061c90611d43565b600883905560015461085490620186a090610641908561105f565b600f5560015461086d90620186a090610641908461105f565b601055505050565b5f546001600160a01b0316331461089e5760405162461bcd60e51b815260040161061c90611d43565b60188390556019829055601a819055601b546108bb90600561106a565b601854111580156108db5750601b546108d590600561106a565b60195411155b80156108f65750601b546108f090600561106a565b601a5411155b6109125760405162461bcd60e51b815260040161061c90611d63565b505050565b5f546001600160a01b031633146109405760405162461bcd60e51b815260040161061c90611d43565b61094b600f546115f3565b565b5f546001600160a01b031633146109765760405162461bcd60e51b815260040161061c90611d43565b600d80546001600160a01b039485166001600160a01b03199182168117909255600e805494861694821685179055600c805493909516921682179093555f92835260136020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b5f546001600160a01b03163314610a1a5760405162461bcd60e51b815260040161061c90611d43565b601487905560158690556017859055601684905560188390556019829055601a819055601b54610a4b90600561106a565b60185411158015610a6b5750601b54610a6590600561106a565b60195411155b8015610a865750601b54610a8090600561106a565b601a5411155b61072f5760405162461bcd60e51b815260040161061c90611d63565b5f546001600160a01b03163314610acb5760405162461bcd60e51b815260040161061c90611d43565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b03163314610b385760405162461bcd60e51b815260040161061c90611d43565b6005805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610b765760405162461bcd60e51b815260040161061c90611d43565b5f5b82811015610bda578160115f868685818110610b9657610b96611daf565b9050602002016020810190610bab9190611b24565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610b78565b50505050565b5f546001600160a01b03163314610c095760405162461bcd60e51b815260040161061c90611d43565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c5e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c829190611dc3565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf19190611dc3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610d3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5f9190611dc3565b600480546001600160a01b039485166001600160a01b031991821617909155600580549290941691161790915550565b5f6105e9338484611080565b5f546001600160a01b03163314610dc45760405162461bcd60e51b815260040161061c90611d43565b5f196009819055600a819055600b55565b5f546001600160a01b03163314610dfe5760405162461bcd60e51b815260040161061c90611d43565b6001600160a01b03919091165f908152601360205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610e515760405162461bcd60e51b815260040161061c90611d43565b6040516370a0823160e01b81523060048201525f90610ec6906064906106419085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610ea2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a89190611dde565b600c5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610f18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bda9190611df5565b6001600160a01b038316610f9e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161061c565b6001600160a01b038216610fff5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161061c565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6108098284611e24565b5f6108098284611e3b565b5f6108098284611e5a565b6001600160a01b0383166110e45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161061c565b6001600160a01b0382166111465760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161061c565b5f81116111a75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161061c565b6001600160a01b0383165f9081526013602052604090205460ff161580156111e757506001600160a01b0382165f9081526013602052604090205460ff16155b1561123657600554600160a01b900460ff166112365760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b604482015260640161061c565b6001600160a01b0383165f9081526013602052604090205460ff1615801561127657506001600160a01b0382165f9081526013602052604090205460ff16155b801561129057506005546001600160a01b03838116911614155b80156112a757506001600160a01b03821661dead14155b1561131f57600b546001600160a01b0383165f908152600260205260409020546112d1908361164d565b111561131f5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161061c565b6005546001600160a01b038481169116146113be57600a548111158061135c57506001600160a01b0383165f9081526013602052604090205460ff165b8061137e57506001600160a01b0382165f9081526013602052604090205460ff165b6113be5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161061c565b600954811115806113e657506001600160a01b0383165f9081526013602052604090205460ff165b8061140857506001600160a01b0382165f9081526013602052604090205460ff165b6114485760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161061c565b6005546001600160a01b03838116911614801561147d57506001600160a01b0383165f9081526013602052604090205460ff16155b1561149a57600160065f8282546114949190611e6d565b90915550505b6114a5838383611658565b156114fa576114f56114f0826114eb6114d2306001600160a01b03165f9081526002602052604090205490565b6114de6009600a611f60565b6114eb90624c4b40611e24565b611710565b6115f3565b5f6006555b5f6115058484611724565b61150f578161151a565b61151a848484611768565b6001600160a01b0384165f9081526002602052604090205490915061153f908261164d565b6001600160a01b038085165f90815260026020526040808220939093559086168152205461156d9083611075565b6001600160a01b038581165f8181526002602090815260409182902094909455518481529186169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b5f81848411156115eb5760405162461bcd60e51b815260040161061c9190611ac1565b505050900390565b6007805460ff19166001179055611609816118ba565b600d546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561163f573d5f803e3d5ffd5b50506007805460ff19169055565b5f6108098284611e6d565b601054600f54305f9081526002602052604081205460075491938510159211159060ff161580156116925750600554600160a81b900460ff165b80156116a75750600554600160a01b900460ff165b80156116b05750815b80156116d457506001600160a01b0386165f9081526013602052604090205460ff16155b80156116ed57506005546001600160a01b038681169116145b80156116fd575060085460065410155b80156117065750805b9695505050505050565b5f81831161171e5782610809565b50919050565b6001600160a01b0382165f9081526013602052604081205460ff161580156108095750506001600160a01b03165f9081526013602052604090205460ff1615919050565b6001600160a01b0383165f908152601260205260408120548190819060ff16156117975750849050606461179f565b503090506127105b5f6117aa8787611a22565b11156118b0575f6117c86117be8888611a22565b6106a8878561106a565b6001600160a01b0384165f908152600260205260409020549091506117ed908261164d565b6001600160a01b038085165f8181526002602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118409085815260200190565b60405180910390a35f60175411801561186357506017546118618888611a22565b115b1561188f5761188f3061dead61188a6017546106a8601b548b61106a90919063ffffffff16565b611080565b80851161189c57846118a6565b6118a68582611075565b9350505050610809565b5091949350505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106118ed576118ed611daf565b60200260200101906001600160a01b031690816001600160a01b03168152505060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561195d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119819190611dc3565b8160018151811061199457611994611daf565b6001600160a01b0392831660209182029290920101526004546119ba9130911684610f3c565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac947916119f19186915f9187913091429101611f6e565b5f604051808303815f87803b158015611a08575f80fd5b505af1158015611a1a573d5f803e3d5ffd5b505050505050565b6001600160a01b0382165f9081526011602052604081205460ff1680611a5f57506001600160a01b0382165f9081526011602052604090205460ff165b15611a7957601b54611a72906064611075565b90506105ed565b6005546001600160a01b0390811690831603611a9857506019546105ed565b6005546001600160a01b0390811690841603611ab757506018546105ed565b50601a5492915050565b5f602080835283518060208501525f5b81811015611aed57858101830151858201604001528201611ad1565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611b21575f80fd5b50565b5f60208284031215611b34575f80fd5b813561080981611b0d565b5f8060408385031215611b50575f80fd5b8235611b5b81611b0d565b946020939093013593505050565b5f805f60608486031215611b7b575f80fd5b505081359360208301359350604090920135919050565b5f805f60608486031215611ba4575f80fd5b8335611baf81611b0d565b92506020840135611bbf81611b0d565b929592945050506040919091013590565b5f805f60608486031215611be2575f80fd5b8335611bed81611b0d565b92506020840135611bfd81611b0d565b91506040840135611c0d81611b0d565b809150509250925092565b5f805f805f805f60e0888a031215611c2e575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b8015158114611b21575f80fd5b5f805f60408486031215611c7e575f80fd5b833567ffffffffffffffff80821115611c95575f80fd5b818601915086601f830112611ca8575f80fd5b813581811115611cb6575f80fd5b8760208260051b8501011115611cca575f80fd5b60209283019550935050840135611c0d81611c5f565b5f8060408385031215611cf1575f80fd5b8235611cfc81611b0d565b91506020830135611d0c81611c5f565b809150509250929050565b5f8060408385031215611d28575f80fd5b8235611d3381611b0d565b91506020830135611d0c81611b0d565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252602c908201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60408201526b6f7265207468616e2032302560a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611dd3575f80fd5b815161080981611b0d565b5f60208284031215611dee575f80fd5b5051919050565b5f60208284031215611e05575f80fd5b815161080981611c5f565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176105ed576105ed611e10565b5f82611e5557634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156105ed576105ed611e10565b808201808211156105ed576105ed611e10565b600181815b80851115611eba57815f1904821115611ea057611ea0611e10565b80851615611ead57918102915b93841c9390800290611e85565b509250929050565b5f82611ed0575060016105ed565b81611edc57505f6105ed565b8160018114611ef25760028114611efc57611f18565b60019150506105ed565b60ff841115611f0d57611f0d611e10565b50506001821b6105ed565b5060208310610133831016604e8410600b8410161715611f3b575081810a6105ed565b611f458383611e80565b805f1904821115611f5857611f58611e10565b029392505050565b5f61080960ff841683611ec2565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611fbe5784516001600160a01b031683529383019391830191600101611f99565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122029c2fa3891f992e4c66096baad467bdb13de140deb0084100d8afa9ec80eac2564736f6c63430008160033

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

000000000000000000000000a8dda230b09e6782cb5877e4c2abe6ebb71c6f4b0000000000000000000000000000000000000000000000000000000000002710

-----Decoded View---------------
Arg [0] : _xWallet (address): 0xa8Dda230b09e6782cB5877E4C2abE6EBB71c6f4B
Arg [1] : _xAmount (uint256): 10000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a8dda230b09e6782cb5877e4c2abe6ebb71c6f4b
Arg [1] : 0000000000000000000000000000000000000000000000000000000000002710


Deployed Bytecode Sourcemap

5405:11625:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7740:67;;;;;;;;;;-1:-1:-1;7800:5:0;;;;;;;;;;;;-1:-1:-1;;;7800:5:0;;;;7740:67;;;;;;;:::i;:::-;;;;;;;;6699:49;;;;;;;;;;-1:-1:-1;6699:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1120:14:1;;1113:22;1095:41;;1083:2;1068:18;6699:49:0;955:187:1;8554:133:0;;;;;;;;;;-1:-1:-1;8554:133:0;;;;;:::i;:::-;;:::i;12889:561::-;;;;;;;;;;-1:-1:-1;12889:561:0;;;;;:::i;:::-;;:::i;:::-;;8693:132;;;;;;;;;;;;;:::i;:::-;;;1934:25:1;;;1922:2;1907:18;8693:132:0;1788:177:1;13966:309:0;;;;;;;;;;-1:-1:-1;13966:309:0;;;;;:::i;:::-;;:::i;964:87::-;;;;;;;;;;-1:-1:-1;964:87:0;;;;;:::i;:::-;1019:4;1044:5;-1:-1:-1;;;;;1033:16:0;;;1044:5;;1033:16;;964:87;10039:339;;;;;;;;;;-1:-1:-1;10039:339:0;;;;;:::i;:::-;;:::i;7890:67::-;;;;;;;;;;-1:-1:-1;7890:67:0;;5628:1;2573:36:1;;2561:2;2546:18;7890:67:0;2431:184:1;11442:340:0;;;;;;;;;;-1:-1:-1;11442:340:0;;;;;:::i;:::-;;:::i;10386:93::-;;;;;;;;;;;;;:::i;12553:328::-;;;;;;;;;;-1:-1:-1;12553:328:0;;;;;:::i;:::-;;:::i;10911:523::-;;;;;;;;;;-1:-1:-1;10911:523:0;;;;;:::i;:::-;;:::i;8167:103::-;;;;;;;;;;-1:-1:-1;8167:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;8250:18:0;8233:7;8250:18;;;:9;:18;;;;;;;8167:103;1057:133;;;;;;;;;;;;;:::i;6183:63::-;;;;;;;;;;;;;;;;6114:62;;;;;;;;;;;;;;;;6047:60;;;;;;;;;;;;;;;;7963:78;;;;;;;;;;-1:-1:-1;8015:7:0;8033:5;-1:-1:-1;;;;;8033:5:0;7963:78;;;-1:-1:-1;;;;;3915:32:1;;;3897:51;;3885:2;3870:18;7963:78:0;3751:203:1;8831:68:0;;;;;;;;;;;;;:::i;13458:186::-;;;;;;;;;;-1:-1:-1;13458:186:0;;;;;:::i;:::-;;:::i;7813:71::-;;;;;;;;;;-1:-1:-1;7875:7:0;;;;;;;;;;;;-1:-1:-1;;;7875:7:0;;;;7813:71;;9250:272;;;;;;;;;;;;;:::i;5850:19::-;;;;;;;;;;-1:-1:-1;5850:19:0;;;;-1:-1:-1;;;;;5850:19:0;;;8276:139;;;;;;;;;;-1:-1:-1;8276:139:0;;;;;:::i;:::-;;:::i;9746:170::-;;;;;;;;;;;;;:::i;8047:114::-;;;;;;;;;;-1:-1:-1;8047:114:0;;;;;:::i;:::-;;:::i;12133:239::-;;;;;;;;;;-1:-1:-1;12133:239:0;;;;;:::i;:::-;;:::i;8421:127::-;;;;;;;;;;-1:-1:-1;8421:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8519:18:0;;;8502:7;8519:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8421:127;6644:48;;;;;;;;;;-1:-1:-1;6644:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8554:133;8629:4;8636:37;8645:10;8657:7;8666:6;8636:8;:37::i;:::-;-1:-1:-1;8681:4:0;8554:133;;;;;:::o;12889:561::-;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;;;;;;;;;12999:13:::1;13015:33;13042:5;13015:22;13032:4;13015:12;;:16;;:22;;;;:::i;:::-;:26:::0;::::1;:33::i;:::-;12999:49;;13050:19;13072:34;13100:5;13072:23;13089:5;13072:12;;:16;;:23;;;;:::i;:34::-;13050:56;;13108:17;13128:37;13159:5;13128:26;13145:8;13128:12;;:16;;:26;;;;:::i;:37::-;13176:12;:20:::0;;;13198:14:::1;:28:::0;;;13228:15:::1;:27:::0;;;13108:57;-1:-1:-1;;13282:30:0::1;13307:4;13282:20;13300:1;13282:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:30::-;13266:46;;13340:5;13331;:14;;:38;;;;;13364:5;13349:11;:20;;13331:38;:60;;;;;13386:5;13373:9;:18;;13331:60;13323:119;;;::::0;-1:-1:-1;;;13323:119:0;;6153:2:1;13323:119:0::1;::::0;::::1;6135:21:1::0;6192:2;6172:18;;;6165:30;6231:34;6211:18;;;6204:62;-1:-1:-1;;;6282:18:1;;;6275:44;6336:19;;13323:119:0::1;5951:410:1::0;13323:119:0::1;12988:462;;;;12889:561:::0;;;:::o;8693:132::-;8250:9;:18;;;;6547:42;8746:7;8250:18;;;;;8763:12;;8746:7;;8763:60;;8250:18;;8763:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8756:67;;8693:132;:::o;13966:309::-;14064:4;14081:36;14091:6;14099:9;14110:6;14081:9;:36::i;:::-;14128:117;14137:6;14145:10;14157:87;14193:6;14157:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14157:19:0;;;;;;:11;:19;;;;;;;;14177:10;14157:31;;;;;;;;;:87;:35;:87::i;:::-;14128:8;:117::i;:::-;-1:-1:-1;14263:4:0;13966:309;;;;;;:::o;10039:339::-;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;10176:10:::1;:24:::0;;;10222:12:::1;::::0;:57:::1;::::0;10271:6:::1;::::0;10222:36:::1;::::0;10239:18;10222:16:::1;:36::i;:57::-;10202:17;:77:::0;10312:12:::1;::::0;:58:::1;::::0;10362:6:::1;::::0;10312:37:::1;::::0;10329:19;10312:16:::1;:37::i;:58::-;10291:18;:79:::0;-1:-1:-1;;;10039:339:0:o;11442:340::-;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;11550:8:::1;:17:::0;;;11569:7:::1;:15:::0;;;11586:11:::1;:20:::0;;;11637:11:::1;::::0;:18:::1;::::0;11653:1:::1;11637:15;:18::i;:::-;11625:8;;:30;;:63;;;;-1:-1:-1::0;11670:11:0::1;::::0;:18:::1;::::0;11686:1:::1;11670:15;:18::i;:::-;11659:7;;:29;;11625:63;:100;;;;-1:-1:-1::0;11707:11:0::1;::::0;:18:::1;::::0;11723:1:::1;11707:15;:18::i;:::-;11692:11;;:33;;11625:100;11617:157;;;;-1:-1:-1::0;;;11617:157:0::1;;;;;;;:::i;:::-;11442:340:::0;;;:::o;10386:93::-;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;10438:33:::1;10453:17;;10438:14;:33::i;:::-;10386:93::o:0;12553:328::-;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;12675:10:::1;:23:::0;;-1:-1:-1;;;;;12675:23:0;;::::1;-1:-1:-1::0;;;;;;12675:23:0;;::::1;::::0;::::1;::::0;;;12700:10:::1;:23:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;12725:11:::1;:26:::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;12675:10:::1;12762:28:::0;;;:16:::1;:28;::::0;;;;;:35;;-1:-1:-1;;12762:35:0;;::::1;12675:23:::0;12762:35;;::::1;::::0;;;12799:28;;;;;;:35;;;::::1;::::0;::::1;::::0;;12836:30;;;;;;:37;;;;::::1;::::0;;::::1;::::0;;12553:328::o;10911:523::-;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;11100:12:::1;:25:::0;;;11127:12:::1;:25:::0;;;11154:7:::1;:15:::0;;;11171:14:::1;:29:::0;;;11202:8:::1;:17:::0;;;11221:7:::1;:15:::0;;;11238:11:::1;:20:::0;;;11289:11:::1;::::0;:18:::1;::::0;11305:1:::1;11289:15;:18::i;:::-;11277:8;;:30;;:63;;;;-1:-1:-1::0;11322:11:0::1;::::0;:18:::1;::::0;11338:1:::1;11322:15;:18::i;:::-;11311:7;;:29;;11277:63;:100;;;;-1:-1:-1::0;11359:11:0::1;::::0;:18:::1;::::0;11375:1:::1;11359:15;:18::i;:::-;11344:11;;:33;;11277:100;11269:157;;;;-1:-1:-1::0;;;11269:157:0::1;;;;;;;:::i;1057:133::-:0;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;1131:1:::1;1115:18:::0;;-1:-1:-1;;;;;;1115:18:0::1;::::0;;1150:32:::1;::::0;3897:51:1;;;1150:32:0::1;::::0;3885:2:1;3870:18;1150:32:0::1;;;;;;;1057:133::o:0;8831:68::-;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;8876:14:::1;:21:::0;;-1:-1:-1;;;;8876:21:0::1;-1:-1:-1::0;;;8876:21:0::1;::::0;;8831:68::o;13458:186::-;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;13557:6:::1;13553:84;13567:20:::0;;::::1;13553:84;;;13626:8;13604:5;:19;13610:9;;13620:1;13610:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13604:19:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;13604:19:0;:30;;-1:-1:-1;;13604:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;13589:3:0::1;13553:84;;;;13458:186:::0;;;:::o;9250:272::-;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;9302:17:::1;9332:42;9302:73;;9386:13;9413:7;-1:-1:-1::0;;;;;9413:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9402:40:0::1;;9451:4;9458:7;-1:-1:-1::0;;;;;9458:12:0::1;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9402:71;::::0;-1:-1:-1;;;;;;9402:71:0::1;::::0;;;;;;-1:-1:-1;;;;;7397:15:1;;;9402:71:0::1;::::0;::::1;7379:34:1::0;7449:15;;7429:18;;;7422:43;7314:18;;9402:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9484:6;:16:::0;;-1:-1:-1;;;;;9484:16:0;;::::1;-1:-1:-1::0;;;;;;9484:16:0;;::::1;;::::0;;;9502:4:::1;:12:::0;;;;;::::1;::::0;::::1;;::::0;;;-1:-1:-1;9250:272:0:o;8276:139::-;8354:4;8361:40;8371:10;8383:9;8394:6;8361:9;:40::i;9746:170::-;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;-1:-1:-1;;9803:12:0::1;:26:::0;;;9840:14:::1;:28:::0;;;9879:15:::1;:29:::0;9746:170::o;8047:114::-;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8122:26:0;;;::::1;;::::0;;;:16:::1;:26;::::0;;;;:37;;-1:-1:-1;;8122:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8047:114::o;12133:239::-;1019:4;1044:5;-1:-1:-1;;;;;1044:5:0;931:10;1033:16;915:38;;;;-1:-1:-1;;;915:38:0;;;;;;;:::i;:::-;12243:41:::1;::::0;-1:-1:-1;;;12243:41:0;;12278:4:::1;12243:41;::::0;::::1;3897:51:1::0;12225:15:0::1;::::0;12243:63:::1;::::0;12302:3:::1;::::0;12243:54:::1;::::0;12289:7;;-1:-1:-1;;;;;12243:26:0;::::1;::::0;::::1;::::0;3870:18:1;;12243:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:63::-;12343:11;::::0;12317:47:::1;::::0;-1:-1:-1;;;12317:47:0;;-1:-1:-1;;;;;12343:11:0;;::::1;12317:47;::::0;::::1;7839:51:1::0;7906:18;;;7899:34;;;12225:81:0;;-1:-1:-1;12317:25:0;::::1;::::0;::::1;::::0;7812:18:1;;12317:47:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8907:335::-:0;-1:-1:-1;;;;;9000:19:0;;8992:68;;;;-1:-1:-1;;;8992:68:0;;8396:2:1;8992:68:0;;;8378:21:1;8435:2;8415:18;;;8408:30;8474:34;8454:18;;;8447:62;-1:-1:-1;;;8525:18:1;;;8518:34;8569:19;;8992:68:0;8194:400:1;8992:68:0;-1:-1:-1;;;;;9079:21:0;;9071:68;;;;-1:-1:-1;;;9071:68:0;;8801:2:1;9071:68:0;;;8783:21:1;8840:2;8820:18;;;8813:30;8879:34;8859:18;;;8852:62;-1:-1:-1;;;8930:18:1;;;8923:32;8972:19;;9071:68:0;8599:398:1;9071:68:0;-1:-1:-1;;;;;9150:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9202:32;;1934:25:1;;;9202:32:0;;1907:18:1;9202:32:0;;;;;;;8907:335;;;:::o;2809:98::-;2867:7;2894:5;2898:1;2894;:5;:::i;2915:98::-;2973:7;3000:5;3004:1;3000;:5;:::i;2703:98::-;2761:7;2788:5;2792:1;2788;:5;:::i;15529:1498::-;-1:-1:-1;;;;;15626:20:0;;15618:70;;;;-1:-1:-1;;;15618:70:0;;9864:2:1;15618:70:0;;;9846:21:1;9903:2;9883:18;;;9876:30;9942:34;9922:18;;;9915:62;-1:-1:-1;;;9993:18:1;;;9986:35;10038:19;;15618:70:0;9662:401:1;15618:70:0;-1:-1:-1;;;;;15707:23:0;;15699:71;;;;-1:-1:-1;;;15699:71:0;;10270:2:1;15699:71:0;;;10252:21:1;10309:2;10289:18;;;10282:30;10348:34;10328:18;;;10321:62;-1:-1:-1;;;10399:18:1;;;10392:33;10442:19;;15699:71:0;10068:399:1;15699:71:0;15798:1;15789:6;:10;15781:64;;;;-1:-1:-1;;;15781:64:0;;10674:2:1;15781:64:0;;;10656:21:1;10713:2;10693:18;;;10686:30;10752:34;10732:18;;;10725:62;-1:-1:-1;;;10803:18:1;;;10796:39;10852:19;;15781:64:0;10472:405:1;15781:64:0;-1:-1:-1;;;;;15860:24:0;;;;;;:16;:24;;;;;;;;15859:25;:57;;;;-1:-1:-1;;;;;;15889:27:0;;;;;;:16;:27;;;;;;;;15888:28;15859:57;15856:105;;;15926:14;;-1:-1:-1;;;15926:14:0;;;;15918:41;;;;-1:-1:-1;;;15918:41:0;;11084:2:1;15918:41:0;;;11066:21:1;11123:2;11103:18;;;11096:30;-1:-1:-1;;;11142:18:1;;;11135:44;11196:18;;15918:41:0;10882:338:1;15918:41:0;-1:-1:-1;;;;;15975:24:0;;;;;;:16;:24;;;;;;;;15974:25;:57;;;;-1:-1:-1;;;;;;16004:27:0;;;;;;:16;:27;;;;;;;;16003:28;15974:57;:87;;;;-1:-1:-1;16056:4:0;;-1:-1:-1;;;;;16035:26:0;;;16056:4;;16035:26;;15974:87;:117;;;;-1:-1:-1;;;;;;16065:26:0;;6547:42;16065:26;;15974:117;15971:230;;;16149:15;;-1:-1:-1;;;;;16112:20:0;;;;;;:9;:20;;;;;;:32;;16137:6;16112:24;:32::i;:::-;16111:53;;16103:96;;;;-1:-1:-1;;;16103:96:0;;11427:2:1;16103:96:0;;;11409:21:1;11466:2;11446:18;;;11439:30;11505:32;11485:18;;;11478:60;11555:18;;16103:96:0;11225:354:1;16103:96:0;16224:4;;-1:-1:-1;;;;;16214:14:0;;;16224:4;;16214:14;16211:134;;16248:14;;16238:6;:24;;:52;;;-1:-1:-1;;;;;;16266:24:0;;;;;;:16;:24;;;;;;;;16238:52;:83;;;-1:-1:-1;;;;;;16294:27:0;;;;;;:16;:27;;;;;;;;16238:83;16230:113;;;;-1:-1:-1;;;16230:113:0;;11786:2:1;16230:113:0;;;11768:21:1;11825:2;11805:18;;;11798:30;-1:-1:-1;;;11844:18:1;;;11837:47;11901:18;;16230:113:0;11584:341:1;16230:113:0;16373:12;;16363:6;:22;;:50;;;-1:-1:-1;;;;;;16389:24:0;;;;;;:16;:24;;;;;;;;16363:50;:81;;;-1:-1:-1;;;;;;16417:27:0;;;;;;:16;:27;;;;;;;;16363:81;16355:111;;;;-1:-1:-1;;;16355:111:0;;11786:2:1;16355:111:0;;;11768:21:1;11825:2;11805:18;;;11798:30;-1:-1:-1;;;11844:18:1;;;11837:47;11901:18;;16355:111:0;11584:341:1;16355:111:0;16494:4;;-1:-1:-1;;;;;16481:17:0;;;16494:4;;16481:17;:46;;;;-1:-1:-1;;;;;;16503:24:0;;;;;;:16;:24;;;;;;;;16502:25;16481:46;16478:76;;;16550:1;16529:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;16478:76:0;16567:45;16586:6;16594:9;16605:6;16567:18;:45::i;:::-;16564:159;;;16614:83;16629:67;16633:6;16640:55;16644:24;16662:4;-1:-1:-1;;;;;8250:18:0;8233:7;8250:18;;;:9;:18;;;;;;;8167:103;16644:24;16680:14;5628:1;16680:2;:14;:::i;:::-;16670:24;;:7;:24;:::i;:::-;16640:3;:55::i;16629:67::-;16614:14;:83::i;:::-;16719:1;16699:9;:22;16564:159;16733:18;16754:33;16769:6;16777:9;16754:14;:33::i;:::-;:80;;16828:6;16754:80;;;16790:35;16799:6;16807:9;16818:6;16790:8;:35::i;:::-;-1:-1:-1;;;;;16868:20:0;;;;;;:9;:20;;;;;;16733:101;;-1:-1:-1;16868:36:0;;16733:101;16868:24;:36::i;:::-;-1:-1:-1;;;;;16845:20:0;;;;;;;:9;:20;;;;;;:59;;;;16935:17;;;;;;;:29;;16957:6;16935:21;:29::i;:::-;-1:-1:-1;;;;;16915:17:0;;;;;;;:9;:17;;;;;;;;;:49;;;;16980:39;1934:25:1;;;16980:39:0;;;;16915:17;;16980:39;;1907:18:1;16980:39:0;;;;;;;15607:1420;15529:1498;;;:::o;3127:240::-;3247:7;3308:12;3300:6;;;;3292:29;;;;-1:-1:-1;;;3292:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;3343:5:0;;;3127:240::o;12380:165::-;6470:8;:15;;-1:-1:-1;;6470:15:0;6481:4;6470:15;;;12451:24:::1;12468:6:::0;12451:16:::1;:24::i;:::-;12494:10;::::0;12486:51:::1;::::0;-1:-1:-1;;;;;12494:10:0;;::::1;::::0;12515:21:::1;12486:51:::0;::::1;;;::::0;12494:10:::1;12486:51:::0;12494:10;12486:51;12515:21;12494:10;12486:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6490:8:0;:16;;-1:-1:-1;;6490:16:0;;;12380:165::o;2597:98::-;2655:7;2682:5;2686:1;2682;:5;:::i;10487:416::-;10632:18;;10711:17;;10701:4;10589;8250:18;;;:9;:18;;;;;;10747:8;;10589:4;;10622:28;;;;-1:-1:-1;10683:45:0;;10747:8;;10746:9;:24;;;;-1:-1:-1;10759:11:0;;-1:-1:-1;;;10759:11:0;;;;10746:24;:42;;;;-1:-1:-1;10774:14:0;;-1:-1:-1;;;10774:14:0;;;;10746:42;:54;;;;;10792:8;10746:54;:83;;;;-1:-1:-1;;;;;;10805:24:0;;;;;;:16;:24;;;;;;;;10804:25;10746:83;:104;;;;-1:-1:-1;10846:4:0;;-1:-1:-1;;;;;10833:17:0;;;10846:4;;10833:17;10746:104;:131;;;;;10867:10;;10854:9;;:23;;10746:131;:149;;;;;10881:14;10746:149;10739:156;10487:416;-1:-1:-1;;;;;;10487:416:0:o;9924:107::-;9981:7;10013:1;10009;:5;10008:15;;10022:1;10008:15;;;-1:-1:-1;10018:1:0;9924:107;-1:-1:-1;9924:107:0:o;9567:171::-;-1:-1:-1;;;;;9674:24:0;;9649:4;9674:24;;;:16;:24;;;;;;;;9673:25;:57;;;;-1:-1:-1;;;;;;;9703:27:0;;;;;:16;:27;;;;;;;;9702:28;;9567:171;-1:-1:-1;9567:171:0:o;14725:796::-;-1:-1:-1;;;;;14884:23:0;;14812:7;14884:23;;;:15;:23;;;;;;14812:7;;;;14884:23;;14880:129;;;-1:-1:-1;14924:6:0;;-1:-1:-1;14942:3:0;14880:129;;;-1:-1:-1;14985:4:0;;-1:-1:-1;15002:5:0;14880:129;15056:1;15022:31;15035:6;15043:9;15022:12;:31::i;:::-;:35;15019:480;;;15069:17;15089:57;15114:31;15127:6;15135:9;15114:12;:31::i;:::-;15089:20;:6;15100:8;15089:10;:20::i;:57::-;-1:-1:-1;;;;;15182:22:0;;;;;;:9;:22;;;;;;15069:77;;-1:-1:-1;15182:37:0;;15069:77;15182:26;:37::i;:::-;-1:-1:-1;;;;;15157:22:0;;;;;;;:9;:22;;;;;;;:62;;;;15235:40;;;;;;;;;;15265:9;1934:25:1;;1922:2;1907:18;;1788:177;15235:40:0;;;;;;;;15307:1;15289:7;;:20;:65;;;;;15347:7;;15313:31;15326:6;15334:9;15313:12;:31::i;:::-;:41;15289:65;15286:149;;;15356:77;15374:4;6547:42;15396:36;15424:7;;15396:23;15407:11;;15396:6;:10;;:23;;;;:::i;:36::-;15356:9;:77::i;:::-;15459:9;15452:6;:16;:45;;15491:6;15452:45;;;15469:21;:6;15480:9;15469:10;:21::i;:::-;15445:52;;;;;;;15019:480;-1:-1:-1;15507:6:0;;14725:796;-1:-1:-1;;;;14725:796:0:o;14283:434::-;14373:16;;;14387:1;14373:16;;;;;;;;14349:21;;14373:16;;;;;;;;;;-1:-1:-1;14373:16:0;14349:40;;14418:4;14400;14405:1;14400:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;14400:23:0;;;-1:-1:-1;;;;;14400:23:0;;;;;14444:6;;;;;;;;;-1:-1:-1;;;;;14444:6:0;-1:-1:-1;;;;;14444:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14434:4;14439:1;14434:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14434:23:0;;;:7;;;;;;;;;:23;14500:6;;14468:53;;14485:4;;14500:6;14509:11;14468:8;:53::i;:::-;14532:6;;;:177;;-1:-1:-1;;;14532:177:0;;-1:-1:-1;;;;;14532:6:0;;;;:57;;:177;;14604:11;;14532:6;;14646:4;;14673;;14693:15;;14532:177;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14338:379;14283:434;:::o;13652:306::-;-1:-1:-1;;;;;13755:13:0;;13732:7;13755:13;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;13772:16:0;;;;;;:5;:16;;;;;;;;13755:33;13752:76;;;13797:11;;:29;;13821:3;13797:15;:29::i;:::-;13790:36;;;;13752:76;13854:4;;-1:-1:-1;;;;;13854:4:0;;;13841:17;;;;13838:38;;-1:-1:-1;13867:7:0;;13860:14;;13838:38;13899:4;;-1:-1:-1;;;;;13899:4:0;;;13889:14;;;;13886:36;;-1:-1:-1;13912:8:0;;13905:15;;13886:36;-1:-1:-1;13939:11:0;;13652:306;;;;:::o;14:548: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;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:247::-;762:6;815:2;803:9;794:7;790:23;786:32;783:52;;;831:1;828;821:12;783:52;870:9;857:23;889:31;914:5;889:31;:::i;1147:315::-;1215:6;1223;1276:2;1264:9;1255:7;1251:23;1247:32;1244:52;;;1292:1;1289;1282:12;1244:52;1331:9;1318:23;1350:31;1375:5;1350:31;:::i;:::-;1400:5;1452:2;1437:18;;;;1424:32;;-1:-1:-1;;;1147:315:1:o;1467:316::-;1544:6;1552;1560;1613:2;1601:9;1592:7;1588:23;1584:32;1581:52;;;1629:1;1626;1619:12;1581:52;-1:-1:-1;;1652:23:1;;;1722:2;1707:18;;1694:32;;-1:-1:-1;1773:2:1;1758:18;;;1745:32;;1467:316;-1:-1:-1;1467:316:1:o;1970:456::-;2047:6;2055;2063;2116:2;2104:9;2095:7;2091:23;2087:32;2084:52;;;2132:1;2129;2122:12;2084:52;2171:9;2158:23;2190:31;2215:5;2190:31;:::i;:::-;2240:5;-1:-1:-1;2297:2:1;2282:18;;2269:32;2310:33;2269:32;2310:33;:::i;:::-;1970:456;;2362:7;;-1:-1:-1;;;2416:2:1;2401:18;;;;2388:32;;1970:456::o;2620:529::-;2697:6;2705;2713;2766:2;2754:9;2745:7;2741:23;2737:32;2734:52;;;2782:1;2779;2772:12;2734:52;2821:9;2808:23;2840:31;2865:5;2840:31;:::i;:::-;2890:5;-1:-1:-1;2947:2:1;2932:18;;2919:32;2960:33;2919:32;2960:33;:::i;:::-;3012:7;-1:-1:-1;3071:2:1;3056:18;;3043:32;3084:33;3043:32;3084:33;:::i;:::-;3136:7;3126:17;;;2620:529;;;;;:::o;3154:592::-;3267:6;3275;3283;3291;3299;3307;3315;3368:3;3356:9;3347:7;3343:23;3339:33;3336:53;;;3385:1;3382;3375:12;3336:53;-1:-1:-1;;3408:23:1;;;3478:2;3463:18;;3450:32;;-1:-1:-1;3529:2:1;3514:18;;3501:32;;3580:2;3565:18;;3552:32;;-1:-1:-1;3631:3:1;3616:19;;3603:33;;-1:-1:-1;3683:3:1;3668:19;;3655:33;;-1:-1:-1;3735:3:1;3720:19;3707:33;;-1:-1:-1;3154:592:1;-1:-1:-1;3154:592:1:o;3959:118::-;4045:5;4038:13;4031:21;4024:5;4021:32;4011:60;;4067:1;4064;4057:12;4082:750;4174:6;4182;4190;4243:2;4231:9;4222:7;4218:23;4214:32;4211:52;;;4259:1;4256;4249:12;4211:52;4299:9;4286:23;4328:18;4369:2;4361:6;4358:14;4355:34;;;4385:1;4382;4375:12;4355:34;4423:6;4412:9;4408:22;4398:32;;4468:7;4461:4;4457:2;4453:13;4449:27;4439:55;;4490:1;4487;4480:12;4439:55;4530:2;4517:16;4556:2;4548:6;4545:14;4542:34;;;4572:1;4569;4562:12;4542:34;4627:7;4620:4;4610:6;4607:1;4603:14;4599:2;4595:23;4591:34;4588:47;4585:67;;;4648:1;4645;4638:12;4585:67;4679:4;4671:13;;;;-1:-1:-1;4703:6:1;-1:-1:-1;;4744:20:1;;4731:34;4774:28;4731:34;4774:28;:::i;4837:382::-;4902:6;4910;4963:2;4951:9;4942:7;4938:23;4934:32;4931:52;;;4979:1;4976;4969:12;4931:52;5018:9;5005:23;5037:31;5062:5;5037:31;:::i;:::-;5087:5;-1:-1:-1;5144:2:1;5129:18;;5116:32;5157:30;5116:32;5157:30;:::i;:::-;5206:7;5196:17;;;4837:382;;;;;:::o;5224:388::-;5292:6;5300;5353:2;5341:9;5332:7;5328:23;5324:32;5321:52;;;5369:1;5366;5359:12;5321:52;5408:9;5395:23;5427:31;5452:5;5427:31;:::i;:::-;5477:5;-1:-1:-1;5534:2:1;5519:18;;5506:32;5547:33;5506:32;5547:33;:::i;5617:329::-;5819:2;5801:21;;;5858:1;5838:18;;;5831:29;-1:-1:-1;;;5891:2:1;5876:18;;5869:36;5937:2;5922:18;;5617:329::o;6366:408::-;6568:2;6550:21;;;6607:2;6587:18;;;6580:30;6646:34;6641:2;6626:18;;6619:62;-1:-1:-1;;;6712:2:1;6697:18;;6690:42;6764:3;6749:19;;6366:408::o;6779:127::-;6840:10;6835:3;6831:20;6828:1;6821:31;6871:4;6868:1;6861:15;6895:4;6892:1;6885:15;6911:251;6981:6;7034:2;7022:9;7013:7;7009:23;7005:32;7002:52;;;7050:1;7047;7040:12;7002:52;7082:9;7076:16;7101:31;7126:5;7101:31;:::i;7476:184::-;7546:6;7599:2;7587:9;7578:7;7574:23;7570:32;7567:52;;;7615:1;7612;7605:12;7567:52;-1:-1:-1;7638:16:1;;7476:184;-1:-1:-1;7476:184:1:o;7944:245::-;8011:6;8064:2;8052:9;8043:7;8039:23;8035:32;8032:52;;;8080:1;8077;8070:12;8032:52;8112:9;8106:16;8131:28;8153:5;8131:28;:::i;9002:127::-;9063:10;9058:3;9054:20;9051:1;9044:31;9094:4;9091:1;9084:15;9118:4;9115:1;9108:15;9134:168;9207:9;;;9238;;9255:15;;;9249:22;;9235:37;9225:71;;9276:18;;:::i;9307:217::-;9347:1;9373;9363:132;;9417:10;9412:3;9408:20;9405:1;9398:31;9452:4;9449:1;9442:15;9480:4;9477:1;9470:15;9363:132;-1:-1:-1;9509:9:1;;9307:217::o;9529:128::-;9596:9;;;9617:11;;;9614:37;;;9631:18;;:::i;11930:125::-;11995:9;;;12016:10;;;12013:36;;;12029:18;;:::i;12060:416::-;12149:1;12186:5;12149:1;12200:270;12221:7;12211:8;12208:21;12200:270;;;12280:4;12276:1;12272:6;12268:17;12262:4;12259:27;12256:53;;;12289:18;;:::i;:::-;12339:7;12329:8;12325:22;12322:55;;;12359:16;;;;12322:55;12438:22;;;;12398:15;;;;12200:270;;;12204:3;12060:416;;;;;:::o;12481:806::-;12530:5;12560:8;12550:80;;-1:-1:-1;12601:1:1;12615:5;;12550:80;12649:4;12639:76;;-1:-1:-1;12686:1:1;12700:5;;12639:76;12731:4;12749:1;12744:59;;;;12817:1;12812:130;;;;12724:218;;12744:59;12774:1;12765:10;;12788:5;;;12812:130;12849:3;12839:8;12836:17;12833:43;;;12856:18;;:::i;:::-;-1:-1:-1;;12912:1:1;12898:16;;12927:5;;12724:218;;13026:2;13016:8;13013:16;13007:3;13001:4;12998:13;12994:36;12988:2;12978:8;12975:16;12970:2;12964:4;12961:12;12957:35;12954:77;12951:159;;;-1:-1:-1;13063:19:1;;;13095:5;;12951:159;13142:34;13167:8;13161:4;13142:34;:::i;:::-;13212:6;13208:1;13204:6;13200:19;13191:7;13188:32;13185:58;;;13223:18;;:::i;:::-;13261:20;;12481:806;-1:-1:-1;;;12481:806:1:o;13292:140::-;13350:5;13379:47;13420:4;13410:8;13406:19;13400:4;13379:47;:::i;13569:980::-;13831:4;13879:3;13868:9;13864:19;13910:6;13899:9;13892:25;13936:2;13974:6;13969:2;13958:9;13954:18;13947:34;14017:3;14012:2;14001:9;13997:18;13990:31;14041:6;14076;14070:13;14107:6;14099;14092:22;14145:3;14134:9;14130:19;14123:26;;14184:2;14176:6;14172:15;14158:29;;14205:1;14215:195;14229:6;14226:1;14223:13;14215:195;;;14294:13;;-1:-1:-1;;;;;14290:39:1;14278:52;;14385:15;;;;14350:12;;;;14326:1;14244:9;14215:195;;;-1:-1:-1;;;;;;;14466:32:1;;;;14461:2;14446:18;;14439:60;-1:-1:-1;;;14530:3:1;14515:19;14508:35;14427:3;13569:980;-1:-1:-1;;;13569:980:1:o

Swarm Source

ipfs://29c2fa3891f992e4c66096baad467bdb13de140deb0084100d8afa9ec80eac25
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.