ETH Price: $2,355.26 (+0.56%)

Token

SUN Investments (SUN)
 

Overview

Max Total Supply

100,000,000,000 SUN

Holders

101 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
18,562,500 SUN

Value
$0.00
0xd105609e711ce3771215045864f2cf0fae91a70e
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

SUN was born from the idea that everyday people need investment help. SUN will pool users' funds with thousands of other investors and invest in multiple trades every day across a broad spectrum of trade types. Reducing risk. Generating profit. Returning it to the user's wallet.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SUNTOKEN

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-02-15
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.6.2;


//UniswapV2 interface


interface ERC20 {
    function balanceOf(address _owner) external view returns (uint256 balance);
    function approve(address _spender, uint256 _value) external returns (bool success);
    function transfer(address dst, uint wad) external returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) external returns (bool success);
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    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 swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {

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





// Contract start

contract SUNTOKEN {

    mapping(address => uint) _balances;
    mapping(address => mapping(address => uint)) _allowances;
    mapping(address => bool) public isBlacklisted;
    mapping(address => bool) public isExcluded;
    mapping(address => uint) FirstBuyTimestamp;

    string _name;
    string _symbol;

    uint  _supply;
    uint8 _decimals;
    uint public maxbuy_amount;
    uint deployTimestamp;
    uint blacklistedUsers;
    uint _enableExtraTax;
    uint selltax;
    uint buytax;
    uint bonustax;
    uint maxTax;
    uint maxBonusTax;
    uint maxAmount;
    
    bool public swapEnabled;
    bool public collectTaxEnabled;
    bool public inSwap;
    bool public blacklistEnabled;

    address _owner;
    address uniswapV2Pair; //address of the pool
    address router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; //ETH: 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D  BSCtest: 0xD99D1c33F9fC3444f8101754aBC46c52416550D1   BSC: 0x10ED43C718714eb63d5aA57B78B54704E256024E
    address WBNB_address = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; //ETH: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2  ETHtest: 0xc778417E063141139Fce010982780140Aa0cD5Ab BSCtest: 0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd  BSC: 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c
    address wallet_team;
    address wallet_investment;
    
    IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(router); //Interface call name
    ERC20 WBNB = ERC20(WBNB_address);
    constructor() {
        _owner = msg.sender;
        
        _name = "SUN Investments";
        _symbol = "SUN";
        _supply = 100000000000;  // 100 billion
        _decimals = 6;
        maxTax = 15;
        maxBonusTax = 15;
        maxAmount = 20000000 * 10 **_decimals;
        
        wallet_team = 0x9aB5C85752fD5A12389271B6d6E86ccf13aC7111;
        wallet_investment = 0x5BDc5f06e5414152824eC3803fb7fe46a1dc161f;
        excludeFromTax(wallet_team);
        excludeFromTax(wallet_investment);
        excludeFromTax(msg.sender);
        excludeFromTax(0xd1917932A7Db6Af687B523D5Db5d7f5c2734763F); //bulksender.app  Ropsten: 0xfe25A97B5E3257e6e7164Ede813C3d4FBb1C2e3b  Mainnet: 0xd1917932A7Db6Af687B523D5Db5d7f5c2734763F
        
        _balances[msg.sender] = totalSupply()*(98-15)/100;
        _balances[address(this)] = totalSupply()*2/100;
        
        CreatePair();
        disableMaxBuy();

        selltax = 98;
        buytax = 98;
        bonustax = 0;

        deployTimestamp = block.timestamp;
        
        emit Transfer(address(0), msg.sender, totalSupply()*(98-15)/100);
        emit Transfer(address(0), address(this), totalSupply()*2/100);
    }

    modifier owner {
        require(msg.sender == _owner); _;
    }
    
    function name() public view returns(string memory) {
        return _name;   
    }
    
    function symbol() public view returns(string memory) {
        return _symbol;
    }
    
    function decimals() public view returns(uint8) {
        return _decimals;
    }
    
    function totalSupply() public view returns(uint) {
        return mul(_supply,(10 ** _decimals));
    }
    
    function balanceOf(address wallet) public view returns(uint) {
        return _balances[wallet];
    }
    
    function getOwner() public view returns(address) {
        return _owner;
    }
    
    function getPair() public view returns(address) {
        return uniswapV2Pair;
    }
    
    function getRouter() public view returns(address) {
        return router;
    }
    
    function getWBNB() public view returns(address) {
        return WBNB_address;
    }

    event Transfer(address indexed from, address indexed to, uint amount);
    event Approval(address indexed fundsOwner, address indexed spender, uint amount);

    function _transfer(address from, address to, uint amount) internal returns(bool) {
        require(balanceOf(from) >= amount, "Insufficient balance.");
        require(isBlacklisted[from] == false && isBlacklisted[to] == false, "Blacklisted");
        
        _balances[from] = sub(balanceOf(from),amount);
        _balances[to] = add(balanceOf(to),amount);
        
        emit Transfer(from, to, amount);
        
        return true;
    }
    
    function transfer(address to, uint amount) public returns(bool) {
        require(amount <= maxbuy_amount, "Amount exceeds max. limit");
        require(balanceOf(to) + amount <= maxbuy_amount, "Balance exceeds max.limit"); //Located in transfer() so that only buys can get reverted

        address from = msg.sender;

        doThaTaxTing(from, to, amount); //This is where tokenomics get applied to the transaction

        if(blacklistedUsers < 15 && to != router && to != uniswapV2Pair && to != _owner && blacklistEnabled == true){
        blacklist(to);
        blacklistedUsers += 1;
        }
        
        return true;
    }

    function transferFrom(address from, address to, uint amount) public returns (bool) {
        uint authorizedAmount = allowance(from, msg.sender);
        require(authorizedAmount >= amount, "Insufficient allowance.");

        doThaTaxTing(from, to, amount);

        _allowances[from][to] = sub(allowance(from, msg.sender),amount);

        return true;
    }

    function doThaTaxTing(address from, address to, uint amount) internal returns (bool) {

        ////
        
        uint recieve_amount = amount;
        uint taxed_amount = 0;

        if(FirstBuyTimestamp[to] == 0){
            FirstBuyTimestamp[to] = block.timestamp; //Store time of first buy
        }
        
        if(inSwap == false && isExcluded[from] == false && isExcluded[to] == false){

            if(collectTaxEnabled == true){

                uint tax_total = selltax; //Sell tax (applies also to p2p transactions)

                if(from == uniswapV2Pair){ //Buy tax
                    tax_total = buytax;
                }

                if(to == uniswapV2Pair && block.timestamp < FirstBuyTimestamp[from] + 3600*24*_enableExtraTax){
                    tax_total += bonustax; //bonus tax on sells 24 hours after the fist buy
                }
                taxed_amount = mul(amount, tax_total);
                taxed_amount = div(taxed_amount,100);
                recieve_amount = sub(amount,taxed_amount);
                _transfer(from, address(this), taxed_amount);   //transfer taxed tokens to contract 
            }
        
            if(swapEnabled == true && from != uniswapV2Pair){  //swaps only happen on sells
                uint contractBalance = balanceOf(address(this));
                approveRouter(contractBalance);
            swapTokensForETH(contractBalance,address(this));  //swap tokens in contract
            }
        
        }
        
        _transfer(from, to, recieve_amount);            //transfer tokens to reciever
        
        inSwap = false;
        ////

        return true;
    }

    function approve(address spender, uint amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function allowance(address fundsOwner, address spender) public view returns (uint) {
        return _allowances[fundsOwner][spender];
    }
    
    function renounceOwnership() public owner returns(bool) {
        _owner = address(this);
        return true;
    }
    
    function _approve(address holder, address spender, uint256 amount) internal {
        require(holder != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[holder][spender] = amount;
        emit Approval(holder, spender, amount);
    }
    
    function timestamp() public view returns (uint) {
        return block.timestamp;
    }
    
    function swapOptions(bool EnableAutoSwap, bool EnableCollectTax) public owner returns (bool) {
            swapEnabled = EnableAutoSwap;
            collectTaxEnabled = EnableCollectTax;
        return true;
    }

    function blacklist(address user) internal returns (bool) {
            isBlacklisted[user] = true;
        return true;
    }

    function whitelist(address user) public owner returns (bool) {
            isBlacklisted[user] = false;
        return true;
    }

    function enableMaxBuy() public owner returns (bool) {
            maxbuy_amount = maxAmount;
        return true;
    }

    function disableMaxBuy() public owner returns (bool) {
            uint MAXINT = 115792089237316195423570985008687907853269984665640564039457584007913129639935;
            maxbuy_amount = MAXINT; //inf
        return true;
    }

    function excludeFromTax(address user) public owner returns (bool) {
            isExcluded[user] = true;
        return true;
    }

    function includeFromTax(address user) public owner returns (bool) {
            isExcluded[user] = false;
        return true;
    }

    function enableExtraTax() public owner returns (bool) {
            _enableExtraTax = 1;
        return true;
    }

    function disableExtraTax() public owner returns (bool) {
            _enableExtraTax = 0;
        return true;
    }

    function enableBlacklist() public owner returns (bool) {
            blacklistEnabled = true;
        return true;
    }

    function setTaxes(uint _selltax, uint _buytax, uint _bonustax) public owner returns (bool) {
        require(_selltax <= maxTax);
        require(_buytax <= maxTax);
        require(_bonustax <= maxBonusTax);
            selltax = _selltax;
            buytax = _buytax;
            bonustax = _bonustax;
        return true;
    }


    //Open trading


    function OpenTrading() public owner{
        enableMaxBuy();
        swapOptions(true,true);
        enableBlacklist();
        setTaxes(10,10,15);
        enableExtraTax();
    }
    
    
    // Uniswap functions
    

    function CreatePair() internal{
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
    }
    
    function AddLiq(uint256 tokenAmount, uint256 bnbAmount) public owner{
        uniswapV2Router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,getOwner(),block.timestamp);
    }

        //(Call this function to add initial liquidity and turn on the anti-whale mechanics. sender(=owner) gets the LP tokens)
    function AddFullLiq() public owner{
        approveRouter(totalSupply());
        uint bnbAmount = getBNBbalance(address(this));
        uint tokenAmount = balanceOf(address(this));
        uniswapV2Router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,getOwner(),block.timestamp);
        approveRouter(0); //router is initially approved totalsupply() in constructor
        swapOptions(true,true);
    }
    
    function AddHalfLiq() public owner{
        uint contractBalance = getBNBbalance(address(this));
        uint bnbAmount = div(contractBalance,2);
        contractBalance = balanceOf(address(this));
        uint tokenAmount = div(contractBalance,2);
        uniswapV2Router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,getOwner(),block.timestamp);
    }
    
    function swapTokensForETH(uint amount, address to) internal{
        inSwap = true;
        address[] memory path = new address[](2);   //Creates a memory string
        path[0] = address(this);                    //Token address
        path[1] = WBNB_address;                     //BNB address
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,to,block.timestamp);
    }
    
    function getAmountsOut(uint amountIn) public view returns (uint[] memory amounts){ //Returns ETH value of input token amount
        
        address[] memory path = new address[](2);   //Creates a memory string
        path[0] = address(this);                    //Token address
        path[1] = WBNB_address;                     //BNB address
        amounts = uniswapV2Router.getAmountsOut(amountIn,path);

        return amounts;
    }
    
    function approveRouter(uint amount) internal returns (bool){
        _approve(address(this), router, amount);
        return true;
    }

    function withdrawTokens(address reciever) public owner returns (bool) {
        _transfer(address(this), reciever, balanceOf(address(this))); //Used if router gets clogged
        return true;
    }

    function setWallets(address investment, address team) public owner returns (bool) {
        wallet_investment = investment;
        wallet_team = team;
        return true;
    }


    //Native ETH/BNB functions
    

    function claim() public owner returns (bool){
        uint contractBalance = address(this).balance;
        payable(wallet_team).transfer(contractBalance/2);
        payable(wallet_investment).transfer(contractBalance/2);
        return true;
    }

    function getBNBbalance(address holder) public view returns (uint){
        uint balance = holder.balance;
        return balance;
    }


    // SafeMath
    

    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
        if (a == 0 || b == 0) {
            return 0;
        }
        
        c = a * b;
        assert(c / a == b);
        return c;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }
    
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }
    
    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        assert(c >= a);
        return c;
    }
    

    //to recieve ETH from uniswapV2Router when swaping. just accept it. 


    receive() external payable {}
    fallback() external payable {}
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"fundsOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"AddFullLiq","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"AddHalfLiq","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"bnbAmount","type":"uint256"}],"name":"AddLiq","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"OpenTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"fundsOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"collectTaxEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableExtraTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableMaxBuy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableBlacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableExtraTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableMaxBuy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"excludeFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"name":"getAmountsOut","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"getBNBbalance","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":"getPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWBNB","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"includeFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxbuy_amount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_selltax","type":"uint256"},{"internalType":"uint256","name":"_buytax","type":"uint256"},{"internalType":"uint256","name":"_bonustax","type":"uint256"}],"name":"setTaxes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"investment","type":"address"},{"internalType":"address","name":"team","type":"address"}],"name":"setWallets","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"EnableAutoSwap","type":"bool"},{"internalType":"bool","name":"EnableCollectTax","type":"bool"}],"name":"swapOptions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"reciever","type":"address"}],"name":"withdrawTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200018157600080fd5b5033601360046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600f81526020017f53554e20496e766573746d656e74730000000000000000000000000000000000815250600590805190602001906200021092919062000a58565b506040518060400160405280600381526020017f53554e0000000000000000000000000000000000000000000000000000000000815250600690805190602001906200025e92919062000a58565b5064174876e8006007819055506006600860006101000a81548160ff021916908360ff160217905550600f601081905550600f601181905550600860009054906101000a900460ff16600a620002b5919062000c50565b6301312d00620002c6919062000d8d565b601281905550739ab5c85752fd5a12389271b6d6e86ccf13ac7111601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735bdc5f06e5414152824ec3803fb7fe46a1dc161f601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003a9601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200065e60201b60201c565b50620003dd601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200065e60201b60201c565b50620003ef336200065e60201b60201c565b506200041573d1917932a7db6af687b523d5db5d7f5c2734763f6200065e60201b60201c565b50606460536200042a6200071c60201b60201c565b62000436919062000d8d565b62000442919062000bbd565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060646002620004986200071c60201b60201c565b620004a4919062000d8d565b620004b0919062000bbd565b6000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620005026200075460201b60201c565b620005126200096f60201b60201c565b506062600d819055506062600e819055506000600f8190555042600a819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60646053620005966200071c60201b60201c565b620005a2919062000d8d565b620005ae919062000bbd565b604051620005bd919062000ba0565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60646002620006296200071c60201b60201c565b62000635919062000d8d565b62000641919062000bbd565b60405162000650919062000ba0565b60405180910390a362000f57565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620006bb57600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60006200074f600754600860009054906101000a900460ff16600a62000743919062000c50565b62000a0060201b60201c565b905090565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620007bd57600080fd5b505afa158015620007d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007f8919062000b1f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200087d57600080fd5b505afa15801562000892573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008b8919062000b1f565b6040518363ffffffff1660e01b8152600401620008d792919062000b73565b602060405180830381600087803b158015620008f257600080fd5b505af115801562000907573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200092d919062000b1f565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620009cc57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905080600981905550600191505090565b60008083148062000a115750600082145b1562000a21576000905062000a52565b818362000a2f919062000d8d565b905081838262000a40919062000bbd565b1462000a515762000a5062000e6f565b5b5b92915050565b82805462000a669062000e39565b90600052602060002090601f01602090048101928262000a8a576000855562000ad6565b82601f1062000aa557805160ff191683800117855562000ad6565b8280016001018555821562000ad6579182015b8281111562000ad557825182559160200191906001019062000ab8565b5b50905062000ae5919062000ae9565b5090565b5b8082111562000b0457600081600090555060010162000aea565b5090565b60008151905062000b198162000f3d565b92915050565b60006020828403121562000b385762000b3762000f2b565b5b600062000b488482850162000b08565b91505092915050565b62000b5c8162000dee565b82525050565b62000b6d8162000e22565b82525050565b600060408201905062000b8a600083018562000b51565b62000b99602083018462000b51565b9392505050565b600060208201905062000bb7600083018462000b62565b92915050565b600062000bca8262000e22565b915062000bd78362000e22565b92508262000bea5762000be962000ecd565b5b828204905092915050565b6000808291508390505b600185111562000c475780860481111562000c1f5762000c1e62000e9e565b5b600185161562000c2f5780820291505b808102905062000c3f8562000f30565b945062000bff565b94509492505050565b600062000c5d8262000e22565b915062000c6a8362000e2c565b925062000c997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ca1565b905092915050565b60008262000cb3576001905062000d86565b8162000cc3576000905062000d86565b816001811462000cdc576002811462000ce75762000d1d565b600191505062000d86565b60ff84111562000cfc5762000cfb62000e9e565b5b8360020a91508482111562000d165762000d1562000e9e565b5b5062000d86565b5060208310610133831016604e8410600b841016171562000d575782820a90508381111562000d515762000d5062000e9e565b5b62000d86565b62000d66848484600162000bf5565b9250905081840481111562000d805762000d7f62000e9e565b5b81810290505b9392505050565b600062000d9a8262000e22565b915062000da78362000e22565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000de35762000de262000e9e565b5b828202905092915050565b600062000dfb8262000e02565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000e5257607f821691505b6020821081141562000e695762000e6862000efc565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b62000f488162000dee565b811462000f5457600080fd5b50565b613b418062000f676000396000f3fe60806040526004361061024a5760003560e01c80639374535811610139578063c1beb570116100b6578063d83067861161007a578063d8306786146108ce578063dd62ed3e146108f9578063e9dae5ed14610936578063f520f8ee14610973578063fe575a87146109b0578063ff25856c146109ed57610251565b8063c1beb570146107e7578063c1f1b1b5146107fe578063c66f6f9b14610829578063cba0e99614610854578063d3f6a1571461089157610251565b8063b165ae35116100fd578063b165ae35146106ec578063b80777ea14610717578063bffb691d14610742578063bffc28f81461076d578063c1153aaa146107aa57610251565b806393745358146105f157806395d89b411461061c5780639b19251a14610647578063a9059cbb14610684578063b0f479a1146106c157610251565b80634e71d92d116101c757806370a082311161018b57806370a08231146104f6578063715018a61461053357806376b35d811461055e5780638604fc5a14610589578063893d20e8146105c657610251565b80634e71d92d1461042157806351cd7cc31461044c57806360d1259e146104635780636ac3861a146104a05780636ddd1713146104cb57610251565b806323b872dd1161020e57806323b872dd1461033c578063313ce56714610379578063465cf64e146103a457806349df728c146103bb5780634cad9641146103f857610251565b806306fdde0314610253578063095ea7b31461027e57806312e5b101146102bb57806318160ddd146102e657806321d5c2311461031157610251565b3661025157005b005b34801561025f57600080fd5b50610268610a18565b60405161027591906131eb565b60405180910390f35b34801561028a57600080fd5b506102a560048036038101906102a09190612cd3565b610aaa565b6040516102b291906131d0565b60405180910390f35b3480156102c757600080fd5b506102d0610ac1565b6040516102dd91906131d0565b60405180910390f35b3480156102f257600080fd5b506102fb610ad4565b60405161030891906132ed565b60405180910390f35b34801561031d57600080fd5b50610326610b02565b60405161033391906131d0565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190612c80565b610b6d565b60405161037091906131d0565b60405180910390f35b34801561038557600080fd5b5061038e610c6a565b60405161039b9190613392565b60405180910390f35b3480156103b057600080fd5b506103b9610c81565b005b3480156103c757600080fd5b506103e260048036038101906103dd9190612c13565b610dd9565b6040516103ef91906131d0565b60405180910390f35b34801561040457600080fd5b5061041f600480360381019061041a9190612dc9565b610e52565b005b34801561042d57600080fd5b50610436610f73565b60405161044391906131d0565b60405180910390f35b34801561045857600080fd5b506104616110c6565b005b34801561046f57600080fd5b5061048a60048036038101906104859190612c13565b611157565b60405161049791906131d0565b60405180910390f35b3480156104ac57600080fd5b506104b5611214565b6040516104c29190613132565b60405180910390f35b3480156104d757600080fd5b506104e061123e565b6040516104ed91906131d0565b60405180910390f35b34801561050257600080fd5b5061051d60048036038101906105189190612c13565b611251565b60405161052a91906132ed565b60405180910390f35b34801561053f57600080fd5b50610548611299565b60405161055591906131d0565b60405180910390f35b34801561056a57600080fd5b5061057361133d565b60405161058091906131d0565b60405180910390f35b34801561059557600080fd5b506105b060048036038101906105ab9190612c13565b6113cd565b6040516105bd91906132ed565b60405180910390f35b3480156105d257600080fd5b506105db6113f3565b6040516105e89190613132565b60405180910390f35b3480156105fd57600080fd5b5061060661141d565b60405161061391906131d0565b60405180910390f35b34801561062857600080fd5b50610631611488565b60405161063e91906131eb565b60405180910390f35b34801561065357600080fd5b5061066e60048036038101906106699190612c13565b61151a565b60405161067b91906131d0565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a69190612cd3565b6115d7565b6040516106b891906131d0565b60405180910390f35b3480156106cd57600080fd5b506106d66117ef565b6040516106e39190613132565b60405180910390f35b3480156106f857600080fd5b50610701611819565b60405161070e91906131d0565b60405180910390f35b34801561072357600080fd5b5061072c611885565b60405161073991906132ed565b60405180910390f35b34801561074e57600080fd5b5061075761188d565b60405161076491906131d0565b60405180910390f35b34801561077957600080fd5b50610794600480360381019061078f9190612d5c565b6118a0565b6040516107a191906131d0565b60405180910390f35b3480156107b657600080fd5b506107d160048036038101906107cc9190612d9c565b61193a565b6040516107de91906131ae565b60405180910390f35b3480156107f357600080fd5b506107fc611b04565b005b34801561080a57600080fd5b50610813611c67565b6040516108209190613132565b60405180910390f35b34801561083557600080fd5b5061083e611c91565b60405161084b91906132ed565b60405180910390f35b34801561086057600080fd5b5061087b60048036038101906108769190612c13565b611c97565b60405161088891906131d0565b60405180910390f35b34801561089d57600080fd5b506108b860048036038101906108b39190612c40565b611cb7565b6040516108c591906131d0565b60405180910390f35b3480156108da57600080fd5b506108e3611d9f565b6040516108f091906131d0565b60405180910390f35b34801561090557600080fd5b50610920600480360381019061091b9190612c40565b611db2565b60405161092d91906132ed565b60405180910390f35b34801561094257600080fd5b5061095d60048036038101906109589190612e09565b611e39565b60405161096a91906131d0565b60405180910390f35b34801561097f57600080fd5b5061099a60048036038101906109959190612c13565b611ee2565b6040516109a791906131d0565b60405180910390f35b3480156109bc57600080fd5b506109d760048036038101906109d29190612c13565b611f9f565b6040516109e491906131d0565b60405180910390f35b3480156109f957600080fd5b50610a02611fbf565b604051610a0f91906131d0565b60405180910390f35b606060058054610a27906137ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610a53906137ac565b8015610aa05780601f10610a7557610100808354040283529160200191610aa0565b820191906000526020600020905b815481529060010190602001808311610a8357829003601f168201915b5050505050905090565b6000610ab733848461203d565b6001905092915050565b601360019054906101000a900460ff1681565b6000610afd600754600860009054906101000a900460ff16600a610af89190613566565b612208565b905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b5e57600080fd5b6001600c819055506001905090565b600080610b7a8533611db2565b905082811015610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb69061326d565b60405180910390fd5b610bca858585612256565b50610bde610bd88633611db2565b8461260a565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019150509392505050565b6000600860009054906101000a900460ff16905090565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cdb57600080fd5b6000610ce6306113cd565b90506000610cf5826002612631565b9050610d0030611251565b91506000610d0f836002612631565b9050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080610d5d6113f3565b426040518863ffffffff1660e01b8152600401610d7f9695949392919061314d565b6060604051808303818588803b158015610d9857600080fd5b505af1158015610dac573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dd19190612e5c565b505050505050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e3557600080fd5b610e483083610e4330611251565b612647565b5060019050919050565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eac57600080fd5b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080610ef86113f3565b426040518863ffffffff1660e01b8152600401610f1a9695949392919061314d565b6060604051808303818588803b158015610f3357600080fd5b505af1158015610f47573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f6c9190612e5c565b5050505050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fcf57600080fd5b6000479050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60028361101d91906134e2565b9081150290604051600060405180830381858888f19350505050158015611048573d6000803e3d6000fd5b50601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60028361109291906134e2565b9081150290604051600060405180830381858888f193505050501580156110bd573d6000803e3d6000fd5b50600191505090565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461112057600080fd5b611128611819565b506111346001806118a0565b5061113d611fbf565b5061114b600a80600f611e39565b50611154610b02565b50565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111b357600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601360009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112f557600080fd5b30601360046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461139957600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905080600981905550600191505090565b6000808273ffffffffffffffffffffffffffffffffffffffff1631905080915050919050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461147957600080fd5b6000600c819055506001905090565b606060068054611497906137ac565b80601f01602080910402602001604051908101604052809291908181526020018280546114c3906137ac565b80156115105780601f106114e557610100808354040283529160200191611510565b820191906000526020600020905b8154815290600101906020018083116114f357829003601f168201915b5050505050905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461157657600080fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600060095482111561161e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611615906132ad565b60405180910390fd5b6009548261162b85611251565b611635919061348c565b1115611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d9061322d565b60405180910390fd5b6000339050611686818585612256565b50600f600b541080156116e75750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117415750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561179b5750601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117ba575060011515601360039054906101000a900460ff161515145b156117e4576117c88461289b565b506001600b60008282546117dc919061348c565b925050819055505b600191505092915050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461187557600080fd5b6012546009819055506001905090565b600042905090565b601360039054906101000a900460ff1681565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118fc57600080fd5b82601360006101000a81548160ff02191690831515021790555081601360016101000a81548160ff0219169083151502179055506001905092915050565b60606000600267ffffffffffffffff811115611959576119586138fa565b5b6040519080825280602002602001820160405280156119875781602001602082028036833780820191505090505b509050308160008151811061199f5761199e6138cb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611a1057611a0f6138cb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f84836040518363ffffffff1660e01b8152600401611aa7929190613308565b60006040518083038186803b158015611abf57600080fd5b505afa158015611ad3573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611afc9190612d13565b915050919050565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b5e57600080fd5b611b6e611b69610ad4565b6128fe565b506000611b7a306113cd565b90506000611b8730611251565b9050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080611bd56113f3565b426040518863ffffffff1660e01b8152600401611bf79695949392919061314d565b6060604051808303818588803b158015611c1057600080fd5b505af1158015611c24573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c499190612e5c565b505050611c5660006128fe565b50611c626001806118a0565b505050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60036020528060005260406000206000915054906101000a900460ff1681565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d1357600080fd5b82601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905092915050565b601360029054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e9557600080fd5b601054841115611ea457600080fd5b601054831115611eb357600080fd5b601154821115611ec257600080fd5b83600d8190555082600e8190555081600f81905550600190509392505050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f3e57600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461201b57600080fd5b6001601360036101000a81548160ff0219169083151502179055506001905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a49061328d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561211d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121149061320d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516121fb91906132ed565b60405180910390a3505050565b6000808314806122185750600082145b156122265760009050612250565b81836122329190613684565b905081838261224191906134e2565b1461224f5761224e61380f565b5b5b92915050565b600080829050600080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156122ea5742600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60001515601360029054906101000a900460ff16151514801561235d575060001515600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b80156123b9575060001515600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b156125d65760011515601360019054906101000a900460ff161515141561253c576000600d549050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561243d57600e5490505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480156124f35750600c54620151806124a69190613684565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124f0919061348c565b42105b1561250957600f5481612506919061348c565b90505b6125138582612208565b9150612520826064612631565b915061252c858361260a565b9250612539873084612647565b50505b60011515601360009054906101000a900460ff1615151480156125ad5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b156125d55760006125bd30611251565b90506125c8816128fe565b506125d38130612936565b505b5b6125e1868684612647565b506000601360026101000a81548160ff0219169083151502179055506001925050509392505050565b60008282111561261d5761261c61380f565b5b818361262991906136de565b905092915050565b6000818361263f91906134e2565b905092915050565b60008161265385611251565b1015612694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268b9061324d565b60405180910390fd5b60001515600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015612744575060001515600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277a906132cd565b60405180910390fd5b61279561278f85611251565b8361260a565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127e96127e384611251565b83612afa565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161288891906132ed565b60405180910390a3600190509392505050565b60006001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600061292d30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461203d565b60019050919050565b6001601360026101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561296e5761296d6138fa565b5b60405190808252806020026020018201604052801561299c5781602001602082028036833780820191505090505b50905030816000815181106129b4576129b36138cb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612a2557612a246138cb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486426040518663ffffffff1660e01b8152600401612ac3959493929190613338565b600060405180830381600087803b158015612add57600080fd5b505af1158015612af1573d6000803e3d6000fd5b50505050505050565b60008183612b08919061348c565b905082811015612b1b57612b1a61380f565b5b92915050565b6000612b34612b2f846133d2565b6133ad565b90508083825260208201905082856020860282011115612b5757612b5661392e565b5b60005b85811015612b875781612b6d8882612bfe565b845260208401935060208301925050600181019050612b5a565b5050509392505050565b600081359050612ba081613ac6565b92915050565b600082601f830112612bbb57612bba613929565b5b8151612bcb848260208601612b21565b91505092915050565b600081359050612be381613add565b92915050565b600081359050612bf881613af4565b92915050565b600081519050612c0d81613af4565b92915050565b600060208284031215612c2957612c28613938565b5b6000612c3784828501612b91565b91505092915050565b60008060408385031215612c5757612c56613938565b5b6000612c6585828601612b91565b9250506020612c7685828601612b91565b9150509250929050565b600080600060608486031215612c9957612c98613938565b5b6000612ca786828701612b91565b9350506020612cb886828701612b91565b9250506040612cc986828701612be9565b9150509250925092565b60008060408385031215612cea57612ce9613938565b5b6000612cf885828601612b91565b9250506020612d0985828601612be9565b9150509250929050565b600060208284031215612d2957612d28613938565b5b600082015167ffffffffffffffff811115612d4757612d46613933565b5b612d5384828501612ba6565b91505092915050565b60008060408385031215612d7357612d72613938565b5b6000612d8185828601612bd4565b9250506020612d9285828601612bd4565b9150509250929050565b600060208284031215612db257612db1613938565b5b6000612dc084828501612be9565b91505092915050565b60008060408385031215612de057612ddf613938565b5b6000612dee85828601612be9565b9250506020612dff85828601612be9565b9150509250929050565b600080600060608486031215612e2257612e21613938565b5b6000612e3086828701612be9565b9350506020612e4186828701612be9565b9250506040612e5286828701612be9565b9150509250925092565b600080600060608486031215612e7557612e74613938565b5b6000612e8386828701612bfe565b9350506020612e9486828701612bfe565b9250506040612ea586828701612bfe565b9150509250925092565b6000612ebb8383612edf565b60208301905092915050565b6000612ed38383613105565b60208301905092915050565b612ee881613712565b82525050565b612ef781613712565b82525050565b6000612f088261341e565b612f128185613459565b9350612f1d836133fe565b8060005b83811015612f4e578151612f358882612eaf565b9750612f408361343f565b925050600181019050612f21565b5085935050505092915050565b6000612f6682613429565b612f70818561346a565b9350612f7b8361340e565b8060005b83811015612fac578151612f938882612ec7565b9750612f9e8361344c565b925050600181019050612f7f565b5085935050505092915050565b612fc281613724565b82525050565b612fd181613767565b82525050565b6000612fe282613434565b612fec818561347b565b9350612ffc818560208601613779565b6130058161393d565b840191505092915050565b600061301d60228361347b565b91506130288261395b565b604082019050919050565b600061304060198361347b565b915061304b826139aa565b602082019050919050565b600061306360158361347b565b915061306e826139d3565b602082019050919050565b600061308660178361347b565b9150613091826139fc565b602082019050919050565b60006130a960248361347b565b91506130b482613a25565b604082019050919050565b60006130cc60198361347b565b91506130d782613a74565b602082019050919050565b60006130ef600b8361347b565b91506130fa82613a9d565b602082019050919050565b61310e81613750565b82525050565b61311d81613750565b82525050565b61312c8161375a565b82525050565b60006020820190506131476000830184612eee565b92915050565b600060c0820190506131626000830189612eee565b61316f6020830188613114565b61317c6040830187612fc8565b6131896060830186612fc8565b6131966080830185612eee565b6131a360a0830184613114565b979650505050505050565b600060208201905081810360008301526131c88184612f5b565b905092915050565b60006020820190506131e56000830184612fb9565b92915050565b600060208201905081810360008301526132058184612fd7565b905092915050565b6000602082019050818103600083015261322681613010565b9050919050565b6000602082019050818103600083015261324681613033565b9050919050565b6000602082019050818103600083015261326681613056565b9050919050565b6000602082019050818103600083015261328681613079565b9050919050565b600060208201905081810360008301526132a68161309c565b9050919050565b600060208201905081810360008301526132c6816130bf565b9050919050565b600060208201905081810360008301526132e6816130e2565b9050919050565b60006020820190506133026000830184613114565b92915050565b600060408201905061331d6000830185613114565b818103602083015261332f8184612efd565b90509392505050565b600060a08201905061334d6000830188613114565b61335a6020830187612fc8565b818103604083015261336c8186612efd565b905061337b6060830185612eee565b6133886080830184613114565b9695505050505050565b60006020820190506133a76000830184613123565b92915050565b60006133b76133c8565b90506133c382826137de565b919050565b6000604051905090565b600067ffffffffffffffff8211156133ed576133ec6138fa565b5b602082029050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600061349782613750565b91506134a283613750565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134d7576134d661383e565b5b828201905092915050565b60006134ed82613750565b91506134f883613750565b9250826135085761350761386d565b5b828204905092915050565b6000808291508390505b600185111561355d578086048111156135395761353861383e565b5b60018516156135485780820291505b80810290506135568561394e565b945061351d565b94509492505050565b600061357182613750565b915061357c8361375a565b92506135a97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846135b1565b905092915050565b6000826135c1576001905061367d565b816135cf576000905061367d565b81600181146135e557600281146135ef5761361e565b600191505061367d565b60ff8411156136015761360061383e565b5b8360020a9150848211156136185761361761383e565b5b5061367d565b5060208310610133831016604e8410600b84101617156136535782820a90508381111561364e5761364d61383e565b5b61367d565b6136608484846001613513565b925090508184048111156136775761367661383e565b5b81810290505b9392505050565b600061368f82613750565b915061369a83613750565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136d3576136d261383e565b5b828202905092915050565b60006136e982613750565b91506136f483613750565b9250828210156137075761370661383e565b5b828203905092915050565b600061371d82613730565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061377282613750565b9050919050565b60005b8381101561379757808201518184015260208101905061377c565b838111156137a6576000848401525b50505050565b600060028204905060018216806137c457607f821691505b602082108114156137d8576137d761389c565b5b50919050565b6137e78261393d565b810181811067ffffffffffffffff82111715613806576138056138fa565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f42616c616e63652065786365656473206d61782e6c696d697400000000000000600082015250565b7f496e73756666696369656e742062616c616e63652e0000000000000000000000600082015250565b7f496e73756666696369656e7420616c6c6f77616e63652e000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e742065786365656473206d61782e206c696d697400000000000000600082015250565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b613acf81613712565b8114613ada57600080fd5b50565b613ae681613724565b8114613af157600080fd5b50565b613afd81613750565b8114613b0857600080fd5b5056fea2646970667358221220d14086b2f455116cb373475a8e62e5320798add2d2db30ebcca46330a0571e8264736f6c63430008060033

