Contract 0xb65603da18e335aaf3a3040c29ac0e3f4f9a291f

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xfa5ebf41c2cc2605d3ff99ac7377ceb6bc765807df9d0b92690234ecb56a11d2Transfer Ownersh...109738422023-11-03 16:50:59197 days 12 hrs ago0x4d00ac70df2bc56443a0af7367c6b8ce4dd7044e IN  0xb65603da18e335aaf3a3040c29ac0e3f4f9a291f0 CRO0.143042497911 4,630.106101874
0x646e494f81a2dbed9dbb11143123923682ed8867ab8246d7a7d019a52e498b28Transfer Ownersh...109738002023-11-03 16:47:02197 days 12 hrs ago0x1ccad67209abd940d74a68f771fdb87a6b67909a IN  0xb65603da18e335aaf3a3040c29ac0e3f4f9a291f0 CRO0.235126142027 4,630.107952171
0x7a91ed213644ee989566f7361da869f1d0455b37c7883e5f2d1cb5a805b65671Transfer Ownersh...109735652023-11-03 16:25:03197 days 12 hrs ago0xa2e88637a0701913641ee710d5317e19a7db8316 IN  0xb65603da18e335aaf3a3040c29ac0e3f4f9a291f0 CRO0.235182238219 4,630.118482874
0x42384171d717a4b699a966021c59573aa997c152360edef9182d77c4a9a78020Transfer109626542023-11-02 23:25:13198 days 5 hrs ago0xa2e88637a0701913641ee710d5317e19a7db8316 IN  0xb65603da18e335aaf3a3040c29ac0e3f4f9a291f0 CRO0.280739807274 4,630.606945337
0x487018658ae64014fccce467ad2a11753a873bc00ea03664333c8640519c4c95Transfer109591602023-11-02 17:58:40198 days 11 hrs ago0xa2e88637a0701913641ee710d5317e19a7db8316 IN  0xb65603da18e335aaf3a3040c29ac0e3f4f9a291f0 CRO0.359824079601 4,630.76174152
0x4299717ae628ac20dd359d797cc63514d3c92a90ba43ca4de915f81f72b8d1ae0x60806040101127952023-09-08 12:12:30253 days 17 hrs ago0xa2e88637a0701913641ee710d5317e19a7db8316 IN  Create: EVoToken0 CRO26.886592384976 4,670.052154363
[ Download CSV Export 
Parent Txn Hash Block From To Value
Index Block
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EVoToken

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at cronoscan.com on 2023-09-08
*/

/**
 *Submitted for verification at cronoscan.com on 2023-03-26
*/

/**
 *Submitted for verification at Etherscan.io on 2023-03-16
*/

/**
 *Submitted for verification at Etherscan.io on 2023-03-12
*/

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

/**
 * BEP20 standard interface.
 */
interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * Allows for contract ownership along with multi-address authorization
 */
abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    /**
     * Function modifier to require caller to be contract owner
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    /**
     * Function modifier to require caller to be authorized
     */
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    /**
     * Authorize address. Owner only
     */
    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    /**
     * Remove address' authorization. Owner only
     */
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    /**
     * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

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

contract EVoToken is IBEP20, Auth {
    using SafeMath for uint256;

    address WCRO = 0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "EVO";
    string constant _symbol = "EVoT";
    uint8 constant _decimals = 18;
    uint256 _totalSupply = 21000000 * (10 ** _decimals);
    uint256 public _maxTxAmount = (_totalSupply * 1) / 1;  //100% max tx
    uint256 public _maxWalletSize = (_totalSupply * 1) / 1;  //100% max wallet

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

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

    uint256 liquidityFee = 0;
    uint256 teamFee =0;
    uint256 marketingFee = 0;
    uint256 totalFee = 0;
    uint256 feeDenominator = 100;
    
    address private marketingFeeReceiver = 0x72e6901a1e76F858812a49E39Fc445d5C05ba803;
    address private teamFeeReceiver = 0x72e6901a1e76F858812a49E39Fc445d5C05ba803;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 3; // 0.3%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x145677FC4d9b8F19B5D56d1820c48e0443049a30);
        pair = IDEXFactory(router.factory()).createPair(WCRO, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        checkTxLimit(sender, amount);
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); }

        if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

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

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }
    
    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function getTotalFee(bool selling) public view returns (uint256) {
        if(launchedAt + 1 >= block.number){ return feeDenominator.sub(1); }
        if(selling) { return totalFee.add(1); }
        return totalFee;
    }

    function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(getTotalFee(receiver == pair)).div(feeDenominator);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WCRO;

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountBNB = address(this).balance.sub(balanceBefore);
        uint256 totalBNBFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountBNBLiquidity = amountBNB.mul(liquidityFee).div(totalBNBFee).div(2);
        uint256 amountBNBdevelopment = amountBNB.mul(teamFee).div(totalBNBFee);
        uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div(totalBNBFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountBNBMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected CRO transfer");
        (bool developmentSuccess, /* bytes memory data */) = payable(teamFeeReceiver).call{value: amountBNBdevelopment, gas: 30000}("");
        require(developmentSuccess, "receiver rejected CRO transfer");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountBNBLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                marketingFeeReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountBNBLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = WCRO;
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
    }

    function setTxLimit(uint256 amount) external authorized {
        require(amount >= _totalSupply / 1000);
        _maxTxAmount = amount;
    }

   function setMaxWallet(uint256 amount) external onlyOwner() {
        require(amount >= _totalSupply / 1000 );
        _maxWalletSize = amount;
    }    

    function setIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external authorized {
        isTxLimitExempt[holder] = exempt;
    }

    function setFees(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _feeDenominator) external authorized {
        liquidityFee = _liquidityFee;
        teamFee = _teamFee;
        marketingFee = _marketingFee;
        totalFee = _liquidityFee.add(_teamFee).add(_marketingFee);
        feeDenominator = _feeDenominator;
    }

    function setFeeReceiver(address _marketingFeeReceiver, address _teamFeeReceiver) external authorized {
        marketingFeeReceiver = _marketingFeeReceiver;
        teamFeeReceiver = _teamFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function manualSend() external authorized {
        uint256 contractETHBalance = address(this).balance;
        payable(marketingFeeReceiver).transfer(contractETHBalance);
    }

    function transferForeignToken(address _token) public authorized {
        require(_token != address(this), "Can't let you take all native token");
        uint256 _contractBalance = IBEP20(_token).balanceOf(address(this));
        payable(marketingFeeReceiver).transfer(_contractBalance);
    }
        
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }
    
    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"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":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","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":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","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":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"_token","type":"address"}],"name":"transferForeignToken","outputs":[],"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052735c7f8a570d578ed84e63fdfa7b1ee72deae1ae23600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620000ee919062000871565b6301406f40620000ff9190620009ae565b600555600180600554620001149190620009ae565b620001209190620007de565b600655600180600554620001359190620009ae565b620001419190620007de565b6007556000600c556000600d556000600e556000600f5560646010557372e6901a1e76f858812a49e39fc445d5c05ba803601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507372e6901a1e76f858812a49e39fc445d5c05ba803601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601660006101000a81548160ff02191690831515021790555060036103e8600554620002369190620007de565b620002429190620009ae565b6017553480156200025257600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505073145677fc4d9b8f19b5d56d1820c48e0443049a30601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003aa57600080fd5b505afa158015620003bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e5919062000740565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200044392919062000794565b602060405180830381600087803b1580156200045e57600080fd5b505af115801562000473573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000499919062000740565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600554600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200071a9190620007c1565b60405180910390a35062000ae4565b6000815190506200073a8162000aca565b92915050565b60006020828403121562000759576200075862000ab8565b5b6000620007698482850162000729565b91505092915050565b6200077d8162000a0f565b82525050565b6200078e8162000a43565b82525050565b6000604082019050620007ab600083018562000772565b620007ba602083018462000772565b9392505050565b6000602082019050620007d8600083018462000783565b92915050565b6000620007eb8262000a43565b9150620007f88362000a43565b9250826200080b576200080a62000a89565b5b828204905092915050565b6000808291508390505b6001851115620008685780860481111562000840576200083f62000a5a565b5b6001851615620008505780820291505b8081029050620008608562000abd565b945062000820565b94509492505050565b60006200087e8262000a43565b91506200088b8362000a4d565b9250620008ba7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620008c2565b905092915050565b600082620008d45760019050620009a7565b81620008e45760009050620009a7565b8160018114620008fd576002811462000908576200093e565b6001915050620009a7565b60ff8411156200091d576200091c62000a5a565b5b8360020a91508482111562000937576200093662000a5a565b5b50620009a7565b5060208310610133831016604e8410600b8410161715620009785782820a90508381111562000972576200097162000a5a565b5b620009a7565b62000987848484600162000816565b92509050818404811115620009a157620009a062000a5a565b5b81810290505b9392505050565b6000620009bb8262000a43565b9150620009c88362000a43565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a045762000a0362000a5a565b5b828202905092915050565b600062000a1c8262000a23565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b62000ad58162000a0f565b811462000ae157600080fd5b50565b6139168062000af46000396000f3fe6080604052600436106102135760003560e01c80638f9a55c011610118578063df20fd49116100a0578063f2fde38b1161006f578063f2fde38b146107f6578063f42938901461081f578063f84ba65d14610836578063f887ea401461085f578063fe9fbb801461088a5761021a565b8063df20fd491461073e578063e66db25e14610767578063f0b37c0414610790578063f1f3bca3146107b95761021a565b8063b6a5d7de116100e7578063b6a5d7de14610647578063bf56b37114610670578063d51ed1c81461069b578063dc93cf70146106d8578063dd62ed3e146107015761021a565b80638f9a55c01461058957806395d89b41146105b4578063a8aa1b31146105df578063a9059cbb1461060a5761021a565b8063571ac8b01161019b5780636ddd17131161016a5780636ddd1713146104a25780636fcba377146104cd57806370a08231146104f65780637d1db4a514610533578063893d20e81461055e5761021a565b8063571ac8b0146103ea5780635c85974f146104275780635d0044ca14610450578063658d4b7f146104795761021a565b806318160ddd116101e257806318160ddd146102ef57806323b872dd1461031a5780632b112e49146103575780632f54bf6e14610382578063313ce567146103bf5761021a565b80630445b6671461021f57806306fdde031461024a578063095ea7b3146102755780631161ae39146102b25761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b506102346108c7565b60405161024191906132d3565b60405180910390f35b34801561025657600080fd5b5061025f6108cd565b60405161026c91906131b1565b60405180910390f35b34801561028157600080fd5b5061029c60048036038101906102979190612c6c565b61090a565b6040516102a9919061317b565b60405180910390f35b3480156102be57600080fd5b506102d960048036038101906102d49190612d73565b6109fc565b6040516102e6919061317b565b60405180910390f35b3480156102fb57600080fd5b50610304610a11565b60405161031191906132d3565b60405180910390f35b34801561032657600080fd5b50610341600480360381019061033c9190612bd9565b610a1b565b60405161034e919061317b565b60405180910390f35b34801561036357600080fd5b5061036c610c1b565b60405161037991906132d3565b60405180910390f35b34801561038e57600080fd5b506103a960048036038101906103a49190612b3f565b610c9d565b6040516103b6919061317b565b60405180910390f35b3480156103cb57600080fd5b506103d4610cf6565b6040516103e19190613371565b60405180910390f35b3480156103f657600080fd5b50610411600480360381019061040c9190612b3f565b610cff565b60405161041e919061317b565b60405180910390f35b34801561043357600080fd5b5061044e60048036038101906104499190612d19565b610d32565b005b34801561045c57600080fd5b5061047760048036038101906104729190612d19565b610da0565b005b34801561048557600080fd5b506104a0600480360381019061049b9190612c2c565b610e0e565b005b3480156104ae57600080fd5b506104b7610eb1565b6040516104c4919061317b565b60405180910390f35b3480156104d957600080fd5b506104f460048036038101906104ef9190612e06565b610ec4565b005b34801561050257600080fd5b5061051d60048036038101906105189190612b3f565b610f59565b60405161052a91906132d3565b60405180910390f35b34801561053f57600080fd5b50610548610fa2565b60405161055591906132d3565b60405180910390f35b34801561056a57600080fd5b50610573610fa8565b60405161058091906130e4565b60405180910390f35b34801561059557600080fd5b5061059e610fd1565b6040516105ab91906132d3565b60405180910390f35b3480156105c057600080fd5b506105c9610fd7565b6040516105d691906131b1565b60405180910390f35b3480156105eb57600080fd5b506105f4611014565b60405161060191906130e4565b60405180910390f35b34801561061657600080fd5b50610631600480360381019061062c9190612c6c565b61103a565b60405161063e919061317b565b60405180910390f35b34801561065357600080fd5b5061066e60048036038101906106699190612b3f565b61104f565b005b34801561067c57600080fd5b506106856110f1565b60405161069291906132d3565b60405180910390f35b3480156106a757600080fd5b506106c260048036038101906106bd9190612d19565b6110f7565b6040516106cf91906132d3565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa9190612b3f565b611169565b005b34801561070d57600080fd5b5061072860048036038101906107239190612b99565b61131a565b60405161073591906132d3565b60405180910390f35b34801561074a57600080fd5b5061076560048036038101906107609190612cd9565b6113a1565b005b34801561077357600080fd5b5061078e60048036038101906107899190612b99565b61140e565b005b34801561079c57600080fd5b506107b760048036038101906107b29190612b3f565b6114dc565b005b3480156107c557600080fd5b506107e060048036038101906107db9190612cac565b61157f565b6040516107ed91906132d3565b60405180910390f35b34801561080257600080fd5b5061081d60048036038101906108189190612b6c565b6115e1565b005b34801561082b57600080fd5b506108346116fa565b005b34801561084257600080fd5b5061085d60048036038101906108589190612c2c565b6117b3565b005b34801561086b57600080fd5b50610874611856565b6040516108819190613196565b60405180910390f35b34801561089657600080fd5b506108b160048036038101906108ac9190612b3f565b61187c565b6040516108be919061317b565b60405180910390f35b60175481565b60606040518060400160405280600381526020017f45564f0000000000000000000000000000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109ea91906132d3565b60405180910390a36001905092915050565b600082610a08836110f7565b11905092915050565b6000600554905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c0757610b86826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d29092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610c12848484611936565b90509392505050565b6000610c98610c4b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f59565b610c8a610c79600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f59565b600554611dc690919063ffffffff16565b611dc690919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b6000610d2b827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61090a565b9050919050565b610d3b3361187c565b610d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d71906132b3565b60405180910390fd5b6103e8600554610d8a9190613442565b811015610d9657600080fd5b8060068190555050565b610da933610c9d565b610de8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddf90613273565b60405180910390fd5b6103e8600554610df89190613442565b811015610e0457600080fd5b8060078190555050565b610e173361187c565b610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d906132b3565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601660009054906101000a900460ff1681565b610ecd3361187c565b610f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f03906132b3565b60405180910390fd5b83600c8190555082600d8190555081600e81905550610f4682610f388587611e1090919063ffffffff16565b611e1090919063ffffffff16565b600f819055508060108190555050505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600481526020017f45566f5400000000000000000000000000000000000000000000000000000000815250905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611047338484611936565b905092915050565b61105833610c9d565b611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e90613273565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60155481565b6000611162611104610c1b565b6111546111456002611137601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f59565b611e6e90919063ffffffff16565b85611e6e90919063ffffffff16565b611ee990919063ffffffff16565b9050919050565b6111723361187c565b6111b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a8906132b3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121790613213565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161125b91906130e4565b60206040518083038186803b15801561127357600080fd5b505afa158015611287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ab9190612d46565b9050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611315573d6000803e3d6000fd5b505050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113aa3361187c565b6113e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e0906132b3565b60405180910390fd5b81601660006101000a81548160ff021916908315150217905550806017819055505050565b6114173361187c565b611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d906132b3565b60405180910390fd5b81601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6114e533610c9d565b611524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151b90613273565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600043600160155461159191906133ec565b106115b3576115ac6001601054611dc690919063ffffffff16565b90506115dc565b81156115d6576115cf6001600f54611e1090919063ffffffff16565b90506115dc565b600f5490505b919050565b6115ea33610c9d565b611629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162090613273565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516116ef91906130ff565b60405180910390a150565b6117033361187c565b611742576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611739906132b3565b60405180910390fd5b6000479050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117af573d6000803e3d6000fd5b5050565b6117bc3361187c565b6117fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f2906132b3565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600083831115829061191a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191191906131b1565b60405180910390fd5b506000838561192991906134cd565b9050809150509392505050565b6000601860009054906101000a900460ff161561195f57611958848484611f33565b9050611dbf565b6119698483612106565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a155750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611afe57600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611abe575060075482600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611abb91906133ec565b11155b611afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af4906131d3565b60405180910390fd5b5b611b066121a3565b15611b1457611b1361227a565b5b611b1c61286b565b158015611b765750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611bd0576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611bc757600080fd5b611bcf612878565b5b611c59826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d29092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611ca785612881565b611cb15782611cbd565b611cbc8585856128d8565b5b9050611d1181600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1090919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611db191906132d3565b60405180910390a360019150505b9392505050565b6000611e0883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118d2565b905092915050565b6000808284611e1f91906133ec565b905083811015611e64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5b90613233565b60405180910390fd5b8091505092915050565b600080831415611e815760009050611ee3565b60008284611e8f9190613473565b9050828482611e9e9190613442565b14611ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed590613253565b60405180910390fd5b809150505b92915050565b6000611f2b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a73565b905092915050565b6000611fbe826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d29092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061205382600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1090919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120f391906132d3565b60405180910390a3600190509392505050565b600654811115806121605750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61219f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612196906131f3565b60405180910390fd5b5050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156122105750601860009054906101000a900460ff16155b80156122285750601660009054906101000a900460ff165b80156122755750601754600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601860006101000a81548160ff02191690831515021790555060006122a030610f59565b905060006122e060026122d2600f546122c4600c5487611e6e90919063ffffffff16565b611ee990919063ffffffff16565b611ee990919063ffffffff16565b905060006122f78284611dc690919063ffffffff16565b90506000600267ffffffffffffffff81111561231657612315613682565b5b6040519080825280602002602001820160405280156123445781602001602082028036833780820191505090505b509050308160008151811061235c5761235b613653565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106123cd576123cc613653565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016124709594939291906132ee565b600060405180830381600087803b15801561248a57600080fd5b505af115801561249e573d6000803e3d6000fd5b5050505060006124b78247611dc690919063ffffffff16565b905060006124e56124d46002600c54611ee990919063ffffffff16565b600f54611dc690919063ffffffff16565b90506000612523600261251584612507600c5488611e6e90919063ffffffff16565b611ee990919063ffffffff16565b611ee990919063ffffffff16565b9050600061254e83612540600d5487611e6e90919063ffffffff16565b611ee990919063ffffffff16565b905060006125798461256b600e5488611e6e90919063ffffffff16565b611ee990919063ffffffff16565b90506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516125c7906130cf565b600060405180830381858888f193505050503d8060008114612605576040519150601f19603f3d011682016040523d82523d6000602084013e61260a565b606091505b505090508061264e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264590613293565b60405180910390fd5b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846175309060405161269a906130cf565b600060405180830381858888f193505050503d80600081146126d8576040519150601f19603f3d011682016040523d82523d6000602084013e6126dd565b606091505b5050905080612721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271890613293565b60405180910390fd5b60008b111561284257601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71986308e600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016127b39695949392919061311a565b6060604051808303818588803b1580156127cc57600080fd5b505af11580156127e0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128059190612db3565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506858c604051612839929190613348565b60405180910390a15b5050505050505050505050506000601860006101000a81548160ff021916908315150217905550565b6000806015541415905090565b43601581905550565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061295a60105461294c61293d601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161461157f565b86611e6e90919063ffffffff16565b611ee990919063ffffffff16565b90506129ae81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1090919063ffffffff16565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a4e91906132d3565b60405180910390a3612a698184611dc690919063ffffffff16565b9150509392505050565b60008083118290612aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab191906131b1565b60405180910390fd5b5060008385612ac99190613442565b9050809150509392505050565b600081359050612ae581613884565b92915050565b600081359050612afa8161389b565b92915050565b600081359050612b0f816138b2565b92915050565b600081359050612b24816138c9565b92915050565b600081519050612b39816138c9565b92915050565b600060208284031215612b5557612b546136b1565b5b6000612b6384828501612ad6565b91505092915050565b600060208284031215612b8257612b816136b1565b5b6000612b9084828501612aeb565b91505092915050565b60008060408385031215612bb057612baf6136b1565b5b6000612bbe85828601612ad6565b9250506020612bcf85828601612ad6565b9150509250929050565b600080600060608486031215612bf257612bf16136b1565b5b6000612c0086828701612ad6565b9350506020612c1186828701612ad6565b9250506040612c2286828701612b15565b9150509250925092565b60008060408385031215612c4357612c426136b1565b5b6000612c5185828601612ad6565b9250506020612c6285828601612b00565b9150509250929050565b60008060408385031215612c8357612c826136b1565b5b6000612c9185828601612ad6565b9250506020612ca285828601612b15565b9150509250929050565b600060208284031215612cc257612cc16136b1565b5b6000612cd084828501612b00565b91505092915050565b60008060408385031215612cf057612cef6136b1565b5b6000612cfe85828601612b00565b9250506020612d0f85828601612b15565b9150509250929050565b600060208284031215612d2f57612d2e6136b1565b5b6000612d3d84828501612b15565b91505092915050565b600060208284031215612d5c57612d5b6136b1565b5b6000612d6a84828501612b2a565b91505092915050565b60008060408385031215612d8a57612d896136b1565b5b6000612d9885828601612b15565b9250506020612da985828601612b15565b9150509250929050565b600080600060608486031215612dcc57612dcb6136b1565b5b6000612dda86828701612b2a565b9350506020612deb86828701612b2a565b9250506040612dfc86828701612b2a565b9150509250925092565b60008060008060808587031215612e2057612e1f6136b1565b5b6000612e2e87828801612b15565b9450506020612e3f87828801612b15565b9350506040612e5087828801612b15565b9250506060612e6187828801612b15565b91505092959194509250565b6000612e798383612e94565b60208301905092915050565b612e8e81613568565b82525050565b612e9d81613501565b82525050565b612eac81613501565b82525050565b6000612ebd8261339c565b612ec781856133bf565b9350612ed28361338c565b8060005b83811015612f03578151612eea8882612e6d565b9750612ef5836133b2565b925050600181019050612ed6565b5085935050505092915050565b612f1981613525565b82525050565b612f288161357a565b82525050565b612f378161358c565b82525050565b6000612f48826133a7565b612f5281856133db565b9350612f628185602086016135c2565b612f6b816136b6565b840191505092915050565b6000612f836025836133db565b9150612f8e826136c7565b604082019050919050565b6000612fa66011836133db565b9150612fb182613716565b602082019050919050565b6000612fc96023836133db565b9150612fd48261373f565b604082019050919050565b6000612fec601b836133db565b9150612ff78261378e565b602082019050919050565b600061300f6021836133db565b915061301a826137b7565b604082019050919050565b60006130326006836133db565b915061303d82613806565b602082019050919050565b60006130556000836133d0565b91506130608261382f565b600082019050919050565b6000613078601e836133db565b915061308382613832565b602082019050919050565b600061309b600b836133db565b91506130a68261385b565b602082019050919050565b6130ba81613551565b82525050565b6130c98161355b565b82525050565b60006130da82613048565b9150819050919050565b60006020820190506130f96000830184612ea3565b92915050565b60006020820190506131146000830184612e85565b92915050565b600060c08201905061312f6000830189612ea3565b61313c60208301886130b1565b6131496040830187612f2e565b6131566060830186612f2e565b6131636080830185612ea3565b61317060a08301846130b1565b979650505050505050565b60006020820190506131906000830184612f10565b92915050565b60006020820190506131ab6000830184612f1f565b92915050565b600060208201905081810360008301526131cb8184612f3d565b905092915050565b600060208201905081810360008301526131ec81612f76565b9050919050565b6000602082019050818103600083015261320c81612f99565b9050919050565b6000602082019050818103600083015261322c81612fbc565b9050919050565b6000602082019050818103600083015261324c81612fdf565b9050919050565b6000602082019050818103600083015261326c81613002565b9050919050565b6000602082019050818103600083015261328c81613025565b9050919050565b600060208201905081810360008301526132ac8161306b565b9050919050565b600060208201905081810360008301526132cc8161308e565b9050919050565b60006020820190506132e860008301846130b1565b92915050565b600060a08201905061330360008301886130b1565b6133106020830187612f2e565b81810360408301526133228186612eb2565b90506133316060830185612ea3565b61333e60808301846130b1565b9695505050505050565b600060408201905061335d60008301856130b1565b61336a60208301846130b1565b9392505050565b600060208201905061338660008301846130c0565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006133f782613551565b915061340283613551565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613437576134366135f5565b5b828201905092915050565b600061344d82613551565b915061345883613551565b92508261346857613467613624565b5b828204905092915050565b600061347e82613551565b915061348983613551565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156134c2576134c16135f5565b5b828202905092915050565b60006134d882613551565b91506134e383613551565b9250828210156134f6576134f56135f5565b5b828203905092915050565b600061350c82613531565b9050919050565b600061351e82613531565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006135738261359e565b9050919050565b60006135858261359e565b9050919050565b600061359782613551565b9050919050565b60006135a9826135b0565b9050919050565b60006135bb82613531565b9050919050565b60005b838110156135e05780820151818401526020810190506135c5565b838111156135ef576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b7f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60008201527f6b656e0000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b7f72656365697665722072656a65637465642043524f207472616e736665720000600082015250565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b61388d81613501565b811461389857600080fd5b50565b6138a481613513565b81146138af57600080fd5b50565b6138bb81613525565b81146138c657600080fd5b50565b6138d281613551565b81146138dd57600080fd5b5056fea26469706673582212207372f24eed5a4a9fbda926697ecd565cdf8210a9e02d6c5cfbe7a512cf7899d064736f6c63430008070033

