ETH Price: $3,263.98 (+4.51%)
Gas: 2 Gwei

Token

Eva Inu (EVA)
 

Overview

Max Total Supply

100,000,000 EVA

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
120,208.456818418 EVA

Value
$0.00
0xbad123dc5f3c3d3c0436aea5dd369af242742e26
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:
EVAINU

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-21
*/

/*
Name: Eva Inu
Symbol: EVA
Supply: 100,000,000
Max wallet: 2%
Max Trx: 1%
taxes 6/6 (2% TSUKA Rewards 4 % marketing)
Contract will be Locked at team.finance (1 Month)
Contract will be renounced.
Twitter:https://twitter.com/EvaInuERC
Telegram:https://t.me/EvaInuPortal
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

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

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

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

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

        return c;
    }
}

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

abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!Owner"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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

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

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

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

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

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

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

interface ITsukaPrinter {
    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external;
    function setShare(address shareholder, uint256 amount) external;
    function deposit() external payable;
    function process(uint256 gas) external;
    function giveMeTSUKA(address shareholder) external;
}


contract TsukaPrinter is ITsukaPrinter {

    using SafeMath for uint256;
    address _token;

    address public TSUKA;

    IDEXRouter router;

    struct Share {
        uint256 amount;
        uint256 totalExcluded;
        uint256 totalRealised;
    }

    address[] shareholders;
    mapping (address => uint256) shareholderIndexes;
    mapping (address => uint256) shareholderClaims;
    mapping (address => Share) public shares;

    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalDistributed;
    uint256 public dividendsPerShare;
    uint256 public dividendsPerShareAccuracyFactor = 10 ** 36;

    uint256 public minPeriod = 2 hours;
    uint256 public minDistribution = 1 / 100000 * (10 ** 18);

    uint256 public currentIndex;
    bool initialized;

    modifier initialization() {
        require(!initialized);
        _;
        initialized = true;
    }

    modifier onlyToken() {
        require(msg.sender == _token); _;
    }

    constructor () {
        _token = msg.sender;
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        TSUKA = 0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD;
    }
    
    receive() external payable {
        deposit();
    }

    function setDistributionCriteria(uint256 newMinPeriod, uint256 newMinDistribution) external override onlyToken {
        minPeriod = newMinPeriod;
        minDistribution = newMinDistribution;
    }

    function setShare(address shareholder, uint256 amount) external override onlyToken {

        if(shares[shareholder].amount > 0){
            distributeDividend(shareholder);
        }

        if(amount > 0 && shares[shareholder].amount == 0){
            addShareholder(shareholder);
        }else if(amount == 0 && shares[shareholder].amount > 0){
            removeShareholder(shareholder);
        }

        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
    }

    function deposit() public payable override {

        uint256 balanceBefore = IERC20(TSUKA).balanceOf(address(this));

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

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}(
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amount = IERC20(TSUKA).balanceOf(address(this)).sub(balanceBefore);
        totalDividends = totalDividends.add(amount);
        dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
    }
    
    function process(uint256 gas) external override {
        uint256 shareholderCount = shareholders.length;

        if(shareholderCount == 0) { return; }

        uint256 iterations = 0;
        uint256 gasUsed = 0;
        uint256 gasLeft = gasleft();

        while(gasUsed < gas && iterations < shareholderCount) {

            if(currentIndex >= shareholderCount){ currentIndex = 0; }

            if(shouldDistribute(shareholders[currentIndex])){
                distributeDividend(shareholders[currentIndex]);
            }

            gasUsed = gasUsed.add(gasLeft.sub(gasleft()));
            gasLeft = gasleft();
            currentIndex++;
            iterations++;
        }
    }
    
    function shouldDistribute(address shareholder) public view returns (bool) {
        return shareholderClaims[shareholder] + minPeriod < block.timestamp
                && getUnpaidEarnings(shareholder) > minDistribution;
    }

    function distributeDividend(address shareholder) internal {
        if(shares[shareholder].amount == 0){ return; }

        uint256 amount = getUnpaidEarnings(shareholder);
        if(amount > 0){
            totalDistributed = totalDistributed.add(amount);
            IERC20(TSUKA).transfer(shareholder, amount);
            shareholderClaims[shareholder] = block.timestamp;
            shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
        }
    }
    
    function giveMeTSUKA(address shareholder) external override onlyToken {
        distributeDividend(shareholder);
    }

    function getUnpaidEarnings(address shareholder) public view returns (uint256) {
        if(shares[shareholder].amount == 0){ return 0; }

        uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

        if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }

        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    function addShareholder(address shareholder) internal {
        shareholderIndexes[shareholder] = shareholders.length;
        shareholders.push(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1];
        shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder];
        shareholders.pop();
    }
} 

contract EVAINU is IERC20, Auth { 
    using SafeMath for uint256;

    address public TSUKA = 0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD; //TSUKA

    string private constant _name = "Eva Inu";
    string private constant _symbol = "EVA";
    uint8 private constant _decimals = 9;
    
    uint256 private _totalSupply = 100000000 * (10 ** _decimals);

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

    address private WETH;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    bool public antiBot = true;

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

    uint256 public launchedAt;
    address private lpWallet = evaInuWallet;

    uint256 public buyFee = 6;
    uint256 public sellFee = 6;

    uint256 public toReflections = 20;
    uint256 public toLiquidity = 0;
    uint256 public toMarketing = 80;

    uint256 public allocationSum = 100;

    IDEXRouter public router;
    address public pair;
    address public factory;
    address private tokenOwner;
    address public evaInuMarketingWallet = payable(0xf61A1aF4db2c5eE8aE7f4365ed461a5f45A807C9);
    address private evaInuWallet = payable(0x5cfcEe239295fa88f2A233ADD3b6C4Eb0b5985bb);

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public tradingOpen = false;
    
    TsukaPrinter public tsukaPrinter;
    uint256 public tsukaPrinterGas = 0;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    uint256 public maxTx = _totalSupply.mul(1).div(100);
    uint256 public maxWallet = _totalSupply.mul(2).div(100);
    uint256 public swapThreshold = _totalSupply.mul(1).div(1000);

    constructor (
        address _owner        
    ) Auth(_owner) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
            
        WETH = router.WETH();
        
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        tsukaPrinter = new TsukaPrinter();
        
        isFeeExempt[_owner] = true;
        isFeeExempt[evaInuMarketingWallet] = true;
        isFeeExempt[evaInuWallet] = true;             

        isDividendExempt[pair] = true;
        isDividendExempt[address(this)] = true;
        isDividendExempt[evaInuWallet] = true;
        isDividendExempt[DEAD] = true;    

        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[pair] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[evaInuMarketingWallet] = true;
        isTxLimitExempt[evaInuWallet] = true;    


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

    receive() external payable { }


    function setBots(address[] memory bots_) external onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function openTrading() external onlyOwner {
        launchedAt = block.number;
        tradingOpen = true;
    }      

    function changeTotalFees(uint256 newBuyFee, uint256 newSellFee) external onlyOwner {

        buyFee = newBuyFee;
        sellFee = newSellFee;

        require(buyFee <= 10, "too high");
        require(sellFee <= 10, "too high");
    } 
    
    function changeFeeAllocation(uint256 newRewardFee, uint256 newLpFee, uint256 newMarketingFee) external onlyOwner {
        toReflections = newRewardFee;
        toLiquidity = newLpFee;
        toMarketing = newMarketingFee;
    }

    function changeTxLimit(uint256 newLimit) external onlyOwner {
        maxTx = newLimit;
    }

    function changeWalletLimit(uint256 newLimit) external onlyOwner {
        maxWallet  = newLimit;
    }
    
    function changeIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

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

    function setEvaInuMarketingWallet(address payable newEvaInuMarketingWallet) external onlyOwner {
        evaInuMarketingWallet = payable(newEvaInuMarketingWallet);
    }

    function setLpWallet(address newLpWallet) external onlyOwner {
        lpWallet = newLpWallet;
    }    

    function setOwnerWallet(address payable newOwnerWallet) external onlyOwner {
        tokenOwner = newOwnerWallet;
    }     

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

    function setDistributionCriteria(uint256 newMinPeriod, uint256 newMinDistribution) external onlyOwner {
        tsukaPrinter.setDistributionCriteria(newMinPeriod, newMinDistribution);        
    }

    function delBot(address notbot) external onlyOwner {
        bots[notbot] = false;
    }

    function _setIsDividendExempt(address holder, bool exempt) internal {
        require(holder != address(this) && holder != pair);
        isDividendExempt[holder] = exempt;
        if(exempt){
            tsukaPrinter.setShare(holder, 0);
        }else{
            tsukaPrinter.setShare(holder, _balances[holder]);
        }
    }

    function setIsDividendExempt(address holder, bool exempt) external onlyOwner {
        _setIsDividendExempt(holder, exempt);
    }

    function changeMoneyPrinterGas(uint256 newGas) external onlyOwner {
        tsukaPrinterGas = newGas;
    }           

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

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    
    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

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

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

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

        return _transfer(sender, recipient, amount);
    }

    function _transfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (sender!= owner && recipient!= owner) require(tradingOpen, "hold ur horses big guy."); //transfers disabled before tradingActive
        require(!bots[sender] && !bots[recipient]);

        if(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); }

        require(amount <= maxTx || isTxLimitExempt[sender], "tx");

        if(!isTxLimitExempt[recipient] && antiBot)
        {
            require(_balances[recipient].add(amount) <= maxWallet, "wallet");
        }

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

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

        // Dividend tracker
        if(!isDividendExempt[sender]) {
            try tsukaPrinter.setShare(sender, _balances[sender]) {} catch {}
        }

        if(!isDividendExempt[recipient]) {
            try tsukaPrinter.setShare(recipient, _balances[recipient]) {} catch {} 
        }

        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 ? sellFee : buyFee;
        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 swapTokensForEth(uint256 tokenAmount) private {

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

        approve(address(this), tokenAmount);

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

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

    function swapBack() internal lockTheSwap {
    
        uint256 tokenBalance = _balances[address(this)]; 
        uint256 tokensForLiquidity = tokenBalance.mul(toLiquidity).div(100).div(2);     
        uint256 amountToSwap = tokenBalance.sub(tokensForLiquidity);

        swapTokensForEth(amountToSwap);

        uint256 totalEthBalance = address(this).balance;
        uint256 ethForTSUKA = totalEthBalance.mul(toReflections).div(100);
        uint256 ethForEvaInuMarketingWallet = totalEthBalance.mul(toMarketing).div(100);
        uint256 ethForLiquidity = totalEthBalance.mul(toLiquidity).div(100).div(2);
      
        if (totalEthBalance > 0){
            payable(evaInuMarketingWallet).transfer(ethForEvaInuMarketingWallet.mul(4).div(6));
            payable(evaInuWallet).transfer(ethForEvaInuMarketingWallet.mul(2).div(6));
        }
        
        try tsukaPrinter.deposit{value: ethForTSUKA}() {} catch {}
        
        if (tokensForLiquidity > 0){
            addLiquidity(tokensForLiquidity, ethForLiquidity);
        }
    }

    function manualSwapBack() external onlyOwner {
        swapBack();
    }

    function clearStuckEth() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        if(contractETHBalance > 0){          
            payable(evaInuMarketingWallet).transfer(contractETHBalance);
        }
    }

    function manualProcessGas(uint256 manualGas) external onlyOwner {
        tsukaPrinter.process(manualGas);
    }

    function checkPendingReflections(address shareholder) external view returns (uint256) {
        return tsukaPrinter.getUnpaidEarnings(shareholder);
    }

    function giveMeTSUKA() external {
        tsukaPrinter.giveMeTSUKA(msg.sender);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TSUKA","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allocationSum","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":[],"name":"antiBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newRewardFee","type":"uint256"},{"internalType":"uint256","name":"newLpFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingFee","type":"uint256"}],"name":"changeFeeAllocation","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":"uint256","name":"newGas","type":"uint256"}],"name":"changeMoneyPrinterGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"}],"name":"changeSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"changeTotalFees","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":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"checkPendingReflections","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"evaInuMarketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"giveMeTSUKA","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"manualGas","type":"uint256"}],"name":"manualProcessGas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinPeriod","type":"uint256"},{"internalType":"uint256","name":"newMinDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newEvaInuMarketingWallet","type":"address"}],"name":"setEvaInuMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLpWallet","type":"address"}],"name":"setLpWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwnerWallet","type":"address"}],"name":"setOwnerWallet","outputs":[],"stateMutability":"nonpayable","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":"toLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toReflections","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":"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":[],"name":"tsukaPrinter","outputs":[{"internalType":"contract TsukaPrinter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tsukaPrinterGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b03191673c5fb36dd2fb59d3b98deff88425a3f425ee469ed179055620000386009600a6200074c565b62000048906305f5e1006200075d565b6002819055600780546001600160a01b031990811661dead17909155600880546001600160a81b031916600160a01b179055601a8054600e805484166001600160a01b0383161790556006600f819055601055601460118190556000601281905560506013556064918290556019805490951673f61a1af4db2c5ee8ae7f4365ed461a5f45a807c917909455600162ffff0160a01b03199091167501005cfcee239295fa88f2a233add3b6c4eb0b5985bb17909155601c91909155620001389162000124906001620014556200050e602090811b91909117901c565b620005a560201b620014d71790919060201c565b601d556200015d606462000124600280546200050e60201b620014551790919060201c565b601e55620001846103e86200012460016002546200050e60201b620014551790919060201c565b601f553480156200019457600080fd5b5060405162003e9838038062003e98833981016040819052620001b7916200077f565b600080546001600160a01b03199081166001600160a01b0384161790915560158054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000230573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025691906200077f565b600680546001600160a01b0319166001600160a01b039283161790556015546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db91906200077f565b6006546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af11580156200032d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035391906200077f565b601680546001600160a01b0319166001600160a01b039283161790553060009081526004602090815260408083206015549094168352929052819020600019905551620003a0906200062b565b604051809103906000f080158015620003bd573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b039283161790558181166000818152600a60209081526040808320805460ff19908116600190811790925560198054881686528386208054831684179055601a8054891687528487208054841685179055601680548a168852600c87528588208054851686179055308852858820805485168617905581548a1688528588208054851686179055600780548b1689528689208054861687179055898952600b8852868920805486168717905590548a1688528588208054851686179055548916875284872080548416851790559054881686528386208054831684179055549096168452818420805490961617909455600254838352600382528483208190559351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000825565b60008260000362000522575060006200059f565b60006200053083856200075d565b9050826200053f8583620007aa565b146200059c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200059c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005ef60201b60201c565b60008183620006135760405162461bcd60e51b8152600401620005939190620007cd565b506000620006228486620007aa565b95945050505050565b6110a28062002df683390190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200069057816000190482111562000674576200067462000639565b808516156200068257918102915b93841c939080029062000654565b509250929050565b600082620006a9575060016200059f565b81620006b8575060006200059f565b8160018114620006d15760028114620006dc57620006fc565b60019150506200059f565b60ff841115620006f057620006f062000639565b50506001821b6200059f565b5060208310610133831016604e8410600b841016171562000721575081810a6200059f565b6200072d83836200064f565b806000190482111562000744576200074462000639565b029392505050565b60006200059c60ff84168362000698565b60008160001904831182151516156200077a576200077a62000639565b500290565b6000602082840312156200079257600080fd5b81516001600160a01b03811681146200059c57600080fd5b600082620007c857634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b81811015620007fc57858101830151858201604001528201620007de565b818111156200080f576000604083870101525b50601f01601f1916929092016040019392505050565b6125c180620008356000396000f3fe6080604052600436106103855760003560e01c806377359aa7116101d1578063bf56b37111610102578063dd62ed3e116100a0578063f8b45b051161006f578063f8b45b0514610a84578063fabe628314610a9a578063fd44b4d714610aba578063ffb54a9914610ada57600080fd5b8063dd62ed3e146109de578063f2fde38b14610a24578063f708a64f14610a44578063f887ea4014610a6457600080fd5b8063c9567bf9116100dc578063c9567bf91461097d578063caa5581b14610992578063d920334e146109a8578063dc5a3397146109c857600080fd5b8063bf56b37114610931578063c45a015514610947578063c8d1293d1461096757600080fd5b806395d89b411161016f578063a9059cbb11610149578063a9059cbb146108b1578063b515566a146108d1578063b73e7946146108f1578063bb542ef01461091157600080fd5b806395d89b4114610845578063a3a2e89e14610871578063a8aa1b311461089157600080fd5b806381934031116101ab57806381934031146107c257806389291a8f146107e2578063893d20e8146107f75780638b42507f1461081557600080fd5b806377359aa7146107615780637db1342c146107815780637dfcbe34146107a157600080fd5b806330ca34ee116102b657806347062402116102545780636ba7151e116102235780636ba7151e146106df57806370a08231146106ff5780637437681e1461073557806375df13051461074b57600080fd5b806347062402146106735780634a74bb0214610689578063571ac8b0146106aa57806366eb3785146106ca57600080fd5b80633f4218e0116102905780633f4218e0146105dd5780634355855a1461060d578063454343771461063d578063468c7ee21461065357600080fd5b806330ca34ee14610581578063313ce567146105a15780633dab5269146105bd57600080fd5b806323b872dd116103235780632b14ca56116102fd5780632b14ca56146104fc5780632d48e896146105125780632dbea2e1146105325780632f54bf6e1461055257600080fd5b806323b872dd146104a7578063273123b7146104c75780632b112e49146104e757600080fd5b80630bdb28781161035f5780630bdb28781461042357806310f924851461044557806315f74d581461045a57806318160ddd1461049257600080fd5b80630445b6671461039157806306fdde03146103ba578063095ea7b3146103f357600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a7601f5481565b6040519081526020015b60405180910390f35b3480156103c657600080fd5b5060408051808201909152600781526645766120496e7560c81b60208201525b6040516103b19190612101565b3480156103ff57600080fd5b5061041361040e36600461217b565b610afb565b60405190151581526020016103b1565b34801561042f57600080fd5b5061044361043e3660046121a7565b610b68565b005b34801561045157600080fd5b50610443610ba0565b34801561046657600080fd5b5060195461047a906001600160a01b031681565b6040516001600160a01b0390911681526020016103b1565b34801561049e57600080fd5b506002546103a7565b3480156104b357600080fd5b506104136104c23660046121c0565b610bff565b3480156104d357600080fd5b506104436104e2366004612201565b610cc1565b3480156104f357600080fd5b506103a7610d0c565b34801561050857600080fd5b506103a760105481565b34801561051e57600080fd5b5061044361052d36600461221e565b610d5e565b34801561053e57600080fd5b5061044361054d366004612240565b610df2565b34801561055e57600080fd5b5061041361056d366004612201565b6000546001600160a01b0391821691161490565b34801561058d57600080fd5b5061044361059c36600461221e565b610e2a565b3480156105ad57600080fd5b50604051600981526020016103b1565b3480156105c957600080fd5b506104436105d836600461227c565b610edc565b3480156105e957600080fd5b506104136105f8366004612201565b600a6020526000908152604090205460ff1681565b34801561061957600080fd5b50610413610628366004612201565b600c6020526000908152604090205460ff1681565b34801561064957600080fd5b506103a760145481565b34801561065f57600080fd5b5061044361066e366004612201565b610f28565b34801561067f57600080fd5b506103a7600f5481565b34801561069557600080fd5b50601a5461041390600160a81b900460ff1681565b3480156106b657600080fd5b506104136106c5366004612201565b610f74565b3480156106d657600080fd5b50610443610f82565b3480156106eb57600080fd5b50601b5461047a906001600160a01b031681565b34801561070b57600080fd5b506103a761071a366004612201565b6001600160a01b031660009081526003602052604090205490565b34801561074157600080fd5b506103a7601d5481565b34801561075757600080fd5b506103a760135481565b34801561076d57600080fd5b506103a761077c366004612201565b610fb6565b34801561078d57600080fd5b5061044361079c3660046121a7565b611025565b3480156107ad57600080fd5b5060085461041390600160a01b900460ff1681565b3480156107ce57600080fd5b506104436107dd3660046121a7565b611054565b3480156107ee57600080fd5b506104436110e2565b34801561080357600080fd5b506000546001600160a01b031661047a565b34801561082157600080fd5b50610413610830366004612201565b600b6020526000908152604090205460ff1681565b34801561085157600080fd5b5060408051808201909152600381526245564160e81b60208201526103e6565b34801561087d57600080fd5b5061044361088c366004612298565b611150565b34801561089d57600080fd5b5060165461047a906001600160a01b031681565b3480156108bd57600080fd5b506104136108cc36600461217b565b6111a5565b3480156108dd57600080fd5b506104436108ec3660046122e3565b6111b2565b3480156108fd57600080fd5b5060015461047a906001600160a01b031681565b34801561091d57600080fd5b5061044361092c366004612201565b611244565b34801561093d57600080fd5b506103a7600d5481565b34801561095357600080fd5b5060175461047a906001600160a01b031681565b34801561097357600080fd5b506103a760125481565b34801561098957600080fd5b50610443611290565b34801561099e57600080fd5b506103a760115481565b3480156109b457600080fd5b506104436109c33660046121a7565b6112d3565b3480156109d457600080fd5b506103a7601c5481565b3480156109ea57600080fd5b506103a76109f93660046123a8565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b348015610a3057600080fd5b50610443610a3f366004612201565b611302565b348015610a5057600080fd5b50610443610a5f366004612298565b611380565b348015610a7057600080fd5b5060155461047a906001600160a01b031681565b348015610a9057600080fd5b506103a7601e5481565b348015610aa657600080fd5b50610443610ab5366004612298565b6113b4565b348015610ac657600080fd5b50610443610ad5366004612201565b611409565b348015610ae657600080fd5b50601a5461041390600160b01b900460ff1681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b569086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610b9b5760405162461bcd60e51b8152600401610b92906123e1565b60405180910390fd5b601c55565b601b54604051633f394ff360e21b81523360048201526001600160a01b039091169063fce53fcc90602401600060405180830381600087803b158015610be557600080fd5b505af1158015610bf9573d6000803e3d6000fd5b50505050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610cac576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600482528381203382529091529190912054610c87918490611519565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610cb7848484611553565b90505b9392505050565b6000546001600160a01b03163314610ceb5760405162461bcd60e51b8152600401610b92906123e1565b6001600160a01b03166000908152600960205260409020805460ff19169055565b6008546001600160a01b0316600090815260036020526040812054610d59906007546001600160a01b0316600090815260036020526040902054610d539060025490611a09565b90611a09565b905090565b6000546001600160a01b03163314610d885760405162461bcd60e51b8152600401610b92906123e1565b601b546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610dd657600080fd5b505af1158015610dea573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610e1c5760405162461bcd60e51b8152600401610b92906123e1565b601192909255601255601355565b6000546001600160a01b03163314610e545760405162461bcd60e51b8152600401610b92906123e1565b600f8290556010819055600a821115610e9a5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610b92565b600a6010541115610ed85760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610b92565b5050565b6000546001600160a01b03163314610f065760405162461bcd60e51b8152600401610b92906123e1565b601a8054921515600160a81b0260ff60a81b1990931692909217909155601f55565b6000546001600160a01b03163314610f525760405162461bcd60e51b8152600401610b92906123e1565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b6282600019610afb565b6000546001600160a01b03163314610fac5760405162461bcd60e51b8152600401610b92906123e1565b610fb4611a4b565b565b601b5460405163051fa63360e31b81526001600160a01b03838116600483015260009216906328fd319890602401602060405180830381865afa158015611001573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b629190612401565b6000546001600160a01b0316331461104f5760405162461bcd60e51b8152600401610b92906123e1565b601e55565b6000546001600160a01b0316331461107e5760405162461bcd60e51b8152600401610b92906123e1565b601b546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c47990602401600060405180830381600087803b1580156110c757600080fd5b505af11580156110db573d6000803e3d6000fd5b5050505050565b6000546001600160a01b0316331461110c5760405162461bcd60e51b8152600401610b92906123e1565b47801561114d576019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610ed8573d6000803e3d6000fd5b50565b6000546001600160a01b0316331461117a5760405162461bcd60e51b8152600401610b92906123e1565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000610cba338484611553565b6000546001600160a01b031633146111dc5760405162461bcd60e51b8152600401610b92906123e1565b60005b8151811015610ed8576001600960008484815181106112005761120061241a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061123c81612446565b9150506111df565b6000546001600160a01b0316331461126e5760405162461bcd60e51b8152600401610b92906123e1565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146112ba5760405162461bcd60e51b8152600401610b92906123e1565b43600d55601a805460ff60b01b1916600160b01b179055565b6000546001600160a01b031633146112fd5760405162461bcd60e51b8152600401610b92906123e1565b601d55565b6000546001600160a01b0316331461132c5760405162461bcd60e51b8152600401610b92906123e1565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b031633146113aa5760405162461bcd60e51b8152600401610b92906123e1565b610ed88282611c2e565b6000546001600160a01b031633146113de5760405162461bcd60e51b8152600401610b92906123e1565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146114335760405162461bcd60e51b8152600401610b92906123e1565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b60008260000361146757506000610b62565b6000611473838561245f565b905082611480858361247e565b14610cba5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b92565b6000610cba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d0d565b6000818484111561153d5760405162461bcd60e51b8152600401610b929190612101565b50600061154a84866124a0565b95945050505050565b600080546001600160a01b0385811691161480159061158057506000546001600160a01b03848116911614155b156115de57601a54600160b01b900460ff166115de5760405162461bcd60e51b815260206004820152601760248201527f686f6c6420757220686f7273657320626967206775792e0000000000000000006044820152606401610b92565b6001600160a01b03841660009081526009602052604090205460ff1615801561162057506001600160a01b03831660009081526009602052604090205460ff16155b61162957600080fd5b601a54600160a01b900460ff161561164d57611646848484611d3b565b9050610cba565b601d548211158061167657506001600160a01b0384166000908152600b602052604090205460ff165b6116a75760405162461bcd60e51b81526020600482015260026024820152610e8f60f31b6044820152606401610b92565b6001600160a01b0383166000908152600b602052604090205460ff161580156116d95750600854600160a01b900460ff165b1561173b57601e546001600160a01b0384166000908152600360205260409020546117049084611e21565b111561173b5760405162461bcd60e51b81526020600482015260066024820152651dd85b1b195d60d21b6044820152606401610b92565b6016546001600160a01b031633148015906117605750601a54600160a01b900460ff16155b80156117755750601a54600160a81b900460ff165b80156117925750601f543060009081526003602052604090205410155b1561179f5761179f611a4b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600390915291909120546117f1918490611519565b6001600160a01b038516600090815260036020908152604080832093909355600a90529081205460ff1615801561184157506001600160a01b0384166000908152600a602052604090205460ff16155b61184b5782611856565b611856858585611e80565b6001600160a01b03851660009081526003602052604090205490915061187c9082611e21565b6001600160a01b038086166000908152600360209081526040808320949094559188168152600c909152205460ff1661192057601b546001600160a01b0386811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561190d57600080fd5b505af192505050801561191e575060015b505b6001600160a01b0384166000908152600c602052604090205460ff166119b157601b546001600160a01b0385811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561199e57600080fd5b505af19250505080156119af575060015b505b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119f691815260200190565b60405180910390a3506001949350505050565b6000610cba83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611519565b601a805460ff60a01b1916600160a01b17905530600090815260036020526040812054601254909190611a9190600290611a8b9060649082908790611455565b906114d7565b90506000611a9f8383611a09565b9050611aaa81611f43565b60004790506000611acb6064611a8b6011548561145590919063ffffffff16565b90506000611ae96064611a8b6013548661145590919063ffffffff16565b90506000611b0c6002611a8b6064611a8b6012548961145590919063ffffffff16565b90508315611ba5576019546001600160a01b03166108fc611b336006611a8b866004611455565b6040518115909202916000818181858888f19350505050158015611b5b573d6000803e3d6000fd5b50601a546001600160a01b03166108fc611b7b6006611a8b866002611455565b6040518115909202916000818181858888f19350505050158015611ba3573d6000803e3d6000fd5b505b601b60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611bf557600080fd5b505af193505050508015611c07575060015b508515611c1857611c18868261206c565b5050601a805460ff60a01b191690555050505050565b6001600160a01b0382163014801590611c5557506016546001600160a01b03838116911614155b611c5e57600080fd5b6001600160a01b0382166000908152600c60205260409020805460ff19168215801591909117909155611cc457601b54604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401610dbc565b601b546001600160a01b0383811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610dbc565b60008183611d2e5760405162461bcd60e51b8152600401610b929190612101565b50600061154a848661247e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054611d8c918490611519565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611dbb9083611e21565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e0f9086815260200190565b60405180910390a35060019392505050565b600080611e2e83856124b7565b905083811015610cba5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b92565b60165460009081906001600160a01b03858116911614611ea257600f54611ea6565b6010545b90506000611eb96064611a8b8685611455565b30600090815260036020526040902054909150611ed69082611e21565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611f279085815260200190565b60405180910390a3611f398482611a09565b9695505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f7857611f7861241a565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff591906124cf565b816001815181106120085761200861241a565b60200260200101906001600160a01b031690816001600160a01b0316815250506120323083610afb565b5060155460405163791ac94760e01b81526001600160a01b039091169063791ac94790610dbc9085906000908690309042906004016124ec565b601554600e5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156120dc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110db919061255d565b600060208083528351808285015260005b8181101561212e57858101830151858201604001528201612112565b81811115612140576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461114d57600080fd5b803561217681612156565b919050565b6000806040838503121561218e57600080fd5b823561219981612156565b946020939093013593505050565b6000602082840312156121b957600080fd5b5035919050565b6000806000606084860312156121d557600080fd5b83356121e081612156565b925060208401356121f081612156565b929592945050506040919091013590565b60006020828403121561221357600080fd5b8135610cba81612156565b6000806040838503121561223157600080fd5b50508035926020909101359150565b60008060006060848603121561225557600080fd5b505081359360208301359350604090920135919050565b8035801515811461217657600080fd5b6000806040838503121561228f57600080fd5b6121998361226c565b600080604083850312156122ab57600080fd5b82356122b681612156565b91506122c46020840161226c565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156122f657600080fd5b823567ffffffffffffffff8082111561230e57600080fd5b818501915085601f83011261232257600080fd5b813581811115612334576123346122cd565b8060051b604051601f19603f83011681018181108582111715612359576123596122cd565b60405291825284820192508381018501918883111561237757600080fd5b938501935b8285101561239c5761238d8561216b565b8452938501939285019261237c565b98975050505050505050565b600080604083850312156123bb57600080fd5b82356123c681612156565b915060208301356123d681612156565b809150509250929050565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b60006020828403121561241357600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161245857612458612430565b5060010190565b600081600019048311821515161561247957612479612430565b500290565b60008261249b57634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156124b2576124b2612430565b500390565b600082198211156124ca576124ca612430565b500190565b6000602082840312156124e157600080fd5b8151610cba81612156565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561253c5784516001600160a01b031683529383019391830191600101612517565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561257257600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220f4da29afed2b4fab576c03bf2a91cdf36cd611c1edc8b455a7eb12e8b588bcd964736f6c634300080d003360806040526ec097ce7bc90715b34b9f1000000000600b55611c20600c556509184e72a000600d5534801561003357600080fd5b50600080546001600160a01b03199081163317909155600280548216737a250d5630b4cf539739df2c5dacb4c659f2488d1790556001805490911673c5fb36dd2fb59d3b98deff88425a3f425ee469ed17905561100d806100956000396000f3fe6080604052600436106101025760003560e01c8063997664d711610095578063e2d2e21911610064578063e2d2e219146102be578063efca2eed146102d4578063fce53fcc146102ea578063ffb2c4791461030a578063ffd49c841461032a57600080fd5b8063997664d714610211578063b73e794614610227578063ce7c2ac21461025f578063d0e30db0146102b657600080fd5b80632d48e896116100d15780632d48e896146101955780633a98ef39146101b55780634fab0ae8146101cb5780638c21cd52146101e157600080fd5b806311ce023d1461011657806314b6ca961461013f57806326987b601461015f57806328fd31981461017557600080fd5b366101115761010f610340565b005b600080fd5b34801561012257600080fd5b5061012c600b5481565b6040519081526020015b60405180910390f35b34801561014b57600080fd5b5061010f61015a366004610d71565b6105b8565b34801561016b57600080fd5b5061012c600e5481565b34801561018157600080fd5b5061012c610190366004610d9d565b610730565b3480156101a157600080fd5b5061010f6101b0366004610dba565b6107bb565b3480156101c157600080fd5b5061012c60075481565b3480156101d757600080fd5b5061012c600d5481565b3480156101ed57600080fd5b506102016101fc366004610d9d565b6107dd565b6040519015158152602001610136565b34801561021d57600080fd5b5061012c60085481565b34801561023357600080fd5b50600154610247906001600160a01b031681565b6040516001600160a01b039091168152602001610136565b34801561026b57600080fd5b5061029b61027a366004610d9d565b60066020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610136565b61010f610340565b3480156102ca57600080fd5b5061012c600a5481565b3480156102e057600080fd5b5061012c60095481565b3480156102f657600080fd5b5061010f610305366004610d9d565b610823565b34801561031657600080fd5b5061010f610325366004610ddc565b610846565b34801561033657600080fd5b5061012c600c5481565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610389573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ad9190610df5565b60408051600280825260608201835292935060009290916020830190803683375050600254604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190610e0e565b8160008151811061045357610453610e2b565b6001600160a01b039283166020918202929092010152600180548351921691839190811061048357610483610e2b565b6001600160a01b03928316602091820292909201015260025460405163b6f9de9560e01b815291169063b6f9de959034906104c990600090869030904290600401610e41565b6000604051808303818588803b1580156104e257600080fd5b505af11580156104f6573d6000803e3d6000fd5b50506001546040516370a0823160e01b81523060048201526000945061057693508692506001600160a01b03909116906370a0823190602401602060405180830381865afa15801561054c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105709190610df5565b90610933565b600854909150610586908261097c565b600855600754600b546105b0916105a7916105a190856109e0565b90610a62565b600a549061097c565b600a55505050565b6000546001600160a01b031633146105cf57600080fd5b6001600160a01b038216600090815260066020526040902054156105f6576105f682610aa4565b60008111801561061c57506001600160a01b038216600090815260066020526040902054155b1561068257600380546001600160a01b0384166000818152600460205260408120839055600183018455929092527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b03191690911790556106b5565b801580156106a757506001600160a01b03821660009081526006602052604090205415155b156106b5576106b582610bc2565b6001600160a01b0382166000908152600660205260409020546007546106e69183916106e091610933565b9061097c565b6007556001600160a01b038216600090815260066020526040902081905561070d81610cd7565b6001600160a01b0390921660009081526006602052604090206001019190915550565b6001600160a01b038116600090815260066020526040812054810361075757506000919050565b6001600160a01b03821660009081526006602052604081205461077990610cd7565b6001600160a01b0384166000908152600660205260409020600101549091508082116107a9575060009392505050565b6107b38282610933565b949350505050565b6000546001600160a01b031633146107d257600080fd5b600c91909155600d55565b600c546001600160a01b038216600090815260056020526040812054909142916108079190610ec1565b10801561081d5750600d5461081b83610730565b115b92915050565b6000546001600160a01b0316331461083a57600080fd5b61084381610aa4565b50565b6003546000819003610856575050565b60008060005a90505b848210801561086d57508383105b1561092c5783600e5410610881576000600e555b6108b36003600e548154811061089957610899610e2b565b6000918252602090912001546001600160a01b03166107dd565b156108ea576108ea6003600e54815481106108d0576108d0610e2b565b6000918252602090912001546001600160a01b0316610aa4565b6108ff6108f85a8390610933565b839061097c565b91505a600e8054919250600061091483610ed9565b9190505550828061092490610ed9565b93505061085f565b5050505050565b600061097583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cf4565b9392505050565b6000806109898385610ec1565b9050838110156109755760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b6000826000036109f25750600061081d565b60006109fe8385610ef2565b905082610a0b8583610f11565b146109755760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109d7565b600061097583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d2e565b6001600160a01b0381166000908152600660205260408120549003610ac65750565b6000610ad182610730565b90508015610bbe57600954610ae6908261097c565b60095560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190610f33565b506001600160a01b03821660009081526005602090815260408083204290556006909152902060020154610b94908261097c565b6001600160a01b038316600090815260066020526040902060028101919091555461070d90610cd7565b5050565b60038054610bd290600190610f55565b81548110610be257610be2610e2b565b60009182526020808320909101546001600160a01b0384811684526004909252604090922054600380549290931692918110610c2057610c20610e2b565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260049182905260408120546003805491939291610c6c90600190610f55565b81548110610c7c57610c7c610e2b565b60009182526020808320909101546001600160a01b031683528201929092526040019020556003805480610cb257610cb2610f6c565b600082815260209020810160001990810180546001600160a01b031916905501905550565b600061081d600b546105a1600a54856109e090919063ffffffff16565b60008184841115610d185760405162461bcd60e51b81526004016109d79190610f82565b506000610d258486610f55565b95945050505050565b60008183610d4f5760405162461bcd60e51b81526004016109d79190610f82565b506000610d258486610f11565b6001600160a01b038116811461084357600080fd5b60008060408385031215610d8457600080fd5b8235610d8f81610d5c565b946020939093013593505050565b600060208284031215610daf57600080fd5b813561097581610d5c565b60008060408385031215610dcd57600080fd5b50508035926020909101359150565b600060208284031215610dee57600080fd5b5035919050565b600060208284031215610e0757600080fd5b5051919050565b600060208284031215610e2057600080fd5b815161097581610d5c565b634e487b7160e01b600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610e8b5784516001600160a01b031683529383019391830191600101610e66565b50506001600160a01b039690961660408501525050506060015292915050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610ed457610ed4610eab565b500190565b600060018201610eeb57610eeb610eab565b5060010190565b6000816000190483118215151615610f0c57610f0c610eab565b500290565b600082610f2e57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610f4557600080fd5b8151801515811461097557600080fd5b600082821015610f6757610f67610eab565b500390565b634e487b7160e01b600052603160045260246000fd5b600060208083528351808285015260005b81811015610faf57858101830151858201604001528201610f93565b81811115610fc1576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220549abfc95938c55d25ef4076202c211d69cf286a3b8cd6e1b7d5d3eab805816064736f6c634300080d00330000000000000000000000005cfcee239295fa88f2a233add3b6c4eb0b5985bb

Deployed Bytecode

0x6080604052600436106103855760003560e01c806377359aa7116101d1578063bf56b37111610102578063dd62ed3e116100a0578063f8b45b051161006f578063f8b45b0514610a84578063fabe628314610a9a578063fd44b4d714610aba578063ffb54a9914610ada57600080fd5b8063dd62ed3e146109de578063f2fde38b14610a24578063f708a64f14610a44578063f887ea4014610a6457600080fd5b8063c9567bf9116100dc578063c9567bf91461097d578063caa5581b14610992578063d920334e146109a8578063dc5a3397146109c857600080fd5b8063bf56b37114610931578063c45a015514610947578063c8d1293d1461096757600080fd5b806395d89b411161016f578063a9059cbb11610149578063a9059cbb146108b1578063b515566a146108d1578063b73e7946146108f1578063bb542ef01461091157600080fd5b806395d89b4114610845578063a3a2e89e14610871578063a8aa1b311461089157600080fd5b806381934031116101ab57806381934031146107c257806389291a8f146107e2578063893d20e8146107f75780638b42507f1461081557600080fd5b806377359aa7146107615780637db1342c146107815780637dfcbe34146107a157600080fd5b806330ca34ee116102b657806347062402116102545780636ba7151e116102235780636ba7151e146106df57806370a08231146106ff5780637437681e1461073557806375df13051461074b57600080fd5b806347062402146106735780634a74bb0214610689578063571ac8b0146106aa57806366eb3785146106ca57600080fd5b80633f4218e0116102905780633f4218e0146105dd5780634355855a1461060d578063454343771461063d578063468c7ee21461065357600080fd5b806330ca34ee14610581578063313ce567146105a15780633dab5269146105bd57600080fd5b806323b872dd116103235780632b14ca56116102fd5780632b14ca56146104fc5780632d48e896146105125780632dbea2e1146105325780632f54bf6e1461055257600080fd5b806323b872dd146104a7578063273123b7146104c75780632b112e49146104e757600080fd5b80630bdb28781161035f5780630bdb28781461042357806310f924851461044557806315f74d581461045a57806318160ddd1461049257600080fd5b80630445b6671461039157806306fdde03146103ba578063095ea7b3146103f357600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a7601f5481565b6040519081526020015b60405180910390f35b3480156103c657600080fd5b5060408051808201909152600781526645766120496e7560c81b60208201525b6040516103b19190612101565b3480156103ff57600080fd5b5061041361040e36600461217b565b610afb565b60405190151581526020016103b1565b34801561042f57600080fd5b5061044361043e3660046121a7565b610b68565b005b34801561045157600080fd5b50610443610ba0565b34801561046657600080fd5b5060195461047a906001600160a01b031681565b6040516001600160a01b0390911681526020016103b1565b34801561049e57600080fd5b506002546103a7565b3480156104b357600080fd5b506104136104c23660046121c0565b610bff565b3480156104d357600080fd5b506104436104e2366004612201565b610cc1565b3480156104f357600080fd5b506103a7610d0c565b34801561050857600080fd5b506103a760105481565b34801561051e57600080fd5b5061044361052d36600461221e565b610d5e565b34801561053e57600080fd5b5061044361054d366004612240565b610df2565b34801561055e57600080fd5b5061041361056d366004612201565b6000546001600160a01b0391821691161490565b34801561058d57600080fd5b5061044361059c36600461221e565b610e2a565b3480156105ad57600080fd5b50604051600981526020016103b1565b3480156105c957600080fd5b506104436105d836600461227c565b610edc565b3480156105e957600080fd5b506104136105f8366004612201565b600a6020526000908152604090205460ff1681565b34801561061957600080fd5b50610413610628366004612201565b600c6020526000908152604090205460ff1681565b34801561064957600080fd5b506103a760145481565b34801561065f57600080fd5b5061044361066e366004612201565b610f28565b34801561067f57600080fd5b506103a7600f5481565b34801561069557600080fd5b50601a5461041390600160a81b900460ff1681565b3480156106b657600080fd5b506104136106c5366004612201565b610f74565b3480156106d657600080fd5b50610443610f82565b3480156106eb57600080fd5b50601b5461047a906001600160a01b031681565b34801561070b57600080fd5b506103a761071a366004612201565b6001600160a01b031660009081526003602052604090205490565b34801561074157600080fd5b506103a7601d5481565b34801561075757600080fd5b506103a760135481565b34801561076d57600080fd5b506103a761077c366004612201565b610fb6565b34801561078d57600080fd5b5061044361079c3660046121a7565b611025565b3480156107ad57600080fd5b5060085461041390600160a01b900460ff1681565b3480156107ce57600080fd5b506104436107dd3660046121a7565b611054565b3480156107ee57600080fd5b506104436110e2565b34801561080357600080fd5b506000546001600160a01b031661047a565b34801561082157600080fd5b50610413610830366004612201565b600b6020526000908152604090205460ff1681565b34801561085157600080fd5b5060408051808201909152600381526245564160e81b60208201526103e6565b34801561087d57600080fd5b5061044361088c366004612298565b611150565b34801561089d57600080fd5b5060165461047a906001600160a01b031681565b3480156108bd57600080fd5b506104136108cc36600461217b565b6111a5565b3480156108dd57600080fd5b506104436108ec3660046122e3565b6111b2565b3480156108fd57600080fd5b5060015461047a906001600160a01b031681565b34801561091d57600080fd5b5061044361092c366004612201565b611244565b34801561093d57600080fd5b506103a7600d5481565b34801561095357600080fd5b5060175461047a906001600160a01b031681565b34801561097357600080fd5b506103a760125481565b34801561098957600080fd5b50610443611290565b34801561099e57600080fd5b506103a760115481565b3480156109b457600080fd5b506104436109c33660046121a7565b6112d3565b3480156109d457600080fd5b506103a7601c5481565b3480156109ea57600080fd5b506103a76109f93660046123a8565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b348015610a3057600080fd5b50610443610a3f366004612201565b611302565b348015610a5057600080fd5b50610443610a5f366004612298565b611380565b348015610a7057600080fd5b5060155461047a906001600160a01b031681565b348015610a9057600080fd5b506103a7601e5481565b348015610aa657600080fd5b50610443610ab5366004612298565b6113b4565b348015610ac657600080fd5b50610443610ad5366004612201565b611409565b348015610ae657600080fd5b50601a5461041390600160b01b900460ff1681565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b569086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610b9b5760405162461bcd60e51b8152600401610b92906123e1565b60405180910390fd5b601c55565b601b54604051633f394ff360e21b81523360048201526001600160a01b039091169063fce53fcc90602401600060405180830381600087803b158015610be557600080fd5b505af1158015610bf9573d6000803e3d6000fd5b50505050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610cac576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600482528381203382529091529190912054610c87918490611519565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610cb7848484611553565b90505b9392505050565b6000546001600160a01b03163314610ceb5760405162461bcd60e51b8152600401610b92906123e1565b6001600160a01b03166000908152600960205260409020805460ff19169055565b6008546001600160a01b0316600090815260036020526040812054610d59906007546001600160a01b0316600090815260036020526040902054610d539060025490611a09565b90611a09565b905090565b6000546001600160a01b03163314610d885760405162461bcd60e51b8152600401610b92906123e1565b601b546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b158015610dd657600080fd5b505af1158015610dea573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610e1c5760405162461bcd60e51b8152600401610b92906123e1565b601192909255601255601355565b6000546001600160a01b03163314610e545760405162461bcd60e51b8152600401610b92906123e1565b600f8290556010819055600a821115610e9a5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610b92565b600a6010541115610ed85760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b6044820152606401610b92565b5050565b6000546001600160a01b03163314610f065760405162461bcd60e51b8152600401610b92906123e1565b601a8054921515600160a81b0260ff60a81b1990931692909217909155601f55565b6000546001600160a01b03163314610f525760405162461bcd60e51b8152600401610b92906123e1565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b6282600019610afb565b6000546001600160a01b03163314610fac5760405162461bcd60e51b8152600401610b92906123e1565b610fb4611a4b565b565b601b5460405163051fa63360e31b81526001600160a01b03838116600483015260009216906328fd319890602401602060405180830381865afa158015611001573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b629190612401565b6000546001600160a01b0316331461104f5760405162461bcd60e51b8152600401610b92906123e1565b601e55565b6000546001600160a01b0316331461107e5760405162461bcd60e51b8152600401610b92906123e1565b601b546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c47990602401600060405180830381600087803b1580156110c757600080fd5b505af11580156110db573d6000803e3d6000fd5b5050505050565b6000546001600160a01b0316331461110c5760405162461bcd60e51b8152600401610b92906123e1565b47801561114d576019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610ed8573d6000803e3d6000fd5b50565b6000546001600160a01b0316331461117a5760405162461bcd60e51b8152600401610b92906123e1565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000610cba338484611553565b6000546001600160a01b031633146111dc5760405162461bcd60e51b8152600401610b92906123e1565b60005b8151811015610ed8576001600960008484815181106112005761120061241a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061123c81612446565b9150506111df565b6000546001600160a01b0316331461126e5760405162461bcd60e51b8152600401610b92906123e1565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146112ba5760405162461bcd60e51b8152600401610b92906123e1565b43600d55601a805460ff60b01b1916600160b01b179055565b6000546001600160a01b031633146112fd5760405162461bcd60e51b8152600401610b92906123e1565b601d55565b6000546001600160a01b0316331461132c5760405162461bcd60e51b8152600401610b92906123e1565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6000546001600160a01b031633146113aa5760405162461bcd60e51b8152600401610b92906123e1565b610ed88282611c2e565b6000546001600160a01b031633146113de5760405162461bcd60e51b8152600401610b92906123e1565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146114335760405162461bcd60e51b8152600401610b92906123e1565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b60008260000361146757506000610b62565b6000611473838561245f565b905082611480858361247e565b14610cba5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b92565b6000610cba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d0d565b6000818484111561153d5760405162461bcd60e51b8152600401610b929190612101565b50600061154a84866124a0565b95945050505050565b600080546001600160a01b0385811691161480159061158057506000546001600160a01b03848116911614155b156115de57601a54600160b01b900460ff166115de5760405162461bcd60e51b815260206004820152601760248201527f686f6c6420757220686f7273657320626967206775792e0000000000000000006044820152606401610b92565b6001600160a01b03841660009081526009602052604090205460ff1615801561162057506001600160a01b03831660009081526009602052604090205460ff16155b61162957600080fd5b601a54600160a01b900460ff161561164d57611646848484611d3b565b9050610cba565b601d548211158061167657506001600160a01b0384166000908152600b602052604090205460ff165b6116a75760405162461bcd60e51b81526020600482015260026024820152610e8f60f31b6044820152606401610b92565b6001600160a01b0383166000908152600b602052604090205460ff161580156116d95750600854600160a01b900460ff165b1561173b57601e546001600160a01b0384166000908152600360205260409020546117049084611e21565b111561173b5760405162461bcd60e51b81526020600482015260066024820152651dd85b1b195d60d21b6044820152606401610b92565b6016546001600160a01b031633148015906117605750601a54600160a01b900460ff16155b80156117755750601a54600160a81b900460ff165b80156117925750601f543060009081526003602052604090205410155b1561179f5761179f611a4b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600390915291909120546117f1918490611519565b6001600160a01b038516600090815260036020908152604080832093909355600a90529081205460ff1615801561184157506001600160a01b0384166000908152600a602052604090205460ff16155b61184b5782611856565b611856858585611e80565b6001600160a01b03851660009081526003602052604090205490915061187c9082611e21565b6001600160a01b038086166000908152600360209081526040808320949094559188168152600c909152205460ff1661192057601b546001600160a01b0386811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561190d57600080fd5b505af192505050801561191e575060015b505b6001600160a01b0384166000908152600c602052604090205460ff166119b157601b546001600160a01b0385811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561199e57600080fd5b505af19250505080156119af575060015b505b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119f691815260200190565b60405180910390a3506001949350505050565b6000610cba83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611519565b601a805460ff60a01b1916600160a01b17905530600090815260036020526040812054601254909190611a9190600290611a8b9060649082908790611455565b906114d7565b90506000611a9f8383611a09565b9050611aaa81611f43565b60004790506000611acb6064611a8b6011548561145590919063ffffffff16565b90506000611ae96064611a8b6013548661145590919063ffffffff16565b90506000611b0c6002611a8b6064611a8b6012548961145590919063ffffffff16565b90508315611ba5576019546001600160a01b03166108fc611b336006611a8b866004611455565b6040518115909202916000818181858888f19350505050158015611b5b573d6000803e3d6000fd5b50601a546001600160a01b03166108fc611b7b6006611a8b866002611455565b6040518115909202916000818181858888f19350505050158015611ba3573d6000803e3d6000fd5b505b601b60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611bf557600080fd5b505af193505050508015611c07575060015b508515611c1857611c18868261206c565b5050601a805460ff60a01b191690555050505050565b6001600160a01b0382163014801590611c5557506016546001600160a01b03838116911614155b611c5e57600080fd5b6001600160a01b0382166000908152600c60205260409020805460ff19168215801591909117909155611cc457601b54604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca9690604401610dbc565b601b546001600160a01b0383811660008181526003602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610dbc565b60008183611d2e5760405162461bcd60e51b8152600401610b929190612101565b50600061154a848661247e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054611d8c918490611519565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611dbb9083611e21565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e0f9086815260200190565b60405180910390a35060019392505050565b600080611e2e83856124b7565b905083811015610cba5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b92565b60165460009081906001600160a01b03858116911614611ea257600f54611ea6565b6010545b90506000611eb96064611a8b8685611455565b30600090815260036020526040902054909150611ed69082611e21565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611f279085815260200190565b60405180910390a3611f398482611a09565b9695505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f7857611f7861241a565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff591906124cf565b816001815181106120085761200861241a565b60200260200101906001600160a01b031690816001600160a01b0316815250506120323083610afb565b5060155460405163791ac94760e01b81526001600160a01b039091169063791ac94790610dbc9085906000908690309042906004016124ec565b601554600e5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156120dc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110db919061255d565b600060208083528351808285015260005b8181101561212e57858101830151858201604001528201612112565b81811115612140576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461114d57600080fd5b803561217681612156565b919050565b6000806040838503121561218e57600080fd5b823561219981612156565b946020939093013593505050565b6000602082840312156121b957600080fd5b5035919050565b6000806000606084860312156121d557600080fd5b83356121e081612156565b925060208401356121f081612156565b929592945050506040919091013590565b60006020828403121561221357600080fd5b8135610cba81612156565b6000806040838503121561223157600080fd5b50508035926020909101359150565b60008060006060848603121561225557600080fd5b505081359360208301359350604090920135919050565b8035801515811461217657600080fd5b6000806040838503121561228f57600080fd5b6121998361226c565b600080604083850312156122ab57600080fd5b82356122b681612156565b91506122c46020840161226c565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156122f657600080fd5b823567ffffffffffffffff8082111561230e57600080fd5b818501915085601f83011261232257600080fd5b813581811115612334576123346122cd565b8060051b604051601f19603f83011681018181108582111715612359576123596122cd565b60405291825284820192508381018501918883111561237757600080fd5b938501935b8285101561239c5761238d8561216b565b8452938501939285019261237c565b98975050505050505050565b600080604083850312156123bb57600080fd5b82356123c681612156565b915060208301356123d681612156565b809150509250929050565b60208082526006908201526510a7bbb732b960d11b604082015260600190565b60006020828403121561241357600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161245857612458612430565b5060010190565b600081600019048311821515161561247957612479612430565b500290565b60008261249b57634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156124b2576124b2612430565b500390565b600082198211156124ca576124ca612430565b500190565b6000602082840312156124e157600080fd5b8151610cba81612156565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561253c5784516001600160a01b031683529383019391830191600101612517565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561257257600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220f4da29afed2b4fab576c03bf2a91cdf36cd611c1edc8b455a7eb12e8b588bcd964736f6c634300080d0033

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

0000000000000000000000005cfcEe239295fa88f2A233ADD3b6C4Eb0b5985bb

-----Decoded View---------------
Arg [0] : _owner (address): 0x5cfcEe239295fa88f2A233ADD3b6C4Eb0b5985bb

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005cfcEe239295fa88f2A233ADD3b6C4Eb0b5985bb


Deployed Bytecode Sourcemap

10599:12554:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12603:60;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;12603:60:0;;;;;;;;17081:80;;;;;;;;;;-1:-1:-1;17153:5:0;;;;;;;;;;;;-1:-1:-1;;;17153:5:0;;;;17081:80;;;;;;;:::i;17507:216::-;;;;;;;;;;-1:-1:-1;17507:216:0;;;;;:::i;:::-;;:::i;:::-;;;1558:14:1;;1551:22;1533:41;;1521:2;1506:18;17507:216:0;1393:187:1;16533:109:0;;;;;;;;;;-1:-1:-1;16533:109:0;;;;;:::i;:::-;;:::i;:::-;;23063:87;;;;;;;;;;;;;:::i;11976:90::-;;;;;;;;;;-1:-1:-1;11976:90:0;;;;-1:-1:-1;;;;;11976:90:0;;;;;;-1:-1:-1;;;;;1934:32:1;;;1916:51;;1904:2;1889:18;11976:90:0;1770:203:1;16811:88:0;;;;;;;;;;-1:-1:-1;16884:12:0;;16811:88;;18021:366;;;;;;;;;;-1:-1:-1;18021:366:0;;;;;:::i;:::-;;:::i;15948:90::-;;;;;;;;;;-1:-1:-1;15948:90:0;;;;;:::i;:::-;;:::i;16661:142::-;;;;;;;;;;;;;:::i;11662:26::-;;;;;;;;;;;;;;;;15741:199;;;;;;;;;;-1:-1:-1;15741:199:0;;;;;:::i;:::-;;:::i;14373:233::-;;;;;;;;;;-1:-1:-1;14373:233:0;;;;;:::i;:::-;;:::i;2775:103::-;;;;;;;;;;-1:-1:-1;2775:103:0;;;;;:::i;:::-;2830:4;2865:5;-1:-1:-1;;;;;2854:16:0;;;2865:5;;2854:16;;2775:103;14116:244;;;;;;;;;;-1:-1:-1;14116:244:0;;;;;:::i;:::-;;:::i;16905:80::-;;;;;;;;;;-1:-1:-1;16905:80:0;;10885:1;3407:36:1;;3395:2;3380:18;16905:80:0;3265:184:1;15534:199:0;;;;;;;;;;-1:-1:-1;15534:199:0;;;;;:::i;:::-;;:::i;11386:44::-;;;;;;;;;;-1:-1:-1;11386:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11492:49;;;;;;;;;;-1:-1:-1;11492:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11814:34;;;;;;;;;;;;;;;;15286:102;;;;;;;;;;-1:-1:-1;15286:102:0;;;;;:::i;:::-;;:::i;11630:25::-;;;;;;;;;;;;;;;;12192:40;;;;;;;;;;-1:-1:-1;12192:40:0;;;;-1:-1:-1;;;12192:40:0;;;;;;17731:122;;;;;;;;;;-1:-1:-1;17731:122:0;;;;;:::i;:::-;;:::i;22443:74::-;;;;;;;;;;;;;:::i;12283:32::-;;;;;;;;;;-1:-1:-1;12283:32:0;;;;-1:-1:-1;;;;;12283:32:0;;;17251:105;;;;;;;;;;-1:-1:-1;17251:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;17335:18:0;17317:7;17335:18;;;:9;:18;;;;;;;17251:105;12483:51;;;;;;;;;;;;;;;;11774:31;;;;;;;;;;;;;;;;22900:155;;;;;;;;;;-1:-1:-1;22900:155:0;;;;;:::i;:::-;;:::i;14717:104::-;;;;;;;;;;-1:-1:-1;14717:104:0;;;;;:::i;:::-;;:::i;11305:26::-;;;;;;;;;;-1:-1:-1;11305:26:0;;;;-1:-1:-1;;;11305:26:0;;;;;;22778:114;;;;;;;;;;-1:-1:-1;22778:114:0;;;;;:::i;:::-;;:::i;22525:245::-;;;;;;;;;;;;;:::i;17167:78::-;;;;;;;;;;-1:-1:-1;17219:7:0;17237:5;-1:-1:-1;;;;;17237:5:0;17167:78;;11437:48;;;;;;;;;;-1:-1:-1;11437:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16991:84;;;;;;;;;;-1:-1:-1;17065:7:0;;;;;;;;;;;;-1:-1:-1;;;17065:7:0;;;;16991:84;;14833:122;;;;;;;;;;-1:-1:-1;14833:122:0;;;;;:::i;:::-;;:::i;11888:19::-;;;;;;;;;;-1:-1:-1;11888:19:0;;;;-1:-1:-1;;;;;11888:19:0;;;17861:152;;;;;;;;;;-1:-1:-1;17861:152:0;;;;;:::i;:::-;;:::i;13809:166::-;;;;;;;;;;-1:-1:-1;13809:166:0;;;;;:::i;:::-;;:::i;10674:65::-;;;;;;;;;;-1:-1:-1;10674:65:0;;;;-1:-1:-1;;;;;10674:65:0;;;15400:121;;;;;;;;;;-1:-1:-1;15400:121:0;;;;;:::i;:::-;;:::i;11550:25::-;;;;;;;;;;;;;;;;11914:22;;;;;;;;;;-1:-1:-1;11914:22:0;;;;-1:-1:-1;;;;;11914:22:0;;;11737:30;;;;;;;;;;;;;;;;13987:115;;;;;;;;;;;;;:::i;11697:33::-;;;;;;;;;;;;;;;;14614:95;;;;;;;;;;-1:-1:-1;14614:95:0;;;;;:::i;:::-;;:::i;12322:34::-;;;;;;;;;;;;;;;;17362:133;;;;;;;;;;-1:-1:-1;17362:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;17464:19:0;;;17446:7;17464:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;17362:133;2886:136;;;;;;;;;;-1:-1:-1;2886:136:0;;;;;:::i;:::-;;:::i;16393:132::-;;;;;;;;;;-1:-1:-1;16393:132:0;;;;;:::i;:::-;;:::i;11857:24::-;;;;;;;;;;-1:-1:-1;11857:24:0;;;;-1:-1:-1;;;;;11857:24:0;;;12541:55;;;;;;;;;;;;;;;;14963:136;;;;;;;;;;-1:-1:-1;14963:136:0;;;;;:::i;:::-;;:::i;15107:171::-;;;;;;;;;;-1:-1:-1;15107:171:0;;;;;:::i;:::-;;:::i;12239:31::-;;;;;;;;;;-1:-1:-1;12239:31:0;;;;-1:-1:-1;;;12239:31:0;;;;;;17507:216;17611:10;17582:4;17599:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;17599:32:0;;;;;;;;;;:41;;;17656:37;17582:4;;17599:32;;17656:37;;;;17634:6;160:25:1;;148:2;133:18;;14:177;17656:37:0;;;;;;;;-1:-1:-1;17711:4:0;17507:216;;;;;:::o;16533:109::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;;;;;;;;;16610:15:::1;:24:::0;16533:109::o;23063:87::-;23106:12;;:36;;-1:-1:-1;;;23106:36:0;;23131:10;23106:36;;;1916:51:1;-1:-1:-1;;;;;23106:12:0;;;;:24;;1889:18:1;;23106:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23063:87::o;18021:366::-;-1:-1:-1;;;;;18141:19:0;;18121:4;18141:19;;;:11;:19;;;;;;;;18161:10;18141:31;;;;;;;;-1:-1:-1;;18141:52:0;18138:186;;18243:69;;;;;;;;;;;-1:-1:-1;;;18243:69:0;;;;;;;;-1:-1:-1;;;;;18243:19:0;;-1:-1:-1;18243:19:0;;;:11;:19;;;;;18263:10;18243:31;;;;;;;;;;:69;;18279:6;;18243:35;:69::i;:::-;-1:-1:-1;;;;;18209:19:0;;;;;;:11;:19;;;;;;;;18229:10;18209:31;;;;;;;:103;18138:186;18343:36;18353:6;18361:9;18372:6;18343:9;:36::i;:::-;18336:43;;18021:366;;;;;;:::o;15948:90::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16010:12:0::1;16025:5;16010:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;16010:20:0::1;::::0;;15948:90::o;16661:142::-;16789:4;;-1:-1:-1;;;;;16789:4:0;16714:7;17335:18;;;:9;:18;;;;;;16741:54;;16768:4;;-1:-1:-1;;;;;16768:4:0;17317:7;17335:18;;;:9;:18;;;;;;16741:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;16734:61;;16661:142;:::o;15741:199::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;15854:12:::1;::::0;:70:::1;::::0;-1:-1:-1;;;15854:70:0;;::::1;::::0;::::1;7074:25:1::0;;;7115:18;;;7108:34;;;-1:-1:-1;;;;;15854:12:0;;::::1;::::0;:36:::1;::::0;7047:18:1;;15854:70:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15741:199:::0;;:::o;14373:233::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;14497:13:::1;:28:::0;;;;14536:11:::1;:22:::0;14569:11:::1;:29:::0;14373:233::o;14116:244::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;14212:6:::1;:18:::0;;;14241:7:::1;:20:::0;;;14292:2:::1;14282:12:::0;::::1;;14274:33;;;::::0;-1:-1:-1;;;14274:33:0;;7355:2:1;14274:33:0::1;::::0;::::1;7337:21:1::0;7394:1;7374:18;;;7367:29;-1:-1:-1;;;7412:18:1;;;7405:38;7460:18;;14274:33:0::1;7153:331:1::0;14274:33:0::1;14337:2;14326:7;;:13;;14318:34;;;::::0;-1:-1:-1;;;14318:34:0;;7355:2:1;14318:34:0::1;::::0;::::1;7337:21:1::0;7394:1;7374:18;;;7367:29;-1:-1:-1;;;7412:18:1;;;7405:38;7460:18;;14318:34:0::1;7153:331:1::0;14318:34:0::1;14116:244:::0;;:::o;15534:199::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;15643:21:::1;:39:::0;;;::::1;;-1:-1:-1::0;;;15643:39:0::1;-1:-1:-1::0;;;;15643:39:0;;::::1;::::0;;;::::1;::::0;;;15693:13:::1;:32:::0;15534:199::o;15286:102::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;15358:8:::1;:22:::0;;-1:-1:-1;;;;;;15358:22:0::1;-1:-1:-1::0;;;;;15358:22:0;;;::::1;::::0;;;::::1;::::0;;15286:102::o;17731:122::-;17786:4;17810:35;17818:7;-1:-1:-1;;17810:7:0;:35::i;22443:74::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;22499:10:::1;:8;:10::i;:::-;22443:74::o:0;22900:155::-;23004:12;;:43;;-1:-1:-1;;;23004:43:0;;-1:-1:-1;;;;;1934:32:1;;;23004:43:0;;;1916:51:1;22977:7:0;;23004:12;;:30;;1889:18:1;;23004:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14717:104::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;14792:9:::1;:21:::0;14717:104::o;22778:114::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;22853:12:::1;::::0;:31:::1;::::0;-1:-1:-1;;;;;;22853:31:0;;::::1;::::0;::::1;160:25:1::0;;;-1:-1:-1;;;;;22853:12:0;;::::1;::::0;:20:::1;::::0;133:18:1;;22853:31:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22778:114:::0;:::o;22525:245::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;22609:21:::1;22644:22:::0;;22641:122:::1;;22700:21;::::0;22692:59:::1;::::0;-1:-1:-1;;;;;22700:21:0;;::::1;::::0;22692:59;::::1;;;::::0;22732:18;;22700:21:::1;22692:59:::0;22700:21;22692:59;22732:18;22700:21;22692:59;::::1;;;;;;;;;;;;;::::0;::::1;;;;22641:122;22569:201;22525:245::o:0;14833:122::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14919:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;14919:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14833:122::o;17861:152::-;17941:4;17965:40;17975:10;17987:9;17998:6;17965:9;:40::i;13809:166::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;13885:6:::1;13880:88;13901:5;:12;13897:1;:16;13880:88;;;13952:4;13935;:14;13940:5;13946:1;13940:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13935:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13935:14:0;:21;;-1:-1:-1;;13935:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13915:3;::::1;::::0;::::1;:::i;:::-;;;;13880:88;;15400:121:::0;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;15486:10:::1;:27:::0;;-1:-1:-1;;;;;;15486:27:0::1;-1:-1:-1::0;;;;;15486:27:0;;;::::1;::::0;;;::::1;::::0;;15400:121::o;13987:115::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;14053:12:::1;14040:10;:25:::0;14076:11:::1;:18:::0;;-1:-1:-1;;;;14076:18:0::1;-1:-1:-1::0;;;14076:18:0::1;::::0;;13987:115::o;14614:95::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;14685:5:::1;:16:::0;14614:95::o;2886:136::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;2962:5:::1;:11:::0;;-1:-1:-1;;;;;;2962:11:0::1;-1:-1:-1::0;;;;;2962:11:0;::::1;::::0;;::::1;::::0;;;2989:25:::1;::::0;1916:51:1;;;2989:25:0::1;::::0;1904:2:1;1889:18;2989:25:0::1;;;;;;;2886:136:::0;:::o;16393:132::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;16481:36:::1;16502:6;16510;16481:20;:36::i;14963:136::-:0;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15059:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;15059:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14963:136::o;15107:171::-;2830:4;2865:5;-1:-1:-1;;;;;2865:5:0;2734:10;2854:16;2718:38;;;;-1:-1:-1;;;2718:38:0;;;;;;;:::i;:::-;15213:21:::1;:57:::0;;-1:-1:-1;;;;;;15213:57:0::1;-1:-1:-1::0;;;;;15213:57:0;;;::::1;::::0;;;::::1;::::0;;15107:171::o;896:250::-;954:7;978:1;983;978:6;974:47;;-1:-1:-1;1008:1:0;1001:8;;974:47;1033:9;1045:5;1049:1;1045;:5;:::i;:::-;1033:17;-1:-1:-1;1078:1:0;1069:5;1073:1;1033:17;1069:5;:::i;:::-;:10;1061:56;;;;-1:-1:-1;;;1061:56:0;;8895:2:1;1061:56:0;;;8877:21:1;8934:2;8914:18;;;8907:30;8973:34;8953:18;;;8946:62;-1:-1:-1;;;9024:18:1;;;9017:31;9065:19;;1061:56:0;8693:397:1;1152:132:0;1210:7;1237:39;1241:1;1244;1237:39;;;;;;;;;;;;;;;;;:3;:39::i;698:192::-;784:7;820:12;812:6;;;;804:29;;;;-1:-1:-1;;;804:29:0;;;;;;;;:::i;:::-;-1:-1:-1;844:9:0;856:5;860:1;856;:5;:::i;:::-;844:17;698:192;-1:-1:-1;;;;;698:192:0:o;18395:1422::-;18483:4;18513:5;;-1:-1:-1;;;;;18504:14:0;;;18513:5;;18504:14;;;;:35;;-1:-1:-1;18534:5:0;;-1:-1:-1;;;;;18522:17:0;;;18534:5;;18522:17;;18504:35;18500:88;;;18549:11;;-1:-1:-1;;;18549:11:0;;;;18541:47;;;;-1:-1:-1;;;18541:47:0;;9427:2:1;18541:47:0;;;9409:21:1;9466:2;9446:18;;;9439:30;9505:25;9485:18;;;9478:53;9548:18;;18541:47:0;9225:347:1;18541:47:0;-1:-1:-1;;;;;18650:12:0;;;;;;:4;:12;;;;;;;;18649:13;:33;;;;-1:-1:-1;;;;;;18667:15:0;;;;;;:4;:15;;;;;;;;18666:16;18649:33;18641:42;;;;;;18699:16;;-1:-1:-1;;;18699:16:0;;;;18696:73;;;18725:41;18740:6;18748:9;18759:6;18725:14;:41::i;:::-;18718:48;;;;18696:73;18799:5;;18789:6;:15;;:42;;;-1:-1:-1;;;;;;18808:23:0;;;;;;:15;:23;;;;;;;;18789:42;18781:57;;;;-1:-1:-1;;;18781:57:0;;9779:2:1;18781:57:0;;;9761:21:1;9818:1;9798:18;;;9791:29;-1:-1:-1;;;9836:18:1;;;9829:32;9878:18;;18781:57:0;9577:325:1;18781:57:0;-1:-1:-1;;;;;18855:26:0;;;;;;:15;:26;;;;;;;;18854:27;:38;;;;-1:-1:-1;18885:7:0;;-1:-1:-1;;;18885:7:0;;;;18854:38;18851:143;;;18962:9;;-1:-1:-1;;;;;18926:20:0;;;;;;:9;:20;;;;;;:32;;18951:6;18926:24;:32::i;:::-;:45;;18918:64;;;;-1:-1:-1;;;18918:64:0;;10109:2:1;18918:64:0;;;10091:21:1;10148:1;10128:18;;;10121:29;-1:-1:-1;;;10166:18:1;;;10159:36;10212:18;;18918:64:0;9907:329:1;18918:64:0;19023:4;;-1:-1:-1;;;;;19023:4:0;19009:10;:18;;;;:39;;-1:-1:-1;19032:16:0;;-1:-1:-1;;;19032:16:0;;;;19031:17;19009:39;:64;;;;-1:-1:-1;19052:21:0;;-1:-1:-1;;;19052:21:0;;;;19009:64;:109;;;;-1:-1:-1;19105:13:0;;19095:4;19077:24;;;;:9;:24;;;;;;:41;;19009:109;19006:128;;;19121:10;:8;:10::i;:::-;19166:53;;;;;;;;;;;-1:-1:-1;;;19166:53:0;;;;;;;;-1:-1:-1;;;;;19166:17:0;;-1:-1:-1;19166:17:0;;;:9;:17;;;;;;;;:53;;19188:6;;19166:21;:53::i;:::-;-1:-1:-1;;;;;19146:17:0;;;;;;:9;:17;;;;;;;;:73;;;;19263:11;:19;;;;;;;;19262:20;:47;;;;-1:-1:-1;;;;;;19287:22:0;;;;;;:11;:22;;;;;;;;19286:23;19262:47;:93;;19349:6;19262:93;;;19312:34;19320:6;19328:9;19339:6;19312:7;:34::i;:::-;-1:-1:-1;;;;;19389:20:0;;;;;;:9;:20;;;;;;19240:115;;-1:-1:-1;19389:37:0;;19240:115;19389:24;:37::i;:::-;-1:-1:-1;;;;;19366:20:0;;;;;;;:9;:20;;;;;;;;:60;;;;19472:24;;;;;:16;:24;;;;;;;19468:120;;19517:12;;-1:-1:-1;;;;;19547:17:0;;;19517:12;19547:17;;;:9;:17;;;;;;;;19517:48;;-1:-1:-1;;;19517:48:0;;;;;10415:51:1;;;;10482:18;;;10475:34;19517:12:0;;;:21;;10388:18:1;;19517:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19513:64;;-1:-1:-1;;;;;19604:27:0;;;;;;:16;:27;;;;;;;;19600:130;;19652:12;;-1:-1:-1;;;;;19685:20:0;;;19652:12;19685:20;;;:9;:20;;;;;;;;19652:54;;-1:-1:-1;;;19652:54:0;;;;;10415:51:1;;;;10482:18;;;10475:34;19652:12:0;;;:21;;10388:18:1;;19652:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19648:70;;19764:9;-1:-1:-1;;;;;19747:40:0;19756:6;-1:-1:-1;;;;;19747:40:0;;19775:11;19747:40;;;;160:25:1;;148:2;133:18;;14:177;19747:40:0;;;;;;;;-1:-1:-1;19805:4:0;;18395:1422;-1:-1:-1;;;;18395:1422:0:o;556:136::-;614:7;641:43;645:1;648;641:43;;;;;;;;;;;;;;;;;:3;:43::i;21367:1068::-;12397:16;:23;;-1:-1:-1;;;;12397:23:0;-1:-1:-1;;;12397:23:0;;;21466:4:::1;12397:23:::0;21448:24;;;:9:::1;:24;::::0;;;;;21530:11:::1;::::0;21448:24;;12397:23;21513:45:::1;::::0;21556:1:::1;::::0;21513:38:::1;::::0;21547:3:::1;::::0;21513:38;;21448:24;;21513:16:::1;:29::i;:::-;:33:::0;::::1;:38::i;:45::-;21484:74:::0;-1:-1:-1;21574:20:0::1;21597:36;:12:::0;21484:74;21597:16:::1;:36::i;:::-;21574:59;;21646:30;21663:12;21646:16;:30::i;:::-;21689:23;21715:21;21689:47;;21747:19;21769:43;21808:3;21769:34;21789:13;;21769:15;:19;;:34;;;;:::i;:43::-;21747:65;;21823:35;21861:41;21898:3;21861:32;21881:11;;21861:15;:19;;:32;;;;:::i;:41::-;21823:79;;21913:23;21939:48;21985:1;21939:41;21976:3;21939:32;21959:11;;21939:15;:19;;:32;;;;:::i;:48::-;21913:74:::0;-1:-1:-1;22010:19:0;;22006:221:::1;;22053:21;::::0;-1:-1:-1;;;;;22053:21:0::1;22045:82;22085:41;22124:1;22085:34;:27:::0;22117:1:::1;22085:31;:34::i;:41::-;22045:82;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;22150:12:0::1;::::0;-1:-1:-1;;;;;22150:12:0::1;22142:73;22173:41;22212:1;22173:34;:27:::0;22205:1:::1;22173:31;:34::i;:41::-;22142:73;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;22006:221;22251:12;;;;;;;;;-1:-1:-1::0;;;;;22251:12:0::1;-1:-1:-1::0;;;;;22251:20:0::1;;22279:11;22251:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;22247:58:::0;22329:22;;22325:103:::1;;22367:49;22380:18;22400:15;22367:12;:49::i;:::-;-1:-1:-1::0;;12443:16:0;:24;;-1:-1:-1;;;;12443:24:0;;;-1:-1:-1;;;;;21367:1068:0:o;16046:339::-;-1:-1:-1;;;;;16133:23:0;;16151:4;16133:23;;;;:41;;-1:-1:-1;16170:4:0;;-1:-1:-1;;;;;16160:14:0;;;16170:4;;16160:14;;16133:41;16125:50;;;;;;-1:-1:-1;;;;;16186:24:0;;;;;;:16;:24;;;;;:33;;-1:-1:-1;;16186:33:0;;;;;;;;;;;;16230:148;;16255:12;;:32;;-1:-1:-1;;;16255:32:0;;-1:-1:-1;;;;;10433:32:1;;;16255::0;;;10415:51:1;16255:12:0;10482:18:1;;;10475:34;16255:12:0;;;;:21;;10388:18:1;;16255:32:0;10241:274:1;16230:148:0;16318:12;;-1:-1:-1;;;;;16348:17:0;;;16318:12;16348:17;;;:9;:17;;;;;;;;16318:48;;-1:-1:-1;;;16318:48:0;;;;;10415:51:1;;;;10482:18;;;10475:34;16318:12:0;;;:21;;10388:18:1;;16318:48:0;10241:274:1;1290:345:0;1376:7;1478:12;1471:5;1463:28;;;;-1:-1:-1;;;1463:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1502:9:0;1514:5;1518:1;1514;:5;:::i;19829:330::-;19959:53;;;;;;;;;;;-1:-1:-1;;;19959:53:0;;;;;;;;-1:-1:-1;;;;;19959:17:0;;19922:4;19959:17;;;:9;:17;;;;;;;:53;;19981:6;;19959:21;:53::i;:::-;-1:-1:-1;;;;;19939:17:0;;;;;;;:9;:17;;;;;;:73;;;;20046:20;;;;;;;:32;;20071:6;20046:24;:32::i;:::-;-1:-1:-1;;;;;20023:20:0;;;;;;;:9;:20;;;;;;;:55;;;;20094:35;;;;;;;;;;20122:6;160:25:1;;148:2;133:18;;14:177;20094:35:0;;;;;;;;-1:-1:-1;20147:4:0;19829:330;;;;;:::o;369:181::-;427:7;;459:5;463:1;459;:5;:::i;:::-;447:17;;488:1;483;:6;;475:46;;;;-1:-1:-1;;;475:46:0;;11142:2:1;475:46:0;;;11124:21:1;11181:2;11161:18;;;11154:30;11220:29;11200:18;;;11193:57;11267:18;;475:46:0;10940:351:1;20173:427:0;20313:4;;20259:7;;;;-1:-1:-1;;;;;20313:17:0;;;:4;;:17;:36;;20343:6;;20313:36;;;20333:7;;20313:36;20289:60;-1:-1:-1;20360:17:0;20380:34;20410:3;20380:25;:6;20289:60;20380:10;:25::i;:34::-;20472:4;20454:24;;;;:9;:24;;;;;;20360:54;;-1:-1:-1;20454:39:0;;20360:54;20454:28;:39::i;:::-;20445:4;20427:24;;;;:9;:24;;;;;;;:66;;;;20509:42;;-1:-1:-1;;;;;20509:42:0;;;;;;;20541:9;160:25:1;;148:2;133:18;;14:177;20509:42:0;;;;;;;;20571:21;:6;20582:9;20571:10;:21::i;:::-;20564:28;20173:427;-1:-1:-1;;;;;;20173:427:0:o;20612:460::-;20704:16;;;20718:1;20704:16;;;;;;;;20680:21;;20704:16;;;;;;;;;;-1:-1:-1;20704:16:0;20680:40;;20749:4;20731;20736:1;20731:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20731:23:0;;;:7;;;;;;;;;;:23;;;;20775:6;;:13;;;-1:-1:-1;;;20775:13:0;;;;:6;;;;;:11;;:13;;;;;20731:7;;20775:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20765:4;20770:1;20765:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;20765:23:0;;;-1:-1:-1;;;;;20765:23:0;;;;;20801:35;20817:4;20824:11;20801:7;:35::i;:::-;-1:-1:-1;20849:6:0;;:215;;-1:-1:-1;;;20849:215:0;;-1:-1:-1;;;;;20849:6:0;;;;:57;;:215;;20921:11;;20849:6;;20991:4;;21018;;21038:15;;20849:215;;;:::i;21080:279::-;21161:6;;21302:8;;21161:190;;-1:-1:-1;;;21161:190:0;;21224:4;21161:190;;;12878:34:1;12928:18;;;12921:34;;;21161:6:0;12971:18:1;;;12964:34;;;13014:18;;;13007:34;-1:-1:-1;;;;;21302:8:0;;;13057:19:1;;;13050:44;21325:15:0;13110:19:1;;;13103:35;21161:6:0;;;:22;;21191:9;;12812:19:1;;21161:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:134;1002:20;;1031:31;1002:20;1031:31;:::i;:::-;934:134;;;:::o;1073:315::-;1141:6;1149;1202:2;1190:9;1181:7;1177:23;1173:32;1170:52;;;1218:1;1215;1208:12;1170:52;1257:9;1244:23;1276:31;1301:5;1276:31;:::i;:::-;1326:5;1378:2;1363:18;;;;1350:32;;-1:-1:-1;;;1073:315:1:o;1585:180::-;1644:6;1697:2;1685:9;1676:7;1672:23;1668:32;1665:52;;;1713:1;1710;1703:12;1665:52;-1:-1:-1;1736:23:1;;1585:180;-1:-1:-1;1585:180:1:o;1978:456::-;2055:6;2063;2071;2124:2;2112:9;2103:7;2099:23;2095:32;2092:52;;;2140:1;2137;2130:12;2092:52;2179:9;2166:23;2198:31;2223:5;2198:31;:::i;:::-;2248:5;-1:-1:-1;2305:2:1;2290:18;;2277:32;2318:33;2277:32;2318:33;:::i;:::-;1978:456;;2370:7;;-1:-1:-1;;;2424:2:1;2409:18;;;;2396:32;;1978:456::o;2439:247::-;2498:6;2551:2;2539:9;2530:7;2526:23;2522:32;2519:52;;;2567:1;2564;2557:12;2519:52;2606:9;2593:23;2625:31;2650:5;2625:31;:::i;2691:248::-;2759:6;2767;2820:2;2808:9;2799:7;2795:23;2791:32;2788:52;;;2836:1;2833;2826:12;2788:52;-1:-1:-1;;2859:23:1;;;2929:2;2914:18;;;2901:32;;-1:-1:-1;2691:248:1:o;2944:316::-;3021:6;3029;3037;3090:2;3078:9;3069:7;3065:23;3061:32;3058:52;;;3106:1;3103;3096:12;3058:52;-1:-1:-1;;3129:23:1;;;3199:2;3184:18;;3171:32;;-1:-1:-1;3250:2:1;3235:18;;;3222:32;;2944:316;-1:-1:-1;2944:316:1:o;3454:160::-;3519:20;;3575:13;;3568:21;3558:32;;3548:60;;3604:1;3601;3594:12;3619:248;3684:6;3692;3745:2;3733:9;3724:7;3720:23;3716:32;3713:52;;;3761:1;3758;3751:12;3713:52;3784:26;3800:9;3784:26;:::i;4109:315::-;4174:6;4182;4235:2;4223:9;4214:7;4210:23;4206:32;4203:52;;;4251:1;4248;4241:12;4203:52;4290:9;4277:23;4309:31;4334:5;4309:31;:::i;:::-;4359:5;-1:-1:-1;4383:35:1;4414:2;4399:18;;4383:35;:::i;:::-;4373:45;;4109:315;;;;;:::o;4429:127::-;4490:10;4485:3;4481:20;4478:1;4471:31;4521:4;4518:1;4511:15;4545:4;4542:1;4535:15;4561:1121;4645:6;4676:2;4719;4707:9;4698:7;4694:23;4690:32;4687:52;;;4735:1;4732;4725:12;4687:52;4775:9;4762:23;4804:18;4845:2;4837:6;4834:14;4831:34;;;4861:1;4858;4851:12;4831:34;4899:6;4888:9;4884:22;4874:32;;4944:7;4937:4;4933:2;4929:13;4925:27;4915:55;;4966:1;4963;4956:12;4915:55;5002:2;4989:16;5024:2;5020;5017:10;5014:36;;;5030:18;;:::i;:::-;5076:2;5073:1;5069:10;5108:2;5102:9;5171:2;5167:7;5162:2;5158;5154:11;5150:25;5142:6;5138:38;5226:6;5214:10;5211:22;5206:2;5194:10;5191:18;5188:46;5185:72;;;5237:18;;:::i;:::-;5273:2;5266:22;5323:18;;;5357:15;;;;-1:-1:-1;5399:11:1;;;5395:20;;;5427:19;;;5424:39;;;5459:1;5456;5449:12;5424:39;5483:11;;;;5503:148;5519:6;5514:3;5511:15;5503:148;;;5585:23;5604:3;5585:23;:::i;:::-;5573:36;;5536:12;;;;5629;;;;5503:148;;;5670:6;4561:1121;-1:-1:-1;;;;;;;;4561:1121:1:o;5947:388::-;6015:6;6023;6076:2;6064:9;6055:7;6051:23;6047:32;6044:52;;;6092:1;6089;6082:12;6044:52;6131:9;6118:23;6150:31;6175:5;6150:31;:::i;:::-;6200:5;-1:-1:-1;6257:2:1;6242:18;;6229:32;6270:33;6229:32;6270:33;:::i;:::-;6322:7;6312:17;;;5947:388;;;;;:::o;6566:329::-;6768:2;6750:21;;;6807:1;6787:18;;;6780:29;-1:-1:-1;;;6840:2:1;6825:18;;6818:36;6886:2;6871:18;;6566:329::o;7489:184::-;7559:6;7612:2;7600:9;7591:7;7587:23;7583:32;7580:52;;;7628:1;7625;7618:12;7580:52;-1:-1:-1;7651:16:1;;7489:184;-1:-1:-1;7489:184:1:o;7678:127::-;7739:10;7734:3;7730:20;7727:1;7720:31;7770:4;7767:1;7760:15;7794:4;7791:1;7784:15;7810:127;7871:10;7866:3;7862:20;7859:1;7852:31;7902:4;7899:1;7892:15;7926:4;7923:1;7916:15;7942:135;7981:3;8002:17;;;7999:43;;8022:18;;:::i;:::-;-1:-1:-1;8069:1:1;8058:13;;7942:135::o;8298:168::-;8338:7;8404:1;8400;8396:6;8392:14;8389:1;8386:21;8381:1;8374:9;8367:17;8363:45;8360:71;;;8411:18;;:::i;:::-;-1:-1:-1;8451:9:1;;8298:168::o;8471:217::-;8511:1;8537;8527:132;;8581:10;8576:3;8572:20;8569:1;8562:31;8616:4;8613:1;8606:15;8644:4;8641:1;8634:15;8527:132;-1:-1:-1;8673:9:1;;8471:217::o;9095:125::-;9135:4;9163:1;9160;9157:8;9154:34;;;9168:18;;:::i;:::-;-1:-1:-1;9205:9:1;;9095:125::o;10807:128::-;10847:3;10878:1;10874:6;10871:1;10868:13;10865:39;;;10884:18;;:::i;:::-;-1:-1:-1;10920:9:1;;10807:128::o;11296:251::-;11366:6;11419:2;11407:9;11398:7;11394:23;11390:32;11387:52;;;11435:1;11432;11425:12;11387:52;11467:9;11461:16;11486:31;11511:5;11486:31;:::i;11552:980::-;11814:4;11862:3;11851:9;11847:19;11893:6;11882:9;11875:25;11919:2;11957:6;11952:2;11941:9;11937:18;11930:34;12000:3;11995:2;11984:9;11980:18;11973:31;12024:6;12059;12053:13;12090:6;12082;12075:22;12128:3;12117:9;12113:19;12106:26;;12167:2;12159:6;12155:15;12141:29;;12188:1;12198:195;12212:6;12209:1;12206:13;12198:195;;;12277:13;;-1:-1:-1;;;;;12273:39:1;12261:52;;12368:15;;;;12333:12;;;;12309:1;12227:9;12198:195;;;-1:-1:-1;;;;;;;12449:32:1;;;;12444:2;12429:18;;12422:60;-1:-1:-1;;;12513:3:1;12498:19;12491:35;12410:3;11552:980;-1:-1:-1;;;11552:980:1:o;13149:306::-;13237:6;13245;13253;13306:2;13294:9;13285:7;13281:23;13277:32;13274:52;;;13322:1;13319;13312:12;13274:52;13351:9;13345:16;13335:26;;13401:2;13390:9;13386:18;13380:25;13370:35;;13445:2;13434:9;13430:18;13424:25;13414:35;;13149:306;;;;;:::o

Swarm Source

ipfs://549abfc95938c55d25ef4076202c211d69cf286a3b8cd6e1b7d5d3eab8058160
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.