ETH Price: $3,409.44 (-1.55%)
Gas: 9 Gwei

Token

BONKE (BONKE)
 

Overview

Max Total Supply

10,000,000 BONKE

Holders

41

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
vitawin.eth
Balance
0.000000001 BONKE

Value
$0.00
0x9a9a505707fd43027f52edddb2ed65d6d9aa2bde
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BONKE

Compiler Version
v0.7.4+commit.3f05b770

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-29
*/

/*

https://t.me/bonke_erc20
https://X.com/bonke_erc20

*/


//SPDX-License-Identifier: Unlicensed
pragma solidity ^0.7.4;

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) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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

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



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

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

    string constant _name = "BONKE";
    string constant _symbol = "BONKE";
    uint8 constant _decimals = 9;

    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    
    address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; //Uni

    uint256 _totalSupply = 10 * 10**6 * (10 ** _decimals);
    uint256 public _maxTxAmount = 10 * 10**6 * (10 ** _decimals);
    uint256 public _walletMax = 10 * 10**6 * (10 ** _decimals);
    
    bool public restrictWhales = true;

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

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

    uint256 public liquidityFee = 0;
    uint256 public marketingFee = 5;
    uint256 public extraFeeOnSell = 25;

    uint256 public totalFee = 5;
    uint256 public totalFeeIfSelling = 30;

    address public autoLiquidityReceiver;
    address public marketingWallet;
    address public devWallet;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool public tradingOpen = true;



    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;

    uint256 public swapThreshold = 1 * 10**4 * (10 ** _decimals);
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor () Auth(msg.sender) {
        
        router = IDEXRouter(routerAddress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = uint256(-1);

        isFeeExempt[msg.sender] = true;
        isFeeExempt[address(this)] = true;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[pair] = true;

        isDividendExempt[pair] = true;
        isDividendExempt[msg.sender] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[DEAD] = true;
        isDividendExempt[ZERO] = true;

        // NICE!
        autoLiquidityReceiver = 0x0820e28b0ebD3c77C0FD6f0BBd0ffc9a40e3267f;
        marketingWallet = 0x0820e28b0ebD3c77C0FD6f0BBd0ffc9a40e3267f;
        devWallet = 0x0820e28b0ebD3c77C0FD6f0BBd0ffc9a40e3267f;
        
        totalFee = liquidityFee.add(marketingFee);
        totalFeeIfSelling = totalFee.add(extraFeeOnSell);

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable { }

    function name() external pure override returns (string memory) { return _name; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function getOwner() external view override returns (address) { return owner; }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    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, uint256(-1));
    }

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

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

    function changeTxLimit(uint256 newLimit) external authorized {
        _maxTxAmount = newLimit;
    }

    function changeWalletLimit(uint256 newLimit) external authorized {
        _walletMax  = newLimit;
    }

    function changeRestrictWhales(bool newValue) external authorized {
       restrictWhales = newValue;
    }
    
    function changeIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }

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


    function changeFees(uint256 newLiqFee, uint256 newMarketingFee, uint256 newExtraSellFee) external authorized {
        liquidityFee = newLiqFee;
        marketingFee = newMarketingFee;
        extraFeeOnSell = newExtraSellFee;
        
        totalFee = liquidityFee.add(marketingFee);
        totalFeeIfSelling = totalFee.add(extraFeeOnSell);
    }

    function changeFeeReceivers(address newLiquidityReceiver, address newMarketingWallet, address newDevWallet) external authorized {
        autoLiquidityReceiver = newLiquidityReceiver;
        marketingWallet = newMarketingWallet;
        devWallet = newDevWallet;
    }

    function changeSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit, bool swapByLimitOnly) external authorized {
        swapAndLiquifyEnabled  = enableSwapBack;
        swapThreshold = newSwapBackLimit;
        swapAndLiquifyByLimitOnly = swapByLimitOnly;
    }


    
    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] != uint256(-1)){
            _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(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(tradingOpen, "Trading not open yet");
        }

        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");

        if(msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold){ swapBack(); }

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

        //Exchange tokens
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        
        if(!isTxLimitExempt[recipient] && restrictWhales)
        {
            require(_balances[recipient].add(amount) <= _walletMax);
        }

        uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(finalAmount);

    

        emit Transfer(sender, recipient, finalAmount);
        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 takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeApplicable = pair == recipient ? totalFeeIfSelling : totalFee;
        uint256 feeAmount = amount.mul(feeApplicable).div(100);

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

        return amount.sub(feeAmount);
    }

    function tradingStatus(bool newStatus) public onlyOwner {
        tradingOpen = newStatus;
    }

    function swapBack() internal lockTheSwap {
        
        uint256 tokensToLiquify = _balances[address(this)];
        uint256 amountToLiquify = tokensToLiquify.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = tokensToLiquify.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountBNB = address(this).balance;

        uint256 totalBNBFee = totalFee.sub(liquidityFee.div(2));
        
        uint256 amountBNBLiquidity = amountBNB.mul(liquidityFee).div(totalBNBFee).div(2);
        uint256 amountBNBMarketing = amountBNB.sub(amountBNBLiquidity);

        
        uint256 marketingShare = amountBNBMarketing.div(3);
        uint256 devShare = amountBNBMarketing.sub(marketingShare);
        
        (bool tmpSuccess,) = payable(marketingWallet).call{value: marketingShare, gas: 30000}("");
        (bool tmpSuccess1,) = payable(devWallet).call{value: devShare, gas: 30000}("");
        
        // only to supress warning msg
        tmpSuccess = false;
        tmpSuccess1 = false;

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

    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_walletMax","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":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newLiquidityReceiver","type":"address"},{"internalType":"address","name":"newMarketingWallet","type":"address"},{"internalType":"address","name":"newDevWallet","type":"address"}],"name":"changeFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiqFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingFee","type":"uint256"},{"internalType":"uint256","name":"newExtraSellFee","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"changeRestrictWhales","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"},{"internalType":"bool","name":"swapByLimitOnly","type":"bool"}],"name":"changeSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"extraFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isDividendExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","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":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","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":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"restrictWhales","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","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":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address 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"}]