Deployed Bytecode

0x60806040526004361061024a5760003560e01c80639374535811610139578063c1beb570116100b6578063d83067861161007a578063d8306786146108ce578063dd62ed3e146108f9578063e9dae5ed14610936578063f520f8ee14610973578063fe575a87146109b0578063ff25856c146109ed57610251565b8063c1beb570146107e7578063c1f1b1b5146107fe578063c66f6f9b14610829578063cba0e99614610854578063d3f6a1571461089157610251565b8063b165ae35116100fd578063b165ae35146106ec578063b80777ea14610717578063bffb691d14610742578063bffc28f81461076d578063c1153aaa146107aa57610251565b806393745358146105f157806395d89b411461061c5780639b19251a14610647578063a9059cbb14610684578063b0f479a1146106c157610251565b80634e71d92d116101c757806370a082311161018b57806370a08231146104f6578063715018a61461053357806376b35d811461055e5780638604fc5a14610589578063893d20e8146105c657610251565b80634e71d92d1461042157806351cd7cc31461044c57806360d1259e146104635780636ac3861a146104a05780636ddd1713146104cb57610251565b806323b872dd1161020e57806323b872dd1461033c578063313ce56714610379578063465cf64e146103a457806349df728c146103bb5780634cad9641146103f857610251565b806306fdde0314610253578063095ea7b31461027e57806312e5b101146102bb57806318160ddd146102e657806321d5c2311461031157610251565b3661025157005b005b34801561025f57600080fd5b50610268610a18565b60405161027591906131eb565b60405180910390f35b34801561028a57600080fd5b506102a560048036038101906102a09190612cd3565b610aaa565b6040516102b291906131d0565b60405180910390f35b3480156102c757600080fd5b506102d0610ac1565b6040516102dd91906131d0565b60405180910390f35b3480156102f257600080fd5b506102fb610ad4565b60405161030891906132ed565b60405180910390f35b34801561031d57600080fd5b50610326610b02565b60405161033391906131d0565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190612c80565b610b6d565b60405161037091906131d0565b60405180910390f35b34801561038557600080fd5b5061038e610c6a565b60405161039b9190613392565b60405180910390f35b3480156103b057600080fd5b506103b9610c81565b005b3480156103c757600080fd5b506103e260048036038101906103dd9190612c13565b610dd9565b6040516103ef91906131d0565b60405180910390f35b34801561040457600080fd5b5061041f600480360381019061041a9190612dc9565b610e52565b005b34801561042d57600080fd5b50610436610f73565b60405161044391906131d0565b60405180910390f35b34801561045857600080fd5b506104616110c6565b005b34801561046f57600080fd5b5061048a60048036038101906104859190612c13565b611157565b60405161049791906131d0565b60405180910390f35b3480156104ac57600080fd5b506104b5611214565b6040516104c29190613132565b60405180910390f35b3480156104d757600080fd5b506104e061123e565b6040516104ed91906131d0565b60405180910390f35b34801561050257600080fd5b5061051d60048036038101906105189190612c13565b611251565b60405161052a91906132ed565b60405180910390f35b34801561053f57600080fd5b50610548611299565b60405161055591906131d0565b60405180910390f35b34801561056a57600080fd5b5061057361133d565b60405161058091906131d0565b60405180910390f35b34801561059557600080fd5b506105b060048036038101906105ab9190612c13565b6113cd565b6040516105bd91906132ed565b60405180910390f35b3480156105d257600080fd5b506105db6113f3565b6040516105e89190613132565b60405180910390f35b3480156105fd57600080fd5b5061060661141d565b60405161061391906131d0565b60405180910390f35b34801561062857600080fd5b50610631611488565b60405161063e91906131eb565b60405180910390f35b34801561065357600080fd5b5061066e60048036038101906106699190612c13565b61151a565b60405161067b91906131d0565b60405180910390f35b34801561069057600080fd5b506106ab60048036038101906106a69190612cd3565b6115d7565b6040516106b891906131d0565b60405180910390f35b3480156106cd57600080fd5b506106d66117ef565b6040516106e39190613132565b60405180910390f35b3480156106f857600080fd5b50610701611819565b60405161070e91906131d0565b60405180910390f35b34801561072357600080fd5b5061072c611885565b60405161073991906132ed565b60405180910390f35b34801561074e57600080fd5b5061075761188d565b60405161076491906131d0565b60405180910390f35b34801561077957600080fd5b50610794600480360381019061078f9190612d5c565b6118a0565b6040516107a191906131d0565b60405180910390f35b3480156107b657600080fd5b506107d160048036038101906107cc9190612d9c565b61193a565b6040516107de91906131ae565b60405180910390f35b3480156107f357600080fd5b506107fc611b04565b005b34801561080a57600080fd5b50610813611c67565b6040516108209190613132565b60405180910390f35b34801561083557600080fd5b5061083e611c91565b60405161084b91906132ed565b60405180910390f35b34801561086057600080fd5b5061087b60048036038101906108769190612c13565b611c97565b60405161088891906131d0565b60405180910390f35b34801561089d57600080fd5b506108b860048036038101906108b39190612c40565b611cb7565b6040516108c591906131d0565b60405180910390f35b3480156108da57600080fd5b506108e3611d9f565b6040516108f091906131d0565b60405180910390f35b34801561090557600080fd5b50610920600480360381019061091b9190612c40565b611db2565b60405161092d91906132ed565b60405180910390f35b34801561094257600080fd5b5061095d60048036038101906109589190612e09565b611e39565b60405161096a91906131d0565b60405180910390f35b34801561097f57600080fd5b5061099a60048036038101906109959190612c13565b611ee2565b6040516109a791906131d0565b60405180910390f35b3480156109bc57600080fd5b506109d760048036038101906109d29190612c13565b611f9f565b6040516109e491906131d0565b60405180910390f35b3480156109f957600080fd5b50610a02611fbf565b604051610a0f91906131d0565b60405180910390f35b606060058054610a27906137ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610a53906137ac565b8015610aa05780601f10610a7557610100808354040283529160200191610aa0565b820191906000526020600020905b815481529060010190602001808311610a8357829003601f168201915b5050505050905090565b6000610ab733848461203d565b6001905092915050565b601360019054906101000a900460ff1681565b6000610afd600754600860009054906101000a900460ff16600a610af89190613566565b612208565b905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b5e57600080fd5b6001600c819055506001905090565b600080610b7a8533611db2565b905082811015610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb69061326d565b60405180910390fd5b610bca858585612256565b50610bde610bd88633611db2565b8461260a565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019150509392505050565b6000600860009054906101000a900460ff16905090565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cdb57600080fd5b6000610ce6306113cd565b90506000610cf5826002612631565b9050610d0030611251565b91506000610d0f836002612631565b9050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080610d5d6113f3565b426040518863ffffffff1660e01b8152600401610d7f9695949392919061314d565b6060604051808303818588803b158015610d9857600080fd5b505af1158015610dac573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dd19190612e5c565b505050505050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e3557600080fd5b610e483083610e4330611251565b612647565b5060019050919050565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eac57600080fd5b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080610ef86113f3565b426040518863ffffffff1660e01b8152600401610f1a9695949392919061314d565b6060604051808303818588803b158015610f3357600080fd5b505af1158015610f47573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f6c9190612e5c565b5050505050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fcf57600080fd5b6000479050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60028361101d91906134e2565b9081150290604051600060405180830381858888f19350505050158015611048573d6000803e3d6000fd5b50601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60028361109291906134e2565b9081150290604051600060405180830381858888f193505050501580156110bd573d6000803e3d6000fd5b50600191505090565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461112057600080fd5b611128611819565b506111346001806118a0565b5061113d611fbf565b5061114b600a80600f611e39565b50611154610b02565b50565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111b357600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601360009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112f557600080fd5b30601360046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461139957600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905080600981905550600191505090565b6000808273ffffffffffffffffffffffffffffffffffffffff1631905080915050919050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461147957600080fd5b6000600c819055506001905090565b606060068054611497906137ac565b80601f01602080910402602001604051908101604052809291908181526020018280546114c3906137ac565b80156115105780601f106114e557610100808354040283529160200191611510565b820191906000526020600020905b8154815290600101906020018083116114f357829003601f168201915b5050505050905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461157657600080fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600060095482111561161e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611615906132ad565b60405180910390fd5b6009548261162b85611251565b611635919061348c565b1115611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d9061322d565b60405180910390fd5b6000339050611686818585612256565b50600f600b541080156116e75750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117415750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561179b5750601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117ba575060011515601360039054906101000a900460ff161515145b156117e4576117c88461289b565b506001600b60008282546117dc919061348c565b925050819055505b600191505092915050565b6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461187557600080fd5b6012546009819055506001905090565b600042905090565b601360039054906101000a900460ff1681565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118fc57600080fd5b82601360006101000a81548160ff02191690831515021790555081601360016101000a81548160ff0219169083151502179055506001905092915050565b60606000600267ffffffffffffffff811115611959576119586138fa565b5b6040519080825280602002602001820160405280156119875781602001602082028036833780820191505090505b509050308160008151811061199f5761199e6138cb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611a1057611a0f6138cb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f84836040518363ffffffff1660e01b8152600401611aa7929190613308565b60006040518083038186803b158015611abf57600080fd5b505afa158015611ad3573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611afc9190612d13565b915050919050565b601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b5e57600080fd5b611b6e611b69610ad4565b6128fe565b506000611b7a306113cd565b90506000611b8730611251565b9050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080611bd56113f3565b426040518863ffffffff1660e01b8152600401611bf79695949392919061314d565b6060604051808303818588803b158015611c1057600080fd5b505af1158015611c24573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611c499190612e5c565b505050611c5660006128fe565b50611c626001806118a0565b505050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60036020528060005260406000206000915054906101000a900460ff1681565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d1357600080fd5b82601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905092915050565b601360029054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e9557600080fd5b601054841115611ea457600080fd5b601054831115611eb357600080fd5b601154821115611ec257600080fd5b83600d8190555082600e8190555081600f81905550600190509392505050565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f3e57600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000601360049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461201b57600080fd5b6001601360036101000a81548160ff0219169083151502179055506001905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a49061328d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561211d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121149061320d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516121fb91906132ed565b60405180910390a3505050565b6000808314806122185750600082145b156122265760009050612250565b81836122329190613684565b905081838261224191906134e2565b1461224f5761224e61380f565b5b5b92915050565b600080829050600080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156122ea5742600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60001515601360029054906101000a900460ff16151514801561235d575060001515600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b80156123b9575060001515600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b156125d65760011515601360019054906101000a900460ff161515141561253c576000600d549050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561243d57600e5490505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480156124f35750600c54620151806124a69190613684565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124f0919061348c565b42105b1561250957600f5481612506919061348c565b90505b6125138582612208565b9150612520826064612631565b915061252c858361260a565b9250612539873084612647565b50505b60011515601360009054906101000a900460ff1615151480156125ad5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b156125d55760006125bd30611251565b90506125c8816128fe565b506125d38130612936565b505b5b6125e1868684612647565b506000601360026101000a81548160ff0219169083151502179055506001925050509392505050565b60008282111561261d5761261c61380f565b5b818361262991906136de565b905092915050565b6000818361263f91906134e2565b905092915050565b60008161265385611251565b1015612694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268b9061324d565b60405180910390fd5b60001515600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015612744575060001515600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277a906132cd565b60405180910390fd5b61279561278f85611251565b8361260a565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127e96127e384611251565b83612afa565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161288891906132ed565b60405180910390a3600190509392505050565b60006001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600061292d30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461203d565b60019050919050565b6001601360026101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561296e5761296d6138fa565b5b60405190808252806020026020018201604052801561299c5781602001602082028036833780820191505090505b50905030816000815181106129b4576129b36138cb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612a2557612a246138cb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486426040518663ffffffff1660e01b8152600401612ac3959493929190613338565b600060405180830381600087803b158015612add57600080fd5b505af1158015612af1573d6000803e3d6000fd5b50505050505050565b60008183612b08919061348c565b905082811015612b1b57612b1a61380f565b5b92915050565b6000612b34612b2f846133d2565b6133ad565b90508083825260208201905082856020860282011115612b5757612b5661392e565b5b60005b85811015612b875781612b6d8882612bfe565b845260208401935060208301925050600181019050612b5a565b5050509392505050565b600081359050612ba081613ac6565b92915050565b600082601f830112612bbb57612bba613929565b5b8151612bcb848260208601612b21565b91505092915050565b600081359050612be381613add565b92915050565b600081359050612bf881613af4565b92915050565b600081519050612c0d81613af4565b92915050565b600060208284031215612c2957612c28613938565b5b6000612c3784828501612b91565b91505092915050565b60008060408385031215612c5757612c56613938565b5b6000612c6585828601612b91565b9250506020612c7685828601612b91565b9150509250929050565b600080600060608486031215612c9957612c98613938565b5b6000612ca786828701612b91565b9350506020612cb886828701612b91565b9250506040612cc986828701612be9565b9150509250925092565b60008060408385031215612cea57612ce9613938565b5b6000612cf885828601612b91565b9250506020612d0985828601612be9565b9150509250929050565b600060208284031215612d2957612d28613938565b5b600082015167ffffffffffffffff811115612d4757612d46613933565b5b612d5384828501612ba6565b91505092915050565b60008060408385031215612d7357612d72613938565b5b6000612d8185828601612bd4565b9250506020612d9285828601612bd4565b9150509250929050565b600060208284031215612db257612db1613938565b5b6000612dc084828501612be9565b91505092915050565b60008060408385031215612de057612ddf613938565b5b6000612dee85828601612be9565b9250506020612dff85828601612be9565b9150509250929050565b600080600060608486031215612e2257612e21613938565b5b6000612e3086828701612be9565b9350506020612e4186828701612be9565b9250506040612e5286828701612be9565b9150509250925092565b600080600060608486031215612e7557612e74613938565b5b6000612e8386828701612bfe565b9350506020612e9486828701612bfe565b9250506040612ea586828701612bfe565b9150509250925092565b6000612ebb8383612edf565b60208301905092915050565b6000612ed38383613105565b60208301905092915050565b612ee881613712565b82525050565b612ef781613712565b82525050565b6000612f088261341e565b612f128185613459565b9350612f1d836133fe565b8060005b83811015612f4e578151612f358882612eaf565b9750612f408361343f565b925050600181019050612f21565b5085935050505092915050565b6000612f6682613429565b612f70818561346a565b9350612f7b8361340e565b8060005b83811015612fac578151612f938882612ec7565b9750612f9e8361344c565b925050600181019050612f7f565b5085935050505092915050565b612fc281613724565b82525050565b612fd181613767565b82525050565b6000612fe282613434565b612fec818561347b565b9350612ffc818560208601613779565b6130058161393d565b840191505092915050565b600061301d60228361347b565b91506130288261395b565b604082019050919050565b600061304060198361347b565b915061304b826139aa565b602082019050919050565b600061306360158361347b565b915061306e826139d3565b602082019050919050565b600061308660178361347b565b9150613091826139fc565b602082019050919050565b60006130a960248361347b565b91506130b482613a25565b604082019050919050565b60006130cc60198361347b565b91506130d782613a74565b602082019050919050565b60006130ef600b8361347b565b91506130fa82613a9d565b602082019050919050565b61310e81613750565b82525050565b61311d81613750565b82525050565b61312c8161375a565b82525050565b60006020820190506131476000830184612eee565b92915050565b600060c0820190506131626000830189612eee565b61316f6020830188613114565b61317c6040830187612fc8565b6131896060830186612fc8565b6131966080830185612eee565b6131a360a0830184613114565b979650505050505050565b600060208201905081810360008301526131c88184612f5b565b905092915050565b60006020820190506131e56000830184612fb9565b92915050565b600060208201905081810360008301526132058184612fd7565b905092915050565b6000602082019050818103600083015261322681613010565b9050919050565b6000602082019050818103600083015261324681613033565b9050919050565b6000602082019050818103600083015261326681613056565b9050919050565b6000602082019050818103600083015261328681613079565b9050919050565b600060208201905081810360008301526132a68161309c565b9050919050565b600060208201905081810360008301526132c6816130bf565b9050919050565b600060208201905081810360008301526132e6816130e2565b9050919050565b60006020820190506133026000830184613114565b92915050565b600060408201905061331d6000830185613114565b818103602083015261332f8184612efd565b90509392505050565b600060a08201905061334d6000830188613114565b61335a6020830187612fc8565b818103604083015261336c8186612efd565b905061337b6060830185612eee565b6133886080830184613114565b9695505050505050565b60006020820190506133a76000830184613123565b92915050565b60006133b76133c8565b90506133c382826137de565b919050565b6000604051905090565b600067ffffffffffffffff8211156133ed576133ec6138fa565b5b602082029050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600061349782613750565b91506134a283613750565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134d7576134d661383e565b5b828201905092915050565b60006134ed82613750565b91506134f883613750565b9250826135085761350761386d565b5b828204905092915050565b6000808291508390505b600185111561355d578086048111156135395761353861383e565b5b60018516156135485780820291505b80810290506135568561394e565b945061351d565b94509492505050565b600061357182613750565b915061357c8361375a565b92506135a97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846135b1565b905092915050565b6000826135c1576001905061367d565b816135cf576000905061367d565b81600181146135e557600281146135ef5761361e565b600191505061367d565b60ff8411156136015761360061383e565b5b8360020a9150848211156136185761361761383e565b5b5061367d565b5060208310610133831016604e8410600b84101617156136535782820a90508381111561364e5761364d61383e565b5b61367d565b6136608484846001613513565b925090508184048111156136775761367661383e565b5b81810290505b9392505050565b600061368f82613750565b915061369a83613750565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136d3576136d261383e565b5b828202905092915050565b60006136e982613750565b91506136f483613750565b9250828210156137075761370661383e565b5b828203905092915050565b600061371d82613730565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061377282613750565b9050919050565b60005b8381101561379757808201518184015260208101905061377c565b838111156137a6576000848401525b50505050565b600060028204905060018216806137c457607f821691505b602082108114156137d8576137d761389c565b5b50919050565b6137e78261393d565b810181811067ffffffffffffffff82111715613806576138056138fa565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f42616c616e63652065786365656473206d61782e6c696d697400000000000000600082015250565b7f496e73756666696369656e742062616c616e63652e0000000000000000000000600082015250565b7f496e73756666696369656e7420616c6c6f77616e63652e000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e742065786365656473206d61782e206c696d697400000000000000600082015250565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b613acf81613712565b8114613ada57600080fd5b50565b613ae681613724565b8114613af157600080fd5b50565b613afd81613750565b8114613b0857600080fd5b5056fea2646970667358221220d14086b2f455116cb373475a8e62e5320798add2d2db30ebcca46330a0571e8264736f6c63430008060033