Deployed Bytecode

0x6080604052600436106102135760003560e01c80638f9a55c011610118578063df20fd49116100a0578063f2fde38b1161006f578063f2fde38b146107f6578063f42938901461081f578063f84ba65d14610836578063f887ea401461085f578063fe9fbb801461088a5761021a565b8063df20fd491461073e578063e66db25e14610767578063f0b37c0414610790578063f1f3bca3146107b95761021a565b8063b6a5d7de116100e7578063b6a5d7de14610647578063bf56b37114610670578063d51ed1c81461069b578063dc93cf70146106d8578063dd62ed3e146107015761021a565b80638f9a55c01461058957806395d89b41146105b4578063a8aa1b31146105df578063a9059cbb1461060a5761021a565b8063571ac8b01161019b5780636ddd17131161016a5780636ddd1713146104a25780636fcba377146104cd57806370a08231146104f65780637d1db4a514610533578063893d20e81461055e5761021a565b8063571ac8b0146103ea5780635c85974f146104275780635d0044ca14610450578063658d4b7f146104795761021a565b806318160ddd116101e257806318160ddd146102ef57806323b872dd1461031a5780632b112e49146103575780632f54bf6e14610382578063313ce567146103bf5761021a565b80630445b6671461021f57806306fdde031461024a578063095ea7b3146102755780631161ae39146102b25761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b506102346108c7565b60405161024191906132d3565b60405180910390f35b34801561025657600080fd5b5061025f6108cd565b60405161026c91906131b1565b60405180910390f35b34801561028157600080fd5b5061029c60048036038101906102979190612c6c565b61090a565b6040516102a9919061317b565b60405180910390f35b3480156102be57600080fd5b506102d960048036038101906102d49190612d73565b6109fc565b6040516102e6919061317b565b60405180910390f35b3480156102fb57600080fd5b50610304610a11565b60405161031191906132d3565b60405180910390f35b34801561032657600080fd5b50610341600480360381019061033c9190612bd9565b610a1b565b60405161034e919061317b565b60405180910390f35b34801561036357600080fd5b5061036c610c1b565b60405161037991906132d3565b60405180910390f35b34801561038e57600080fd5b506103a960048036038101906103a49190612b3f565b610c9d565b6040516103b6919061317b565b60405180910390f35b3480156103cb57600080fd5b506103d4610cf6565b6040516103e19190613371565b60405180910390f35b3480156103f657600080fd5b50610411600480360381019061040c9190612b3f565b610cff565b60405161041e919061317b565b60405180910390f35b34801561043357600080fd5b5061044e60048036038101906104499190612d19565b610d32565b005b34801561045c57600080fd5b5061047760048036038101906104729190612d19565b610da0565b005b34801561048557600080fd5b506104a0600480360381019061049b9190612c2c565b610e0e565b005b3480156104ae57600080fd5b506104b7610eb1565b6040516104c4919061317b565b60405180910390f35b3480156104d957600080fd5b506104f460048036038101906104ef9190612e06565b610ec4565b005b34801561050257600080fd5b5061051d60048036038101906105189190612b3f565b610f59565b60405161052a91906132d3565b60405180910390f35b34801561053f57600080fd5b50610548610fa2565b60405161055591906132d3565b60405180910390f35b34801561056a57600080fd5b50610573610fa8565b60405161058091906130e4565b60405180910390f35b34801561059557600080fd5b5061059e610fd1565b6040516105ab91906132d3565b60405180910390f35b3480156105c057600080fd5b506105c9610fd7565b6040516105d691906131b1565b60405180910390f35b3480156105eb57600080fd5b506105f4611014565b60405161060191906130e4565b60405180910390f35b34801561061657600080fd5b50610631600480360381019061062c9190612c6c565b61103a565b60405161063e919061317b565b60405180910390f35b34801561065357600080fd5b5061066e60048036038101906106699190612b3f565b61104f565b005b34801561067c57600080fd5b506106856110f1565b60405161069291906132d3565b60405180910390f35b3480156106a757600080fd5b506106c260048036038101906106bd9190612d19565b6110f7565b6040516106cf91906132d3565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa9190612b3f565b611169565b005b34801561070d57600080fd5b5061072860048036038101906107239190612b99565b61131a565b60405161073591906132d3565b60405180910390f35b34801561074a57600080fd5b5061076560048036038101906107609190612cd9565b6113a1565b005b34801561077357600080fd5b5061078e60048036038101906107899190612b99565b61140e565b005b34801561079c57600080fd5b506107b760048036038101906107b29190612b3f565b6114dc565b005b3480156107c557600080fd5b506107e060048036038101906107db9190612cac565b61157f565b6040516107ed91906132d3565b60405180910390f35b34801561080257600080fd5b5061081d60048036038101906108189190612b6c565b6115e1565b005b34801561082b57600080fd5b506108346116fa565b005b34801561084257600080fd5b5061085d60048036038101906108589190612c2c565b6117b3565b005b34801561086b57600080fd5b50610874611856565b6040516108819190613196565b60405180910390f35b34801561089657600080fd5b506108b160048036038101906108ac9190612b3f565b61187c565b6040516108be919061317b565b60405180910390f35b60175481565b60606040518060400160405280600381526020017f45564f0000000000000000000000000000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109ea91906132d3565b60405180910390a36001905092915050565b600082610a08836110f7565b11905092915050565b6000600554905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610c0757610b86826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d29092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610c12848484611936565b90509392505050565b6000610c98610c4b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f59565b610c8a610c79600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f59565b600554611dc690919063ffffffff16565b611dc690919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b6000610d2b827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61090a565b9050919050565b610d3b3361187c565b610d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d71906132b3565b60405180910390fd5b6103e8600554610d8a9190613442565b811015610d9657600080fd5b8060068190555050565b610da933610c9d565b610de8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddf90613273565b60405180910390fd5b6103e8600554610df89190613442565b811015610e0457600080fd5b8060078190555050565b610e173361187c565b610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d906132b3565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601660009054906101000a900460ff1681565b610ecd3361187c565b610f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f03906132b3565b60405180910390fd5b83600c8190555082600d8190555081600e81905550610f4682610f388587611e1090919063ffffffff16565b611e1090919063ffffffff16565b600f819055508060108190555050505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600481526020017f45566f5400000000000000000000000000000000000000000000000000000000815250905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611047338484611936565b905092915050565b61105833610c9d565b611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e90613273565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60155481565b6000611162611104610c1b565b6111546111456002611137601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f59565b611e6e90919063ffffffff16565b85611e6e90919063ffffffff16565b611ee990919063ffffffff16565b9050919050565b6111723361187c565b6111b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a8906132b3565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121790613213565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161125b91906130e4565b60206040518083038186803b15801561127357600080fd5b505afa158015611287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ab9190612d46565b9050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611315573d6000803e3d6000fd5b505050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113aa3361187c565b6113e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e0906132b3565b60405180910390fd5b81601660006101000a81548160ff021916908315150217905550806017819055505050565b6114173361187c565b611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d906132b3565b60405180910390fd5b81601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6114e533610c9d565b611524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151b90613273565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600043600160155461159191906133ec565b106115b3576115ac6001601054611dc690919063ffffffff16565b90506115dc565b81156115d6576115cf6001600f54611e1090919063ffffffff16565b90506115dc565b600f5490505b919050565b6115ea33610c9d565b611629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162090613273565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516116ef91906130ff565b60405180910390a150565b6117033361187c565b611742576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611739906132b3565b60405180910390fd5b6000479050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117af573d6000803e3d6000fd5b5050565b6117bc3361187c565b6117fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f2906132b3565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600083831115829061191a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191191906131b1565b60405180910390fd5b506000838561192991906134cd565b9050809150509392505050565b6000601860009054906101000a900460ff161561195f57611958848484611f33565b9050611dbf565b6119698483612106565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a155750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611afe57600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611abe575060075482600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611abb91906133ec565b11155b611afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af4906131d3565b60405180910390fd5b5b611b066121a3565b15611b1457611b1361227a565b5b611b1c61286b565b158015611b765750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611bd0576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611bc757600080fd5b611bcf612878565b5b611c59826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d29092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611ca785612881565b611cb15782611cbd565b611cbc8585856128d8565b5b9050611d1181600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1090919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611db191906132d3565b60405180910390a360019150505b9392505050565b6000611e0883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118d2565b905092915050565b6000808284611e1f91906133ec565b905083811015611e64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5b90613233565b60405180910390fd5b8091505092915050565b600080831415611e815760009050611ee3565b60008284611e8f9190613473565b9050828482611e9e9190613442565b14611ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed590613253565b60405180910390fd5b809150505b92915050565b6000611f2b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a73565b905092915050565b6000611fbe826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118d29092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061205382600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1090919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120f391906132d3565b60405180910390a3600190509392505050565b600654811115806121605750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61219f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612196906131f3565b60405180910390fd5b5050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156122105750601860009054906101000a900460ff16155b80156122285750601660009054906101000a900460ff165b80156122755750601754600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601860006101000a81548160ff02191690831515021790555060006122a030610f59565b905060006122e060026122d2600f546122c4600c5487611e6e90919063ffffffff16565b611ee990919063ffffffff16565b611ee990919063ffffffff16565b905060006122f78284611dc690919063ffffffff16565b90506000600267ffffffffffffffff81111561231657612315613682565b5b6040519080825280602002602001820160405280156123445781602001602082028036833780820191505090505b509050308160008151811061235c5761235b613653565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106123cd576123cc613653565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016124709594939291906132ee565b600060405180830381600087803b15801561248a57600080fd5b505af115801561249e573d6000803e3d6000fd5b5050505060006124b78247611dc690919063ffffffff16565b905060006124e56124d46002600c54611ee990919063ffffffff16565b600f54611dc690919063ffffffff16565b90506000612523600261251584612507600c5488611e6e90919063ffffffff16565b611ee990919063ffffffff16565b611ee990919063ffffffff16565b9050600061254e83612540600d5487611e6e90919063ffffffff16565b611ee990919063ffffffff16565b905060006125798461256b600e5488611e6e90919063ffffffff16565b611ee990919063ffffffff16565b90506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516125c7906130cf565b600060405180830381858888f193505050503d8060008114612605576040519150601f19603f3d011682016040523d82523d6000602084013e61260a565b606091505b505090508061264e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264590613293565b60405180910390fd5b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846175309060405161269a906130cf565b600060405180830381858888f193505050503d80600081146126d8576040519150601f19603f3d011682016040523d82523d6000602084013e6126dd565b606091505b5050905080612721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271890613293565b60405180910390fd5b60008b111561284257601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71986308e600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016127b39695949392919061311a565b6060604051808303818588803b1580156127cc57600080fd5b505af11580156127e0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128059190612db3565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506858c604051612839929190613348565b60405180910390a15b5050505050505050505050506000601860006101000a81548160ff021916908315150217905550565b6000806015541415905090565b43601581905550565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061295a60105461294c61293d601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161461157f565b86611e6e90919063ffffffff16565b611ee990919063ffffffff16565b90506129ae81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1090919063ffffffff16565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a4e91906132d3565b60405180910390a3612a698184611dc690919063ffffffff16565b9150509392505050565b60008083118290612aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab191906131b1565b60405180910390fd5b5060008385612ac99190613442565b9050809150509392505050565b600081359050612ae581613884565b92915050565b600081359050612afa8161389b565b92915050565b600081359050612b0f816138b2565b92915050565b600081359050612b24816138c9565b92915050565b600081519050612b39816138c9565b92915050565b600060208284031215612b5557612b546136b1565b5b6000612b6384828501612ad6565b91505092915050565b600060208284031215612b8257612b816136b1565b5b6000612b9084828501612aeb565b91505092915050565b60008060408385031215612bb057612baf6136b1565b5b6000612bbe85828601612ad6565b9250506020612bcf85828601612ad6565b9150509250929050565b600080600060608486031215612bf257612bf16136b1565b5b6000612c0086828701612ad6565b9350506020612c1186828701612ad6565b9250506040612c2286828701612b15565b9150509250925092565b60008060408385031215612c4357612c426136b1565b5b6000612c5185828601612ad6565b9250506020612c6285828601612b00565b9150509250929050565b60008060408385031215612c8357612c826136b1565b5b6000612c9185828601612ad6565b9250506020612ca285828601612b15565b9150509250929050565b600060208284031215612cc257612cc16136b1565b5b6000612cd084828501612b00565b91505092915050565b60008060408385031215612cf057612cef6136b1565b5b6000612cfe85828601612b00565b9250506020612d0f85828601612b15565b9150509250929050565b600060208284031215612d2f57612d2e6136b1565b5b6000612d3d84828501612b15565b91505092915050565b600060208284031215612d5c57612d5b6136b1565b5b6000612d6a84828501612b2a565b91505092915050565b60008060408385031215612d8a57612d896136b1565b5b6000612d9885828601612b15565b9250506020612da985828601612b15565b9150509250929050565b600080600060608486031215612dcc57612dcb6136b1565b5b6000612dda86828701612b2a565b9350506020612deb86828701612b2a565b9250506040612dfc86828701612b2a565b9150509250925092565b60008060008060808587031215612e2057612e1f6136b1565b5b6000612e2e87828801612b15565b9450506020612e3f87828801612b15565b9350506040612e5087828801612b15565b9250506060612e6187828801612b15565b91505092959194509250565b6000612e798383612e94565b60208301905092915050565b612e8e81613568565b82525050565b612e9d81613501565b82525050565b612eac81613501565b82525050565b6000612ebd8261339c565b612ec781856133bf565b9350612ed28361338c565b8060005b83811015612f03578151612eea8882612e6d565b9750612ef5836133b2565b925050600181019050612ed6565b5085935050505092915050565b612f1981613525565b82525050565b612f288161357a565b82525050565b612f378161358c565b82525050565b6000612f48826133a7565b612f5281856133db565b9350612f628185602086016135c2565b612f6b816136b6565b840191505092915050565b6000612f836025836133db565b9150612f8e826136c7565b604082019050919050565b6000612fa66011836133db565b9150612fb182613716565b602082019050919050565b6000612fc96023836133db565b9150612fd48261373f565b604082019050919050565b6000612fec601b836133db565b9150612ff78261378e565b602082019050919050565b600061300f6021836133db565b915061301a826137b7565b604082019050919050565b60006130326006836133db565b915061303d82613806565b602082019050919050565b60006130556000836133d0565b91506130608261382f565b600082019050919050565b6000613078601e836133db565b915061308382613832565b602082019050919050565b600061309b600b836133db565b91506130a68261385b565b602082019050919050565b6130ba81613551565b82525050565b6130c98161355b565b82525050565b60006130da82613048565b9150819050919050565b60006020820190506130f96000830184612ea3565b92915050565b60006020820190506131146000830184612e85565b92915050565b600060c08201905061312f6000830189612ea3565b61313c60208301886130b1565b6131496040830187612f2e565b6131566060830186612f2e565b6131636080830185612ea3565b61317060a08301846130b1565b979650505050505050565b60006020820190506131906000830184612f10565b92915050565b60006020820190506131ab6000830184612f1f565b92915050565b600060208201905081810360008301526131cb8184612f3d565b905092915050565b600060208201905081810360008301526131ec81612f76565b9050919050565b6000602082019050818103600083015261320c81612f99565b9050919050565b6000602082019050818103600083015261322c81612fbc565b9050919050565b6000602082019050818103600083015261324c81612fdf565b9050919050565b6000602082019050818103600083015261326c81613002565b9050919050565b6000602082019050818103600083015261328c81613025565b9050919050565b600060208201905081810360008301526132ac8161306b565b9050919050565b600060208201905081810360008301526132cc8161308e565b9050919050565b60006020820190506132e860008301846130b1565b92915050565b600060a08201905061330360008301886130b1565b6133106020830187612f2e565b81810360408301526133228186612eb2565b90506133316060830185612ea3565b61333e60808301846130b1565b9695505050505050565b600060408201905061335d60008301856130b1565b61336a60208301846130b1565b9392505050565b600060208201905061338660008301846130c0565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006133f782613551565b915061340283613551565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613437576134366135f5565b5b828201905092915050565b600061344d82613551565b915061345883613551565b92508261346857613467613624565b5b828204905092915050565b600061347e82613551565b915061348983613551565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156134c2576134c16135f5565b5b828202905092915050565b60006134d882613551565b91506134e383613551565b9250828210156134f6576134f56135f5565b5b828203905092915050565b600061350c82613531565b9050919050565b600061351e82613531565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006135738261359e565b9050919050565b60006135858261359e565b9050919050565b600061359782613551565b9050919050565b60006135a9826135b0565b9050919050565b60006135bb82613531565b9050919050565b60005b838110156135e05780820151818401526020810190506135c5565b838111156135ef576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b7f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60008201527f6b656e0000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b7f72656365697665722072656a65637465642043524f207472616e736665720000600082015250565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b61388d81613501565b811461389857600080fd5b50565b6138a481613513565b81146138af57600080fd5b50565b6138bb81613525565b81146138c657600080fd5b50565b6138d281613551565b81146138dd57600080fd5b5056fea26469706673582212207372f24eed5a4a9fbda926697ecd565cdf8210a9e02d6c5cfbe7a512cf7899d064736f6c63430008070033