608060405261dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960ff16600a0a6298968002600555600960ff16600a0a6298968002600655600960ff16600a0a62989680026007556001600860006101000a81548160ff0219169083151502179055506000600e556005600f5560196010556005601155601e6012556001601960006101000a81548160ff0219169083151502179055506001601960026101000a81548160ff0219169083151502179055506000601960036101000a81548160ff021916908315150217905550600960ff16600a0a61271002601a55348015620001af57600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200031557600080fd5b505afa1580156200032a573d6000803e3d6000fd5b505050506040513d60208110156200034157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003d657600080fd5b505afa158015620003eb573d6000803e3d6000fd5b505050506040513d60208110156200040257600080fd5b8101908080519060200190929190505050306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200047e57600080fd5b505af115801562000493573d6000803e3d6000fd5b505050506040513d6020811015620004aa57600080fd5b8101908080519060200190929190505050601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550730820e28b0ebd3c77c0fd6f0bbd0ffc9a40e3267f601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730820e28b0ebd3c77c0fd6f0bbd0ffc9a40e3267f601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730820e28b0ebd3c77c0fd6f0bbd0ffc9a40e3267f601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000a7b600f54600e5462000b5960201b620021e11790919060201c565b60118190555062000a9f60105460115462000b5960201b620021e11790919060201c565b601281905550600554600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a362000be2565b60008082840190508381101562000bd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6136d28062000bf26000396000f3fe60806040526004361061028c5760003560e01c80637db1342c1161015a578063ca33e64c116100c1578063f0b37c041161007a578063f0b37c0414610ebc578063f2fde38b14610f0d578063f887ea4014610f5e578063fabe628314610f9f578063fe9fbb8014610ffc578063ffb54a991461106357610293565b8063ca33e64c14610d26578063ca987b0e14610d67578063d920334e14610d92578063da00097d14610dcd578063dd62ed3e14610dfa578063e66b1d1e14610e7f57610293565b806398118cb41161011357806398118cb414610b70578063a3a2e89e14610b9b578063a8aa1b3114610bf8578063a9059cbb14610c39578063b6a5d7de14610caa578063bf56b37114610cfb57610293565b80637db1342c14610991578063807c2d9c146109cc578063893d20e8146109f75780638b42507f14610a385780638ea5220f14610a9f57806395d89b4114610ae057610293565b806334c70889116101fe57806369cf17d4116101b757806369cf17d41461081b5780636b67c4df1461084657806370a082311461087157806375f0a874146108d65780637a319590146109175780637d1db4a51461096657610293565b806334c70889146106395780633f4218e01461068c5780634355855a146106f357806344de2e4c1461075a5780634a74bb0214610787578063571ac8b0146107b457610293565b80631df4ccfc116102505780631df4ccfc1461042c57806323b872dd146104575780632b112e49146104e85780632f54bf6e14610513578063313ce5671461057a578063315dca29146105a857610293565b80630445b6671461029857806306fdde03146102c3578063095ea7b3146103535780630d295980146103c457806318160ddd1461040157610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad611090565b6040518082815260200191505060405180910390f35b3480156102cf57600080fd5b506102d8611096565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103185780820151818401526020810190506102fd565b50505050905090810190601f1680156103455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035f57600080fd5b506103ac6004803603604081101561037657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110d3565b60405180821515815260200191505060405180910390f35b3480156103d057600080fd5b506103ff600480360360208110156103e757600080fd5b810190808035151590602001909291905050506111c5565b005b34801561040d57600080fd5b5061041661125d565b6040518082815260200191505060405180910390f35b34801561043857600080fd5b50610441611267565b6040518082815260200191505060405180910390f35b34801561046357600080fd5b506104d06004803603606081101561047a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061126d565b60405180821515815260200191505060405180910390f35b3480156104f457600080fd5b506104fd61146d565b6040518082815260200191505060405180910390f35b34801561051f57600080fd5b506105626004803603602081101561053657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114ef565b60405180821515815260200191505060405180910390f35b34801561058657600080fd5b5061058f611548565b604051808260ff16815260200191505060405180910390f35b3480156105b457600080fd5b50610637600480360360608110156105cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611551565b005b34801561064557600080fd5b5061068a6004803603606081101561065c57600080fd5b8101908080351515906020019092919080359060200190929190803515159060200190929190505050611694565b005b34801561069857600080fd5b506106db600480360360208110156106af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061174f565b60405180821515815260200191505060405180910390f35b3480156106ff57600080fd5b506107426004803603602081101561071657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061176f565b60405180821515815260200191505060405180910390f35b34801561076657600080fd5b5061076f61178f565b60405180821515815260200191505060405180910390f35b34801561079357600080fd5b5061079c6117a2565b60405180821515815260200191505060405180910390f35b3480156107c057600080fd5b50610803600480360360208110156107d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b5565b60405180821515815260200191505060405180910390f35b34801561082757600080fd5b506108306117e8565b6040518082815260200191505060405180910390f35b34801561085257600080fd5b5061085b6117ee565b6040518082815260200191505060405180910390f35b34801561087d57600080fd5b506108c06004803603602081101561089457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117f4565b6040518082815260200191505060405180910390f35b3480156108e257600080fd5b506108eb61183d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561092357600080fd5b506109646004803603606081101561093a57600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050611863565b005b34801561097257600080fd5b5061097b611932565b6040518082815260200191505060405180910390f35b34801561099d57600080fd5b506109ca600480360360208110156109b457600080fd5b8101908080359060200190929190505050611938565b005b3480156109d857600080fd5b506109e16119bd565b6040518082815260200191505060405180910390f35b348015610a0357600080fd5b50610a0c6119c3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a4457600080fd5b50610a8760048036036020811015610a5b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119ec565b60405180821515815260200191505060405180910390f35b348015610aab57600080fd5b50610ab4611a0c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610aec57600080fd5b50610af5611a32565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b35578082015181840152602081019050610b1a565b50505050905090810190601f168015610b625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b7c57600080fd5b50610b85611a6f565b6040518082815260200191505060405180910390f35b348015610ba757600080fd5b50610bf660048036036040811015610bbe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611a75565b005b348015610c0457600080fd5b50610c0d611b4b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c4557600080fd5b50610c9260048036036040811015610c5c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b71565b60405180821515815260200191505060405180910390f35b348015610cb657600080fd5b50610cf960048036036020811015610ccd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b86565b005b348015610d0757600080fd5b50610d10611c5b565b6040518082815260200191505060405180910390f35b348015610d3257600080fd5b50610d3b611c61565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d7357600080fd5b50610d7c611c87565b6040518082815260200191505060405180910390f35b348015610d9e57600080fd5b50610dcb60048036036020811015610db557600080fd5b8101908080359060200190929190505050611c8d565b005b348015610dd957600080fd5b50610de2611d12565b60405180821515815260200191505060405180910390f35b348015610e0657600080fd5b50610e6960048036036040811015610e1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d25565b6040518082815260200191505060405180910390f35b348015610e8b57600080fd5b50610eba60048036036020811015610ea257600080fd5b81019080803515159060200190929190505050611dac565b005b348015610ec857600080fd5b50610f0b60048036036020811015610edf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e44565b005b348015610f1957600080fd5b50610f5c60048036036020811015610f3057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f1a565b005b348015610f6a57600080fd5b50610f7361207c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610fab57600080fd5b50610ffa60048036036040811015610fc257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506120a2565b005b34801561100857600080fd5b5061104b6004803603602081101561101f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612178565b60405180821515815260200191505060405180910390f35b34801561106f57600080fd5b506110786121ce565b60405180821515815260200191505060405180910390f35b601a5481565b60606040518060400160405280600581526020017f424f4e4b45000000000000000000000000000000000000000000000000000000815250905090565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6111ce336114ef565b611240576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80601960006101000a81548160ff02191690831515021790555050565b6000600554905090565b60115481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611459576113d8826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122699092919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611464848484612329565b90509392505050565b60006114ea61149d600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166117f4565b6114dc6114cb600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166117f4565b600554612a4190919063ffffffff16565b612a4190919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b61155a33612178565b6115cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b82601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b61169d33612178565b61170f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b82601960026101000a81548160ff02191690831515021790555081601a8190555080601960036101000a81548160ff021916908315150217905550505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b600d6020528060005260406000206000915054906101000a900460ff1681565b600860009054906101000a900460ff1681565b601960029054906101000a900460ff1681565b60006117e1827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6110d3565b9050919050565b60105481565b600f5481565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61186c33612178565b6118de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b82600e8190555081600f819055508060108190555061190a600f54600e546121e190919063ffffffff16565b6011819055506119276010546011546121e190919063ffffffff16565b601281905550505050565b60065481565b61194133612178565b6119b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060078190555050565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c6020528060005260406000206000915054906101000a900460ff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600581526020017f424f4e4b45000000000000000000000000000000000000000000000000000000815250905090565b600e5481565b611a7e33612178565b611af0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611b7e338484612329565b905092915050565b611b8f336114ef565b611c01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60185481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b611c9633612178565b611d08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060068190555050565b601960039054906101000a900460ff1681565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611db533612178565b611e27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600860006101000a81548160ff02191690831515021790555050565b611e4d336114ef565b611ebf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611f23336114ef565b611f95576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6120ab33612178565b61211d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601960009054906101000a900460ff1681565b60008082840190508381101561225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290612316576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156122db5780820151818401526020810190506122c0565b50505050905090810190601f1680156123085780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000601960019054906101000a900460ff16156123525761234b848484612a8b565b9050612a3a565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123f65750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561247e57601960009054906101000a900460ff1661247d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f54726164696e67206e6f74206f70656e2079657400000000000000000000000081525060200191505060405180910390fd5b5b600654821115806124d85750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61254a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5458204c696d697420457863656564656400000000000000000000000000000081525060200191505060405180910390fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156125b55750601960019054906101000a900460ff16155b80156125cd5750601960029054906101000a900460ff165b801561261a5750601a54600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1561262857612627612c5e565b5b612630613327565b15801561268a5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156126e4576000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116126db57600080fd5b6126e3613334565b5b61276d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122699092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128165750600860009054906101000a900460ff165b1561287c5760075461287083600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e190919063ffffffff16565b111561287b57600080fd5b5b6000600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129225750600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61292c5782612938565b61293785858561333d565b5b905061298c81600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e190919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360019150505b9392505050565b6000612a8383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612269565b905092915050565b6000612b16826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122699092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bab82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e190919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6001601960016101000a81548160ff0219169083151502179055506000600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000612cfb6002612ced601154612cdf600e54876134e590919063ffffffff16565b61356b90919063ffffffff16565b61356b90919063ffffffff16565b90506000612d128284612a4190919063ffffffff16565b90506060600267ffffffffffffffff81118015612d2e57600080fd5b50604051908082528060200260200182016040528015612d5d5781602001602082028036833780820191505090505b5090503081600081518110612d6e57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612e1057600080fd5b505afa158015612e24573d6000803e3d6000fd5b505050506040513d6020811015612e3a57600080fd5b810190808051906020019092919050505081600181518110612e5857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015612f56578082015181840152602081019050612f3b565b505050509050019650505050505050600060405180830381600087803b158015612f7f57600080fd5b505af1158015612f93573d6000803e3d6000fd5b5050505060004790506000612fc8612fb76002600e5461356b90919063ffffffff16565b601154612a4190919063ffffffff16565b905060006130066002612ff884612fea600e54886134e590919063ffffffff16565b61356b90919063ffffffff16565b61356b90919063ffffffff16565b9050600061301d8285612a4190919063ffffffff16565b9050600061303560038361356b90919063ffffffff16565b9050600061304c8284612a4190919063ffffffff16565b90506000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051806000019050600060405180830381858888f193505050503d80600081146130d5576040519150601f19603f3d011682016040523d82523d6000602084013e6130da565b606091505b505090506000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051806000019050600060405180830381858888f193505050503d8060008114613165576040519150601f19603f3d011682016040523d82523d6000602084013e61316a565b606091505b50509050600091506000905060008b11156132fe57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71987308e600080601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561326b57600080fd5b505af115801561327f573d6000803e3d6000fd5b50505050506040513d606081101561329657600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506868c604051808381526020018281526020019250505060405180910390a15b5050505050505050505050506000601960016101000a81548160ff021916908315150217905550565b6000806018541415905090565b43601881905550565b6000808373ffffffffffffffffffffffffffffffffffffffff16601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461339d576011546133a1565b6012545b905060006133cb60646133bd84876134e590919063ffffffff16565b61356b90919063ffffffff16565b905061341f81600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e190919063ffffffff16565b600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36134da8185612a4190919063ffffffff16565b925050509392505050565b6000808314156134f85760009050613565565b600082840290508284828161350957fe5b0414613560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061367c6021913960400191505060405180910390fd5b809150505b92915050565b60006135ad83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506135b5565b905092915050565b60008083118290613661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561362657808201518184015260208101905061360b565b50505050905090810190601f1680156136535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161366d57fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220c76a129f257c06f4ab8c3458a53fb52ac48d6635bda1d782caac64710fa3a05b64736f6c63430007040033

