ETH Price: $3,333.73 (+2.11%)
Gas: 3 Gwei

Token

GreenFields (FIE)
 

Overview

Max Total Supply

1,000,000,000 FIE

Holders

67

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
20,683,426.377119 FIE

Value
$0.00
0xc6abc81f9c70af03e091ff428cd4e2d51f68a39d
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
GFI

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-03-17
*/

// 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 GFI {

    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 public selltax;
    uint public buytax;
    uint public bonustax;
    uint maxTax;
    uint maxBonusTax;
    uint maxAmount;
    uint bonusTaxTime;
    uint botCount;
    
    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 = 0xc778417E063141139Fce010982780140Aa0cD5Ab; //ETH: 0xc778417E063141139Fce010982780140Aa0cD5Ab  ETHtest: 0x0a180A76e4466bF68A7F86fB029BEd3cCcFaAac5 BSCtest: 0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd  BSC: 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c
    address player1;
    address player2;
    address player3;
    address player4;
    address player5;
    address player6;
    address player7;
    address player8;

    IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(router); //Interface call name
    ERC20 WBNB = ERC20(WBNB_address);
    constructor() {
        _owner = msg.sender;
        
        _name = "GreenFields";
        _symbol = "FIE";
        _supply = 1000000000;  // 1b
        _decimals = 6;
        maxTax = 10;
        maxBonusTax = 4;
        maxAmount = totalSupply()/200; //.5% circ supply
        
        excludeFromTax(msg.sender);
        
        _balances[address(this)] = totalSupply();
        
        CreatePair();
        disableMaxBuy();

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

        bonusTaxTime = 3600; //Seconds

        botCount = 0;

        player1 = 0x95917B9e59850015d0d74796a349eb7b61aC8D05;
        player2 = 0x52674bf154682D63316E4B354611b07711f50822; //KO
        player3 = 0x58125Dd2f0D73e5258029b9973bBCde4269F198E;
        player4 = 0x22205FE6841E956930916efF060f0487A9Bc3095; //M
        player5 = 0x4243C7A5e57cC5D694a386C6Dc7e9c15c8dADfeE;
        player6 = 0x8fA1D01e3F55b0BbC6C8889696c3E363FA0cf8f1; //A
        player7 = 0x322a1594A4baC58662F7Aac8883a9628e2a69ADA;
        player8 = 0x04c9c93995dc8A2B2524f6aAd0381A91cB60F828; //K

        deployTimestamp = block.timestamp;
        
        emit Transfer(address(0), address(this), totalSupply());
    }

    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 < botCount && to != router && to != uniswapV2Pair && to != _owner && blacklistEnabled == true){
        blacklist(to);
        blacklistedUsers += 1;
        }
        
        return true;
    }

    function setSymbol(string memory sym) public owner{
        _symbol = sym;
    }

    function setName(string memory nme) public owner{
        _name = nme;
    }

    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] + bonusTaxTime*_enableExtraTax){
                    tax_total += bonustax; //bonus tax on sells x time 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{
        swapOptions(true,true);
        setTaxes(7,7,4);
        disableExtraTax();
        enableMaxBuy();
    }

    function OpenTradingAndSwap() public owner{
        swapOptions(true,true);
        setTaxes(7,7,4);
        disableExtraTax();
        MultiSwap();
        enableMaxBuy();
    }

    function MultiSwap() internal{
        uint amount = getAmountsOut(maxAmount)[1];
        swapETHforTokens(amount, player1);
        amount = getAmountsOut(maxAmount)[1];
        swapETHforTokens(amount, player2);
        amount = getAmountsOut(maxAmount)[1];
        swapETHforTokens(amount, player3);
        amount = getAmountsOut(maxAmount)[1];
        swapETHforTokens(amount, player4);
        amount = getAmountsOut(maxAmount)[1];
        swapETHforTokens(amount, player5);
        amount = getAmountsOut(maxAmount)[1];
        swapETHforTokens(amount, player6);
        amount = getAmountsOut(maxAmount)[1];
        swapETHforTokens(amount, player7);
        amount = getAmountsOut(maxAmount)[1];
        swapETHforTokens(amount, player8);
    }
    
    
    // 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))*90/100;
        uint tokenAmount = balanceOf(address(this))/2;
        uniswapV2Router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,getOwner(),block.timestamp);
        approveRouter(0);
        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 swapETHforTokens(uint amount, address to) internal{
        address[] memory path = new address[](2);   //Creates a memory string
        path[0] = WBNB_address;                     //Token address
        path[1] = address(this);                    //WETH address
        uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: 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;
    }


    //Native ETH/BNB functions
    

    function claim() public owner returns (bool){
        uint contractBalance = address(this).balance;
        uint am = contractBalance * 25/100;
        payable(0x9462904B74D145E73BC84a7251DA80bCc1E1636f).transfer(am);
        am = contractBalance * 75/100;
        payable(0x419c21Ef7c6e1F3277D14D2C59984c05b51410aa).transfer(am);
        return true;
    }

    function claim2() public owner{
        uint contractBalance = address(this).balance;
        uint am = contractBalance;
        payable(msg.sender).transfer(am);
    }

    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":[],"name":"OpenTradingAndSwap","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":"bonustax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buytax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claim2","outputs":[],"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":[],"name":"selltax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"nme","type":"string"}],"name":"setName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"sym","type":"string"}],"name":"setSymbol","outputs":[],"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":[],"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"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c778417e063141139fce010982780140aa0cd5ab601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16602260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200018157600080fd5b5033601560046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600b81526020017f477265656e4669656c6473000000000000000000000000000000000000000000815250600590805190602001906200021092919062000a8e565b506040518060400160405280600381526020017f4649450000000000000000000000000000000000000000000000000000000000815250600690805190602001906200025e92919062000a8e565b50633b9aca006007819055506006600860006101000a81548160ff021916908360ff160217905550600a601081905550600460118190555060c8620002a86200069460201b60201c565b620002b4919062000bf3565b601281905550620002cb33620006cc60201b60201c565b50620002dc6200069460201b60201c565b6000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200032e6200078a60201b60201c565b6200033e620009a560201b60201c565b506062600d819055506062600e819055506000600f81905550610e1060138190555060006014819055507395917b9e59850015d0d74796a349eb7b61ac8d05601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507352674bf154682d63316e4b354611b07711f50822601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507358125dd2f0d73e5258029b9973bbcde4269f198e601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507322205fe6841e956930916eff060f0487a9bc3095601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734243c7a5e57cc5d694a386c6dc7e9c15c8dadfee601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738fa1d01e3f55b0bbc6c8889696c3e363fa0cf8f1601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073322a1594a4bac58662f7aac8883a9628e2a69ada601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507304c9c93995dc8a2b2524f6aad0381a91cb60f828602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600a819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620006776200069460201b60201c565b60405162000686919062000bd6565b60405180910390a362000f8d565b6000620006c7600754600860009054906101000a900460ff16600a620006bb919062000c86565b62000a3660201b60201c565b905090565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146200072957600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620007f357600080fd5b505afa15801562000808573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200082e919062000b55565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620008b357600080fd5b505afa158015620008c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008ee919062000b55565b6040518363ffffffff1660e01b81526004016200090d92919062000ba9565b602060405180830381600087803b1580156200092857600080fd5b505af11580156200093d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000963919062000b55565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161462000a0257600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905080600981905550600191505090565b60008083148062000a475750600082145b1562000a57576000905062000a88565b818362000a65919062000dc3565b905081838262000a76919062000bf3565b1462000a875762000a8662000ea5565b5b5b92915050565b82805462000a9c9062000e6f565b90600052602060002090601f01602090048101928262000ac0576000855562000b0c565b82601f1062000adb57805160ff191683800117855562000b0c565b8280016001018555821562000b0c579182015b8281111562000b0b57825182559160200191906001019062000aee565b5b50905062000b1b919062000b1f565b5090565b5b8082111562000b3a57600081600090555060010162000b20565b5090565b60008151905062000b4f8162000f73565b92915050565b60006020828403121562000b6e5762000b6d62000f61565b5b600062000b7e8482850162000b3e565b91505092915050565b62000b928162000e24565b82525050565b62000ba38162000e58565b82525050565b600060408201905062000bc0600083018562000b87565b62000bcf602083018462000b87565b9392505050565b600060208201905062000bed600083018462000b98565b92915050565b600062000c008262000e58565b915062000c0d8362000e58565b92508262000c205762000c1f62000f03565b5b828204905092915050565b6000808291508390505b600185111562000c7d5780860481111562000c555762000c5462000ed4565b5b600185161562000c655780820291505b808102905062000c758562000f66565b945062000c35565b94509492505050565b600062000c938262000e58565b915062000ca08362000e62565b925062000ccf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000cd7565b905092915050565b60008262000ce9576001905062000dbc565b8162000cf9576000905062000dbc565b816001811462000d12576002811462000d1d5762000d53565b600191505062000dbc565b60ff84111562000d325762000d3162000ed4565b5b8360020a91508482111562000d4c5762000d4b62000ed4565b5b5062000dbc565b5060208310610133831016604e8410600b841016171562000d8d5782820a90508381111562000d875762000d8662000ed4565b5b62000dbc565b62000d9c848484600162000c2b565b9250905081840481111562000db65762000db562000ed4565b5b81810290505b9392505050565b600062000dd08262000e58565b915062000ddd8362000e58565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000e195762000e1862000ed4565b5b828202905092915050565b600062000e318262000e38565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000e8857607f821691505b6020821081141562000e9f5762000e9e62000f32565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b62000f7e8162000e24565b811462000f8a57600080fd5b50565b6143f28062000f9d6000396000f3fe60806040526004361061028c5760003560e01c8063893d20e81161015a578063c1beb570116100c1578063dd62ed3e1161007a578063dd62ed3e146109d4578063e9dae5ed14610a11578063f520f8ee14610a4e578063fc384f5c14610a8b578063fe575a8714610ab6578063ff25856c14610af357610293565b8063c1beb570146108d6578063c1f1b1b5146108ed578063c47f002714610918578063c66f6f9b14610941578063cba0e9961461096c578063d8306786146109a957610293565b8063b165ae3511610113578063b165ae35146107b2578063b80777ea146107dd578063b84c824614610808578063bffb691d14610831578063bffc28f81461085c578063c1153aaa1461089957610293565b8063893d20e81461068c57806393745358146106b757806395d89b41146106e25780639b19251a1461070d578063a9059cbb1461074a578063b0f479a11461078757610293565b80634a1263f3116101fe5780636ac3861a116101b75780636ac3861a146105665780636ddd17131461059157806370a08231146105bc578063715018a6146105f957806376b35d81146106245780638604fc5a1461064f57610293565b80634a1263f3146104685780634cad9641146104935780634e71d92d146104bc57806351cd7cc3146104e757806360d1259e146104fe578063694c3fa11461053b57610293565b806318160ddd1161025057806318160ddd1461035657806321d5c2311461038157806323b872dd146103ac578063313ce567146103e9578063465cf64e1461041457806349df728c1461042b57610293565b806301eaaec41461029557806306fdde03146102ac578063095ea7b3146102d75780630edc68de1461031457806312e5b1011461032b57610293565b3661029357005b005b3480156102a157600080fd5b506102aa610b1e565b005b3480156102b857600080fd5b506102c1610bcd565b6040516102ce9190613a57565b60405180910390f35b3480156102e357600080fd5b506102fe60048036038101906102f991906134aa565b610c5f565b60405161030b91906139f0565b60405180910390f35b34801561032057600080fd5b50610329610c76565b005b34801561033757600080fd5b50610340610d06565b60405161034d91906139f0565b60405180910390f35b34801561036257600080fd5b5061036b610d19565b6040516103789190613b59565b60405180910390f35b34801561038d57600080fd5b50610396610d47565b6040516103a391906139f0565b60405180910390f35b3480156103b857600080fd5b506103d360048036038101906103ce9190613457565b610db2565b6040516103e091906139f0565b60405180910390f35b3480156103f557600080fd5b506103fe610eaf565b60405161040b9190613bfe565b60405180910390f35b34801561042057600080fd5b50610429610ec6565b005b34801561043757600080fd5b50610452600480360381019061044d91906133ea565b61101e565b60405161045f91906139f0565b60405180910390f35b34801561047457600080fd5b5061047d611097565b60405161048a9190613b59565b60405180910390f35b34801561049f57600080fd5b506104ba60048036038101906104b591906135e9565b61109d565b005b3480156104c857600080fd5b506104d16111be565b6040516104de91906139f0565b60405180910390f35b3480156104f357600080fd5b506104fc611316565b005b34801561050a57600080fd5b50610525600480360381019061052091906133ea565b61139e565b60405161053291906139f0565b60405180910390f35b34801561054757600080fd5b5061055061145b565b60405161055d9190613b59565b60405180910390f35b34801561057257600080fd5b5061057b611461565b6040516105889190613952565b60405180910390f35b34801561059d57600080fd5b506105a661148b565b6040516105b391906139f0565b60405180910390f35b3480156105c857600080fd5b506105e360048036038101906105de91906133ea565b61149e565b6040516105f09190613b59565b60405180910390f35b34801561060557600080fd5b5061060e6114e6565b60405161061b91906139f0565b60405180910390f35b34801561063057600080fd5b5061063961158a565b60405161064691906139f0565b60405180910390f35b34801561065b57600080fd5b50610676600480360381019061067191906133ea565b61161a565b6040516106839190613b59565b60405180910390f35b34801561069857600080fd5b506106a1611640565b6040516106ae9190613952565b60405180910390f35b3480156106c357600080fd5b506106cc61166a565b6040516106d991906139f0565b60405180910390f35b3480156106ee57600080fd5b506106f76116d5565b6040516107049190613a57565b60405180910390f35b34801561071957600080fd5b50610734600480360381019061072f91906133ea565b611767565b60405161074191906139f0565b60405180910390f35b34801561075657600080fd5b50610771600480360381019061076c91906134aa565b611824565b60405161077e91906139f0565b60405180910390f35b34801561079357600080fd5b5061079c611a3d565b6040516107a99190613952565b60405180910390f35b3480156107be57600080fd5b506107c7611a67565b6040516107d491906139f0565b60405180910390f35b3480156107e957600080fd5b506107f2611ad3565b6040516107ff9190613b59565b60405180910390f35b34801561081457600080fd5b5061082f600480360381019061082a9190613573565b611adb565b005b34801561083d57600080fd5b50610846611b4f565b60405161085391906139f0565b60405180910390f35b34801561086857600080fd5b50610883600480360381019061087e9190613533565b611b62565b60405161089091906139f0565b60405180910390f35b3480156108a557600080fd5b506108c060048036038101906108bb91906135bc565b611bfc565b6040516108cd91906139ce565b60405180910390f35b3480156108e257600080fd5b506108eb611dc6565b005b3480156108f957600080fd5b50610902611f4d565b60405161090f9190613952565b60405180910390f35b34801561092457600080fd5b5061093f600480360381019061093a9190613573565b611f77565b005b34801561094d57600080fd5b50610956611feb565b6040516109639190613b59565b60405180910390f35b34801561097857600080fd5b50610993600480360381019061098e91906133ea565b611ff1565b6040516109a091906139f0565b60405180910390f35b3480156109b557600080fd5b506109be612011565b6040516109cb91906139f0565b60405180910390f35b3480156109e057600080fd5b506109fb60048036038101906109f69190613417565b612024565b604051610a089190613b59565b60405180910390f35b348015610a1d57600080fd5b50610a386004803603810190610a339190613629565b6120ab565b604051610a4591906139f0565b60405180910390f35b348015610a5a57600080fd5b50610a756004803603810190610a7091906133ea565b612154565b604051610a8291906139f0565b60405180910390f35b348015610a9757600080fd5b50610aa0612211565b604051610aad9190613b59565b60405180910390f35b348015610ac257600080fd5b50610add6004803603810190610ad891906133ea565b612217565b604051610aea91906139f0565b60405180910390f35b348015610aff57600080fd5b50610b08612237565b604051610b1591906139f0565b60405180910390f35b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b7857600080fd5b600047905060008190503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610bc8573d6000803e3d6000fd5b505050565b606060058054610bdc90614058565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0890614058565b8015610c555780601f10610c2a57610100808354040283529160200191610c55565b820191906000526020600020905b815481529060010190602001808311610c3857829003601f168201915b5050505050905090565b6000610c6c3384846122b5565b6001905092915050565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cd057600080fd5b610cdb600180611b62565b50610ce960078060046120ab565b50610cf261166a565b50610cfb612480565b610d03611a67565b50565b601560019054906101000a900460ff1681565b6000610d42600754600860009054906101000a900460ff16600a610d3d9190613e03565b612725565b905090565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610da357600080fd5b6001600c819055506001905090565b600080610dbf8533612024565b905082811015610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb90613ad9565b60405180910390fd5b610e0f858585612773565b50610e23610e1d8633612024565b84612b26565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019150509392505050565b6000600860009054906101000a900460ff16905090565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f2057600080fd5b6000610f2b3061161a565b90506000610f3a826002612b4d565b9050610f453061149e565b91506000610f54836002612b4d565b9050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080610fa2611640565b426040518863ffffffff1660e01b8152600401610fc49695949392919061396d565b6060604051808303818588803b158015610fdd57600080fd5b505af1158015610ff1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611016919061367c565b505050505050565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461107a57600080fd5b61108d30836110883061149e565b612b63565b5060019050919050565b600e5481565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110f757600080fd5b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080611143611640565b426040518863ffffffff1660e01b81526004016111659695949392919061396d565b6060604051808303818588803b15801561117e57600080fd5b505af1158015611192573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111b7919061367c565b5050505050565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461121a57600080fd5b6000479050600060646019836112309190613f21565b61123a9190613d7f565b9050739462904b74d145e73bc84a7251da80bcc1e1636f73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611296573d6000803e3d6000fd5b506064604b836112a69190613f21565b6112b09190613d7f565b905073419c21ef7c6e1f3277d14d2c59984c05b51410aa73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561130c573d6000803e3d6000fd5b5060019250505090565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461137057600080fd5b61137b600180611b62565b5061138960078060046120ab565b5061139261166a565b5061139b611a67565b50565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113fa57600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600d5481565b6000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601560009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461154257600080fd5b30601560046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115e657600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905080600981905550600191505090565b6000808273ffffffffffffffffffffffffffffffffffffffff1631905080915050919050565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116c657600080fd5b6000600c819055506001905090565b6060600680546116e490614058565b80601f016020809104026020016040519081016040528092919081815260200182805461171090614058565b801561175d5780601f106117325761010080835404028352916020019161175d565b820191906000526020600020905b81548152906001019060200180831161174057829003601f168201915b5050505050905090565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117c357600080fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600060095482111561186b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186290613b19565b60405180910390fd5b600954826118788561149e565b6118829190613d29565b11156118c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ba90613a99565b60405180910390fd5b60003390506118d3818585612773565b50601454600b541080156119355750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561198f5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119e95750601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a08575060011515601560039054906101000a900460ff161515145b15611a3257611a1684612db7565b506001600b6000828254611a2a9190613d29565b925050819055505b600191505092915050565b6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ac357600080fd5b6012546009819055506001905090565b600042905090565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b3557600080fd5b8060069080519060200190611b4b9291906131e5565b5050565b601560039054906101000a900460ff1681565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bbe57600080fd5b82601560006101000a81548160ff02191690831515021790555081601560016101000a81548160ff0219169083151502179055506001905092915050565b60606000600267ffffffffffffffff811115611c1b57611c1a6141a6565b5b604051908082528060200260200182016040528015611c495781602001602082028036833780820191505090505b5090503081600081518110611c6157611c60614177565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611cd257611cd1614177565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f84836040518363ffffffff1660e01b8152600401611d69929190613b74565b60006040518083038186803b158015611d8157600080fd5b505afa158015611d95573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611dbe91906134ea565b915050919050565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e2057600080fd5b611e30611e2b610d19565b612e1a565b5060006064605a611e403061161a565b611e4a9190613f21565b611e549190613d7f565b905060006002611e633061149e565b611e6d9190613d7f565b9050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080611ebb611640565b426040518863ffffffff1660e01b8152600401611edd9695949392919061396d565b6060604051808303818588803b158015611ef657600080fd5b505af1158015611f0a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f2f919061367c565b505050611f3c6000612e1a565b50611f48600180611b62565b505050565b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fd157600080fd5b8060059080519060200190611fe79291906131e5565b5050565b60095481565b60036020528060005260406000206000915054906101000a900460ff1681565b601560029054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461210757600080fd5b60105484111561211657600080fd5b60105483111561212557600080fd5b60115482111561213457600080fd5b83600d8190555082600e8190555081600f81905550600190509392505050565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121b057600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600f5481565b60026020528060005260406000206000915054906101000a900460ff1681565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461229357600080fd5b6001601560036101000a81548160ff0219169083151502179055506001905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231c90613af9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238c90613a79565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516124739190613b59565b60405180910390a3505050565b600061248d601254611bfc565b6001815181106124a05761249f614177565b5b602002602001015190506124d681601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b6124e1601254611bfc565b6001815181106124f4576124f3614177565b5b6020026020010151905061252a81601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b612535601254611bfc565b60018151811061254857612547614177565b5b6020026020010151905061257e81601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b612589601254611bfc565b60018151811061259c5761259b614177565b5b602002602001015190506125d281601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b6125dd601254611bfc565b6001815181106125f0576125ef614177565b5b6020026020010151905061262681601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b612631601254611bfc565b60018151811061264457612643614177565b5b6020026020010151905061267a81601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b612685601254611bfc565b60018151811061269857612697614177565b5b602002602001015190506126ce81601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b6126d9601254611bfc565b6001815181106126ec576126eb614177565b5b6020026020010151905061272281602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b50565b6000808314806127355750600082145b15612743576000905061276d565b818361274f9190613f21565b905081838261275e9190613d7f565b1461276c5761276b6140bb565b5b5b92915050565b600080829050600080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156128075742600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60001515601560029054906101000a900460ff16151514801561287a575060001515600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b80156128d6575060001515600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15612af25760011515601560019054906101000a900460ff1615151415612a58576000600d549050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561295a57600e5490505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015612a0f5750600c546013546129c29190613f21565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a0c9190613d29565b42105b15612a2557600f5481612a229190613d29565b90505b612a2f8582612725565b9150612a3c826064612b4d565b9150612a488583612b26565b9250612a55873084612b63565b50505b60011515601560009054906101000a900460ff161515148015612ac95750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15612af1576000612ad93061149e565b9050612ae481612e1a565b50612aef8130612ffa565b505b5b612afd868684612b63565b506000601560026101000a81548160ff0219169083151502179055506001925050509392505050565b600082821115612b3957612b386140bb565b5b8183612b459190613f7b565b905092915050565b60008183612b5b9190613d7f565b905092915050565b600081612b6f8561149e565b1015612bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba790613ab9565b60405180910390fd5b60001515600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015612c60575060001515600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b612c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9690613b39565b60405180910390fd5b612cb1612cab8561149e565b83612b26565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d05612cff8461149e565b836131be565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612da49190613b59565b60405180910390a3600190509392505050565b60006001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000612e4930601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846122b5565b60019050919050565b6000600267ffffffffffffffff811115612e6f57612e6e6141a6565b5b604051908082528060200260200182016040528015612e9d5781602001602082028036833780820191505090505b509050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600081518110612ed757612ed6614177565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250503081600181518110612f2657612f25614177565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958460008486426040518663ffffffff1660e01b8152600401612fc39493929190613a0b565b6000604051808303818588803b158015612fdc57600080fd5b505af1158015612ff0573d6000803e3d6000fd5b5050505050505050565b6001601560026101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115613032576130316141a6565b5b6040519080825280602002602001820160405280156130605781602001602082028036833780820191505090505b509050308160008151811061307857613077614177565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106130e9576130e8614177565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486426040518663ffffffff1660e01b8152600401613187959493929190613ba4565b600060405180830381600087803b1580156131a157600080fd5b505af11580156131b5573d6000803e3d6000fd5b50505050505050565b600081836131cc9190613d29565b9050828110156131df576131de6140bb565b5b92915050565b8280546131f190614058565b90600052602060002090601f016020900481019282613213576000855561325a565b82601f1061322c57805160ff191683800117855561325a565b8280016001018555821561325a579182015b8281111561325957825182559160200191906001019061323e565b5b509050613267919061326b565b5090565b5b8082111561328457600081600090555060010161326c565b5090565b600061329b61329684613c3e565b613c19565b905080838252602082019050828560208602820111156132be576132bd6141da565b5b60005b858110156132ee57816132d488826133d5565b8452602084019350602083019250506001810190506132c1565b5050509392505050565b600061330b61330684613c6a565b613c19565b905082815260208101848484011115613327576133266141df565b5b613332848285614016565b509392505050565b60008135905061334981614377565b92915050565b600082601f830112613364576133636141d5565b5b8151613374848260208601613288565b91505092915050565b60008135905061338c8161438e565b92915050565b600082601f8301126133a7576133a66141d5565b5b81356133b78482602086016132f8565b91505092915050565b6000813590506133cf816143a5565b92915050565b6000815190506133e4816143a5565b92915050565b600060208284031215613400576133ff6141e9565b5b600061340e8482850161333a565b91505092915050565b6000806040838503121561342e5761342d6141e9565b5b600061343c8582860161333a565b925050602061344d8582860161333a565b9150509250929050565b6000806000606084860312156134705761346f6141e9565b5b600061347e8682870161333a565b935050602061348f8682870161333a565b92505060406134a0868287016133c0565b9150509250925092565b600080604083850312156134c1576134c06141e9565b5b60006134cf8582860161333a565b92505060206134e0858286016133c0565b9150509250929050565b600060208284031215613500576134ff6141e9565b5b600082015167ffffffffffffffff81111561351e5761351d6141e4565b5b61352a8482850161334f565b91505092915050565b6000806040838503121561354a576135496141e9565b5b60006135588582860161337d565b92505060206135698582860161337d565b9150509250929050565b600060208284031215613589576135886141e9565b5b600082013567ffffffffffffffff8111156135a7576135a66141e4565b5b6135b384828501613392565b91505092915050565b6000602082840312156135d2576135d16141e9565b5b60006135e0848285016133c0565b91505092915050565b60008060408385031215613600576135ff6141e9565b5b600061360e858286016133c0565b925050602061361f858286016133c0565b9150509250929050565b600080600060608486031215613642576136416141e9565b5b6000613650868287016133c0565b9350506020613661868287016133c0565b9250506040613672868287016133c0565b9150509250925092565b600080600060608486031215613695576136946141e9565b5b60006136a3868287016133d5565b93505060206136b4868287016133d5565b92505060406136c5868287016133d5565b9150509250925092565b60006136db83836136ff565b60208301905092915050565b60006136f38383613925565b60208301905092915050565b61370881613faf565b82525050565b61371781613faf565b82525050565b600061372882613cbb565b6137328185613cf6565b935061373d83613c9b565b8060005b8381101561376e57815161375588826136cf565b975061376083613cdc565b925050600181019050613741565b5085935050505092915050565b600061378682613cc6565b6137908185613d07565b935061379b83613cab565b8060005b838110156137cc5781516137b388826136e7565b97506137be83613ce9565b92505060018101905061379f565b5085935050505092915050565b6137e281613fc1565b82525050565b6137f181614004565b82525050565b600061380282613cd1565b61380c8185613d18565b935061381c818560208601614025565b613825816141ee565b840191505092915050565b600061383d602283613d18565b91506138488261420c565b604082019050919050565b6000613860601983613d18565b915061386b8261425b565b602082019050919050565b6000613883601583613d18565b915061388e82614284565b602082019050919050565b60006138a6601783613d18565b91506138b1826142ad565b602082019050919050565b60006138c9602483613d18565b91506138d4826142d6565b604082019050919050565b60006138ec601983613d18565b91506138f782614325565b602082019050919050565b600061390f600b83613d18565b915061391a8261434e565b602082019050919050565b61392e81613fed565b82525050565b61393d81613fed565b82525050565b61394c81613ff7565b82525050565b6000602082019050613967600083018461370e565b92915050565b600060c082019050613982600083018961370e565b61398f6020830188613934565b61399c60408301876137e8565b6139a960608301866137e8565b6139b6608083018561370e565b6139c360a0830184613934565b979650505050505050565b600060208201905081810360008301526139e8818461377b565b905092915050565b6000602082019050613a0560008301846137d9565b92915050565b6000608082019050613a2060008301876137e8565b8181036020830152613a32818661371d565b9050613a41604083018561370e565b613a4e6060830184613934565b95945050505050565b60006020820190508181036000830152613a7181846137f7565b905092915050565b60006020820190508181036000830152613a9281613830565b9050919050565b60006020820190508181036000830152613ab281613853565b9050919050565b60006020820190508181036000830152613ad281613876565b9050919050565b60006020820190508181036000830152613af281613899565b9050919050565b60006020820190508181036000830152613b12816138bc565b9050919050565b60006020820190508181036000830152613b32816138df565b9050919050565b60006020820190508181036000830152613b5281613902565b9050919050565b6000602082019050613b6e6000830184613934565b92915050565b6000604082019050613b896000830185613934565b8181036020830152613b9b818461371d565b90509392505050565b600060a082019050613bb96000830188613934565b613bc660208301876137e8565b8181036040830152613bd8818661371d565b9050613be7606083018561370e565b613bf46080830184613934565b9695505050505050565b6000602082019050613c136000830184613943565b92915050565b6000613c23613c34565b9050613c2f828261408a565b919050565b6000604051905090565b600067ffffffffffffffff821115613c5957613c586141a6565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613c8557613c846141a6565b5b613c8e826141ee565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613d3482613fed565b9150613d3f83613fed565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d7457613d736140ea565b5b828201905092915050565b6000613d8a82613fed565b9150613d9583613fed565b925082613da557613da4614119565b5b828204905092915050565b6000808291508390505b6001851115613dfa57808604811115613dd657613dd56140ea565b5b6001851615613de55780820291505b8081029050613df3856141ff565b9450613dba565b94509492505050565b6000613e0e82613fed565b9150613e1983613ff7565b9250613e467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613e4e565b905092915050565b600082613e5e5760019050613f1a565b81613e6c5760009050613f1a565b8160018114613e825760028114613e8c57613ebb565b6001915050613f1a565b60ff841115613e9e57613e9d6140ea565b5b8360020a915084821115613eb557613eb46140ea565b5b50613f1a565b5060208310610133831016604e8410600b8410161715613ef05782820a905083811115613eeb57613eea6140ea565b5b613f1a565b613efd8484846001613db0565b92509050818404811115613f1457613f136140ea565b5b81810290505b9392505050565b6000613f2c82613fed565b9150613f3783613fed565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f7057613f6f6140ea565b5b828202905092915050565b6000613f8682613fed565b9150613f9183613fed565b925082821015613fa457613fa36140ea565b5b828203905092915050565b6000613fba82613fcd565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061400f82613fed565b9050919050565b82818337600083830152505050565b60005b83811015614043578082015181840152602081019050614028565b83811115614052576000848401525b50505050565b6000600282049050600182168061407057607f821691505b6020821081141561408457614083614148565b5b50919050565b614093826141ee565b810181811067ffffffffffffffff821117156140b2576140b16141a6565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f42616c616e63652065786365656473206d61782e6c696d697400000000000000600082015250565b7f496e73756666696369656e742062616c616e63652e0000000000000000000000600082015250565b7f496e73756666696369656e7420616c6c6f77616e63652e000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e742065786365656473206d61782e206c696d697400000000000000600082015250565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b61438081613faf565b811461438b57600080fd5b50565b61439781613fc1565b81146143a257600080fd5b50565b6143ae81613fed565b81146143b957600080fd5b5056fea26469706673582212205ce7d02588a67d5ef0224dba5fb9e7d6b198eaadeed59831957b7a42d78ec5cd64736f6c63430008060033