Deployed ByteCode Sourcemap

5674:10706:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6936:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7887:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8309:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16159:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7617:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8827:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15834:142;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3569:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7711:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8533:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14012:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14164:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14327:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6899:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14591:352;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8057:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6113:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7973:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6187:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7797:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6837:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8663:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3242:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6865:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15984:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15520:298;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8168:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15168:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14951:209;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3412:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10797:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3969:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15332:180;;;;;;;;;;;;;:::i;:::-;;14455:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6806:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3743:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6936:54;;;;:::o;7887:80::-;7935:13;7959:5;;;;;;;;;;;;;;;;;7952:12;;7887:80;:::o;8309:216::-;8384:4;8436:6;8401:11;:23;8413:10;8401:23;;;;;;;;;;;;;;;:32;8425:7;8401:32;;;;;;;;;;;;;;;:41;;;;8479:7;8458:37;;8467:10;8458:37;;;8488:6;8458:37;;;;;;:::i;:::-;;;;;;;;8513:4;8506:11;;8309:216;;;;:::o;16159:150::-;16239:4;16295:6;16263:29;16283:8;16263:19;:29::i;:::-;:38;16256:45;;16159:150;;;;:::o;7617:88::-;7672:7;7690:12;;7683:19;;7617:88;:::o;8827:370::-;8927:4;8982:17;8947:11;:19;8959:6;8947:19;;;;;;;;;;;;;;;:31;8967:10;8947:31;;;;;;;;;;;;;;;;:52;8944:186;;9049:69;9085:6;9049:69;;;;;;;;;;;;;;;;;:11;:19;9061:6;9049:19;;;;;;;;;;;;;;;:31;9069:10;9049:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;9015:11;:19;9027:6;9015:19;;;;;;;;;;;;;;;:31;9035:10;9015:31;;;;;;;;;;;;;;;:103;;;;8944:186;9149:40;9163:6;9171:9;9182:6;9149:13;:40::i;:::-;9142:47;;8827:370;;;;;:::o;15834:142::-;15887:7;15914:54;15952:15;15962:4;;;;;;;;;;;15952:9;:15::i;:::-;15914:33;15931:15;15941:4;;;;;;;;;;;15931:9;:15::i;:::-;15914:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;15907:61;;15834:142;:::o;3569:103::-;3624:4;3659:5;;;;;;;;;;;3648:16;;:7;:16;;;3641:23;;3569:103;;;:::o;7711:80::-;7763:5;6046:2;7772:16;;7711:80;:::o;8533:122::-;8588:4;8612:35;8620:7;8629:17;8612:7;:35::i;:::-;8605:42;;8533:122;;;:::o;14012:145::-;3127:24;3140:10;3127:12;:24::i;:::-;3119:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14112:4:::1;14097:12;;:19;;;;:::i;:::-;14087:6;:29;;14079:38;;;::::0;::::1;;14143:6;14128:12;:21;;;;14012:145:::0;:::o;14164:151::-;2958:19;2966:10;2958:7;:19::i;:::-;2950:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;14267:4:::1;14252:12;;:19;;;;:::i;:::-;14242:6;:29;;14234:39;;;::::0;::::1;;14301:6;14284:14;:23;;;;14164:151:::0;:::o;14327:120::-;3127:24;3140:10;3127:12;:24::i;:::-;3119:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14433:6:::1;14411:11;:19;14423:6;14411:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;14327:120:::0;;:::o;6899:30::-;;;;;;;;;;;;;:::o;14591:352::-;3127:24;3140:10;3127:12;:24::i;:::-;3119:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14743:13:::1;14728:12;:28;;;;14777:8;14767:7;:18;;;;14811:13;14796:12;:28;;;;14846:46;14878:13;14846:27;14864:8;14846:13;:17;;:27;;;;:::i;:::-;:31;;:46;;;;:::i;:::-;14835:8;:57;;;;14920:15;14903:14;:32;;;;14591:352:::0;;;;:::o;8057:105::-;8123:7;8141:9;:18;8151:7;8141:18;;;;;;;;;;;;;;;;8134:25;;8057:105;;;:::o;6113:52::-;;;;:::o;7973:78::-;8025:7;8043:5;;;;;;;;;;;8036:12;;7973:78;:::o;6187:54::-;;;;:::o;7797:84::-;7847:13;7871:7;;;;;;;;;;;;;;;;;7864:14;;7797:84;:::o;6837:19::-;;;;;;;;;;;;;:::o;8663:156::-;8743:4;8767:44;8781:10;8793:9;8804:6;8767:13;:44::i;:::-;8760:51;;8663:156;;;;:::o;3242:94::-;2958:19;2966:10;2958:7;:19::i;:::-;2950:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3324:4:::1;3302:14:::0;:19:::1;3317:3;3302:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;3242:94:::0;:::o;6865:25::-;;;;:::o;15984:167::-;16052:7;16079:64;16120:22;:20;:22::i;:::-;16079:36;16092:22;16112:1;16092:15;16102:4;;;;;;;;;;;16092:9;:15::i;:::-;:19;;:22;;;;:::i;:::-;16079:8;:12;;:36;;;;:::i;:::-;:40;;:64;;;;:::i;:::-;16072:71;;15984:167;;;:::o;15520:298::-;3127:24;3140:10;3127:12;:24::i;:::-;3119:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;15621:4:::1;15603:23;;:6;:23;;;;15595:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15677:24;15711:6;15704:24;;;15737:4;15704:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15677:66;;15762:20;;;;;;;;;;;15754:38;;:56;15793:16;15754:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15584:234;15520:298:::0;:::o;8168:133::-;8252:7;8270:11;:19;8282:6;8270:19;;;;;;;;;;;;;;;:28;8290:7;8270:28;;;;;;;;;;;;;;;;8263:35;;8168:133;;;;:::o;15168:156::-;3127:24;3140:10;3127:12;:24::i;:::-;3119:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;15274:8:::1;15260:11;;:22;;;;;;;;;;;;;;;;;;15309:7;15293:13;:23;;;;15168:156:::0;;:::o;14951:209::-;3127:24;3140:10;3127:12;:24::i;:::-;3119:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;15086:21:::1;15063:20;;:44;;;;;;;;;;;;;;;;;;15136:16;15118:15;;:34;;;;;;;;;;;;;;;;;;14951:209:::0;;:::o;3412:97::-;2958:19;2966:10;2958:7;:19::i;:::-;2950:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3496:5:::1;3474:14;:19;3489:3;3474:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;3412:97:::0;:::o;10797:225::-;10853:7;10894:12;10889:1;10876:10;;:14;;;;:::i;:::-;:30;10873:67;;10916:21;10935:1;10916:14;;:18;;:21;;;;:::i;:::-;10909:28;;;;10873:67;10953:7;10950:39;;;10971:15;10984:1;10971:8;;:12;;:15;;;;:::i;:::-;10964:22;;;;10950:39;11006:8;;10999:15;;10797:225;;;;:::o;3969:173::-;2958:19;2966:10;2958:7;:19::i;:::-;2950:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;4053:3:::1;4045:5;::::0;:11:::1;;;;;;;;;;;;;;;;;;4089:4;4067:14:::0;:19:::1;4082:3;4067:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;4109:25;4130:3;4109:25;;;;;;:::i;:::-;;;;;;;;3969:173:::0;:::o;15332:180::-;3127:24;3140:10;3127:12;:24::i;:::-;3119:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;15385:26:::1;15414:21;15385:50;;15454:20;;;;;;;;;;;15446:38;;:58;15485:18;15446:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15374:138;15332:180::o:0;14455:128::-;3127:24;3140:10;3127:12;:24::i;:::-;3119:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14569:6:::1;14543:15;:23;14559:6;14543:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;14455:128:::0;;:::o;6806:24::-;;;;;;;;;;;;;:::o;3743:107::-;3799:4;3823:14;:19;3838:3;3823:19;;;;;;;;;;;;;;;;;;;;;;;;;3816:26;;3743:107;;;:::o;626:192::-;712:7;745:1;740;:6;;748:12;732:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;772:9;788:1;784;:5;;;;:::i;:::-;772:17;;809:1;802:8;;;626:192;;;;;:::o;9205:942::-;9297:4;9317:6;;;;;;;;;;;9314:63;;;9333:41;9348:6;9356:9;9367:6;9333:14;:41::i;:::-;9326:48;;;;9314:63;9397:28;9410:6;9418;9397:12;:28::i;:::-;9463:4;;;;;;;;;;;9450:17;;:9;:17;;;;:38;;;;;9484:4;;;;;;;;;;;9471:17;;:9;:17;;;;9450:38;9446:198;;;9513:15;:26;9529:9;9513:26;;;;;;;;;;;;;;;;;;;;;;;;;:77;;;;9576:14;;9566:6;9543:9;:20;9553:9;9543:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:47;;9513:77;9505:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;9446:198;9667:16;:14;:16::i;:::-;9664:35;;;9686:10;:8;:10::i;:::-;9664:35;9715:10;:8;:10::i;:::-;9714:11;:32;;;;;9742:4;;;;;;;;;;;9729:17;;:9;:17;;;9714:32;9711:81;;;9777:1;9757:9;:17;9767:6;9757:17;;;;;;;;;;;;;;;;:21;9749:30;;;;;;9781:8;:6;:8::i;:::-;9711:81;9824:53;9846:6;9824:53;;;;;;;;;;;;;;;;;:9;:17;9834:6;9824:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9804:9;:17;9814:6;9804:17;;;;;;;;;;;;;;;:73;;;;9890:22;9915:21;9929:6;9915:13;:21::i;:::-;:67;;9976:6;9915:67;;;9939:34;9947:6;9955:9;9966:6;9939:7;:34::i;:::-;9915:67;9890:92;;10016:40;10041:14;10016:9;:20;10026:9;10016:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;9993:9;:20;10003:9;9993:20;;;;;;;;;;;;;;;:63;;;;10091:9;10074:43;;10083:6;10074:43;;;10102:14;10074:43;;;;;;:::i;:::-;;;;;;;;10135:4;10128:11;;;9205:942;;;;;;:::o;484:136::-;542:7;569:43;573:1;576;569:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;562:50;;484:136;;;;:::o;297:181::-;355:7;375:9;391:1;387;:5;;;;:::i;:::-;375:17;;416:1;411;:6;;403:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;469:1;462:8;;;297:181;;;;:::o;824:250::-;882:7;911:1;906;:6;902:47;;;936:1;929:8;;;;902:47;961:9;977:1;973;:5;;;;:::i;:::-;961:17;;1006:1;1001;997;:5;;;;:::i;:::-;:10;989:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1065:1;1058:8;;;824:250;;;;;:::o;1080:132::-;1138:7;1165:39;1169:1;1172;1165:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1158:46;;1080:132;;;;:::o;10159:330::-;10252:4;10289:53;10311:6;10289:53;;;;;;;;;;;;;;;;;:9;:17;10299:6;10289:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;10269:9;:17;10279:6;10269:17;;;;;;;;;;;;;;;:73;;;;10376:32;10401:6;10376:9;:20;10386:9;10376:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10353:9;:20;10363:9;10353:20;;;;;;;;;;;;;;;:55;;;;10441:9;10424:35;;10433:6;10424:35;;;10452:6;10424:35;;;;;;:::i;:::-;;;;;;;;10477:4;10470:11;;10159:330;;;;;:::o;10497:166::-;10594:12;;10584:6;:22;;:49;;;;10610:15;:23;10626:6;10610:23;;;;;;;;;;;;;;;;;;;;;;;;;10584:49;10576:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10497:166;;:::o;11410:197::-;11459:4;11497;;;;;;;;;;;11483:18;;:10;:18;;;;:38;;;;;11515:6;;;;;;;;;;;11514:7;11483:38;:62;;;;;11534:11;;;;;;;;;;;11483:62;:116;;;;;11586:13;;11558:9;:24;11576:4;11558:24;;;;;;;;;;;;;;;;:41;;11483:116;11476:123;;11410:197;:::o;11615:1843::-;7054:4;7045:6;;:13;;;;;;;;;;;;;;;;;;11664:28:::1;11695:24;11713:4;11695:9;:24::i;:::-;11664:55;;11730:23;11756:59;11813:1;11756:52;11799:8;;11756:38;11781:12;;11756:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;11730:85;;11826:20;11849:41;11874:15;11849:20;:24;;:41;;;;:::i;:::-;11826:64;;11903:21;11941:1;11927:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11903:40;;11972:4;11954;11959:1;11954:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11998:4;;;;;;;;;;;11988;11993:1;11988:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;12015:21;12039;12015:45;;12073:6;;;;;;;;;;;:57;;;12145:12;12172:1;12188:4;12215;12235:15;12073:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12272:17;12292:40;12318:13;12292:21;:25;;:40;;;;:::i;:::-;12272:60;;12343:19;12365:33;12378:19;12395:1;12378:12;;:16;;:19;;;;:::i;:::-;12365:8;;:12;;:33;;;;:::i;:::-;12343:55;;12409:26;12438:51;12487:1;12438:44;12470:11;12438:27;12452:12;;12438:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;12409:80;;12500:28;12531:39;12558:11;12531:22;12545:7;;12531:9;:13;;:22;;;;:::i;:::-;:26;;:39;;;;:::i;:::-;12500:70;;12581:26;12610:44;12642:11;12610:27;12624:12;;12610:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;12581:73;;12670:21;12728:20;;;;;;;;;;;12720:34;;12762:18;12787:5;12720:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12669:128;;;12816:16;12808:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;12879:23;12939:15;;;;;;;;;;;12931:29;;12968:20;12995:5;12931:74;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12878:127;;;13024:18;13016:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;13111:1;13093:15;:19;13090:361;;;13128:6;;;;;;;;;;;:22;;;13158:18;13204:4;13228:15;13262:1;13282::::0;13302:20:::1;;;;;;;;;;;13341:15;13128:243;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13391:48;13403:18;13423:15;13391:48;;;;;;;:::i;:::-;;;;;;;;13090:361;11653:1805;;;;;;;;;;;;7072:5:::0;7063:6;;:14;;;;;;;;;;;;;;;;;;11615:1843::o;13835:90::-;13878:4;13916:1;13902:10;;:15;;13895:22;;13835:90;:::o;13933:71::-;13984:12;13971:10;:25;;;;13933:71::o;10675:114::-;10737:4;10762:11;:19;10774:6;10762:19;;;;;;;;;;;;;;;;;;;;;;;;;10761:20;10754:27;;10675:114;;;:::o;11030:372::-;11115:7;11135:17;11155:61;11201:14;;11155:41;11166:29;11190:4;;;;;;;;;;;11178:16;;:8;:16;;;11166:11;:29::i;:::-;11155:6;:10;;:41;;;;:::i;:::-;:45;;:61;;;;:::i;:::-;11135:81;;11256:39;11285:9;11256;:24;11274:4;11256:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11229:9;:24;11247:4;11229:24;;;;;;;;;;;;;;;:66;;;;11336:4;11311:42;;11320:6;11311:42;;;11343:9;11311:42;;;;;;:::i;:::-;;;;;;;;11373:21;11384:9;11373:6;:10;;:21;;;;:::i;:::-;11366:28;;;11030:372;;;;;:::o;1218:345::-;1304:7;1403:1;1399;:5;1406:12;1391:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1430:9;1446:1;1442;:5;;;;:::i;:::-;1430:17;;1554:1;1547:8;;;1218:345;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;152:155;;;;:::o;313:133::-;356:5;394:6;381:20;372:29;;410:30;434:5;410:30;:::i;:::-;313:133;;;;:::o;452:139::-;498:5;536:6;523:20;514:29;;552:33;579:5;552:33;:::i;:::-;452:139;;;;:::o;597:143::-;654:5;685:6;679:13;670:22;;701:33;728:5;701:33;:::i;:::-;597:143;;;;:::o;746:329::-;805:6;854:2;842:9;833:7;829:23;825:32;822:119;;;860:79;;:::i;:::-;822:119;980:1;1005:53;1050:7;1041:6;1030:9;1026:22;1005:53;:::i;:::-;995:63;;951:117;746:329;;;;:::o;1081:345::-;1148:6;1197:2;1185:9;1176:7;1172:23;1168:32;1165:119;;;1203:79;;:::i;:::-;1165:119;1323:1;1348:61;1401:7;1392:6;1381:9;1377:22;1348:61;:::i;:::-;1338:71;;1294:125;1081:345;;;;:::o;1432:474::-;1500:6;1508;1557:2;1545:9;1536:7;1532:23;1528:32;1525:119;;;1563:79;;:::i;:::-;1525:119;1683:1;1708:53;1753:7;1744:6;1733:9;1729:22;1708:53;:::i;:::-;1698:63;;1654:117;1810:2;1836:53;1881:7;1872:6;1861:9;1857:22;1836:53;:::i;:::-;1826:63;;1781:118;1432:474;;;;;:::o;1912:619::-;1989:6;1997;2005;2054:2;2042:9;2033:7;2029:23;2025:32;2022:119;;;2060:79;;:::i;:::-;2022:119;2180:1;2205:53;2250:7;2241:6;2230:9;2226:22;2205:53;:::i;:::-;2195:63;;2151:117;2307:2;2333:53;2378:7;2369:6;2358:9;2354:22;2333:53;:::i;:::-;2323:63;;2278:118;2435:2;2461:53;2506:7;2497:6;2486:9;2482:22;2461:53;:::i;:::-;2451:63;;2406:118;1912:619;;;;;:::o;2537:468::-;2602:6;2610;2659:2;2647:9;2638:7;2634:23;2630:32;2627:119;;;2665:79;;:::i;:::-;2627:119;2785:1;2810:53;2855:7;2846:6;2835:9;2831:22;2810:53;:::i;:::-;2800:63;;2756:117;2912:2;2938:50;2980:7;2971:6;2960:9;2956:22;2938:50;:::i;:::-;2928:60;;2883:115;2537:468;;;;;:::o;3011:474::-;3079:6;3087;3136:2;3124:9;3115:7;3111:23;3107:32;3104:119;;;3142:79;;:::i;:::-;3104:119;3262:1;3287:53;3332:7;3323:6;3312:9;3308:22;3287:53;:::i;:::-;3277:63;;3233:117;3389:2;3415:53;3460:7;3451:6;3440:9;3436:22;3415:53;:::i;:::-;3405:63;;3360:118;3011:474;;;;;:::o;3491:323::-;3547:6;3596:2;3584:9;3575:7;3571:23;3567:32;3564:119;;;3602:79;;:::i;:::-;3564:119;3722:1;3747:50;3789:7;3780:6;3769:9;3765:22;3747:50;:::i;:::-;3737:60;;3693:114;3491:323;;;;:::o;3820:468::-;3885:6;3893;3942:2;3930:9;3921:7;3917:23;3913:32;3910:119;;;3948:79;;:::i;:::-;3910:119;4068:1;4093:50;4135:7;4126:6;4115:9;4111:22;4093:50;:::i;:::-;4083:60;;4039:114;4192:2;4218:53;4263:7;4254:6;4243:9;4239:22;4218:53;:::i;:::-;4208:63;;4163:118;3820:468;;;;;:::o;4294:329::-;4353:6;4402:2;4390:9;4381:7;4377:23;4373:32;4370:119;;;4408:79;;:::i;:::-;4370:119;4528:1;4553:53;4598:7;4589:6;4578:9;4574:22;4553:53;:::i;:::-;4543:63;;4499:117;4294:329;;;;:::o;4629:351::-;4699:6;4748:2;4736:9;4727:7;4723:23;4719:32;4716:119;;;4754:79;;:::i;:::-;4716:119;4874:1;4899:64;4955:7;4946:6;4935:9;4931:22;4899:64;:::i;:::-;4889:74;;4845:128;4629:351;;;;:::o;4986:474::-;5054:6;5062;5111:2;5099:9;5090:7;5086:23;5082:32;5079:119;;;5117:79;;:::i;:::-;5079:119;5237:1;5262:53;5307:7;5298:6;5287:9;5283:22;5262:53;:::i;:::-;5252:63;;5208:117;5364:2;5390:53;5435:7;5426:6;5415:9;5411:22;5390:53;:::i;:::-;5380:63;;5335:118;4986:474;;;;;:::o;5466:663::-;5554:6;5562;5570;5619:2;5607:9;5598:7;5594:23;5590:32;5587:119;;;5625:79;;:::i;:::-;5587:119;5745:1;5770:64;5826:7;5817:6;5806:9;5802:22;5770:64;:::i;:::-;5760:74;;5716:128;5883:2;5909:64;5965:7;5956:6;5945:9;5941:22;5909:64;:::i;:::-;5899:74;;5854:129;6022:2;6048:64;6104:7;6095:6;6084:9;6080:22;6048:64;:::i;:::-;6038:74;;5993:129;5466:663;;;;;:::o;6135:765::-;6221:6;6229;6237;6245;6294:3;6282:9;6273:7;6269:23;6265:33;6262:120;;;6301:79;;:::i;:::-;6262:120;6421:1;6446:53;6491:7;6482:6;6471:9;6467:22;6446:53;:::i;:::-;6436:63;;6392:117;6548:2;6574:53;6619:7;6610:6;6599:9;6595:22;6574:53;:::i;:::-;6564:63;;6519:118;6676:2;6702:53;6747:7;6738:6;6727:9;6723:22;6702:53;:::i;:::-;6692:63;;6647:118;6804:2;6830:53;6875:7;6866:6;6855:9;6851:22;6830:53;:::i;:::-;6820:63;;6775:118;6135:765;;;;;;;:::o;6906:179::-;6975:10;6996:46;7038:3;7030:6;6996:46;:::i;:::-;7074:4;7069:3;7065:14;7051:28;;6906:179;;;;:::o;7091:147::-;7186:45;7225:5;7186:45;:::i;:::-;7181:3;7174:58;7091:147;;:::o;7244:108::-;7321:24;7339:5;7321:24;:::i;:::-;7316:3;7309:37;7244:108;;:::o;7358:118::-;7445:24;7463:5;7445:24;:::i;:::-;7440:3;7433:37;7358:118;;:::o;7512:732::-;7631:3;7660:54;7708:5;7660:54;:::i;:::-;7730:86;7809:6;7804:3;7730:86;:::i;:::-;7723:93;;7840:56;7890:5;7840:56;:::i;:::-;7919:7;7950:1;7935:284;7960:6;7957:1;7954:13;7935:284;;;8036:6;8030:13;8063:63;8122:3;8107:13;8063:63;:::i;:::-;8056:70;;8149:60;8202:6;8149:60;:::i;:::-;8139:70;;7995:224;7982:1;7979;7975:9;7970:14;;7935:284;;;7939:14;8235:3;8228:10;;7636:608;;;7512:732;;;;:::o;8250:109::-;8331:21;8346:5;8331:21;:::i;:::-;8326:3;8319:34;8250:109;;:::o;8365:167::-;8470:55;8519:5;8470:55;:::i;:::-;8465:3;8458:68;8365:167;;:::o;8538:147::-;8633:45;8672:5;8633:45;:::i;:::-;8628:3;8621:58;8538:147;;:::o;8691:364::-;8779:3;8807:39;8840:5;8807:39;:::i;:::-;8862:71;8926:6;8921:3;8862:71;:::i;:::-;8855:78;;8942:52;8987:6;8982:3;8975:4;8968:5;8964:16;8942:52;:::i;:::-;9019:29;9041:6;9019:29;:::i;:::-;9014:3;9010:39;9003:46;;8783:272;8691:364;;;;:::o;9061:366::-;9203:3;9224:67;9288:2;9283:3;9224:67;:::i;:::-;9217:74;;9300:93;9389:3;9300:93;:::i;:::-;9418:2;9413:3;9409:12;9402:19;;9061:366;;;:::o;9433:::-;9575:3;9596:67;9660:2;9655:3;9596:67;:::i;:::-;9589:74;;9672:93;9761:3;9672:93;:::i;:::-;9790:2;9785:3;9781:12;9774:19;;9433:366;;;:::o;9805:::-;9947:3;9968:67;10032:2;10027:3;9968:67;:::i;:::-;9961:74;;10044:93;10133:3;10044:93;:::i;:::-;10162:2;10157:3;10153:12;10146:19;;9805:366;;;:::o;10177:::-;10319:3;10340:67;10404:2;10399:3;10340:67;:::i;:::-;10333:74;;10416:93;10505:3;10416:93;:::i;:::-;10534:2;10529:3;10525:12;10518:19;;10177:366;;;:::o;10549:::-;10691:3;10712:67;10776:2;10771:3;10712:67;:::i;:::-;10705:74;;10788:93;10877:3;10788:93;:::i;:::-;10906:2;10901:3;10897:12;10890:19;;10549:366;;;:::o;10921:365::-;11063:3;11084:66;11148:1;11143:3;11084:66;:::i;:::-;11077:73;;11159:93;11248:3;11159:93;:::i;:::-;11277:2;11272:3;11268:12;11261:19;;10921:365;;;:::o;11292:398::-;11451:3;11472:83;11553:1;11548:3;11472:83;:::i;:::-;11465:90;;11564:93;11653:3;11564:93;:::i;:::-;11682:1;11677:3;11673:11;11666:18;;11292:398;;;:::o;11696:366::-;11838:3;11859:67;11923:2;11918:3;11859:67;:::i;:::-;11852:74;;11935:93;12024:3;11935:93;:::i;:::-;12053:2;12048:3;12044:12;12037:19;;11696:366;;;:::o;12068:::-;12210:3;12231:67;12295:2;12290:3;12231:67;:::i;:::-;12224:74;;12307:93;12396:3;12307:93;:::i;:::-;12425:2;12420:3;12416:12;12409:19;;12068:366;;;:::o;12440:118::-;12527:24;12545:5;12527:24;:::i;:::-;12522:3;12515:37;12440:118;;:::o;12564:112::-;12647:22;12663:5;12647:22;:::i;:::-;12642:3;12635:35;12564:112;;:::o;12682:379::-;12866:3;12888:147;13031:3;12888:147;:::i;:::-;12881:154;;13052:3;13045:10;;12682:379;;;:::o;13067:222::-;13160:4;13198:2;13187:9;13183:18;13175:26;;13211:71;13279:1;13268:9;13264:17;13255:6;13211:71;:::i;:::-;13067:222;;;;:::o;13295:238::-;13396:4;13434:2;13423:9;13419:18;13411:26;;13447:79;13523:1;13512:9;13508:17;13499:6;13447:79;:::i;:::-;13295:238;;;;:::o;13539:807::-;13788:4;13826:3;13815:9;13811:19;13803:27;;13840:71;13908:1;13897:9;13893:17;13884:6;13840:71;:::i;:::-;13921:72;13989:2;13978:9;13974:18;13965:6;13921:72;:::i;:::-;14003:80;14079:2;14068:9;14064:18;14055:6;14003:80;:::i;:::-;14093;14169:2;14158:9;14154:18;14145:6;14093:80;:::i;:::-;14183:73;14251:3;14240:9;14236:19;14227:6;14183:73;:::i;:::-;14266;14334:3;14323:9;14319:19;14310:6;14266:73;:::i;:::-;13539:807;;;;;;;;;:::o;14352:210::-;14439:4;14477:2;14466:9;14462:18;14454:26;;14490:65;14552:1;14541:9;14537:17;14528:6;14490:65;:::i;:::-;14352:210;;;;:::o;14568:258::-;14679:4;14717:2;14706:9;14702:18;14694:26;;14730:89;14816:1;14805:9;14801:17;14792:6;14730:89;:::i;:::-;14568:258;;;;:::o;14832:313::-;14945:4;14983:2;14972:9;14968:18;14960:26;;15032:9;15026:4;15022:20;15018:1;15007:9;15003:17;14996:47;15060:78;15133:4;15124:6;15060:78;:::i;:::-;15052:86;;14832:313;;;;:::o;15151:419::-;15317:4;15355:2;15344:9;15340:18;15332:26;;15404:9;15398:4;15394:20;15390:1;15379:9;15375:17;15368:47;15432:131;15558:4;15432:131;:::i;:::-;15424:139;;15151:419;;;:::o;15576:::-;15742:4;15780:2;15769:9;15765:18;15757:26;;15829:9;15823:4;15819:20;15815:1;15804:9;15800:17;15793:47;15857:131;15983:4;15857:131;:::i;:::-;15849:139;;15576:419;;;:::o;16001:::-;16167:4;16205:2;16194:9;16190:18;16182:26;;16254:9;16248:4;16244:20;16240:1;16229:9;16225:17;16218:47;16282:131;16408:4;16282:131;:::i;:::-;16274:139;;16001:419;;;:::o;16426:::-;16592:4;16630:2;16619:9;16615:18;16607:26;;16679:9;16673:4;16669:20;16665:1;16654:9;16650:17;16643:47;16707:131;16833:4;16707:131;:::i;:::-;16699:139;;16426:419;;;:::o;16851:::-;17017:4;17055:2;17044:9;17040:18;17032:26;;17104:9;17098:4;17094:20;17090:1;17079:9;17075:17;17068:47;17132:131;17258:4;17132:131;:::i;:::-;17124:139;;16851:419;;;:::o;17276:::-;17442:4;17480:2;17469:9;17465:18;17457:26;;17529:9;17523:4;17519:20;17515:1;17504:9;17500:17;17493:47;17557:131;17683:4;17557:131;:::i;:::-;17549:139;;17276:419;;;:::o;17701:::-;17867:4;17905:2;17894:9;17890:18;17882:26;;17954:9;17948:4;17944:20;17940:1;17929:9;17925:17;17918:47;17982:131;18108:4;17982:131;:::i;:::-;17974:139;;17701:419;;;:::o;18126:::-;18292:4;18330:2;18319:9;18315:18;18307:26;;18379:9;18373:4;18369:20;18365:1;18354:9;18350:17;18343:47;18407:131;18533:4;18407:131;:::i;:::-;18399:139;;18126:419;;;:::o;18551:222::-;18644:4;18682:2;18671:9;18667:18;18659:26;;18695:71;18763:1;18752:9;18748:17;18739:6;18695:71;:::i;:::-;18551:222;;;;:::o;18779:831::-;19042:4;19080:3;19069:9;19065:19;19057:27;;19094:71;19162:1;19151:9;19147:17;19138:6;19094:71;:::i;:::-;19175:80;19251:2;19240:9;19236:18;19227:6;19175:80;:::i;:::-;19302:9;19296:4;19292:20;19287:2;19276:9;19272:18;19265:48;19330:108;19433:4;19424:6;19330:108;:::i;:::-;19322:116;;19448:72;19516:2;19505:9;19501:18;19492:6;19448:72;:::i;:::-;19530:73;19598:3;19587:9;19583:19;19574:6;19530:73;:::i;:::-;18779:831;;;;;;;;:::o;19616:332::-;19737:4;19775:2;19764:9;19760:18;19752:26;;19788:71;19856:1;19845:9;19841:17;19832:6;19788:71;:::i;:::-;19869:72;19937:2;19926:9;19922:18;19913:6;19869:72;:::i;:::-;19616:332;;;;;:::o;19954:214::-;20043:4;20081:2;20070:9;20066:18;20058:26;;20094:67;20158:1;20147:9;20143:17;20134:6;20094:67;:::i;:::-;19954:214;;;;:::o;20255:132::-;20322:4;20345:3;20337:11;;20375:4;20370:3;20366:14;20358:22;;20255:132;;;:::o;20393:114::-;20460:6;20494:5;20488:12;20478:22;;20393:114;;;:::o;20513:99::-;20565:6;20599:5;20593:12;20583:22;;20513:99;;;:::o;20618:113::-;20688:4;20720;20715:3;20711:14;20703:22;;20618:113;;;:::o;20737:184::-;20836:11;20870:6;20865:3;20858:19;20910:4;20905:3;20901:14;20886:29;;20737:184;;;;:::o;20927:147::-;21028:11;21065:3;21050:18;;20927:147;;;;:::o;21080:169::-;21164:11;21198:6;21193:3;21186:19;21238:4;21233:3;21229:14;21214:29;;21080:169;;;;:::o;21255:305::-;21295:3;21314:20;21332:1;21314:20;:::i;:::-;21309:25;;21348:20;21366:1;21348:20;:::i;:::-;21343:25;;21502:1;21434:66;21430:74;21427:1;21424:81;21421:107;;;21508:18;;:::i;:::-;21421:107;21552:1;21549;21545:9;21538:16;;21255:305;;;;:::o;21566:185::-;21606:1;21623:20;21641:1;21623:20;:::i;:::-;21618:25;;21657:20;21675:1;21657:20;:::i;:::-;21652:25;;21696:1;21686:35;;21701:18;;:::i;:::-;21686:35;21743:1;21740;21736:9;21731:14;;21566:185;;;;:::o;21757:348::-;21797:7;21820:20;21838:1;21820:20;:::i;:::-;21815:25;;21854:20;21872:1;21854:20;:::i;:::-;21849:25;;22042:1;21974:66;21970:74;21967:1;21964:81;21959:1;21952:9;21945:17;21941:105;21938:131;;;22049:18;;:::i;:::-;21938:131;22097:1;22094;22090:9;22079:20;;21757:348;;;;:::o;22111:191::-;22151:4;22171:20;22189:1;22171:20;:::i;:::-;22166:25;;22205:20;22223:1;22205:20;:::i;:::-;22200:25;;22244:1;22241;22238:8;22235:34;;;22249:18;;:::i;:::-;22235:34;22294:1;22291;22287:9;22279:17;;22111:191;;;;:::o;22308:96::-;22345:7;22374:24;22392:5;22374:24;:::i;:::-;22363:35;;22308:96;;;:::o;22410:104::-;22455:7;22484:24;22502:5;22484:24;:::i;:::-;22473:35;;22410:104;;;:::o;22520:90::-;22554:7;22597:5;22590:13;22583:21;22572:32;;22520:90;;;:::o;22616:126::-;22653:7;22693:42;22686:5;22682:54;22671:65;;22616:126;;;:::o;22748:77::-;22785:7;22814:5;22803:16;;22748:77;;;:::o;22831:86::-;22866:7;22906:4;22899:5;22895:16;22884:27;;22831:86;;;:::o;22923:134::-;22981:9;23014:37;23045:5;23014:37;:::i;:::-;23001:50;;22923:134;;;:::o;23063:144::-;23131:9;23164:37;23195:5;23164:37;:::i;:::-;23151:50;;23063:144;;;:::o;23213:121::-;23271:9;23304:24;23322:5;23304:24;:::i;:::-;23291:37;;23213:121;;;:::o;23340:126::-;23390:9;23423:37;23454:5;23423:37;:::i;:::-;23410:50;;23340:126;;;:::o;23472:113::-;23522:9;23555:24;23573:5;23555:24;:::i;:::-;23542:37;;23472:113;;;:::o;23591:307::-;23659:1;23669:113;23683:6;23680:1;23677:13;23669:113;;;23768:1;23763:3;23759:11;23753:18;23749:1;23744:3;23740:11;23733:39;23705:2;23702:1;23698:10;23693:15;;23669:113;;;23800:6;23797:1;23794:13;23791:101;;;23880:1;23871:6;23866:3;23862:16;23855:27;23791:101;23640:258;23591:307;;;:::o;23904:180::-;23952:77;23949:1;23942:88;24049:4;24046:1;24039:15;24073:4;24070:1;24063:15;24090:180;24138:77;24135:1;24128:88;24235:4;24232:1;24225:15;24259:4;24256:1;24249:15;24276:180;24324:77;24321:1;24314:88;24421:4;24418:1;24411:15;24445:4;24442:1;24435:15;24462:180;24510:77;24507:1;24500:88;24607:4;24604:1;24597:15;24631:4;24628:1;24621:15;24771:117;24880:1;24877;24870:12;24894:102;24935:6;24986:2;24982:7;24977:2;24970:5;24966:14;24962:28;24952:38;;24894:102;;;:::o;25002:224::-;25142:34;25138:1;25130:6;25126:14;25119:58;25211:7;25206:2;25198:6;25194:15;25187:32;25002:224;:::o;25232:167::-;25372:19;25368:1;25360:6;25356:14;25349:43;25232:167;:::o;25405:222::-;25545:34;25541:1;25533:6;25529:14;25522:58;25614:5;25609:2;25601:6;25597:15;25590:30;25405:222;:::o;25633:177::-;25773:29;25769:1;25761:6;25757:14;25750:53;25633:177;:::o;25816:220::-;25956:34;25952:1;25944:6;25940:14;25933:58;26025:3;26020:2;26012:6;26008:15;26001:28;25816:220;:::o;26042:156::-;26182:8;26178:1;26170:6;26166:14;26159:32;26042:156;:::o;26204:114::-;;:::o;26324:180::-;26464:32;26460:1;26452:6;26448:14;26441:56;26324:180;:::o;26510:161::-;26650:13;26646:1;26638:6;26634:14;26627:37;26510:161;:::o;26677:122::-;26750:24;26768:5;26750:24;:::i;:::-;26743:5;26740:35;26730:63;;26789:1;26786;26779:12;26730:63;26677:122;:::o;26805:138::-;26886:32;26912:5;26886:32;:::i;:::-;26879:5;26876:43;26866:71;;26933:1;26930;26923:12;26866:71;26805:138;:::o;26949:116::-;27019:21;27034:5;27019:21;:::i;:::-;27012:5;27009:32;26999:60;;27055:1;27052;27045:12;26999:60;26949:116;:::o;27071:122::-;27144:24;27162:5;27144:24;:::i;:::-;27137:5;27134:35;27124:63;;27183:1;27180;27173:12;27124:63;27071:122;:::o

Swarm Source

ipfs://7372f24eed5a4a9fbda926697ecd565cdf8210a9e02d6c5cfbe7a512cf7899d0
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.