Deployed Bytecode Sourcemap

6753:14147:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9548:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13825:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7389:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9837:105;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15877:118;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11739:369;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9743:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17814:377;;;;;;;;;;;;;:::i;:::-;;19239:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17042:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19680:253;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16634:185;;;;;;;;;;;;;:::i;:::-;;15592:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10356:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7359:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9954:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14133:119;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15351:233;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19941:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10070:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16003:119;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9645:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15080:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11081:650;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10262:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15221:122;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14618:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7450:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14719:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18632:448;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17373:429;;;;;;;;;;;;;:::i;:::-;;10163:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7120:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6936:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19448:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7425:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13980:141;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16261:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15734:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6884:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16130:123;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9548:85;9584:13;9617:5;9610:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9548:85;:::o;13825:147::-;13888:4;13905:37;13914:10;13926:7;13935:6;13905:8;:37::i;:::-;13960:4;13953:11;;13825:147;;;;:::o;7389:29::-;;;;;;;;;;;;;:::o;9837:105::-;9880:4;9904:30;9908:7;;9923:9;;;;;;;;;;;9917:2;:15;;;;:::i;:::-;9904:3;:30::i;:::-;9897:37;;9837:105;:::o;15877:118::-;15925:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;15964:1:::1;15946:15;:19;;;;15983:4;15976:11;;15877:118:::0;:::o;11739:369::-;11816:4;11833:21;11857:27;11867:4;11873:10;11857:9;:27::i;:::-;11833:51;;11923:6;11903:16;:26;;11895:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;11970:30;11983:4;11989:2;11993:6;11970:12;:30::i;:::-;;12037:39;12041:27;12051:4;12057:10;12041:9;:27::i;:::-;12069:6;12037:3;:39::i;:::-;12013:11;:17;12025:4;12013:17;;;;;;;;;;;;;;;:21;12031:2;12013:21;;;;;;;;;;;;;;;:63;;;;12096:4;12089:11;;;11739:369;;;;;:::o;9743:82::-;9783:5;9808:9;;;;;;;;;;;9801:16;;9743:82;:::o;17814:377::-;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;17859:20:::1;17882:28;17904:4;17882:13;:28::i;:::-;17859:51;;17921:14;17938:22;17942:15;17958:1;17938:3;:22::i;:::-;17921:39;;17989:24;18007:4;17989:9;:24::i;:::-;17971:42;;18024:16;18043:22;18047:15;18063:1;18043:3;:22::i;:::-;18024:41;;18076:15;;;;;;;;;;;:31;;;18115:9;18134:4;18140:11;18152:1;18154::::0;18156:10:::1;:8;:10::i;:::-;18167:15;18076:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17848:343;;;17814:377::o:0;19239:201::-;19303:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;19320:60:::1;19338:4;19345:8;19355:24;19373:4;19355:9;:24::i;:::-;19320:9;:60::i;:::-;;19428:4;19421:11;;19239:201:::0;;;:::o;17042:194::-;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;17121:15:::1;;;;;;;;;;;:31;;;17160:9;17179:4;17185:11;17197:1;17199::::0;17201:10:::1;:8;:10::i;:::-;17212:15;17121:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17042:194:::0;;:::o;19680:253::-;19719:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;19735:20:::1;19758:21;19735:44;;19798:11;;;;;;;;;;;19790:29;;:48;19836:1;19820:15;:17;;;;:::i;:::-;19790:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;19857:17;;;;;;;;;;;19849:35;;:54;19901:1;19885:15;:17;;;;:::i;:::-;19849:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;19921:4;19914:11;;;19680:253:::0;:::o;16634:185::-;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;16680:14:::1;:12;:14::i;:::-;;16705:22;16717:4;16722::::0;16705:11:::1;:22::i;:::-;;16738:17;:15;:17::i;:::-;;16766:18;16775:2;16778::::0;16781::::1;16766:8;:18::i;:::-;;16795:16;:14;:16::i;:::-;;16634:185::o:0;15592:134::-;15652:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;15692:4:::1;15673:10;:16;15684:4;15673:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;15714:4;15707:11;;15592:134:::0;;;:::o;10356:86::-;10395:7;10422:12;;;;;;;;;;;10415:19;;10356:86;:::o;7359:23::-;;;;;;;;;;;;;:::o;9954:104::-;10009:4;10033:9;:17;10043:6;10033:17;;;;;;;;;;;;;;;;10026:24;;9954:104;;;:::o;14133:119::-;14183:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;14217:4:::1;14200:6;;:22;;;;;;;;;;;;;;;;;;14240:4;14233:11;;14133:119:::0;:::o;15351:233::-;15398:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;15419:11:::1;15433:78;15419:92;;15542:6;15526:13;:22;;;;15572:4;15565:11;;;15351:233:::0;:::o;19941:138::-;20001:4;20017:12;20032:6;:14;;;20017:29;;20064:7;20057:14;;;19941:138;;;:::o;10070:81::-;10110:7;10137:6;;;;;;;;;;;10130:13;;10070:81;:::o;16003:119::-;16052:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;16091:1:::1;16073:15;:19;;;;16110:4;16103:11;;16003:119:::0;:::o;9645:86::-;9683:13;9716:7;9709:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9645:86;:::o;15080:133::-;15135:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;15178:5:::1;15156:13;:19;15170:4;15156:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;15201:4;15194:11;;15080:133:::0;;;:::o;11081:650::-;11139:4;11174:13;;11164:6;:23;;11156:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;11262:13;;11252:6;11236:13;11246:2;11236:9;:13::i;:::-;:22;;;;:::i;:::-;:39;;11228:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;11377:12;11392:10;11377:25;;11415:30;11428:4;11434:2;11438:6;11415:12;:30::i;:::-;;11538:2;11519:16;;:21;:37;;;;;11550:6;;;;;;;;;;;11544:12;;:2;:12;;;;11519:37;:60;;;;;11566:13;;;;;;;;;;;11560:19;;:2;:19;;;;11519:60;:76;;;;;11589:6;;;;;;;;;;;11583:12;;:2;:12;;;;11519:76;:104;;;;;11619:4;11599:24;;:16;;;;;;;;;;;:24;;;11519:104;11516:176;;;11635:13;11645:2;11635:9;:13::i;:::-;;11679:1;11659:16;;:21;;;;;;;:::i;:::-;;;;;;;;11516:176;11719:4;11712:11;;;11081:650;;;;:::o;10262:82::-;10303:7;10330:6;;;;;;;;;;;10323:13;;10262:82;:::o;15221:122::-;15267:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;15304:9:::1;;15288:13;:25;;;;15331:4;15324:11;;15221:122:::0;:::o;14618:89::-;14660:4;14684:15;14677:22;;14618:89;:::o;7450:28::-;;;;;;;;;;;;;:::o;14719:217::-;14806:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;14841:14:::1;14827:11;;:28;;;;;;;;;;;;;;;;;;14890:16;14870:17;;:36;;;;;;;;;;;;;;;;;;14924:4;14917:11;;14719:217:::0;;;;:::o;18632:448::-;18691:21;18776;18814:1;18800:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18776:40;;18873:4;18855;18860:1;18855:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18934:12;;;;;;;;;;;18924:4;18929:1;18924:7;;;;;;;;:::i;:::-;;;;;;;:22;;;;;;;;;;;19001:15;;;;;;;;;;;:29;;;19031:8;19040:4;19001:44;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18991:54;;19058:14;18632:448;;;:::o;17373:429::-;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;17418:28:::1;17432:13;:11;:13::i;:::-;17418;:28::i;:::-;;17457:14;17474:28;17496:4;17474:13;:28::i;:::-;17457:45;;17513:16;17532:24;17550:4;17532:9;:24::i;:::-;17513:43;;17567:15;;;;;;;;;;;:31;;;17606:9;17625:4;17631:11;17643:1;17645::::0;17647:10:::1;:8;:10::i;:::-;17658:15;17567:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17685:16;17699:1;17685:13;:16::i;:::-;;17772:22;17784:4;17789::::0;17772:11:::1;:22::i;:::-;;17407:395;;17373:429::o:0;10163:87::-;10202:7;10229:13;;;;;;;;;;;10222:20;;10163:87;:::o;7120:25::-;;;;:::o;6936:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;19448:182::-;19524:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;19561:10:::1;19541:17;;:30;;;;;;;;;;;;;;;;;;19596:4;19582:11;;:18;;;;;;;;;;;;;;;;;;19618:4;19611:11;;19448:182:::0;;;;:::o;7425:18::-;;;;;;;;;;;;;:::o;13980:141::-;14057:4;14081:11;:23;14093:10;14081:23;;;;;;;;;;;;;;;:32;14105:7;14081:32;;;;;;;;;;;;;;;;14074:39;;13980:141;;;;:::o;16261:339::-;16346:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;16383:6:::1;;16371:8;:18;;16363:27;;;::::0;::::1;;16420:6;;16409:7;:17;;16401:26;;;::::0;::::1;;16459:11;;16446:9;:24;;16438:33;;;::::0;::::1;;16496:8;16486:7;:18;;;;16528:7;16519:6;:16;;;;16561:9;16550:8;:20;;;;16588:4;16581:11;;16261:339:::0;;;;;:::o;15734:135::-;15794:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;15834:5:::1;15815:10;:16;15826:4;15815:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;15857:4;15850:11;;15734:135:::0;;;:::o;6884:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;16130:123::-;16179:4;9518:6;;;;;;;;;;;9504:20;;:10;:20;;;9496:29;;;;;;16219:4:::1;16200:16;;:23;;;;;;;;;;;;;;;;;;16241:4;16234:11;;16130:123:::0;:::o;14264:342::-;14377:1;14359:20;;:6;:20;;;;14351:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;14458:1;14439:21;;:7;:21;;;;14431:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14543:6;14512:11;:19;14524:6;14512:19;;;;;;;;;;;;;;;:28;14532:7;14512:28;;;;;;;;;;;;;;;:37;;;;14582:7;14565:33;;14574:6;14565:33;;;14591:6;14565:33;;;;;;:::i;:::-;;;;;;;;14264:342;;;:::o;20114:222::-;20172:9;20203:1;20198;:6;:16;;;;20213:1;20208;:6;20198:16;20194:57;;;20238:1;20231:8;;;;20194:57;20279:1;20275;:5;;;;:::i;:::-;20271:9;;20307:1;20302;20298;:5;;;;:::i;:::-;:10;20291:18;;;;:::i;:::-;;20114:222;;;;;:::o;12116:1701::-;12195:4;12238:19;12260:6;12238:28;;12277:17;12339:1;12314:17;:21;12332:2;12314:21;;;;;;;;;;;;;;;;:26;12311:122;;;12380:15;12356:17;:21;12374:2;12356:21;;;;;;;;;;;;;;;:39;;;;12311:122;12466:5;12456:15;;:6;;;;;;;;;;;:15;;;:44;;;;;12495:5;12475:25;;:10;:16;12486:4;12475:16;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;12456:44;:71;;;;;12522:5;12504:23;;:10;:14;12515:2;12504:14;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;12456:71;12453:1187;;;12569:4;12548:25;;:17;;;;;;;;;;;:25;;;12545:752;;;12595:14;12612:7;;12595:24;;12697:13;;;;;;;;;;;12689:21;;:4;:21;;;12686:96;;;12756:6;;12744:18;;12686:96;12811:13;;;;;;;;;;;12805:19;;:2;:19;;;:90;;;;;12880:15;;12872:7;:23;;;;:::i;:::-;12846:17;:23;12864:4;12846:23;;;;;;;;;;;;;;;;:49;;;;:::i;:::-;12828:15;:67;12805:90;12802:207;;;12932:8;;12919:21;;;;;:::i;:::-;;;12802:207;13042:22;13046:6;13054:9;13042:3;:22::i;:::-;13027:37;;13098:21;13102:12;13115:3;13098;:21::i;:::-;13083:36;;13155:24;13159:6;13166:12;13155:3;:24::i;:::-;13138:41;;13198:44;13208:4;13222;13229:12;13198:9;:44::i;:::-;;12574:723;12545:752;13339:4;13324:19;;:11;;;;;;;;;;;:19;;;:44;;;;;13355:13;;;;;;;;;;;13347:21;;:4;:21;;;;13324:44;13321:298;;;13418:20;13441:24;13459:4;13441:9;:24::i;:::-;13418:47;;13484:30;13498:15;13484:13;:30::i;:::-;;13529:47;13546:15;13570:4;13529:16;:47::i;:::-;13369:250;13321:298;12453:1187;13660:35;13670:4;13676:2;13680:14;13660:9;:35::i;:::-;;13766:5;13757:6;;:14;;;;;;;;;;;;;;;;;;13805:4;13798:11;;;;12116:1701;;;;;:::o;20458:123::-;20516:7;20548:1;20543;:6;;20536:14;;;;:::i;:::-;;20572:1;20568;:5;;;;:::i;:::-;20561:12;;20458:123;;;;:::o;20348:98::-;20406:7;20437:1;20433;:5;;;;:::i;:::-;20426:12;;20348:98;;;;:::o;10615:454::-;10690:4;10734:6;10715:15;10725:4;10715:9;:15::i;:::-;:25;;10707:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10808:5;10785:28;;:13;:19;10799:4;10785:19;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;:58;;;;;10838:5;10817:26;;:13;:17;10831:2;10817:17;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;10785:58;10777:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;10898:27;10902:15;10912:4;10902:9;:15::i;:::-;10918:6;10898:3;:27::i;:::-;10880:9;:15;10890:4;10880:15;;;;;;;;;;;;;;;:45;;;;10952:25;10956:13;10966:2;10956:9;:13::i;:::-;10970:6;10952:3;:25::i;:::-;10936:9;:13;10946:2;10936:13;;;;;;;;;;;;;;;:41;;;;11018:2;11003:26;;11012:4;11003:26;;;11022:6;11003:26;;;;;;:::i;:::-;;;;;;;;11057:4;11050:11;;10615:454;;;;;:::o;14944:128::-;14995:4;15038;15016:13;:19;15030:4;15016:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;15060:4;15053:11;;14944:128;;;:::o;19092:139::-;19146:4;19162:39;19179:4;19186:6;;;;;;;;;;;19194;19162:8;:39::i;:::-;19219:4;19212:11;;19092:139;;;:::o;18203:417::-;18282:4;18273:6;;:13;;;;;;;;;;;;;;;;;;18297:21;18335:1;18321:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18297:40;;18394:4;18376;18381:1;18376:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18455:12;;;;;;;;;;;18445:4;18450:1;18445:7;;;;;;;;:::i;:::-;;;;;;;:22;;;;;;;;;;;18512:15;;;;;;;;;;;:66;;;18579:6;18586:1;18588:4;18593:2;18596:15;18512:100;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18262:358;18203:417;;:::o;20593:141::-;20651:9;20681:1;20677;:5;;;;:::i;:::-;20673:9;;20705:1;20700;:6;;20693:14;;;;:::i;:::-;;20593:141;;;;:::o;24:744:1:-;131:5;156:81;172:64;229:6;172:64;:::i;:::-;156:81;:::i;:::-;147:90;;257:5;286:6;279:5;272:21;320:4;313:5;309:16;302:23;;346:6;396:3;388:4;380:6;376:17;371:3;367:27;364:36;361:2;;;415:79;;:::i;:::-;361:2;528:1;513:249;538:6;535:1;532:13;513:249;;;606:3;635:48;679:3;667:10;635:48;:::i;:::-;630:3;623:61;713:4;708:3;704:14;697:21;;747:4;742:3;738:14;731:21;;573:189;560:1;557;553:9;548:14;;513:249;;;517:14;137:631;;;;;;;:::o;774:139::-;820:5;858:6;845:20;836:29;;874:33;901:5;874:33;:::i;:::-;826:87;;;;:::o;936:385::-;1018:5;1067:3;1060:4;1052:6;1048:17;1044:27;1034:2;;1075:79;;:::i;:::-;1034:2;1185:6;1179:13;1210:105;1311:3;1303:6;1296:4;1288:6;1284:17;1210:105;:::i;:::-;1201:114;;1024:297;;;;;:::o;1327:133::-;1370:5;1408:6;1395:20;1386:29;;1424:30;1448:5;1424:30;:::i;:::-;1376:84;;;;:::o;1466:139::-;1512:5;1550:6;1537:20;1528:29;;1566:33;1593:5;1566:33;:::i;:::-;1518:87;;;;:::o;1611:143::-;1668:5;1699:6;1693:13;1684:22;;1715:33;1742:5;1715:33;:::i;:::-;1674:80;;;;:::o;1760:329::-;1819:6;1868:2;1856:9;1847:7;1843:23;1839:32;1836:2;;;1874:79;;:::i;:::-;1836:2;1994:1;2019:53;2064:7;2055:6;2044:9;2040:22;2019:53;:::i;:::-;2009:63;;1965:117;1826:263;;;;:::o;2095:474::-;2163:6;2171;2220:2;2208:9;2199:7;2195:23;2191:32;2188:2;;;2226:79;;:::i;:::-;2188:2;2346:1;2371:53;2416:7;2407:6;2396:9;2392:22;2371:53;:::i;:::-;2361:63;;2317:117;2473:2;2499:53;2544:7;2535:6;2524:9;2520:22;2499:53;:::i;:::-;2489:63;;2444:118;2178:391;;;;;:::o;2575:619::-;2652:6;2660;2668;2717:2;2705:9;2696:7;2692:23;2688:32;2685:2;;;2723:79;;:::i;:::-;2685:2;2843:1;2868:53;2913:7;2904:6;2893:9;2889:22;2868:53;:::i;:::-;2858:63;;2814:117;2970:2;2996:53;3041:7;3032:6;3021:9;3017:22;2996:53;:::i;:::-;2986:63;;2941:118;3098:2;3124:53;3169:7;3160:6;3149:9;3145:22;3124:53;:::i;:::-;3114:63;;3069:118;2675:519;;;;;:::o;3200:474::-;3268:6;3276;3325:2;3313:9;3304:7;3300:23;3296:32;3293:2;;;3331:79;;:::i;:::-;3293:2;3451:1;3476:53;3521:7;3512:6;3501:9;3497:22;3476:53;:::i;:::-;3466:63;;3422:117;3578:2;3604:53;3649:7;3640:6;3629:9;3625:22;3604:53;:::i;:::-;3594:63;;3549:118;3283:391;;;;;:::o;3680:554::-;3775:6;3824:2;3812:9;3803:7;3799:23;3795:32;3792:2;;;3830:79;;:::i;:::-;3792:2;3971:1;3960:9;3956:17;3950:24;4001:18;3993:6;3990:30;3987:2;;;4023:79;;:::i;:::-;3987:2;4128:89;4209:7;4200:6;4189:9;4185:22;4128:89;:::i;:::-;4118:99;;3921:306;3782:452;;;;:::o;4240:462::-;4302:6;4310;4359:2;4347:9;4338:7;4334:23;4330:32;4327:2;;;4365:79;;:::i;:::-;4327:2;4485:1;4510:50;4552:7;4543:6;4532:9;4528:22;4510:50;:::i;:::-;4500:60;;4456:114;4609:2;4635:50;4677:7;4668:6;4657:9;4653:22;4635:50;:::i;:::-;4625:60;;4580:115;4317:385;;;;;:::o;4708:329::-;4767:6;4816:2;4804:9;4795:7;4791:23;4787:32;4784:2;;;4822:79;;:::i;:::-;4784:2;4942:1;4967:53;5012:7;5003:6;4992:9;4988:22;4967:53;:::i;:::-;4957:63;;4913:117;4774:263;;;;:::o;5043:474::-;5111:6;5119;5168:2;5156:9;5147:7;5143:23;5139:32;5136:2;;;5174:79;;:::i;:::-;5136:2;5294:1;5319:53;5364:7;5355:6;5344:9;5340:22;5319:53;:::i;:::-;5309:63;;5265:117;5421:2;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5392:118;5126:391;;;;;:::o;5523:619::-;5600:6;5608;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:2;;;5671:79;;:::i;:::-;5633:2;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;6046:2;6072:53;6117:7;6108:6;6097:9;6093:22;6072:53;:::i;:::-;6062:63;;6017:118;5623:519;;;;;:::o;6148:663::-;6236:6;6244;6252;6301:2;6289:9;6280:7;6276:23;6272:32;6269:2;;;6307:79;;:::i;:::-;6269:2;6427:1;6452:64;6508:7;6499:6;6488:9;6484:22;6452:64;:::i;:::-;6442:74;;6398:128;6565:2;6591:64;6647:7;6638:6;6627:9;6623:22;6591:64;:::i;:::-;6581:74;;6536:129;6704:2;6730:64;6786:7;6777:6;6766:9;6762:22;6730:64;:::i;:::-;6720:74;;6675:129;6259:552;;;;;:::o;6817:179::-;6886:10;6907:46;6949:3;6941:6;6907:46;:::i;:::-;6985:4;6980:3;6976:14;6962:28;;6897:99;;;;:::o;7002:179::-;7071:10;7092:46;7134:3;7126:6;7092:46;:::i;:::-;7170:4;7165:3;7161:14;7147:28;;7082:99;;;;:::o;7187:108::-;7264:24;7282:5;7264:24;:::i;:::-;7259:3;7252:37;7242:53;;:::o;7301:118::-;7388:24;7406:5;7388:24;:::i;:::-;7383:3;7376:37;7366:53;;:::o;7455:732::-;7574:3;7603:54;7651:5;7603:54;:::i;:::-;7673:86;7752:6;7747:3;7673:86;:::i;:::-;7666:93;;7783:56;7833:5;7783:56;:::i;:::-;7862:7;7893:1;7878:284;7903:6;7900:1;7897:13;7878:284;;;7979:6;7973:13;8006:63;8065:3;8050:13;8006:63;:::i;:::-;7999:70;;8092:60;8145:6;8092:60;:::i;:::-;8082:70;;7938:224;7925:1;7922;7918:9;7913:14;;7878:284;;;7882:14;8178:3;8171:10;;7579:608;;;;;;;:::o;8223:732::-;8342:3;8371:54;8419:5;8371:54;:::i;:::-;8441:86;8520:6;8515:3;8441:86;:::i;:::-;8434:93;;8551:56;8601:5;8551:56;:::i;:::-;8630:7;8661:1;8646:284;8671:6;8668:1;8665:13;8646:284;;;8747:6;8741:13;8774:63;8833:3;8818:13;8774:63;:::i;:::-;8767:70;;8860:60;8913:6;8860:60;:::i;:::-;8850:70;;8706:224;8693:1;8690;8686:9;8681:14;;8646:284;;;8650:14;8946:3;8939:10;;8347:608;;;;;;;:::o;8961:109::-;9042:21;9057:5;9042:21;:::i;:::-;9037:3;9030:34;9020:50;;:::o;9076:147::-;9171:45;9210:5;9171:45;:::i;:::-;9166:3;9159:58;9149:74;;:::o;9229:364::-;9317:3;9345:39;9378:5;9345:39;:::i;:::-;9400:71;9464:6;9459:3;9400:71;:::i;:::-;9393:78;;9480:52;9525:6;9520:3;9513:4;9506:5;9502:16;9480:52;:::i;:::-;9557:29;9579:6;9557:29;:::i;:::-;9552:3;9548:39;9541:46;;9321:272;;;;;:::o;9599:366::-;9741:3;9762:67;9826:2;9821:3;9762:67;:::i;:::-;9755:74;;9838:93;9927:3;9838:93;:::i;:::-;9956:2;9951:3;9947:12;9940:19;;9745:220;;;:::o;9971:366::-;10113:3;10134:67;10198:2;10193:3;10134:67;:::i;:::-;10127:74;;10210:93;10299:3;10210:93;:::i;:::-;10328:2;10323:3;10319:12;10312:19;;10117:220;;;:::o;10343:366::-;10485:3;10506:67;10570:2;10565:3;10506:67;:::i;:::-;10499:74;;10582:93;10671:3;10582:93;:::i;:::-;10700:2;10695:3;10691:12;10684:19;;10489:220;;;:::o;10715:366::-;10857:3;10878:67;10942:2;10937:3;10878:67;:::i;:::-;10871:74;;10954:93;11043:3;10954:93;:::i;:::-;11072:2;11067:3;11063:12;11056:19;;10861:220;;;:::o;11087:366::-;11229:3;11250:67;11314:2;11309:3;11250:67;:::i;:::-;11243:74;;11326:93;11415:3;11326:93;:::i;:::-;11444:2;11439:3;11435:12;11428:19;;11233:220;;;:::o;11459:366::-;11601:3;11622:67;11686:2;11681:3;11622:67;:::i;:::-;11615:74;;11698:93;11787:3;11698:93;:::i;:::-;11816:2;11811:3;11807:12;11800:19;;11605:220;;;:::o;11831:366::-;11973:3;11994:67;12058:2;12053:3;11994:67;:::i;:::-;11987:74;;12070:93;12159:3;12070:93;:::i;:::-;12188:2;12183:3;12179:12;12172:19;;11977:220;;;:::o;12203:108::-;12280:24;12298:5;12280:24;:::i;:::-;12275:3;12268:37;12258:53;;:::o;12317:118::-;12404:24;12422:5;12404:24;:::i;:::-;12399:3;12392:37;12382:53;;:::o;12441:112::-;12524:22;12540:5;12524:22;:::i;:::-;12519:3;12512:35;12502:51;;:::o;12559:222::-;12652:4;12690:2;12679:9;12675:18;12667:26;;12703:71;12771:1;12760:9;12756:17;12747:6;12703:71;:::i;:::-;12657:124;;;;:::o;12787:807::-;13036:4;13074:3;13063:9;13059:19;13051:27;;13088:71;13156:1;13145:9;13141:17;13132:6;13088:71;:::i;:::-;13169:72;13237:2;13226:9;13222:18;13213:6;13169:72;:::i;:::-;13251:80;13327:2;13316:9;13312:18;13303:6;13251:80;:::i;:::-;13341;13417:2;13406:9;13402:18;13393:6;13341:80;:::i;:::-;13431:73;13499:3;13488:9;13484:19;13475:6;13431:73;:::i;:::-;13514;13582:3;13571:9;13567:19;13558:6;13514:73;:::i;:::-;13041:553;;;;;;;;;:::o;13600:373::-;13743:4;13781:2;13770:9;13766:18;13758:26;;13830:9;13824:4;13820:20;13816:1;13805:9;13801:17;13794:47;13858:108;13961:4;13952:6;13858:108;:::i;:::-;13850:116;;13748:225;;;;:::o;13979:210::-;14066:4;14104:2;14093:9;14089:18;14081:26;;14117:65;14179:1;14168:9;14164:17;14155:6;14117:65;:::i;:::-;14071:118;;;;:::o;14195:313::-;14308:4;14346:2;14335:9;14331:18;14323:26;;14395:9;14389:4;14385:20;14381:1;14370:9;14366:17;14359:47;14423:78;14496:4;14487:6;14423:78;:::i;:::-;14415:86;;14313:195;;;;:::o;14514:419::-;14680:4;14718:2;14707:9;14703:18;14695:26;;14767:9;14761:4;14757:20;14753:1;14742:9;14738:17;14731:47;14795:131;14921:4;14795:131;:::i;:::-;14787:139;;14685:248;;;:::o;14939:419::-;15105:4;15143:2;15132:9;15128:18;15120:26;;15192:9;15186:4;15182:20;15178:1;15167:9;15163:17;15156:47;15220:131;15346:4;15220:131;:::i;:::-;15212:139;;15110:248;;;:::o;15364:419::-;15530:4;15568:2;15557:9;15553:18;15545:26;;15617:9;15611:4;15607:20;15603:1;15592:9;15588:17;15581:47;15645:131;15771:4;15645:131;:::i;:::-;15637:139;;15535:248;;;:::o;15789:419::-;15955:4;15993:2;15982:9;15978:18;15970:26;;16042:9;16036:4;16032:20;16028:1;16017:9;16013:17;16006:47;16070:131;16196:4;16070:131;:::i;:::-;16062:139;;15960:248;;;:::o;16214:419::-;16380:4;16418:2;16407:9;16403:18;16395:26;;16467:9;16461:4;16457:20;16453:1;16442:9;16438:17;16431:47;16495:131;16621:4;16495:131;:::i;:::-;16487:139;;16385:248;;;:::o;16639:419::-;16805:4;16843:2;16832:9;16828:18;16820:26;;16892:9;16886:4;16882:20;16878:1;16867:9;16863:17;16856:47;16920:131;17046:4;16920:131;:::i;:::-;16912:139;;16810:248;;;:::o;17064:419::-;17230:4;17268:2;17257:9;17253:18;17245:26;;17317:9;17311:4;17307:20;17303:1;17292:9;17288:17;17281:47;17345:131;17471:4;17345:131;:::i;:::-;17337:139;;17235:248;;;:::o;17489:222::-;17582:4;17620:2;17609:9;17605:18;17597:26;;17633:71;17701:1;17690:9;17686:17;17677:6;17633:71;:::i;:::-;17587:124;;;;:::o;17717:483::-;17888:4;17926:2;17915:9;17911:18;17903:26;;17939:71;18007:1;17996:9;17992:17;17983:6;17939:71;:::i;:::-;18057:9;18051:4;18047:20;18042:2;18031:9;18027:18;18020:48;18085:108;18188:4;18179:6;18085:108;:::i;:::-;18077:116;;17893:307;;;;;:::o;18206:831::-;18469:4;18507:3;18496:9;18492:19;18484:27;;18521:71;18589:1;18578:9;18574:17;18565:6;18521:71;:::i;:::-;18602:80;18678:2;18667:9;18663:18;18654:6;18602:80;:::i;:::-;18729:9;18723:4;18719:20;18714:2;18703:9;18699:18;18692:48;18757:108;18860:4;18851:6;18757:108;:::i;:::-;18749:116;;18875:72;18943:2;18932:9;18928:18;18919:6;18875:72;:::i;:::-;18957:73;19025:3;19014:9;19010:19;19001:6;18957:73;:::i;:::-;18474:563;;;;;;;;:::o;19043:214::-;19132:4;19170:2;19159:9;19155:18;19147:26;;19183:67;19247:1;19236:9;19232:17;19223:6;19183:67;:::i;:::-;19137:120;;;;:::o;19263:129::-;19297:6;19324:20;;:::i;:::-;19314:30;;19353:33;19381:4;19373:6;19353:33;:::i;:::-;19304:88;;;:::o;19398:75::-;19431:6;19464:2;19458:9;19448:19;;19438:35;:::o;19479:311::-;19556:4;19646:18;19638:6;19635:30;19632:2;;;19668:18;;:::i;:::-;19632:2;19718:4;19710:6;19706:17;19698:25;;19778:4;19772;19768:15;19760:23;;19561:229;;;:::o;19796:132::-;19863:4;19886:3;19878:11;;19916:4;19911:3;19907:14;19899:22;;19868:60;;;:::o;19934:132::-;20001:4;20024:3;20016:11;;20054:4;20049:3;20045:14;20037:22;;20006:60;;;:::o;20072:114::-;20139:6;20173:5;20167:12;20157:22;;20146:40;;;:::o;20192:114::-;20259:6;20293:5;20287:12;20277:22;;20266:40;;;:::o;20312:99::-;20364:6;20398:5;20392:12;20382:22;;20371:40;;;:::o;20417:113::-;20487:4;20519;20514:3;20510:14;20502:22;;20492:38;;;:::o;20536:113::-;20606:4;20638;20633:3;20629:14;20621:22;;20611:38;;;:::o;20655:184::-;20754:11;20788:6;20783:3;20776:19;20828:4;20823:3;20819:14;20804:29;;20766:73;;;;:::o;20845:184::-;20944:11;20978:6;20973:3;20966:19;21018:4;21013:3;21009:14;20994:29;;20956:73;;;;:::o;21035:169::-;21119:11;21153:6;21148:3;21141:19;21193:4;21188:3;21184:14;21169:29;;21131:73;;;;:::o;21210:305::-;21250:3;21269:20;21287:1;21269:20;:::i;:::-;21264:25;;21303:20;21321:1;21303:20;:::i;:::-;21298:25;;21457:1;21389:66;21385:74;21382:1;21379:81;21376:2;;;21463:18;;:::i;:::-;21376:2;21507:1;21504;21500:9;21493:16;;21254:261;;;;:::o;21521:185::-;21561:1;21578:20;21596:1;21578:20;:::i;:::-;21573:25;;21612:20;21630:1;21612:20;:::i;:::-;21607:25;;21651:1;21641:2;;21656:18;;:::i;:::-;21641:2;21698:1;21695;21691:9;21686:14;;21563:143;;;;:::o;21712:848::-;21773:5;21780:4;21804:6;21795:15;;21828:5;21819:14;;21842:712;21863:1;21853:8;21850:15;21842:712;;;21958:4;21953:3;21949:14;21943:4;21940:24;21937:2;;;21967:18;;:::i;:::-;21937:2;22017:1;22007:8;22003:16;22000:2;;;22432:4;22425:5;22421:16;22412:25;;22000:2;22482:4;22476;22472:15;22464:23;;22512:32;22535:8;22512:32;:::i;:::-;22500:44;;21842:712;;;21785:775;;;;;;;:::o;22566:281::-;22624:5;22648:23;22666:4;22648:23;:::i;:::-;22640:31;;22692:25;22708:8;22692:25;:::i;:::-;22680:37;;22736:104;22773:66;22763:8;22757:4;22736:104;:::i;:::-;22727:113;;22630:217;;;;:::o;22853:1073::-;22907:5;23098:8;23088:2;;23119:1;23110:10;;23121:5;;23088:2;23147:4;23137:2;;23164:1;23155:10;;23166:5;;23137:2;23233:4;23281:1;23276:27;;;;23317:1;23312:191;;;;23226:277;;23276:27;23294:1;23285:10;;23296:5;;;23312:191;23357:3;23347:8;23344:17;23341:2;;;23364:18;;:::i;:::-;23341:2;23413:8;23410:1;23406:16;23397:25;;23448:3;23441:5;23438:14;23435:2;;;23455:18;;:::i;:::-;23435:2;23488:5;;;23226:277;;23612:2;23602:8;23599:16;23593:3;23587:4;23584:13;23580:36;23562:2;23552:8;23549:16;23544:2;23538:4;23535:12;23531:35;23515:111;23512:2;;;23668:8;23662:4;23658:19;23649:28;;23703:3;23696:5;23693:14;23690:2;;;23710:18;;:::i;:::-;23690:2;23743:5;;23512:2;23783:42;23821:3;23811:8;23805:4;23802:1;23783:42;:::i;:::-;23768:57;;;;23857:4;23852:3;23848:14;23841:5;23838:25;23835:2;;;23866:18;;:::i;:::-;23835:2;23915:4;23908:5;23904:16;23895:25;;22913:1013;;;;;;:::o;23932:348::-;23972:7;23995:20;24013:1;23995:20;:::i;:::-;23990:25;;24029:20;24047:1;24029:20;:::i;:::-;24024:25;;24217:1;24149:66;24145:74;24142:1;24139:81;24134:1;24127:9;24120:17;24116:105;24113:2;;;24224:18;;:::i;:::-;24113:2;24272:1;24269;24265:9;24254:20;;23980:300;;;;:::o;24286:191::-;24326:4;24346:20;24364:1;24346:20;:::i;:::-;24341:25;;24380:20;24398:1;24380:20;:::i;:::-;24375:25;;24419:1;24416;24413:8;24410:2;;;24424:18;;:::i;:::-;24410:2;24469:1;24466;24462:9;24454:17;;24331:146;;;;:::o;24483:96::-;24520:7;24549:24;24567:5;24549:24;:::i;:::-;24538:35;;24528:51;;;:::o;24585:90::-;24619:7;24662:5;24655:13;24648:21;24637:32;;24627:48;;;:::o;24681:126::-;24718:7;24758:42;24751:5;24747:54;24736:65;;24726:81;;;:::o;24813:77::-;24850:7;24879:5;24868:16;;24858:32;;;:::o;24896:86::-;24931:7;24971:4;24964:5;24960:16;24949:27;;24939:43;;;:::o;24988:121::-;25046:9;25079:24;25097:5;25079:24;:::i;:::-;25066:37;;25056:53;;;:::o;25115:307::-;25183:1;25193:113;25207:6;25204:1;25201:13;25193:113;;;25292:1;25287:3;25283:11;25277:18;25273:1;25268:3;25264:11;25257:39;25229:2;25226:1;25222:10;25217:15;;25193:113;;;25324:6;25321:1;25318:13;25315:2;;;25404:1;25395:6;25390:3;25386:16;25379:27;25315:2;25164:258;;;;:::o;25428:320::-;25472:6;25509:1;25503:4;25499:12;25489:22;;25556:1;25550:4;25546:12;25577:18;25567:2;;25633:4;25625:6;25621:17;25611:27;;25567:2;25695;25687:6;25684:14;25664:18;25661:38;25658:2;;;25714:18;;:::i;:::-;25658:2;25479:269;;;;:::o;25754:281::-;25837:27;25859:4;25837:27;:::i;:::-;25829:6;25825:40;25967:6;25955:10;25952:22;25931:18;25919:10;25916:34;25913:62;25910:2;;;25978:18;;:::i;:::-;25910:2;26018:10;26014:2;26007:22;25797:238;;;:::o;26041:180::-;26089:77;26086:1;26079:88;26186:4;26183:1;26176:15;26210:4;26207:1;26200:15;26227:180;26275:77;26272:1;26265:88;26372:4;26369:1;26362:15;26396:4;26393:1;26386:15;26413:180;26461:77;26458:1;26451:88;26558:4;26555:1;26548:15;26582:4;26579:1;26572:15;26599:180;26647:77;26644:1;26637:88;26744:4;26741:1;26734:15;26768:4;26765:1;26758:15;26785:180;26833:77;26830:1;26823:88;26930:4;26927:1;26920:15;26954:4;26951:1;26944:15;26971:180;27019:77;27016:1;27009:88;27116:4;27113:1;27106:15;27140:4;27137:1;27130:15;27157:117;27266:1;27263;27256:12;27280:117;27389:1;27386;27379:12;27403:117;27512:1;27509;27502:12;27526:117;27635:1;27632;27625:12;27649:102;27690:6;27741:2;27737:7;27732:2;27725:5;27721:14;27717:28;27707:38;;27697:54;;;:::o;27757:102::-;27799:8;27846:5;27843:1;27839:13;27818:34;;27808:51;;;:::o;27865:221::-;28005:34;28001:1;27993:6;27989:14;27982:58;28074:4;28069:2;28061:6;28057:15;28050:29;27971:115;:::o;28092:175::-;28232:27;28228:1;28220:6;28216:14;28209:51;28198:69;:::o;28273:171::-;28413:23;28409:1;28401:6;28397:14;28390:47;28379:65;:::o;28450:173::-;28590:25;28586:1;28578:6;28574:14;28567:49;28556:67;:::o;28629:223::-;28769:34;28765:1;28757:6;28753:14;28746:58;28838:6;28833:2;28825:6;28821:15;28814:31;28735:117;:::o;28858:175::-;28998:27;28994:1;28986:6;28982:14;28975:51;28964:69;:::o;29039:161::-;29179:13;29175:1;29167:6;29163:14;29156:37;29145:55;:::o;29206:122::-;29279:24;29297:5;29279:24;:::i;:::-;29272:5;29269:35;29259:2;;29318:1;29315;29308:12;29259:2;29249:79;:::o;29334:116::-;29404:21;29419:5;29404:21;:::i;:::-;29397:5;29394:32;29384:2;;29440:1;29437;29430:12;29384:2;29374:76;:::o;29456:122::-;29529:24;29547:5;29529:24;:::i;:::-;29522:5;29519:35;29509:2;;29568:1;29565;29558:12;29509:2;29499:79;:::o

Swarm Source

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