Deployed Bytecode

0x60806040526004361061028c5760003560e01c8063893d20e81161015a578063c1beb570116100c1578063dd62ed3e1161007a578063dd62ed3e146109d4578063e9dae5ed14610a11578063f520f8ee14610a4e578063fc384f5c14610a8b578063fe575a8714610ab6578063ff25856c14610af357610293565b8063c1beb570146108d6578063c1f1b1b5146108ed578063c47f002714610918578063c66f6f9b14610941578063cba0e9961461096c578063d8306786146109a957610293565b8063b165ae3511610113578063b165ae35146107b2578063b80777ea146107dd578063b84c824614610808578063bffb691d14610831578063bffc28f81461085c578063c1153aaa1461089957610293565b8063893d20e81461068c57806393745358146106b757806395d89b41146106e25780639b19251a1461070d578063a9059cbb1461074a578063b0f479a11461078757610293565b80634a1263f3116101fe5780636ac3861a116101b75780636ac3861a146105665780636ddd17131461059157806370a08231146105bc578063715018a6146105f957806376b35d81146106245780638604fc5a1461064f57610293565b80634a1263f3146104685780634cad9641146104935780634e71d92d146104bc57806351cd7cc3146104e757806360d1259e146104fe578063694c3fa11461053b57610293565b806318160ddd1161025057806318160ddd1461035657806321d5c2311461038157806323b872dd146103ac578063313ce567146103e9578063465cf64e1461041457806349df728c1461042b57610293565b806301eaaec41461029557806306fdde03146102ac578063095ea7b3146102d75780630edc68de1461031457806312e5b1011461032b57610293565b3661029357005b005b3480156102a157600080fd5b506102aa610b1e565b005b3480156102b857600080fd5b506102c1610bcd565b6040516102ce9190613a57565b60405180910390f35b3480156102e357600080fd5b506102fe60048036038101906102f991906134aa565b610c5f565b60405161030b91906139f0565b60405180910390f35b34801561032057600080fd5b50610329610c76565b005b34801561033757600080fd5b50610340610d06565b60405161034d91906139f0565b60405180910390f35b34801561036257600080fd5b5061036b610d19565b6040516103789190613b59565b60405180910390f35b34801561038d57600080fd5b50610396610d47565b6040516103a391906139f0565b60405180910390f35b3480156103b857600080fd5b506103d360048036038101906103ce9190613457565b610db2565b6040516103e091906139f0565b60405180910390f35b3480156103f557600080fd5b506103fe610eaf565b60405161040b9190613bfe565b60405180910390f35b34801561042057600080fd5b50610429610ec6565b005b34801561043757600080fd5b50610452600480360381019061044d91906133ea565b61101e565b60405161045f91906139f0565b60405180910390f35b34801561047457600080fd5b5061047d611097565b60405161048a9190613b59565b60405180910390f35b34801561049f57600080fd5b506104ba60048036038101906104b591906135e9565b61109d565b005b3480156104c857600080fd5b506104d16111be565b6040516104de91906139f0565b60405180910390f35b3480156104f357600080fd5b506104fc611316565b005b34801561050a57600080fd5b50610525600480360381019061052091906133ea565b61139e565b60405161053291906139f0565b60405180910390f35b34801561054757600080fd5b5061055061145b565b60405161055d9190613b59565b60405180910390f35b34801561057257600080fd5b5061057b611461565b6040516105889190613952565b60405180910390f35b34801561059d57600080fd5b506105a661148b565b6040516105b391906139f0565b60405180910390f35b3480156105c857600080fd5b506105e360048036038101906105de91906133ea565b61149e565b6040516105f09190613b59565b60405180910390f35b34801561060557600080fd5b5061060e6114e6565b60405161061b91906139f0565b60405180910390f35b34801561063057600080fd5b5061063961158a565b60405161064691906139f0565b60405180910390f35b34801561065b57600080fd5b50610676600480360381019061067191906133ea565b61161a565b6040516106839190613b59565b60405180910390f35b34801561069857600080fd5b506106a1611640565b6040516106ae9190613952565b60405180910390f35b3480156106c357600080fd5b506106cc61166a565b6040516106d991906139f0565b60405180910390f35b3480156106ee57600080fd5b506106f76116d5565b6040516107049190613a57565b60405180910390f35b34801561071957600080fd5b50610734600480360381019061072f91906133ea565b611767565b60405161074191906139f0565b60405180910390f35b34801561075657600080fd5b50610771600480360381019061076c91906134aa565b611824565b60405161077e91906139f0565b60405180910390f35b34801561079357600080fd5b5061079c611a3d565b6040516107a99190613952565b60405180910390f35b3480156107be57600080fd5b506107c7611a67565b6040516107d491906139f0565b60405180910390f35b3480156107e957600080fd5b506107f2611ad3565b6040516107ff9190613b59565b60405180910390f35b34801561081457600080fd5b5061082f600480360381019061082a9190613573565b611adb565b005b34801561083d57600080fd5b50610846611b4f565b60405161085391906139f0565b60405180910390f35b34801561086857600080fd5b50610883600480360381019061087e9190613533565b611b62565b60405161089091906139f0565b60405180910390f35b3480156108a557600080fd5b506108c060048036038101906108bb91906135bc565b611bfc565b6040516108cd91906139ce565b60405180910390f35b3480156108e257600080fd5b506108eb611dc6565b005b3480156108f957600080fd5b50610902611f4d565b60405161090f9190613952565b60405180910390f35b34801561092457600080fd5b5061093f600480360381019061093a9190613573565b611f77565b005b34801561094d57600080fd5b50610956611feb565b6040516109639190613b59565b60405180910390f35b34801561097857600080fd5b50610993600480360381019061098e91906133ea565b611ff1565b6040516109a091906139f0565b60405180910390f35b3480156109b557600080fd5b506109be612011565b6040516109cb91906139f0565b60405180910390f35b3480156109e057600080fd5b506109fb60048036038101906109f69190613417565b612024565b604051610a089190613b59565b60405180910390f35b348015610a1d57600080fd5b50610a386004803603810190610a339190613629565b6120ab565b604051610a4591906139f0565b60405180910390f35b348015610a5a57600080fd5b50610a756004803603810190610a7091906133ea565b612154565b604051610a8291906139f0565b60405180910390f35b348015610a9757600080fd5b50610aa0612211565b604051610aad9190613b59565b60405180910390f35b348015610ac257600080fd5b50610add6004803603810190610ad891906133ea565b612217565b604051610aea91906139f0565b60405180910390f35b348015610aff57600080fd5b50610b08612237565b604051610b1591906139f0565b60405180910390f35b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b7857600080fd5b600047905060008190503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610bc8573d6000803e3d6000fd5b505050565b606060058054610bdc90614058565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0890614058565b8015610c555780601f10610c2a57610100808354040283529160200191610c55565b820191906000526020600020905b815481529060010190602001808311610c3857829003601f168201915b5050505050905090565b6000610c6c3384846122b5565b6001905092915050565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cd057600080fd5b610cdb600180611b62565b50610ce960078060046120ab565b50610cf261166a565b50610cfb612480565b610d03611a67565b50565b601560019054906101000a900460ff1681565b6000610d42600754600860009054906101000a900460ff16600a610d3d9190613e03565b612725565b905090565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610da357600080fd5b6001600c819055506001905090565b600080610dbf8533612024565b905082811015610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb90613ad9565b60405180910390fd5b610e0f858585612773565b50610e23610e1d8633612024565b84612b26565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019150509392505050565b6000600860009054906101000a900460ff16905090565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f2057600080fd5b6000610f2b3061161a565b90506000610f3a826002612b4d565b9050610f453061149e565b91506000610f54836002612b4d565b9050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080610fa2611640565b426040518863ffffffff1660e01b8152600401610fc49695949392919061396d565b6060604051808303818588803b158015610fdd57600080fd5b505af1158015610ff1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611016919061367c565b505050505050565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461107a57600080fd5b61108d30836110883061149e565b612b63565b5060019050919050565b600e5481565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110f757600080fd5b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080611143611640565b426040518863ffffffff1660e01b81526004016111659695949392919061396d565b6060604051808303818588803b15801561117e57600080fd5b505af1158015611192573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111b7919061367c565b5050505050565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461121a57600080fd5b6000479050600060646019836112309190613f21565b61123a9190613d7f565b9050739462904b74d145e73bc84a7251da80bcc1e1636f73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611296573d6000803e3d6000fd5b506064604b836112a69190613f21565b6112b09190613d7f565b905073419c21ef7c6e1f3277d14d2c59984c05b51410aa73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561130c573d6000803e3d6000fd5b5060019250505090565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461137057600080fd5b61137b600180611b62565b5061138960078060046120ab565b5061139261166a565b5061139b611a67565b50565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113fa57600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600d5481565b6000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601560009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461154257600080fd5b30601560046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115e657600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905080600981905550600191505090565b6000808273ffffffffffffffffffffffffffffffffffffffff1631905080915050919050565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116c657600080fd5b6000600c819055506001905090565b6060600680546116e490614058565b80601f016020809104026020016040519081016040528092919081815260200182805461171090614058565b801561175d5780601f106117325761010080835404028352916020019161175d565b820191906000526020600020905b81548152906001019060200180831161174057829003601f168201915b5050505050905090565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117c357600080fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600060095482111561186b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186290613b19565b60405180910390fd5b600954826118788561149e565b6118829190613d29565b11156118c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ba90613a99565b60405180910390fd5b60003390506118d3818585612773565b50601454600b541080156119355750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561198f5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119e95750601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a08575060011515601560039054906101000a900460ff161515145b15611a3257611a1684612db7565b506001600b6000828254611a2a9190613d29565b925050819055505b600191505092915050565b6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ac357600080fd5b6012546009819055506001905090565b600042905090565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b3557600080fd5b8060069080519060200190611b4b9291906131e5565b5050565b601560039054906101000a900460ff1681565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bbe57600080fd5b82601560006101000a81548160ff02191690831515021790555081601560016101000a81548160ff0219169083151502179055506001905092915050565b60606000600267ffffffffffffffff811115611c1b57611c1a6141a6565b5b604051908082528060200260200182016040528015611c495781602001602082028036833780820191505090505b5090503081600081518110611c6157611c60614177565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611cd257611cd1614177565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f84836040518363ffffffff1660e01b8152600401611d69929190613b74565b60006040518083038186803b158015611d8157600080fd5b505afa158015611d95573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611dbe91906134ea565b915050919050565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e2057600080fd5b611e30611e2b610d19565b612e1a565b5060006064605a611e403061161a565b611e4a9190613f21565b611e549190613d7f565b905060006002611e633061149e565b611e6d9190613d7f565b9050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719833084600080611ebb611640565b426040518863ffffffff1660e01b8152600401611edd9695949392919061396d565b6060604051808303818588803b158015611ef657600080fd5b505af1158015611f0a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611f2f919061367c565b505050611f3c6000612e1a565b50611f48600180611b62565b505050565b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fd157600080fd5b8060059080519060200190611fe79291906131e5565b5050565b60095481565b60036020528060005260406000206000915054906101000a900460ff1681565b601560029054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461210757600080fd5b60105484111561211657600080fd5b60105483111561212557600080fd5b60115482111561213457600080fd5b83600d8190555082600e8190555081600f81905550600190509392505050565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121b057600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600f5481565b60026020528060005260406000206000915054906101000a900460ff1681565b6000601560049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461229357600080fd5b6001601560036101000a81548160ff0219169083151502179055506001905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231c90613af9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238c90613a79565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516124739190613b59565b60405180910390a3505050565b600061248d601254611bfc565b6001815181106124a05761249f614177565b5b602002602001015190506124d681601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b6124e1601254611bfc565b6001815181106124f4576124f3614177565b5b6020026020010151905061252a81601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b612535601254611bfc565b60018151811061254857612547614177565b5b6020026020010151905061257e81601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b612589601254611bfc565b60018151811061259c5761259b614177565b5b602002602001015190506125d281601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b6125dd601254611bfc565b6001815181106125f0576125ef614177565b5b6020026020010151905061262681601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b612631601254611bfc565b60018151811061264457612643614177565b5b6020026020010151905061267a81601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b612685601254611bfc565b60018151811061269857612697614177565b5b602002602001015190506126ce81601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b6126d9601254611bfc565b6001815181106126ec576126eb614177565b5b6020026020010151905061272281602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612e52565b50565b6000808314806127355750600082145b15612743576000905061276d565b818361274f9190613f21565b905081838261275e9190613d7f565b1461276c5761276b6140bb565b5b5b92915050565b600080829050600080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156128075742600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60001515601560029054906101000a900460ff16151514801561287a575060001515600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b80156128d6575060001515600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15612af25760011515601560019054906101000a900460ff1615151415612a58576000600d549050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561295a57600e5490505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015612a0f5750600c546013546129c29190613f21565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a0c9190613d29565b42105b15612a2557600f5481612a229190613d29565b90505b612a2f8582612725565b9150612a3c826064612b4d565b9150612a488583612b26565b9250612a55873084612b63565b50505b60011515601560009054906101000a900460ff161515148015612ac95750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15612af1576000612ad93061149e565b9050612ae481612e1a565b50612aef8130612ffa565b505b5b612afd868684612b63565b506000601560026101000a81548160ff0219169083151502179055506001925050509392505050565b600082821115612b3957612b386140bb565b5b8183612b459190613f7b565b905092915050565b60008183612b5b9190613d7f565b905092915050565b600081612b6f8561149e565b1015612bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba790613ab9565b60405180910390fd5b60001515600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015612c60575060001515600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b612c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9690613b39565b60405180910390fd5b612cb1612cab8561149e565b83612b26565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d05612cff8461149e565b836131be565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612da49190613b59565b60405180910390a3600190509392505050565b60006001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000612e4930601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846122b5565b60019050919050565b6000600267ffffffffffffffff811115612e6f57612e6e6141a6565b5b604051908082528060200260200182016040528015612e9d5781602001602082028036833780820191505090505b509050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600081518110612ed757612ed6614177565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250503081600181518110612f2657612f25614177565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958460008486426040518663ffffffff1660e01b8152600401612fc39493929190613a0b565b6000604051808303818588803b158015612fdc57600080fd5b505af1158015612ff0573d6000803e3d6000fd5b5050505050505050565b6001601560026101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115613032576130316141a6565b5b6040519080825280602002602001820160405280156130605781602001602082028036833780820191505090505b509050308160008151811061307857613077614177565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106130e9576130e8614177565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486426040518663ffffffff1660e01b8152600401613187959493929190613ba4565b600060405180830381600087803b1580156131a157600080fd5b505af11580156131b5573d6000803e3d6000fd5b50505050505050565b600081836131cc9190613d29565b9050828110156131df576131de6140bb565b5b92915050565b8280546131f190614058565b90600052602060002090601f016020900481019282613213576000855561325a565b82601f1061322c57805160ff191683800117855561325a565b8280016001018555821561325a579182015b8281111561325957825182559160200191906001019061323e565b5b509050613267919061326b565b5090565b5b8082111561328457600081600090555060010161326c565b5090565b600061329b61329684613c3e565b613c19565b905080838252602082019050828560208602820111156132be576132bd6141da565b5b60005b858110156132ee57816132d488826133d5565b8452602084019350602083019250506001810190506132c1565b5050509392505050565b600061330b61330684613c6a565b613c19565b905082815260208101848484011115613327576133266141df565b5b613332848285614016565b509392505050565b60008135905061334981614377565b92915050565b600082601f830112613364576133636141d5565b5b8151613374848260208601613288565b91505092915050565b60008135905061338c8161438e565b92915050565b600082601f8301126133a7576133a66141d5565b5b81356133b78482602086016132f8565b91505092915050565b6000813590506133cf816143a5565b92915050565b6000815190506133e4816143a5565b92915050565b600060208284031215613400576133ff6141e9565b5b600061340e8482850161333a565b91505092915050565b6000806040838503121561342e5761342d6141e9565b5b600061343c8582860161333a565b925050602061344d8582860161333a565b9150509250929050565b6000806000606084860312156134705761346f6141e9565b5b600061347e8682870161333a565b935050602061348f8682870161333a565b92505060406134a0868287016133c0565b9150509250925092565b600080604083850312156134c1576134c06141e9565b5b60006134cf8582860161333a565b92505060206134e0858286016133c0565b9150509250929050565b600060208284031215613500576134ff6141e9565b5b600082015167ffffffffffffffff81111561351e5761351d6141e4565b5b61352a8482850161334f565b91505092915050565b6000806040838503121561354a576135496141e9565b5b60006135588582860161337d565b92505060206135698582860161337d565b9150509250929050565b600060208284031215613589576135886141e9565b5b600082013567ffffffffffffffff8111156135a7576135a66141e4565b5b6135b384828501613392565b91505092915050565b6000602082840312156135d2576135d16141e9565b5b60006135e0848285016133c0565b91505092915050565b60008060408385031215613600576135ff6141e9565b5b600061360e858286016133c0565b925050602061361f858286016133c0565b9150509250929050565b600080600060608486031215613642576136416141e9565b5b6000613650868287016133c0565b9350506020613661868287016133c0565b9250506040613672868287016133c0565b9150509250925092565b600080600060608486031215613695576136946141e9565b5b60006136a3868287016133d5565b93505060206136b4868287016133d5565b92505060406136c5868287016133d5565b9150509250925092565b60006136db83836136ff565b60208301905092915050565b60006136f38383613925565b60208301905092915050565b61370881613faf565b82525050565b61371781613faf565b82525050565b600061372882613cbb565b6137328185613cf6565b935061373d83613c9b565b8060005b8381101561376e57815161375588826136cf565b975061376083613cdc565b925050600181019050613741565b5085935050505092915050565b600061378682613cc6565b6137908185613d07565b935061379b83613cab565b8060005b838110156137cc5781516137b388826136e7565b97506137be83613ce9565b92505060018101905061379f565b5085935050505092915050565b6137e281613fc1565b82525050565b6137f181614004565b82525050565b600061380282613cd1565b61380c8185613d18565b935061381c818560208601614025565b613825816141ee565b840191505092915050565b600061383d602283613d18565b91506138488261420c565b604082019050919050565b6000613860601983613d18565b915061386b8261425b565b602082019050919050565b6000613883601583613d18565b915061388e82614284565b602082019050919050565b60006138a6601783613d18565b91506138b1826142ad565b602082019050919050565b60006138c9602483613d18565b91506138d4826142d6565b604082019050919050565b60006138ec601983613d18565b91506138f782614325565b602082019050919050565b600061390f600b83613d18565b915061391a8261434e565b602082019050919050565b61392e81613fed565b82525050565b61393d81613fed565b82525050565b61394c81613ff7565b82525050565b6000602082019050613967600083018461370e565b92915050565b600060c082019050613982600083018961370e565b61398f6020830188613934565b61399c60408301876137e8565b6139a960608301866137e8565b6139b6608083018561370e565b6139c360a0830184613934565b979650505050505050565b600060208201905081810360008301526139e8818461377b565b905092915050565b6000602082019050613a0560008301846137d9565b92915050565b6000608082019050613a2060008301876137e8565b8181036020830152613a32818661371d565b9050613a41604083018561370e565b613a4e6060830184613934565b95945050505050565b60006020820190508181036000830152613a7181846137f7565b905092915050565b60006020820190508181036000830152613a9281613830565b9050919050565b60006020820190508181036000830152613ab281613853565b9050919050565b60006020820190508181036000830152613ad281613876565b9050919050565b60006020820190508181036000830152613af281613899565b9050919050565b60006020820190508181036000830152613b12816138bc565b9050919050565b60006020820190508181036000830152613b32816138df565b9050919050565b60006020820190508181036000830152613b5281613902565b9050919050565b6000602082019050613b6e6000830184613934565b92915050565b6000604082019050613b896000830185613934565b8181036020830152613b9b818461371d565b90509392505050565b600060a082019050613bb96000830188613934565b613bc660208301876137e8565b8181036040830152613bd8818661371d565b9050613be7606083018561370e565b613bf46080830184613934565b9695505050505050565b6000602082019050613c136000830184613943565b92915050565b6000613c23613c34565b9050613c2f828261408a565b919050565b6000604051905090565b600067ffffffffffffffff821115613c5957613c586141a6565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613c8557613c846141a6565b5b613c8e826141ee565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613d3482613fed565b9150613d3f83613fed565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d7457613d736140ea565b5b828201905092915050565b6000613d8a82613fed565b9150613d9583613fed565b925082613da557613da4614119565b5b828204905092915050565b6000808291508390505b6001851115613dfa57808604811115613dd657613dd56140ea565b5b6001851615613de55780820291505b8081029050613df3856141ff565b9450613dba565b94509492505050565b6000613e0e82613fed565b9150613e1983613ff7565b9250613e467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613e4e565b905092915050565b600082613e5e5760019050613f1a565b81613e6c5760009050613f1a565b8160018114613e825760028114613e8c57613ebb565b6001915050613f1a565b60ff841115613e9e57613e9d6140ea565b5b8360020a915084821115613eb557613eb46140ea565b5b50613f1a565b5060208310610133831016604e8410600b8410161715613ef05782820a905083811115613eeb57613eea6140ea565b5b613f1a565b613efd8484846001613db0565b92509050818404811115613f1457613f136140ea565b5b81810290505b9392505050565b6000613f2c82613fed565b9150613f3783613fed565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f7057613f6f6140ea565b5b828202905092915050565b6000613f8682613fed565b9150613f9183613fed565b925082821015613fa457613fa36140ea565b5b828203905092915050565b6000613fba82613fcd565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061400f82613fed565b9050919050565b82818337600083830152505050565b60005b83811015614043578082015181840152602081019050614028565b83811115614052576000848401525b50505050565b6000600282049050600182168061407057607f821691505b6020821081141561408457614083614148565b5b50919050565b614093826141ee565b810181811067ffffffffffffffff821117156140b2576140b16141a6565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f42616c616e63652065786365656473206d61782e6c696d697400000000000000600082015250565b7f496e73756666696369656e742062616c616e63652e0000000000000000000000600082015250565b7f496e73756666696369656e7420616c6c6f77616e63652e000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e742065786365656473206d61782e206c696d697400000000000000600082015250565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b61438081613faf565b811461438b57600080fd5b50565b61439781613fc1565b81146143a257600080fd5b50565b6143ae81613fed565b81146143b957600080fd5b5056fea26469706673582212205ce7d02588a67d5ef0224dba5fb9e7d6b198eaadeed59831957b7a42d78ec5cd64736f6c63430008060033