Deployed Bytecode

0x60806040526004361061028c5760003560e01c80637db1342c1161015a578063ca33e64c116100c1578063f0b37c041161007a578063f0b37c0414610ebc578063f2fde38b14610f0d578063f887ea4014610f5e578063fabe628314610f9f578063fe9fbb8014610ffc578063ffb54a991461106357610293565b8063ca33e64c14610d26578063ca987b0e14610d67578063d920334e14610d92578063da00097d14610dcd578063dd62ed3e14610dfa578063e66b1d1e14610e7f57610293565b806398118cb41161011357806398118cb414610b70578063a3a2e89e14610b9b578063a8aa1b3114610bf8578063a9059cbb14610c39578063b6a5d7de14610caa578063bf56b37114610cfb57610293565b80637db1342c14610991578063807c2d9c146109cc578063893d20e8146109f75780638b42507f14610a385780638ea5220f14610a9f57806395d89b4114610ae057610293565b806334c70889116101fe57806369cf17d4116101b757806369cf17d41461081b5780636b67c4df1461084657806370a082311461087157806375f0a874146108d65780637a319590146109175780637d1db4a51461096657610293565b806334c70889146106395780633f4218e01461068c5780634355855a146106f357806344de2e4c1461075a5780634a74bb0214610787578063571ac8b0146107b457610293565b80631df4ccfc116102505780631df4ccfc1461042c57806323b872dd146104575780632b112e49146104e85780632f54bf6e14610513578063313ce5671461057a578063315dca29146105a857610293565b80630445b6671461029857806306fdde03146102c3578063095ea7b3146103535780630d295980146103c457806318160ddd1461040157610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad611090565b6040518082815260200191505060405180910390f35b3480156102cf57600080fd5b506102d8611096565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103185780820151818401526020810190506102fd565b50505050905090810190601f1680156103455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561035f57600080fd5b506103ac6004803603604081101561037657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110d3565b60405180821515815260200191505060405180910390f35b3480156103d057600080fd5b506103ff600480360360208110156103e757600080fd5b810190808035151590602001909291905050506111c5565b005b34801561040d57600080fd5b5061041661125d565b6040518082815260200191505060405180910390f35b34801561043857600080fd5b50610441611267565b6040518082815260200191505060405180910390f35b34801561046357600080fd5b506104d06004803603606081101561047a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061126d565b60405180821515815260200191505060405180910390f35b3480156104f457600080fd5b506104fd61146d565b6040518082815260200191505060405180910390f35b34801561051f57600080fd5b506105626004803603602081101561053657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114ef565b60405180821515815260200191505060405180910390f35b34801561058657600080fd5b5061058f611548565b604051808260ff16815260200191505060405180910390f35b3480156105b457600080fd5b50610637600480360360608110156105cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611551565b005b34801561064557600080fd5b5061068a6004803603606081101561065c57600080fd5b8101908080351515906020019092919080359060200190929190803515159060200190929190505050611694565b005b34801561069857600080fd5b506106db600480360360208110156106af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061174f565b60405180821515815260200191505060405180910390f35b3480156106ff57600080fd5b506107426004803603602081101561071657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061176f565b60405180821515815260200191505060405180910390f35b34801561076657600080fd5b5061076f61178f565b60405180821515815260200191505060405180910390f35b34801561079357600080fd5b5061079c6117a2565b60405180821515815260200191505060405180910390f35b3480156107c057600080fd5b50610803600480360360208110156107d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b5565b60405180821515815260200191505060405180910390f35b34801561082757600080fd5b506108306117e8565b6040518082815260200191505060405180910390f35b34801561085257600080fd5b5061085b6117ee565b6040518082815260200191505060405180910390f35b34801561087d57600080fd5b506108c06004803603602081101561089457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117f4565b6040518082815260200191505060405180910390f35b3480156108e257600080fd5b506108eb61183d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561092357600080fd5b506109646004803603606081101561093a57600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050611863565b005b34801561097257600080fd5b5061097b611932565b6040518082815260200191505060405180910390f35b34801561099d57600080fd5b506109ca600480360360208110156109b457600080fd5b8101908080359060200190929190505050611938565b005b3480156109d857600080fd5b506109e16119bd565b6040518082815260200191505060405180910390f35b348015610a0357600080fd5b50610a0c6119c3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a4457600080fd5b50610a8760048036036020811015610a5b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119ec565b60405180821515815260200191505060405180910390f35b348015610aab57600080fd5b50610ab4611a0c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610aec57600080fd5b50610af5611a32565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b35578082015181840152602081019050610b1a565b50505050905090810190601f168015610b625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b7c57600080fd5b50610b85611a6f565b6040518082815260200191505060405180910390f35b348015610ba757600080fd5b50610bf660048036036040811015610bbe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611a75565b005b348015610c0457600080fd5b50610c0d611b4b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c4557600080fd5b50610c9260048036036040811015610c5c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b71565b60405180821515815260200191505060405180910390f35b348015610cb657600080fd5b50610cf960048036036020811015610ccd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b86565b005b348015610d0757600080fd5b50610d10611c5b565b6040518082815260200191505060405180910390f35b348015610d3257600080fd5b50610d3b611c61565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d7357600080fd5b50610d7c611c87565b6040518082815260200191505060405180910390f35b348015610d9e57600080fd5b50610dcb60048036036020811015610db557600080fd5b8101908080359060200190929190505050611c8d565b005b348015610dd957600080fd5b50610de2611d12565b60405180821515815260200191505060405180910390f35b348015610e0657600080fd5b50610e6960048036036040811015610e1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d25565b6040518082815260200191505060405180910390f35b348015610e8b57600080fd5b50610eba60048036036020811015610ea257600080fd5b81019080803515159060200190929190505050611dac565b005b348015610ec857600080fd5b50610f0b60048036036020811015610edf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e44565b005b348015610f1957600080fd5b50610f5c60048036036020811015610f3057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f1a565b005b348015610f6a57600080fd5b50610f7361207c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610fab57600080fd5b50610ffa60048036036040811015610fc257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506120a2565b005b34801561100857600080fd5b5061104b6004803603602081101561101f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612178565b60405180821515815260200191505060405180910390f35b34801561106f57600080fd5b506110786121ce565b60405180821515815260200191505060405180910390f35b601a5481565b60606040518060400160405280600581526020017f424f4e4b45000000000000000000000000000000000000000000000000000000815250905090565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6111ce336114ef565b611240576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80601960006101000a81548160ff02191690831515021790555050565b6000600554905090565b60115481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611459576113d8826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122699092919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611464848484612329565b90509392505050565b60006114ea61149d600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166117f4565b6114dc6114cb600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166117f4565b600554612a4190919063ffffffff16565b612a4190919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b61155a33612178565b6115cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b82601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b61169d33612178565b61170f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b82601960026101000a81548160ff02191690831515021790555081601a8190555080601960036101000a81548160ff021916908315150217905550505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b600d6020528060005260406000206000915054906101000a900460ff1681565b600860009054906101000a900460ff1681565b601960029054906101000a900460ff1681565b60006117e1827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6110d3565b9050919050565b60105481565b600f5481565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61186c33612178565b6118de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b82600e8190555081600f819055508060108190555061190a600f54600e546121e190919063ffffffff16565b6011819055506119276010546011546121e190919063ffffffff16565b601281905550505050565b60065481565b61194133612178565b6119b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060078190555050565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c6020528060005260406000206000915054906101000a900460ff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600581526020017f424f4e4b45000000000000000000000000000000000000000000000000000000815250905090565b600e5481565b611a7e33612178565b611af0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611b7e338484612329565b905092915050565b611b8f336114ef565b611c01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60185481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b611c9633612178565b611d08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060068190555050565b601960039054906101000a900460ff1681565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611db533612178565b611e27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600860006101000a81548160ff02191690831515021790555050565b611e4d336114ef565b611ebf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611f23336114ef565b611f95576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6120ab33612178565b61211d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601960009054906101000a900460ff1681565b60008082840190508381101561225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290612316576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156122db5780820151818401526020810190506122c0565b50505050905090810190601f1680156123085780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000601960019054906101000a900460ff16156123525761234b848484612a8b565b9050612a3a565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123f65750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561247e57601960009054906101000a900460ff1661247d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f54726164696e67206e6f74206f70656e2079657400000000000000000000000081525060200191505060405180910390fd5b5b600654821115806124d85750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61254a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5458204c696d697420457863656564656400000000000000000000000000000081525060200191505060405180910390fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156125b55750601960019054906101000a900460ff16155b80156125cd5750601960029054906101000a900460ff165b801561261a5750601a54600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1561262857612627612c5e565b5b612630613327565b15801561268a5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156126e4576000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116126db57600080fd5b6126e3613334565b5b61276d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122699092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128165750600860009054906101000a900460ff165b1561287c5760075461287083600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e190919063ffffffff16565b111561287b57600080fd5b5b6000600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129225750600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61292c5782612938565b61293785858561333d565b5b905061298c81600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e190919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360019150505b9392505050565b6000612a8383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612269565b905092915050565b6000612b16826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122699092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bab82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e190919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6001601960016101000a81548160ff0219169083151502179055506000600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000612cfb6002612ced601154612cdf600e54876134e590919063ffffffff16565b61356b90919063ffffffff16565b61356b90919063ffffffff16565b90506000612d128284612a4190919063ffffffff16565b90506060600267ffffffffffffffff81118015612d2e57600080fd5b50604051908082528060200260200182016040528015612d5d5781602001602082028036833780820191505090505b5090503081600081518110612d6e57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612e1057600080fd5b505afa158015612e24573d6000803e3d6000fd5b505050506040513d6020811015612e3a57600080fd5b810190808051906020019092919050505081600181518110612e5857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015612f56578082015181840152602081019050612f3b565b505050509050019650505050505050600060405180830381600087803b158015612f7f57600080fd5b505af1158015612f93573d6000803e3d6000fd5b5050505060004790506000612fc8612fb76002600e5461356b90919063ffffffff16565b601154612a4190919063ffffffff16565b905060006130066002612ff884612fea600e54886134e590919063ffffffff16565b61356b90919063ffffffff16565b61356b90919063ffffffff16565b9050600061301d8285612a4190919063ffffffff16565b9050600061303560038361356b90919063ffffffff16565b9050600061304c8284612a4190919063ffffffff16565b90506000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051806000019050600060405180830381858888f193505050503d80600081146130d5576040519150601f19603f3d011682016040523d82523d6000602084013e6130da565b606091505b505090506000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051806000019050600060405180830381858888f193505050503d8060008114613165576040519150601f19603f3d011682016040523d82523d6000602084013e61316a565b606091505b50509050600091506000905060008b11156132fe57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71987308e600080601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561326b57600080fd5b505af115801561327f573d6000803e3d6000fd5b50505050506040513d606081101561329657600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506868c604051808381526020018281526020019250505060405180910390a15b5050505050505050505050506000601960016101000a81548160ff021916908315150217905550565b6000806018541415905090565b43601881905550565b6000808373ffffffffffffffffffffffffffffffffffffffff16601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461339d576011546133a1565b6012545b905060006133cb60646133bd84876134e590919063ffffffff16565b61356b90919063ffffffff16565b905061341f81600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e190919063ffffffff16565b600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36134da8185612a4190919063ffffffff16565b925050509392505050565b6000808314156134f85760009050613565565b600082840290508284828161350957fe5b0414613560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061367c6021913960400191505060405180910390fd5b809150505b92915050565b60006135ad83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506135b5565b905092915050565b60008083118290613661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561362657808201518184015260208101905061360b565b50505050905090810190601f1680156136535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161366d57fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220c76a129f257c06f4ab8c3458a53fb52ac48d6635bda1d782caac64710fa3a05b64736f6c63430007040033