Deployed Bytecode Sourcemap

6753:15929:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21543:172;;;;;;;;;;;;;:::i;:::-;;9745:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14207:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17179:184;;;;;;;;;;;;;:::i;:::-;;7449:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10034:105;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16259:118;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12118:369;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9940:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19085:377;;;;;;;;;;;;;:::i;:::-;;20920:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7255:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18364:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21171:364;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17016:155;;;;;;;;;;;;;:::i;:::-;;15974:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7229:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10553:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7419:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10151:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14515:119;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15733:233;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21723:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10267:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16385:119;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9842:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15462:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11278:656;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10459:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15603:122;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15000:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11942:82;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7510:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15101:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20313:448;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18695:378;;;;;;;;;;;;;:::i;:::-;;10360:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12032:78;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7115:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6931:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7485:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14362:141;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16643:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16116:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7280:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6879:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16512:123;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21543:172;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;21584:20:::1;21607:21;21584:44;;21639:7;21649:15;21639:25;;21683:10;21675:28;;:32;21704:2;21675:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;21573:142;;21543:172::o:0;9745:85::-;9781:13;9814:5;9807:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9745:85;:::o;14207:147::-;14270:4;14287:37;14296:10;14308:7;14317:6;14287:8;:37::i;:::-;14342:4;14335:11;;14207:147;;;;:::o;17179:184::-;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;17232:22:::1;17244:4;17249::::0;17232:11:::1;:22::i;:::-;;17265:15;17274:1;17276::::0;17278::::1;17265:8;:15::i;:::-;;17291:17;:15;:17::i;:::-;;17319:11;:9;:11::i;:::-;17341:14;:12;:14::i;:::-;;17179:184::o:0;7449:29::-;;;;;;;;;;;;;:::o;10034:105::-;10077:4;10101:30;10105:7;;10120:9;;;;;;;;;;;10114:2;:15;;;;:::i;:::-;10101:3;:30::i;:::-;10094:37;;10034:105;:::o;16259:118::-;16307:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;16346:1:::1;16328:15;:19;;;;16365:4;16358:11;;16259:118:::0;:::o;12118:369::-;12195:4;12212:21;12236:27;12246:4;12252:10;12236:9;:27::i;:::-;12212:51;;12302:6;12282:16;:26;;12274:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;12349:30;12362:4;12368:2;12372:6;12349:12;:30::i;:::-;;12416:39;12420:27;12430:4;12436:10;12420:9;:27::i;:::-;12448:6;12416:3;:39::i;:::-;12392:11;:17;12404:4;12392:17;;;;;;;;;;;;;;;:21;12410:2;12392:21;;;;;;;;;;;;;;;:63;;;;12475:4;12468:11;;;12118:369;;;;;:::o;9940:82::-;9980:5;10005:9;;;;;;;;;;;9998:16;;9940:82;:::o;19085:377::-;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;19130:20:::1;19153:28;19175:4;19153:13;:28::i;:::-;19130:51;;19192:14;19209:22;19213:15;19229:1;19209:3;:22::i;:::-;19192:39;;19260:24;19278:4;19260:9;:24::i;:::-;19242:42;;19295:16;19314:22;19318:15;19334:1;19314:3;:22::i;:::-;19295:41;;19347:15;;;;;;;;;;;:31;;;19386:9;19405:4;19411:11;19423:1;19425::::0;19427:10:::1;:8;:10::i;:::-;19438:15;19347:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19119:343;;;19085:377::o:0;20920:201::-;20984:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;21001:60:::1;21019:4;21026:8;21036:24;21054:4;21036:9;:24::i;:::-;21001:9;:60::i;:::-;;21109:4;21102:11;;20920:201:::0;;;:::o;7255:18::-;;;;:::o;18364:194::-;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;18443:15:::1;;;;;;;;;;;:31;;;18482:9;18501:4;18507:11;18519:1;18521::::0;18523:10:::1;:8;:10::i;:::-;18534:15;18443:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18364:194:::0;;:::o;21171:364::-;21210:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;21226:20:::1;21249:21;21226:44;;21281:7;21312:3;21309:2;21291:15;:20;;;;:::i;:::-;:24;;;;:::i;:::-;21281:34;;21334:42;21326:60;;:64;21387:2;21326:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;21427:3;21424:2;21406:15;:20;;;;:::i;:::-;:24;;;;:::i;:::-;21401:29;;21449:42;21441:60;;:64;21502:2;21441:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;21523:4;21516:11;;;;21171:364:::0;:::o;17016:155::-;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;17062:22:::1;17074:4;17079::::0;17062:11:::1;:22::i;:::-;;17095:15;17104:1;17106::::0;17108::::1;17095:8;:15::i;:::-;;17121:17;:15;:17::i;:::-;;17149:14;:12;:14::i;:::-;;17016:155::o:0;15974:134::-;16034:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;16074:4:::1;16055:10;:16;16066:4;16055:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;16096:4;16089:11;;15974:134:::0;;;:::o;7229:19::-;;;;:::o;10553:86::-;10592:7;10619:12;;;;;;;;;;;10612:19;;10553:86;:::o;7419:23::-;;;;;;;;;;;;;:::o;10151:104::-;10206:4;10230:9;:17;10240:6;10230:17;;;;;;;;;;;;;;;;10223:24;;10151:104;;;:::o;14515:119::-;14565:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;14599:4:::1;14582:6;;:22;;;;;;;;;;;;;;;;;;14622:4;14615:11;;14515:119:::0;:::o;15733:233::-;15780:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;15801:11:::1;15815:78;15801:92;;15924:6;15908:13;:22;;;;15954:4;15947:11;;;15733:233:::0;:::o;21723:138::-;21783:4;21799:12;21814:6;:14;;;21799:29;;21846:7;21839:14;;;21723:138;;;:::o;10267:81::-;10307:7;10334:6;;;;;;;;;;;10327:13;;10267:81;:::o;16385:119::-;16434:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;16473:1:::1;16455:15;:19;;;;16492:4;16485:11;;16385:119:::0;:::o;9842:86::-;9880:13;9913:7;9906:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9842:86;:::o;15462:133::-;15517:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;15560:5:::1;15538:13;:19;15552:4;15538:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;15583:4;15576:11;;15462:133:::0;;;:::o;11278:656::-;11336:4;11371:13;;11361:6;:23;;11353:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;11459:13;;11449:6;11433:13;11443:2;11433:9;:13::i;:::-;:22;;;;:::i;:::-;:39;;11425:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;11574:12;11589:10;11574:25;;11612:30;11625:4;11631:2;11635:6;11612:12;:30::i;:::-;;11735:8;;11716:16;;:27;:43;;;;;11753:6;;;;;;;;;;;11747:12;;:2;:12;;;;11716:43;:66;;;;;11769:13;;;;;;;;;;;11763:19;;:2;:19;;;;11716:66;:82;;;;;11792:6;;;;;;;;;;;11786:12;;:2;:12;;;;11716:82;:110;;;;;11822:4;11802:24;;:16;;;;;;;;;;;:24;;;11716:110;11713:182;;;11838:13;11848:2;11838:9;:13::i;:::-;;11882:1;11862:16;;:21;;;;;;;:::i;:::-;;;;;;;;11713:182;11922:4;11915:11;;;11278:656;;;;:::o;10459:82::-;10500:7;10527:6;;;;;;;;;;;10520:13;;10459:82;:::o;15603:122::-;15649:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;15686:9:::1;;15670:13;:25;;;;15713:4;15706:11;;15603:122:::0;:::o;15000:89::-;15042:4;15066:15;15059:22;;15000:89;:::o;11942:82::-;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;12013:3:::1;12003:7;:13;;;;;;;;;;;;:::i;:::-;;11942:82:::0;:::o;7510:28::-;;;;;;;;;;;;;:::o;15101:217::-;15188:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;15223:14:::1;15209:11;;:28;;;;;;;;;;;;;;;;;;15272:16;15252:17;;:36;;;;;;;;;;;;;;;;;;15306:4;15299:11;;15101:217:::0;;;;:::o;20313:448::-;20372:21;20457;20495:1;20481:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20457:40;;20554:4;20536;20541:1;20536:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20615:12;;;;;;;;;;;20605:4;20610:1;20605:7;;;;;;;;:::i;:::-;;;;;;;:22;;;;;;;;;;;20682:15;;;;;;;;;;;:29;;;20712:8;20721:4;20682:44;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20672:54;;20739:14;20313:448;;;:::o;18695:378::-;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;18740:28:::1;18754:13;:11;:13::i;:::-;18740;:28::i;:::-;;18779:14;18828:3;18825:2;18796:28;18818:4;18796:13;:28::i;:::-;:31;;;;:::i;:::-;:35;;;;:::i;:::-;18779:52;;18842:16;18886:1;18861:24;18879:4;18861:9;:24::i;:::-;:26;;;;:::i;:::-;18842:45;;18898:15;;;;;;;;;;;:31;;;18937:9;18956:4;18962:11;18974:1;18976::::0;18978:10:::1;:8;:10::i;:::-;18989:15;18898:107;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19016:16;19030:1;19016:13;:16::i;:::-;;19043:22;19055:4;19060::::0;19043:11:::1;:22::i;:::-;;18729:344;;18695:378::o:0;10360:87::-;10399:7;10426:13;;;;;;;;;;;10419:20;;10360:87;:::o;12032:78::-;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;12099:3:::1;12091:5;:11;;;;;;;;;;;;:::i;:::-;;12032:78:::0;:::o;7115:25::-;;;;:::o;6931:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;7485:18::-;;;;;;;;;;;;;:::o;14362:141::-;14439:4;14463:11;:23;14475:10;14463:23;;;;;;;;;;;;;;;:32;14487:7;14463:32;;;;;;;;;;;;;;;;14456:39;;14362:141;;;;:::o;16643:339::-;16728:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;16765:6:::1;;16753:8;:18;;16745:27;;;::::0;::::1;;16802:6;;16791:7;:17;;16783:26;;;::::0;::::1;;16841:11;;16828:9;:24;;16820:33;;;::::0;::::1;;16878:8;16868:7;:18;;;;16910:7;16901:6;:16;;;;16943:9;16932:8;:20;;;;16970:4;16963:11;;16643:339:::0;;;;;:::o;16116:135::-;16176:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;16216:5:::1;16197:10;:16;16208:4;16197:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;16239:4;16232:11;;16116:135:::0;;;:::o;7280:20::-;;;;:::o;6879:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;16512:123::-;16561:4;9715:6;;;;;;;;;;;9701:20;;:10;:20;;;9693:29;;;;;;16601:4:::1;16582:16;;:23;;;;;;;;;;;;;;;;;;16623:4;16616:11;;16512:123:::0;:::o;14646:342::-;14759:1;14741:20;;:6;:20;;;;14733:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;14840:1;14821:21;;:7;:21;;;;14813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14925:6;14894:11;:19;14906:6;14894:19;;;;;;;;;;;;;;;:28;14914:7;14894:28;;;;;;;;;;;;;;;:37;;;;14964:7;14947:33;;14956:6;14947:33;;;14973:6;14947:33;;;;;;:::i;:::-;;;;;;;;14646:342;;;:::o;17371:770::-;17411:11;17425:24;17439:9;;17425:13;:24::i;:::-;17450:1;17425:27;;;;;;;;:::i;:::-;;;;;;;;17411:41;;17463:33;17480:6;17488:7;;;;;;;;;;;17463:16;:33::i;:::-;17516:24;17530:9;;17516:13;:24::i;:::-;17541:1;17516:27;;;;;;;;:::i;:::-;;;;;;;;17507:36;;17554:33;17571:6;17579:7;;;;;;;;;;;17554:16;:33::i;:::-;17607:24;17621:9;;17607:13;:24::i;:::-;17632:1;17607:27;;;;;;;;:::i;:::-;;;;;;;;17598:36;;17645:33;17662:6;17670:7;;;;;;;;;;;17645:16;:33::i;:::-;17698:24;17712:9;;17698:13;:24::i;:::-;17723:1;17698:27;;;;;;;;:::i;:::-;;;;;;;;17689:36;;17736:33;17753:6;17761:7;;;;;;;;;;;17736:16;:33::i;:::-;17789:24;17803:9;;17789:13;:24::i;:::-;17814:1;17789:27;;;;;;;;:::i;:::-;;;;;;;;17780:36;;17827:33;17844:6;17852:7;;;;;;;;;;;17827:16;:33::i;:::-;17880:24;17894:9;;17880:13;:24::i;:::-;17905:1;17880:27;;;;;;;;:::i;:::-;;;;;;;;17871:36;;17918:33;17935:6;17943:7;;;;;;;;;;;17918:16;:33::i;:::-;17971:24;17985:9;;17971:13;:24::i;:::-;17996:1;17971:27;;;;;;;;:::i;:::-;;;;;;;;17962:36;;18009:33;18026:6;18034:7;;;;;;;;;;;18009:16;:33::i;:::-;18062:24;18076:9;;18062:13;:24::i;:::-;18087:1;18062:27;;;;;;;;:::i;:::-;;;;;;;;18053:36;;18100:33;18117:6;18125:7;;;;;;;;;;;18100:16;:33::i;:::-;17400:741;17371:770::o;21896:222::-;21954:9;21985:1;21980;:6;:16;;;;21995:1;21990;:6;21980:16;21976:57;;;22020:1;22013:8;;;;21976:57;22061:1;22057;:5;;;;:::i;:::-;22053:9;;22089:1;22084;22080;:5;;;;:::i;:::-;:10;22073:18;;;;:::i;:::-;;21896:222;;;;;:::o;12495:1704::-;12574:4;12617:19;12639:6;12617:28;;12656:17;12718:1;12693:17;:21;12711:2;12693:21;;;;;;;;;;;;;;;;:26;12690:122;;;12759:15;12735:17;:21;12753:2;12735:21;;;;;;;;;;;;;;;:39;;;;12690:122;12845:5;12835:15;;:6;;;;;;;;;;;:15;;;:44;;;;;12874:5;12854:25;;:10;:16;12865:4;12854:16;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;12835:44;:71;;;;;12901:5;12883:23;;:10;:14;12894:2;12883:14;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;12835:71;12832:1190;;;12948:4;12927:25;;:17;;;;;;;;;;;:25;;;12924:755;;;12974:14;12991:7;;12974:24;;13076:13;;;;;;;;;;;13068:21;;:4;:21;;;13065:96;;;13135:6;;13123:18;;13065:96;13190:13;;;;;;;;;;;13184:19;;:2;:19;;;:95;;;;;13264:15;;13251:12;;:28;;;;:::i;:::-;13225:17;:23;13243:4;13225:23;;;;;;;;;;;;;;;;:54;;;;:::i;:::-;13207:15;:72;13184:95;13181:210;;;13316:8;;13303:21;;;;;:::i;:::-;;;13181:210;13424:22;13428:6;13436:9;13424:3;:22::i;:::-;13409:37;;13480:21;13484:12;13497:3;13480;:21::i;:::-;13465:36;;13537:24;13541:6;13548:12;13537:3;:24::i;:::-;13520:41;;13580:44;13590:4;13604;13611:12;13580:9;:44::i;:::-;;12953:726;12924:755;13721:4;13706:19;;:11;;;;;;;;;;;:19;;;:44;;;;;13737:13;;;;;;;;;;;13729:21;;:4;:21;;;;13706:44;13703:298;;;13800:20;13823:24;13841:4;13823:9;:24::i;:::-;13800:47;;13866:30;13880:15;13866:13;:30::i;:::-;;13911:47;13928:15;13952:4;13911:16;:47::i;:::-;13751:250;13703:298;12832:1190;14042:35;14052:4;14058:2;14062:14;14042:9;:35::i;:::-;;14148:5;14139:6;;:14;;;;;;;;;;;;;;;;;;14187:4;14180:11;;;;12495:1704;;;;;:::o;22240:123::-;22298:7;22330:1;22325;:6;;22318:14;;;;:::i;:::-;;22354:1;22350;:5;;;;:::i;:::-;22343:12;;22240:123;;;;:::o;22130:98::-;22188:7;22219:1;22215;:5;;;;:::i;:::-;22208:12;;22130:98;;;;:::o;10812:454::-;10887:4;10931:6;10912:15;10922:4;10912:9;:15::i;:::-;:25;;10904:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;11005:5;10982:28;;:13;:19;10996:4;10982:19;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;:58;;;;;11035:5;11014:26;;:13;:17;11028:2;11014:17;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;10982:58;10974:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;11095:27;11099:15;11109:4;11099:9;:15::i;:::-;11115:6;11095:3;:27::i;:::-;11077:9;:15;11087:4;11077:15;;;;;;;;;;;;;;;:45;;;;11149:25;11153:13;11163:2;11153:9;:13::i;:::-;11167:6;11149:3;:25::i;:::-;11133:9;:13;11143:2;11133:13;;;;;;;;;;;;;;;:41;;;;11215:2;11200:26;;11209:4;11200:26;;;11219:6;11200:26;;;;;;:::i;:::-;;;;;;;;11254:4;11247:11;;10812:454;;;;;:::o;15326:128::-;15377:4;15420;15398:13;:19;15412:4;15398:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;15442:4;15435:11;;15326:128;;;:::o;20773:139::-;20827:4;20843:39;20860:4;20867:6;;;;;;;;;;;20875;20843:8;:39::i;:::-;20900:4;20893:11;;20773:139;;;:::o;19899:402::-;19969:21;20007:1;19993:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19969:40;;20058:12;;;;;;;;;;;20048:4;20053:1;20048:7;;;;;;;;:::i;:::-;;;;;;;:22;;;;;;;;;;;20135:4;20117;20122:1;20117:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20185:15;;;;;;;;;;;:66;;;20259:6;20267:1;20269:4;20274:2;20277:15;20185:108;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19958:343;19899:402;;:::o;19474:417::-;19553:4;19544:6;;:13;;;;;;;;;;;;;;;;;;19568:21;19606:1;19592:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19568:40;;19665:4;19647;19652:1;19647:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;19726:12;;;;;;;;;;;19716:4;19721:1;19716:7;;;;;;;;:::i;:::-;;;;;;;:22;;;;;;;;;;;19783:15;;;;;;;;;;;:66;;;19850:6;19857:1;19859:4;19864:2;19867:15;19783:100;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19533:358;19474:417;;:::o;22375:141::-;22433:9;22463:1;22459;:5;;;;:::i;:::-;22455:9;;22487:1;22482;:6;;22475:14;;;;:::i;:::-;;22375:141;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::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:412::-;852:5;877:66;893:49;935:6;893:49;:::i;:::-;877:66;:::i;:::-;868:75;;966:6;959:5;952:21;1004:4;997:5;993:16;1042:3;1033:6;1028:3;1024:16;1021:25;1018:2;;;1049:79;;:::i;:::-;1018:2;1139:41;1173:6;1168:3;1163;1139:41;:::i;:::-;858:328;;;;;;:::o;1192:139::-;1238:5;1276:6;1263:20;1254:29;;1292:33;1319:5;1292:33;:::i;:::-;1244:87;;;;:::o;1354:385::-;1436:5;1485:3;1478:4;1470:6;1466:17;1462:27;1452:2;;1493:79;;:::i;:::-;1452:2;1603:6;1597:13;1628:105;1729:3;1721:6;1714:4;1706:6;1702:17;1628:105;:::i;:::-;1619:114;;1442:297;;;;;:::o;1745:133::-;1788:5;1826:6;1813:20;1804:29;;1842:30;1866:5;1842:30;:::i;:::-;1794:84;;;;:::o;1898:340::-;1954:5;2003:3;1996:4;1988:6;1984:17;1980:27;1970:2;;2011:79;;:::i;:::-;1970:2;2128:6;2115:20;2153:79;2228:3;2220:6;2213:4;2205:6;2201:17;2153:79;:::i;:::-;2144:88;;1960:278;;;;;:::o;2244:139::-;2290:5;2328:6;2315:20;2306:29;;2344:33;2371:5;2344:33;:::i;:::-;2296:87;;;;:::o;2389:143::-;2446:5;2477:6;2471:13;2462:22;;2493:33;2520:5;2493:33;:::i;:::-;2452:80;;;;:::o;2538:329::-;2597:6;2646:2;2634:9;2625:7;2621:23;2617:32;2614:2;;;2652:79;;:::i;:::-;2614:2;2772:1;2797:53;2842:7;2833:6;2822:9;2818:22;2797:53;:::i;:::-;2787:63;;2743:117;2604:263;;;;:::o;2873:474::-;2941:6;2949;2998:2;2986:9;2977:7;2973:23;2969:32;2966:2;;;3004:79;;:::i;:::-;2966:2;3124:1;3149:53;3194:7;3185:6;3174:9;3170:22;3149:53;:::i;:::-;3139:63;;3095:117;3251:2;3277:53;3322:7;3313:6;3302:9;3298:22;3277:53;:::i;:::-;3267:63;;3222:118;2956:391;;;;;:::o;3353:619::-;3430:6;3438;3446;3495:2;3483:9;3474:7;3470:23;3466:32;3463:2;;;3501:79;;:::i;:::-;3463:2;3621:1;3646:53;3691:7;3682:6;3671:9;3667:22;3646:53;:::i;:::-;3636:63;;3592:117;3748:2;3774:53;3819:7;3810:6;3799:9;3795:22;3774:53;:::i;:::-;3764:63;;3719:118;3876:2;3902:53;3947:7;3938:6;3927:9;3923:22;3902:53;:::i;:::-;3892:63;;3847:118;3453:519;;;;;:::o;3978:474::-;4046:6;4054;4103:2;4091:9;4082:7;4078:23;4074:32;4071:2;;;4109:79;;:::i;:::-;4071:2;4229:1;4254:53;4299:7;4290:6;4279:9;4275:22;4254:53;:::i;:::-;4244:63;;4200:117;4356:2;4382:53;4427:7;4418:6;4407:9;4403:22;4382:53;:::i;:::-;4372:63;;4327:118;4061:391;;;;;:::o;4458:554::-;4553:6;4602:2;4590:9;4581:7;4577:23;4573:32;4570:2;;;4608:79;;:::i;:::-;4570:2;4749:1;4738:9;4734:17;4728:24;4779:18;4771:6;4768:30;4765:2;;;4801:79;;:::i;:::-;4765:2;4906:89;4987:7;4978:6;4967:9;4963:22;4906:89;:::i;:::-;4896:99;;4699:306;4560:452;;;;:::o;5018:462::-;5080:6;5088;5137:2;5125:9;5116:7;5112:23;5108:32;5105:2;;;5143:79;;:::i;:::-;5105:2;5263:1;5288:50;5330:7;5321:6;5310:9;5306:22;5288:50;:::i;:::-;5278:60;;5234:114;5387:2;5413:50;5455:7;5446:6;5435:9;5431:22;5413:50;:::i;:::-;5403:60;;5358:115;5095:385;;;;;:::o;5486:509::-;5555:6;5604:2;5592:9;5583:7;5579:23;5575:32;5572:2;;;5610:79;;:::i;:::-;5572:2;5758:1;5747:9;5743:17;5730:31;5788:18;5780:6;5777:30;5774:2;;;5810:79;;:::i;:::-;5774:2;5915:63;5970:7;5961:6;5950:9;5946:22;5915:63;:::i;:::-;5905:73;;5701:287;5562:433;;;;:::o;6001:329::-;6060:6;6109:2;6097:9;6088:7;6084:23;6080:32;6077:2;;;6115:79;;:::i;:::-;6077:2;6235:1;6260:53;6305:7;6296:6;6285:9;6281:22;6260:53;:::i;:::-;6250:63;;6206:117;6067:263;;;;:::o;6336:474::-;6404:6;6412;6461:2;6449:9;6440:7;6436:23;6432:32;6429:2;;;6467:79;;:::i;:::-;6429:2;6587:1;6612:53;6657:7;6648:6;6637:9;6633:22;6612:53;:::i;:::-;6602:63;;6558:117;6714:2;6740:53;6785:7;6776:6;6765:9;6761:22;6740:53;:::i;:::-;6730:63;;6685:118;6419:391;;;;;:::o;6816:619::-;6893:6;6901;6909;6958:2;6946:9;6937:7;6933:23;6929:32;6926:2;;;6964:79;;:::i;:::-;6926:2;7084:1;7109:53;7154:7;7145:6;7134:9;7130:22;7109:53;:::i;:::-;7099:63;;7055:117;7211:2;7237:53;7282:7;7273:6;7262:9;7258:22;7237:53;:::i;:::-;7227:63;;7182:118;7339:2;7365:53;7410:7;7401:6;7390:9;7386:22;7365:53;:::i;:::-;7355:63;;7310:118;6916:519;;;;;:::o;7441:663::-;7529:6;7537;7545;7594:2;7582:9;7573:7;7569:23;7565:32;7562:2;;;7600:79;;:::i;:::-;7562:2;7720:1;7745:64;7801:7;7792:6;7781:9;7777:22;7745:64;:::i;:::-;7735:74;;7691:128;7858:2;7884:64;7940:7;7931:6;7920:9;7916:22;7884:64;:::i;:::-;7874:74;;7829:129;7997:2;8023:64;8079:7;8070:6;8059:9;8055:22;8023:64;:::i;:::-;8013:74;;7968:129;7552:552;;;;;:::o;8110:179::-;8179:10;8200:46;8242:3;8234:6;8200:46;:::i;:::-;8278:4;8273:3;8269:14;8255:28;;8190:99;;;;:::o;8295:179::-;8364:10;8385:46;8427:3;8419:6;8385:46;:::i;:::-;8463:4;8458:3;8454:14;8440:28;;8375:99;;;;:::o;8480:108::-;8557:24;8575:5;8557:24;:::i;:::-;8552:3;8545:37;8535:53;;:::o;8594:118::-;8681:24;8699:5;8681:24;:::i;:::-;8676:3;8669:37;8659:53;;:::o;8748:732::-;8867:3;8896:54;8944:5;8896:54;:::i;:::-;8966:86;9045:6;9040:3;8966:86;:::i;:::-;8959:93;;9076:56;9126:5;9076:56;:::i;:::-;9155:7;9186:1;9171:284;9196:6;9193:1;9190:13;9171:284;;;9272:6;9266:13;9299:63;9358:3;9343:13;9299:63;:::i;:::-;9292:70;;9385:60;9438:6;9385:60;:::i;:::-;9375:70;;9231:224;9218:1;9215;9211:9;9206:14;;9171:284;;;9175:14;9471:3;9464:10;;8872:608;;;;;;;:::o;9516:732::-;9635:3;9664:54;9712:5;9664:54;:::i;:::-;9734:86;9813:6;9808:3;9734:86;:::i;:::-;9727:93;;9844:56;9894:5;9844:56;:::i;:::-;9923:7;9954:1;9939:284;9964:6;9961:1;9958:13;9939:284;;;10040:6;10034:13;10067:63;10126:3;10111:13;10067:63;:::i;:::-;10060:70;;10153:60;10206:6;10153:60;:::i;:::-;10143:70;;9999:224;9986:1;9983;9979:9;9974:14;;9939:284;;;9943:14;10239:3;10232:10;;9640:608;;;;;;;:::o;10254:109::-;10335:21;10350:5;10335:21;:::i;:::-;10330:3;10323:34;10313:50;;:::o;10369:147::-;10464:45;10503:5;10464:45;:::i;:::-;10459:3;10452:58;10442:74;;:::o;10522:364::-;10610:3;10638:39;10671:5;10638:39;:::i;:::-;10693:71;10757:6;10752:3;10693:71;:::i;:::-;10686:78;;10773:52;10818:6;10813:3;10806:4;10799:5;10795:16;10773:52;:::i;:::-;10850:29;10872:6;10850:29;:::i;:::-;10845:3;10841:39;10834:46;;10614:272;;;;;:::o;10892:366::-;11034:3;11055:67;11119:2;11114:3;11055:67;:::i;:::-;11048:74;;11131:93;11220:3;11131:93;:::i;:::-;11249:2;11244:3;11240:12;11233:19;;11038:220;;;:::o;11264:366::-;11406:3;11427:67;11491:2;11486:3;11427:67;:::i;:::-;11420:74;;11503:93;11592:3;11503:93;:::i;:::-;11621:2;11616:3;11612:12;11605:19;;11410:220;;;:::o;11636:366::-;11778:3;11799:67;11863:2;11858:3;11799:67;:::i;:::-;11792:74;;11875:93;11964:3;11875:93;:::i;:::-;11993:2;11988:3;11984:12;11977:19;;11782:220;;;:::o;12008:366::-;12150:3;12171:67;12235:2;12230:3;12171:67;:::i;:::-;12164:74;;12247:93;12336:3;12247:93;:::i;:::-;12365:2;12360:3;12356:12;12349:19;;12154:220;;;:::o;12380:366::-;12522:3;12543:67;12607:2;12602:3;12543:67;:::i;:::-;12536:74;;12619:93;12708:3;12619:93;:::i;:::-;12737:2;12732:3;12728:12;12721:19;;12526:220;;;:::o;12752:366::-;12894:3;12915:67;12979:2;12974:3;12915:67;:::i;:::-;12908:74;;12991:93;13080:3;12991:93;:::i;:::-;13109:2;13104:3;13100:12;13093:19;;12898:220;;;:::o;13124:366::-;13266:3;13287:67;13351:2;13346:3;13287:67;:::i;:::-;13280:74;;13363:93;13452:3;13363:93;:::i;:::-;13481:2;13476:3;13472:12;13465:19;;13270:220;;;:::o;13496:108::-;13573:24;13591:5;13573:24;:::i;:::-;13568:3;13561:37;13551:53;;:::o;13610:118::-;13697:24;13715:5;13697:24;:::i;:::-;13692:3;13685:37;13675:53;;:::o;13734:112::-;13817:22;13833:5;13817:22;:::i;:::-;13812:3;13805:35;13795:51;;:::o;13852:222::-;13945:4;13983:2;13972:9;13968:18;13960:26;;13996:71;14064:1;14053:9;14049:17;14040:6;13996:71;:::i;:::-;13950:124;;;;:::o;14080:807::-;14329:4;14367:3;14356:9;14352:19;14344:27;;14381:71;14449:1;14438:9;14434:17;14425:6;14381:71;:::i;:::-;14462:72;14530:2;14519:9;14515:18;14506:6;14462:72;:::i;:::-;14544:80;14620:2;14609:9;14605:18;14596:6;14544:80;:::i;:::-;14634;14710:2;14699:9;14695:18;14686:6;14634:80;:::i;:::-;14724:73;14792:3;14781:9;14777:19;14768:6;14724:73;:::i;:::-;14807;14875:3;14864:9;14860:19;14851:6;14807:73;:::i;:::-;14334:553;;;;;;;;;:::o;14893:373::-;15036:4;15074:2;15063:9;15059:18;15051:26;;15123:9;15117:4;15113:20;15109:1;15098:9;15094:17;15087:47;15151:108;15254:4;15245:6;15151:108;:::i;:::-;15143:116;;15041:225;;;;:::o;15272:210::-;15359:4;15397:2;15386:9;15382:18;15374:26;;15410:65;15472:1;15461:9;15457:17;15448:6;15410:65;:::i;:::-;15364:118;;;;:::o;15488:720::-;15723:4;15761:3;15750:9;15746:19;15738:27;;15775:79;15851:1;15840:9;15836:17;15827:6;15775:79;:::i;:::-;15901:9;15895:4;15891:20;15886:2;15875:9;15871:18;15864:48;15929:108;16032:4;16023:6;15929:108;:::i;:::-;15921:116;;16047:72;16115:2;16104:9;16100:18;16091:6;16047:72;:::i;:::-;16129;16197:2;16186:9;16182:18;16173:6;16129:72;:::i;:::-;15728:480;;;;;;;:::o;16214:313::-;16327:4;16365:2;16354:9;16350:18;16342:26;;16414:9;16408:4;16404:20;16400:1;16389:9;16385:17;16378:47;16442:78;16515:4;16506:6;16442:78;:::i;:::-;16434:86;;16332:195;;;;:::o;16533:419::-;16699:4;16737:2;16726:9;16722:18;16714:26;;16786:9;16780:4;16776:20;16772:1;16761:9;16757:17;16750:47;16814:131;16940:4;16814:131;:::i;:::-;16806:139;;16704:248;;;:::o;16958:419::-;17124:4;17162:2;17151:9;17147:18;17139:26;;17211:9;17205:4;17201:20;17197:1;17186:9;17182:17;17175:47;17239:131;17365:4;17239:131;:::i;:::-;17231:139;;17129:248;;;:::o;17383:419::-;17549:4;17587:2;17576:9;17572:18;17564:26;;17636:9;17630:4;17626:20;17622:1;17611:9;17607:17;17600:47;17664:131;17790:4;17664:131;:::i;:::-;17656:139;;17554:248;;;:::o;17808:419::-;17974:4;18012:2;18001:9;17997:18;17989:26;;18061:9;18055:4;18051:20;18047:1;18036:9;18032:17;18025:47;18089:131;18215:4;18089:131;:::i;:::-;18081:139;;17979:248;;;:::o;18233:419::-;18399:4;18437:2;18426:9;18422:18;18414:26;;18486:9;18480:4;18476:20;18472:1;18461:9;18457:17;18450:47;18514:131;18640:4;18514:131;:::i;:::-;18506:139;;18404:248;;;:::o;18658:419::-;18824:4;18862:2;18851:9;18847:18;18839:26;;18911:9;18905:4;18901:20;18897:1;18886:9;18882:17;18875:47;18939:131;19065:4;18939:131;:::i;:::-;18931:139;;18829:248;;;:::o;19083:419::-;19249:4;19287:2;19276:9;19272:18;19264:26;;19336:9;19330:4;19326:20;19322:1;19311:9;19307:17;19300:47;19364:131;19490:4;19364:131;:::i;:::-;19356:139;;19254:248;;;:::o;19508:222::-;19601:4;19639:2;19628:9;19624:18;19616:26;;19652:71;19720:1;19709:9;19705:17;19696:6;19652:71;:::i;:::-;19606:124;;;;:::o;19736:483::-;19907:4;19945:2;19934:9;19930:18;19922:26;;19958:71;20026:1;20015:9;20011:17;20002:6;19958:71;:::i;:::-;20076:9;20070:4;20066:20;20061:2;20050:9;20046:18;20039:48;20104:108;20207:4;20198:6;20104:108;:::i;:::-;20096:116;;19912:307;;;;;:::o;20225:831::-;20488:4;20526:3;20515:9;20511:19;20503:27;;20540:71;20608:1;20597:9;20593:17;20584:6;20540:71;:::i;:::-;20621:80;20697:2;20686:9;20682:18;20673:6;20621:80;:::i;:::-;20748:9;20742:4;20738:20;20733:2;20722:9;20718:18;20711:48;20776:108;20879:4;20870:6;20776:108;:::i;:::-;20768:116;;20894:72;20962:2;20951:9;20947:18;20938:6;20894:72;:::i;:::-;20976:73;21044:3;21033:9;21029:19;21020:6;20976:73;:::i;:::-;20493:563;;;;;;;;:::o;21062:214::-;21151:4;21189:2;21178:9;21174:18;21166:26;;21202:67;21266:1;21255:9;21251:17;21242:6;21202:67;:::i;:::-;21156:120;;;;:::o;21282:129::-;21316:6;21343:20;;:::i;:::-;21333:30;;21372:33;21400:4;21392:6;21372:33;:::i;:::-;21323:88;;;:::o;21417:75::-;21450:6;21483:2;21477:9;21467:19;;21457:35;:::o;21498:311::-;21575:4;21665:18;21657:6;21654:30;21651:2;;;21687:18;;:::i;:::-;21651:2;21737:4;21729:6;21725:17;21717:25;;21797:4;21791;21787:15;21779:23;;21580:229;;;:::o;21815:308::-;21877:4;21967:18;21959:6;21956:30;21953:2;;;21989:18;;:::i;:::-;21953:2;22027:29;22049:6;22027:29;:::i;:::-;22019:37;;22111:4;22105;22101:15;22093:23;;21882:241;;;:::o;22129:132::-;22196:4;22219:3;22211:11;;22249:4;22244:3;22240:14;22232:22;;22201:60;;;:::o;22267:132::-;22334:4;22357:3;22349:11;;22387:4;22382:3;22378:14;22370:22;;22339:60;;;:::o;22405:114::-;22472:6;22506:5;22500:12;22490:22;;22479:40;;;:::o;22525:114::-;22592:6;22626:5;22620:12;22610:22;;22599:40;;;:::o;22645:99::-;22697:6;22731:5;22725:12;22715:22;;22704:40;;;:::o;22750:113::-;22820:4;22852;22847:3;22843:14;22835:22;;22825:38;;;:::o;22869:113::-;22939:4;22971;22966:3;22962:14;22954:22;;22944:38;;;:::o;22988:184::-;23087:11;23121:6;23116:3;23109:19;23161:4;23156:3;23152:14;23137:29;;23099:73;;;;:::o;23178:184::-;23277:11;23311:6;23306:3;23299:19;23351:4;23346:3;23342:14;23327:29;;23289:73;;;;:::o;23368:169::-;23452:11;23486:6;23481:3;23474:19;23526:4;23521:3;23517:14;23502:29;;23464:73;;;;:::o;23543:305::-;23583:3;23602:20;23620:1;23602:20;:::i;:::-;23597:25;;23636:20;23654:1;23636:20;:::i;:::-;23631:25;;23790:1;23722:66;23718:74;23715:1;23712:81;23709:2;;;23796:18;;:::i;:::-;23709:2;23840:1;23837;23833:9;23826:16;;23587:261;;;;:::o;23854:185::-;23894:1;23911:20;23929:1;23911:20;:::i;:::-;23906:25;;23945:20;23963:1;23945:20;:::i;:::-;23940:25;;23984:1;23974:2;;23989:18;;:::i;:::-;23974:2;24031:1;24028;24024:9;24019:14;;23896:143;;;;:::o;24045:848::-;24106:5;24113:4;24137:6;24128:15;;24161:5;24152:14;;24175:712;24196:1;24186:8;24183:15;24175:712;;;24291:4;24286:3;24282:14;24276:4;24273:24;24270:2;;;24300:18;;:::i;:::-;24270:2;24350:1;24340:8;24336:16;24333:2;;;24765:4;24758:5;24754:16;24745:25;;24333:2;24815:4;24809;24805:15;24797:23;;24845:32;24868:8;24845:32;:::i;:::-;24833:44;;24175:712;;;24118:775;;;;;;;:::o;24899:281::-;24957:5;24981:23;24999:4;24981:23;:::i;:::-;24973:31;;25025:25;25041:8;25025:25;:::i;:::-;25013:37;;25069:104;25106:66;25096:8;25090:4;25069:104;:::i;:::-;25060:113;;24963:217;;;;:::o;25186:1073::-;25240:5;25431:8;25421:2;;25452:1;25443:10;;25454:5;;25421:2;25480:4;25470:2;;25497:1;25488:10;;25499:5;;25470:2;25566:4;25614:1;25609:27;;;;25650:1;25645:191;;;;25559:277;;25609:27;25627:1;25618:10;;25629:5;;;25645:191;25690:3;25680:8;25677:17;25674:2;;;25697:18;;:::i;:::-;25674:2;25746:8;25743:1;25739:16;25730:25;;25781:3;25774:5;25771:14;25768:2;;;25788:18;;:::i;:::-;25768:2;25821:5;;;25559:277;;25945:2;25935:8;25932:16;25926:3;25920:4;25917:13;25913:36;25895:2;25885:8;25882:16;25877:2;25871:4;25868:12;25864:35;25848:111;25845:2;;;26001:8;25995:4;25991:19;25982:28;;26036:3;26029:5;26026:14;26023:2;;;26043:18;;:::i;:::-;26023:2;26076:5;;25845:2;26116:42;26154:3;26144:8;26138:4;26135:1;26116:42;:::i;:::-;26101:57;;;;26190:4;26185:3;26181:14;26174:5;26171:25;26168:2;;;26199:18;;:::i;:::-;26168:2;26248:4;26241:5;26237:16;26228:25;;25246:1013;;;;;;:::o;26265:348::-;26305:7;26328:20;26346:1;26328:20;:::i;:::-;26323:25;;26362:20;26380:1;26362:20;:::i;:::-;26357:25;;26550:1;26482:66;26478:74;26475:1;26472:81;26467:1;26460:9;26453:17;26449:105;26446:2;;;26557:18;;:::i;:::-;26446:2;26605:1;26602;26598:9;26587:20;;26313:300;;;;:::o;26619:191::-;26659:4;26679:20;26697:1;26679:20;:::i;:::-;26674:25;;26713:20;26731:1;26713:20;:::i;:::-;26708:25;;26752:1;26749;26746:8;26743:2;;;26757:18;;:::i;:::-;26743:2;26802:1;26799;26795:9;26787:17;;26664:146;;;;:::o;26816:96::-;26853:7;26882:24;26900:5;26882:24;:::i;:::-;26871:35;;26861:51;;;:::o;26918:90::-;26952:7;26995:5;26988:13;26981:21;26970:32;;26960:48;;;:::o;27014:126::-;27051:7;27091:42;27084:5;27080:54;27069:65;;27059:81;;;:::o;27146:77::-;27183:7;27212:5;27201:16;;27191:32;;;:::o;27229:86::-;27264:7;27304:4;27297:5;27293:16;27282:27;;27272:43;;;:::o;27321:121::-;27379:9;27412:24;27430:5;27412:24;:::i;:::-;27399:37;;27389:53;;;:::o;27448:154::-;27532:6;27527:3;27522;27509:30;27594:1;27585:6;27580:3;27576:16;27569:27;27499:103;;;:::o;27608:307::-;27676:1;27686:113;27700:6;27697:1;27694:13;27686:113;;;27785:1;27780:3;27776:11;27770:18;27766:1;27761:3;27757:11;27750:39;27722:2;27719:1;27715:10;27710:15;;27686:113;;;27817:6;27814:1;27811:13;27808:2;;;27897:1;27888:6;27883:3;27879:16;27872:27;27808:2;27657:258;;;;:::o;27921:320::-;27965:6;28002:1;27996:4;27992:12;27982:22;;28049:1;28043:4;28039:12;28070:18;28060:2;;28126:4;28118:6;28114:17;28104:27;;28060:2;28188;28180:6;28177:14;28157:18;28154:38;28151:2;;;28207:18;;:::i;:::-;28151:2;27972:269;;;;:::o;28247:281::-;28330:27;28352:4;28330:27;:::i;:::-;28322:6;28318:40;28460:6;28448:10;28445:22;28424:18;28412:10;28409:34;28406:62;28403:2;;;28471:18;;:::i;:::-;28403:2;28511:10;28507:2;28500:22;28290:238;;;:::o;28534:180::-;28582:77;28579:1;28572:88;28679:4;28676:1;28669:15;28703:4;28700:1;28693:15;28720:180;28768:77;28765:1;28758:88;28865:4;28862:1;28855:15;28889:4;28886:1;28879:15;28906:180;28954:77;28951:1;28944:88;29051:4;29048:1;29041:15;29075:4;29072:1;29065:15;29092:180;29140:77;29137:1;29130:88;29237:4;29234:1;29227:15;29261:4;29258:1;29251:15;29278:180;29326:77;29323:1;29316:88;29423:4;29420:1;29413:15;29447:4;29444:1;29437:15;29464:180;29512:77;29509:1;29502:88;29609:4;29606:1;29599:15;29633:4;29630:1;29623:15;29650:117;29759:1;29756;29749:12;29773:117;29882:1;29879;29872:12;29896:117;30005:1;30002;29995:12;30019:117;30128:1;30125;30118:12;30142:117;30251:1;30248;30241:12;30265:102;30306:6;30357:2;30353:7;30348:2;30341:5;30337:14;30333:28;30323:38;;30313:54;;;:::o;30373:102::-;30415:8;30462:5;30459:1;30455:13;30434:34;;30424:51;;;:::o;30481:221::-;30621:34;30617:1;30609:6;30605:14;30598:58;30690:4;30685:2;30677:6;30673:15;30666:29;30587:115;:::o;30708:175::-;30848:27;30844:1;30836:6;30832:14;30825:51;30814:69;:::o;30889:171::-;31029:23;31025:1;31017:6;31013:14;31006:47;30995:65;:::o;31066:173::-;31206:25;31202:1;31194:6;31190:14;31183:49;31172:67;:::o;31245:223::-;31385:34;31381:1;31373:6;31369:14;31362:58;31454:6;31449:2;31441:6;31437:15;31430:31;31351:117;:::o;31474:175::-;31614:27;31610:1;31602:6;31598:14;31591:51;31580:69;:::o;31655:161::-;31795:13;31791:1;31783:6;31779:14;31772:37;31761:55;:::o;31822:122::-;31895:24;31913:5;31895:24;:::i;:::-;31888:5;31885:35;31875:2;;31934:1;31931;31924:12;31875:2;31865:79;:::o;31950:116::-;32020:21;32035:5;32020:21;:::i;:::-;32013:5;32010:32;32000:2;;32056:1;32053;32046:12;32000:2;31990:76;:::o;32072:122::-;32145:24;32163:5;32145:24;:::i;:::-;32138:5;32135:35;32125:2;;32184:1;32181;32174:12;32125:2;32115:79;:::o

Swarm Source

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