Deployed Bytecode Sourcemap

5241:10269:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6744:60;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8087:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8931:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13613:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8349:88;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6288:27;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11175:372;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8529:142;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4611:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8263:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10438:273;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10719:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6005:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6111:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5848:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6643:40;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9155:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6245:34;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6207:31;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8679:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6411:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10073:357;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5710:60;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9567:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5777:58;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8443:78;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6056:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6448:24;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8173:84;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6169:31;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9801:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6512:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11011:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4284:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6540:25;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6368:36;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6322:37;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9456:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6690:45;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8790:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9681:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4454:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5011:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6481:24;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9932:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4785:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6572:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6744:60;;;;:::o;8087:80::-;8135:13;8159:5;;;;;;;;;;;;;;;;;8152:12;;8087:80;:::o;8931:216::-;9006:4;9058:6;9023:11;:23;9035:10;9023:23;;;;;;;;;;;;;;;:32;9047:7;9023:32;;;;;;;;;;;;;;;:41;;;;9101:7;9080:37;;9089:10;9080:37;;;9110:6;9080:37;;;;;;;;;;;;;;;;;;9135:4;9128:11;;8931:216;;;;:::o;13613:98::-;4000:19;4008:10;4000:7;:19::i;:::-;3992:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13694:9:::1;13680:11;;:23;;;;;;;;;;;;;;;;;;13613:98:::0;:::o;8349:88::-;8404:7;8422:12;;8415:19;;8349:88;:::o;6288:27::-;;;;:::o;11175:372::-;11275:4;11348:2;11305:11;:19;11317:6;11305:19;;;;;;;;;;;;;;;:31;11325:10;11305:31;;;;;;;;;;;;;;;;:46;11302:180;;11401:69;11437:6;11401:69;;;;;;;;;;;;;;;;;:11;:19;11413:6;11401:19;;;;;;;;;;;;;;;:31;11421:10;11401:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;11367:11;:19;11379:6;11367:19;;;;;;;;;;;;;;;:31;11387:10;11367:31;;;;;;;;;;;;;;;:103;;;;11302:180;11499:40;11513:6;11521:9;11532:6;11499:13;:40::i;:::-;11492:47;;11175:372;;;;;:::o;8529:142::-;8582:7;8609:54;8647:15;8657:4;;;;;;;;;;;8647:9;:15::i;:::-;8609:33;8626:15;8636:4;;;;;;;;;;;8626:9;:15::i;:::-;8609:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;8602:61;;8529:142;:::o;4611:103::-;4666:4;4701:5;;;;;;;;;;;4690:16;;:7;:16;;;4683:23;;4611:103;;;:::o;8263:80::-;8315:5;5425:1;8324:16;;8263:80;:::o;10438:273::-;4169:24;4182:10;4169:12;:24::i;:::-;4161:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10601:20:::1;10577:21;;:44;;;;;;;;;;;;;;;;;;10650:18;10632:15;;:36;;;;;;;;;;;;;;;;;;10691:12;10679:9;;:24;;;;;;;;;;;;;;;;;;10438:273:::0;;;:::o;10719:276::-;4169:24;4182:10;4169:12;:24::i;:::-;4161:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10876:14:::1;10851:21;;:39;;;;;;;;;;;;;;;;;;10917:16;10901:13;:32;;;;10972:15;10944:25;;:43;;;;;;;;;;;;;;;;;;10719:276:::0;;;:::o;6005:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;6111:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;5848:33::-;;;;;;;;;;;;;:::o;6643:40::-;;;;;;;;;;;;;:::o;9155:116::-;9210:4;9234:29;9242:7;9259:2;9234:7;:29::i;:::-;9227:36;;9155:116;;;:::o;6245:34::-;;;;:::o;6207:31::-;;;;:::o;8679:105::-;8745:7;8763:9;:18;8773:7;8763:18;;;;;;;;;;;;;;;;8756:25;;8679:105;;;:::o;6411:30::-;;;;;;;;;;;;;:::o;10073:357::-;4169:24;4182:10;4169:12;:24::i;:::-;4161:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10208:9:::1;10193:12;:24;;;;10243:15;10228:12;:30;;;;10286:15;10269:14;:32;;;;10333:30;10350:12;;10333;;:16;;:30;;;;:::i;:::-;10322:8;:41;;;;10394:28;10407:14;;10394:8;;:12;;:28;;;;:::i;:::-;10374:17;:48;;;;10073:357:::0;;;:::o;5710:60::-;;;;:::o;9567:106::-;4169:24;4182:10;4169:12;:24::i;:::-;4161:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9657:8:::1;9643:10;:22;;;;9567:106:::0;:::o;5777:58::-;;;;:::o;8443:78::-;8495:7;8513:5;;;;;;;;;;;8506:12;;8443:78;:::o;6056:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;6448:24::-;;;;;;;;;;;;;:::o;8173:84::-;8223:13;8247:7;;;;;;;;;;;;;;;;;8240:14;;8173:84;:::o;6169:31::-;;;;:::o;9801:123::-;4169:24;4182:10;4169:12;:24::i;:::-;4161:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9910:6:::1;9888:11;:19;9900:6;9888:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;9801:123:::0;;:::o;6512:19::-;;;;;;;;;;;;;:::o;11011:156::-;11091:4;11115:44;11129:10;11141:9;11152:6;11115:13;:44::i;:::-;11108:51;;11011:156;;;;:::o;4284:94::-;4000:19;4008:10;4000:7;:19::i;:::-;3992:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4366:4:::1;4344:14:::0;:19:::1;4359:3;4344:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;4284:94:::0;:::o;6540:25::-;;;;:::o;6368:36::-;;;;;;;;;;;;;:::o;6322:37::-;;;;:::o;9456:103::-;4169:24;4182:10;4169:12;:24::i;:::-;4161:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9543:8:::1;9528:12;:23;;;;9456:103:::0;:::o;6690:45::-;;;;;;;;;;;;;:::o;8790:133::-;8874:7;8892:11;:19;8904:6;8892:19;;;;;;;;;;;;;;;:28;8912:7;8892:28;;;;;;;;;;;;;;;;8885:35;;8790:133;;;;:::o;9681:108::-;4169:24;4182:10;4169:12;:24::i;:::-;4161:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9773:8:::1;9756:14;;:25;;;;;;;;;;;;;;;;;;9681:108:::0;:::o;4454:97::-;4000:19;4008:10;4000:7;:19::i;:::-;3992:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4538:5:::1;4516:14;:19;4531:3;4516:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;4454:97:::0;:::o;5011:173::-;4000:19;4008:10;4000:7;:19::i;:::-;3992:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5095:3:::1;5087:5;::::0;:11:::1;;;;;;;;;;;;;;;;;;5131:4;5109:14:::0;:19:::1;5124:3;5109:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;5151:25;5172:3;5151:25;;;;;;;;;;;;;;;;;;;;5011:173:::0;:::o;6481:24::-;;;;;;;;;;;;;:::o;9932:131::-;4169:24;4182:10;4169:12;:24::i;:::-;4161:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10049:6:::1;10023:15;:23;10039:6;10023:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;9932:131:::0;;:::o;4785:107::-;4841:4;4865:14;:19;4880:3;4865:19;;;;;;;;;;;;;;;;;;;;;;;;;4858:26;;4785:107;;;:::o;6572:30::-;;;;;;;;;;;;;:::o;161:179::-;219:7;239:9;255:1;251;:5;239:17;;280:1;275;:6;;267:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;331:1;324:8;;;161:179;;;;:::o;492:190::-;578:7;611:1;606;:6;;614:12;598:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;638:9;654:1;650;:5;638:17;;673:1;666:8;;;492:190;;;;;:::o;11555:1261::-;11647:4;11677:16;;;;;;;;;;;11674:73;;;11703:41;11718:6;11726:9;11737:6;11703:14;:41::i;:::-;11696:48;;;;11674:73;11763:14;:22;11778:6;11763:22;;;;;;;;;;;;;;;;;;;;;;;;;11762:23;:53;;;;;11790:14;:25;11805:9;11790:25;;;;;;;;;;;;;;;;;;;;;;;;;11789:26;11762:53;11759:128;;;11839:11;;;;;;;;;;;11831:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11759:128;11917:12;;11907:6;:22;;:49;;;;11933:15;:23;11949:6;11933:23;;;;;;;;;;;;;;;;;;;;;;;;;11907:49;11899:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12008:4;;;;;;;;;;;11994:18;;:10;:18;;;;:39;;;;;12017:16;;;;;;;;;;;12016:17;11994:39;:64;;;;;12037:21;;;;;;;;;;;11994:64;:109;;;;;12090:13;;12062:9;:24;12080:4;12062:24;;;;;;;;;;;;;;;;:41;;11994:109;11991:128;;;12106:10;:8;:10::i;:::-;11991:128;12135:10;:8;:10::i;:::-;12134:11;:32;;;;;12162:4;;;;;;;;;;;12149:17;;:9;:17;;;12134:32;12131:117;;;12211:1;12191:9;:17;12201:6;12191:17;;;;;;;;;;;;;;;;:21;12183:30;;;;;;12228:8;:6;:8::i;:::-;12131:117;12307:53;12329:6;12307:53;;;;;;;;;;;;;;;;;:9;:17;12317:6;12307:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;12287:9;:17;12297:6;12287:17;;;;;;;;;;;;;;;:73;;;;12385:15;:26;12401:9;12385:26;;;;;;;;;;;;;;;;;;;;;;;;;12384:27;:45;;;;;12415:14;;;;;;;;;;;12384:45;12381:141;;;12499:10;;12463:32;12488:6;12463:9;:20;12473:9;12463:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;:46;;12455:55;;;;;;12381:141;12534:19;12557:11;:19;12569:6;12557:19;;;;;;;;;;;;;;;;;;;;;;;;;12556:20;:47;;;;;12581:11;:22;12593:9;12581:22;;;;;;;;;;;;;;;;;;;;;;;;;12580:23;12556:47;:93;;12643:6;12556:93;;;12606:34;12614:6;12622:9;12633:6;12606:7;:34::i;:::-;12556:93;12534:115;;12683:37;12708:11;12683:9;:20;12693:9;12683:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;12660:9;:20;12670:9;12660:20;;;;;;;;;;;;;;;:60;;;;12763:9;12746:40;;12755:6;12746:40;;;12774:11;12746:40;;;;;;;;;;;;;;;;;;12804:4;12797:11;;;11555:1261;;;;;;:::o;348:136::-;406:7;433:43;437:1;440;433:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;426:50;;348:136;;;;:::o;12828:330::-;12921:4;12958:53;12980:6;12958:53;;;;;;;;;;;;;;;;;:9;:17;12968:6;12958:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;12938:9;:17;12948:6;12938:17;;;;;;;;;;;;;;;:73;;;;13045:32;13070:6;13045:9;:20;13055:9;13045:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;13022:9;:20;13032:9;13022:20;;;;;;;;;;;;;;;:55;;;;13110:9;13093:35;;13102:6;13093:35;;;13121:6;13093:35;;;;;;;;;;;;;;;;;;13146:4;13139:11;;12828:330;;;;;:::o;13719:1722::-;6868:4;6849:16;;:23;;;;;;;;;;;;;;;;;;13781::::1;13807:9;:24;13825:4;13807:24;;;;;;;;;;;;;;;;13781:50;;13842:23;13868:54;13920:1;13868:47;13906:8;;13868:33;13888:12;;13868:15;:19;;:33;;;;:::i;:::-;:37;;:47;;;;:::i;:::-;:51;;:54;;;;:::i;:::-;13842:80;;13933:20;13956:36;13976:15;13956;:19;;:36;;;;:::i;:::-;13933:59;;14005:21;14043:1;14029:16;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14005:40;;14074:4;14056;14061:1;14056:7;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;14100:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;14090:4;14095:1;14090:7;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;14126:6;;;;;;;;;;;:57;;;14198:12;14225:1;14241:4;14268;14288:15;14126:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14327:17;14347:21;14327:41;;14381:19;14403:33;14416:19;14433:1;14416:12;;:16;;:19;;;;:::i;:::-;14403:8;;:12;;:33;;;;:::i;:::-;14381:55;;14457:26;14486:51;14535:1;14486:44;14518:11;14486:27;14500:12;;14486:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;14457:80;;14548:26;14577:33;14591:18;14577:9;:13;;:33;;;;:::i;:::-;14548:62;;14633:22;14658:25;14681:1;14658:18;:22;;:25;;;;:::i;:::-;14633:50;;14694:16;14713:38;14736:14;14713:18;:22;;:38;;;;:::i;:::-;14694:57;;14773:15;14801;;;;;;;;;;;14793:29;;14830:14;14851:5;14793:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14772:89;;;14873:16;14902:9;;;;;;;;;;;14894:23;;14925:8;14940:5;14894:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14872:78;;;15024:5;15011:18;;15054:5;15040:19;;15093:1;15075:15;:19;15072:362;;;15110:6;;;;;;;;;;;:22;;;15140:18;15186:4;15210:15;15244:1;15264::::0;15284:21:::1;;;;;;;;;;;15324:15;15110:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15374:48;15386:18;15406:15;15374:48;;;;;;;;;;;;;;;;;;;;;;;;15072:362;6883:1;;;;;;;;;;;;6914:5:::0;6895:16;;:24;;;;;;;;;;;;;;;;;;13719:1722::o;9279:90::-;9322:4;9360:1;9346:10;;:15;;9339:22;;9279:90;:::o;9377:71::-;9428:12;9415:10;:25;;;;9377:71::o;13166:439::-;13252:7;13282:21;13314:9;13306:17;;:4;;;;;;;;;;;:17;;;:48;;13346:8;;13306:48;;;13326:17;;13306:48;13282:72;;13365:17;13385:34;13415:3;13385:25;13396:13;13385:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;13365:54;;13459:39;13488:9;13459;:24;13477:4;13459:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;13432:9;:24;13450:4;13432:24;;;;;;;;;;;;;;;:66;;;;13539:4;13514:42;;13523:6;13514:42;;;13546:9;13514:42;;;;;;;;;;;;;;;;;;13576:21;13587:9;13576:6;:10;;:21;;;;:::i;:::-;13569:28;;;;13166:439;;;;;:::o;690:224::-;748:7;777:1;772;:6;768:25;;;789:1;782:8;;;;768:25;803:9;819:1;815;:5;803:17;;848:1;843;839;:5;;;;;;:10;831:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;905:1;898:8;;;690:224;;;;;:::o;922:132::-;980:7;1007:39;1011:1;1014;1007:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1000:46;;922:132;;;;:::o;1062:189::-;1148:7;1180:1;1176;:5;1183:12;1168:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1207:9;1223:1;1219;:5;;;;;;1207:17;;1242:1;1235:8;;;1062:189;;;;;:::o

Swarm Source

ipfs://c76a129f257c06f4ab8c3458a53fb52ac48d6635bda1d782caac64710fa3a05b
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.