ETH Price: $2,396.34 (-1.35%)

Token

CHONKYHAMSTER (CHOHA)
 

Overview

Max Total Supply

99,215,044,937.605614332 CHOHA

Holders

22

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,768,519,994.000771343 CHOHA

Value
$0.00
0xa178d98a12e21d0fe7f3309640ac9c1622a1f67c
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:
CHONKYHAMSTER

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.10;

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

library SafeMath {
    

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
    
}


abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; 
        return msg.data;
    }
}


library Address {
    
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
    
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }
    
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }


    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}



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 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 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 removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    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 removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    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 CHONKYHAMSTER is Context, IERC20 { 
    using SafeMath for uint256;
    using Address for address;

    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee; 

    address payable public Wallet_Marketing = payable(0xA6Fa298c8C991dBc31d8EF8bf670D6d4c8addDD0); 
    address payable private Wallet_Dev = payable(0xA6Fa298c8C991dBc31d8EF8bf670D6d4c8addDD0);
    address payable public constant Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); 


    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 100000000000 * 10**_decimals;
    string private constant _name = "CHONKYHAMSTER"; 
    string private constant _symbol = unicode"CHOHA"; 

    uint8 private txCount = 0;
    uint8 private swapTrigger = 3; 

    uint256 public _Tax_On_Buy = 5;
    uint256 public _Tax_On_Sell = 5;

    uint256 private Percent_Marketing = 50;
    uint256 private Percent_Dev = 5;
    uint256 public Percent_Burn = 5;
    uint256 private Percent_AutoLP = 10; 

    uint256 public _maxWalletToken = _tTotal * 100 / 100;
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    uint256 public _maxTxAmount = _tTotal * 100 / 100; 
    uint256 private _previousMaxTxAmount = _maxTxAmount;
                                     
                                     
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    
    event SwapAndLiquifyEnabledUpdated(bool true_or_false);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {

        _owner = 0xA6Fa298c8C991dBc31d8EF8bf670D6d4c8addDD0;
        emit OwnershipTransferred(address(0), _owner);

        _tOwned[owner()] = _tTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
    
        
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[Wallet_Marketing] = true; 
        _isExcludedFromFee[Wallet_Burn] = true;

        emit Transfer(address(0), owner(), _tTotal);

    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address theOwner, address theSpender) public view override returns (uint256) {
        return _allowances[theOwner][theSpender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    receive() external payable {}

    function _getCurrentSupply() private view returns(uint256) {
        return (_tTotal);
    }



    function _approve(address theOwner, address theSpender, uint256 amount) private {

        require(theOwner != address(0) && theSpender != address(0), "ERR: zero address");
        _allowances[theOwner][theSpender] = amount;
        emit Approval(theOwner, theSpender, amount);

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {

        if (to != owner() &&
            to != Wallet_Burn &&
            to != address(this) &&
            to != uniswapV2Pair &&
            from != owner()){
            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit.");}

        if (from != owner())
            require(amount <= _maxTxAmount, "Over transaction limit.");


        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");   

        if(
            txCount >= swapTrigger && 
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled 
            )
        {  
            
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
            txCount = 0;
            swapAndLiquify(contractTokenBalance);
        }
        
        bool takeFee = true;
        bool isBuy;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        } else {
         
            if(from == uniswapV2Pair){
                isBuy = true;
            }

            txCount++;

        }

        _tokenTransfer(from, to, amount, takeFee, isBuy);

    }
    
    function sendToWallet(address payable wallet, uint256 amount) private {
            wallet.transfer(amount);

        }


    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {

            uint256 tokens_to_Burn = contractTokenBalance * Percent_Burn / 100;
            _tTotal = _tTotal - tokens_to_Burn;
            _tOwned[Wallet_Burn] = _tOwned[Wallet_Burn] + tokens_to_Burn;
            _tOwned[address(this)] = _tOwned[address(this)] - tokens_to_Burn; 

            uint256 tokens_to_M = contractTokenBalance * Percent_Marketing / 100;
            uint256 tokens_to_D = contractTokenBalance * Percent_Dev / 100;
            uint256 tokens_to_LP_Half = contractTokenBalance * Percent_AutoLP / 200;

            uint256 balanceBeforeSwap = address(this).balance;
            swapTokensForETH(tokens_to_LP_Half + tokens_to_M + tokens_to_D);
            uint256 ETH_Total = address(this).balance - balanceBeforeSwap;

            uint256 split_M = Percent_Marketing * 100 / (Percent_AutoLP + Percent_Marketing + Percent_Dev);
            uint256 ETH_M = ETH_Total * split_M / 100;

            uint256 split_D = Percent_Dev * 100 / (Percent_AutoLP + Percent_Marketing + Percent_Dev);
            uint256 ETH_D = ETH_Total * split_D / 100;


            addLiquidity(tokens_to_LP_Half, (ETH_Total - ETH_M - ETH_D));
            emit SwapAndLiquify(tokens_to_LP_Half, (ETH_Total - ETH_M - ETH_D), tokens_to_LP_Half);

            sendToWallet(Wallet_Marketing, ETH_M);

            ETH_Total = address(this).balance;
            sendToWallet(Wallet_Dev, ETH_Total);

            }

    function swapTokensForETH(uint256 tokenAmount) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }


    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0, 
            0,
            Wallet_Burn, 
            block.timestamp
        );
    } 

    function remove_Random_Tokens(address random_Token_Address, uint256 percent_of_Tokens) public returns(bool _sent){
        require(random_Token_Address != address(this), "Can not remove native token");
        uint256 totalRandom = IERC20(random_Token_Address).balanceOf(address(this));
        uint256 removeRandom = totalRandom*percent_of_Tokens/100;
        _sent = IERC20(random_Token_Address).transfer(Wallet_Dev, removeRandom);

    }


    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private {
        
        
        if(!takeFee){

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tAmount;
            emit Transfer(sender, recipient, tAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tAmount;

            } else if (isBuy){

            uint256 buyFEE = tAmount*_Tax_On_Buy/100;
            uint256 tTransferAmount = tAmount-buyFEE;

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)]+buyFEE;   
            emit Transfer(sender, recipient, tTransferAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tTransferAmount;
            
            } else {

            uint256 sellFEE = tAmount*_Tax_On_Sell/100;
            uint256 tTransferAmount = tAmount-sellFEE;

            _tOwned[sender] = _tOwned[sender]-tAmount;
            _tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)]+sellFEE;   
            emit Transfer(sender, recipient, tTransferAmount);

            if(recipient == Wallet_Burn)
            _tTotal = _tTotal-tTransferAmount;


            }

    }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Percent_Burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Sell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"random_Token_Address","type":"address"},{"internalType":"uint256","name":"percent_of_Tokens","type":"uint256"}],"name":"remove_Random_Tokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405273a6fa298c8c991dbc31d8ef8bf670d6d4c8adddd0600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a6fa298c8c991dbc31d8ef8bf670d6d4c8adddd0600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000be919062000899565b64174876e800620000d09190620008ea565b6006556000600760006101000a81548160ff021916908360ff1602179055506003600760016101000a81548160ff021916908360ff160217905550600560085560056009556032600a556005600b556005600c55600a600d556064806006546200013b9190620008ea565b6200014791906200097a565b600e55600e54600f55606480600654620001629190620008ea565b6200016e91906200097a565b6010556010546011556001601360156101000a81548160ff0219169083151502179055503480156200019f57600080fd5b5073a6fa298c8c991dbc31d8ef8bf670d6d4c8adddd06000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36006546001600062000286620006d660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000329573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034f919062000a1c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003dd919062000a1c565b6040518363ffffffff1660e01b8152600401620003fc92919062000a5f565b6020604051808303816000875af11580156200041c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000442919062000a1c565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000620004d9620006d660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000666620006d660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620006c7919062000a9d565b60405180910390a35062000aba565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200078d57808604811115620007655762000764620006ff565b5b6001851615620007755780820291505b808102905062000785856200072e565b945062000745565b94509492505050565b600082620007a857600190506200087b565b81620007b857600090506200087b565b8160018114620007d15760028114620007dc5762000812565b60019150506200087b565b60ff841115620007f157620007f0620006ff565b5b8360020a9150848211156200080b576200080a620006ff565b5b506200087b565b5060208310610133831016604e8410600b84101617156200084c5782820a905083811115620008465762000845620006ff565b5b6200087b565b6200085b84848460016200073b565b92509050818404811115620008755762000874620006ff565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008a68262000882565b9150620008b3836200088c565b9250620008e27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000796565b905092915050565b6000620008f78262000882565b9150620009048362000882565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000940576200093f620006ff565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620009878262000882565b9150620009948362000882565b925082620009a757620009a66200094b565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009e482620009b7565b9050919050565b620009f681620009d7565b811462000a0257600080fd5b50565b60008151905062000a1681620009eb565b92915050565b60006020828403121562000a355762000a34620009b2565b5b600062000a458482850162000a05565b91505092915050565b62000a5981620009d7565b82525050565b600060408201905062000a76600083018562000a4e565b62000a85602083018462000a4e565b9392505050565b62000a978162000882565b82525050565b600060208201905062000ab4600083018462000a8c565b92915050565b612fbe8062000aca6000396000f3fe6080604052600436106101855760003560e01c8063715018a6116100d157806395d89b411161008a578063b1cb158211610064578063b1cb1582146105ad578063b43665e2146105d8578063dafd18e914610603578063dd62ed3e146106405761018c565b806395d89b4114610508578063a457c2d714610533578063a9059cbb146105705761018c565b8063715018a614610408578063768dc7101461041f57806378109e541461045c5780637d1db4a514610487578063805c0e0f146104b25780638da5cb5b146104dd5761018c565b806323b872dd1161013e5780633f70a495116101185780633f70a4951461034a57806349bd5a5e146103755780634a74bb02146103a057806370a08231146103cb5761018c565b806323b872dd146102a5578063313ce567146102e2578063395093511461030d5761018c565b806306fdde0314610191578063095ea7b3146101bc5780631694505e146101f957806318160ddd1461022457806321dbd9eb1461024f578063220f66961461027a5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a661067d565b6040516101b391906123fb565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de91906124b6565b6106ba565b6040516101f09190612511565b60405180910390f35b34801561020557600080fd5b5061020e6106d8565b60405161021b919061258b565b60405180910390f35b34801561023057600080fd5b506102396106fe565b60405161024691906125b5565b60405180910390f35b34801561025b57600080fd5b50610264610708565b60405161027191906125b5565b60405180910390f35b34801561028657600080fd5b5061028f61070e565b60405161029c9190612511565b60405180910390f35b3480156102b157600080fd5b506102cc60048036038101906102c791906125d0565b610721565b6040516102d99190612511565b60405180910390f35b3480156102ee57600080fd5b506102f76107fa565b604051610304919061263f565b60405180910390f35b34801561031957600080fd5b50610334600480360381019061032f91906124b6565b610803565b6040516103419190612511565b60405180910390f35b34801561035657600080fd5b5061035f6108b6565b60405161036c91906125b5565b60405180910390f35b34801561038157600080fd5b5061038a6108bc565b6040516103979190612669565b60405180910390f35b3480156103ac57600080fd5b506103b56108e2565b6040516103c29190612511565b60405180910390f35b3480156103d757600080fd5b506103f260048036038101906103ed9190612684565b6108f5565b6040516103ff91906125b5565b60405180910390f35b34801561041457600080fd5b5061041d61093e565b005b34801561042b57600080fd5b5061044660048036038101906104419190612684565b6109fc565b6040516104539190612511565b60405180910390f35b34801561046857600080fd5b50610471610a1c565b60405161047e91906125b5565b60405180910390f35b34801561049357600080fd5b5061049c610a22565b6040516104a991906125b5565b60405180910390f35b3480156104be57600080fd5b506104c7610a28565b6040516104d491906126d2565b60405180910390f35b3480156104e957600080fd5b506104f2610a2e565b6040516104ff9190612669565b60405180910390f35b34801561051457600080fd5b5061051d610a57565b60405161052a91906123fb565b60405180910390f35b34801561053f57600080fd5b5061055a600480360381019061055591906124b6565b610a94565b6040516105679190612511565b60405180910390f35b34801561057c57600080fd5b50610597600480360381019061059291906124b6565b610b61565b6040516105a49190612511565b60405180910390f35b3480156105b957600080fd5b506105c2610b7f565b6040516105cf91906125b5565b60405180910390f35b3480156105e457600080fd5b506105ed610b85565b6040516105fa91906126d2565b60405180910390f35b34801561060f57600080fd5b5061062a600480360381019061062591906124b6565b610bab565b6040516106379190612511565b60405180910390f35b34801561064c57600080fd5b50610667600480360381019061066291906126ed565b610d60565b60405161067491906125b5565b60405180910390f35b60606040518060400160405280600d81526020017f43484f4e4b5948414d5354455200000000000000000000000000000000000000815250905090565b60006106ce6106c7610de7565b8484610def565b6001905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b600c5481565b601360149054906101000a900460ff1681565b600061072e848484610f83565b6107ef8461073a610de7565b6107ea85604051806060016040528060288152602001612f3c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107a0610de7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f09092919063ffffffff16565b610def565b600190509392505050565b60006009905090565b60006108ac610810610de7565b846108a78560026000610821610de7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154590919063ffffffff16565b610def565b6001905092915050565b60085481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601360159054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60036020528060005260406000206000915054906101000a900460ff1681565b600e5481565b60105481565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f43484f4841000000000000000000000000000000000000000000000000000000815250905090565b6000610b57610aa1610de7565b84610b5285604051806060016040528060258152602001612f646025913960026000610acb610de7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f09092919063ffffffff16565b610def565b6001905092915050565b6000610b75610b6e610de7565b8484610f83565b6001905092915050565b60095481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1390612779565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c579190612669565b602060405180830381865afa158015610c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9891906127ae565b9050600060648483610caa919061280a565b610cb49190612893565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610d139291906128e5565b6020604051808303816000875af1158015610d32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d56919061293a565b9250505092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610e595750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f906129b3565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f7691906125b5565b60405180910390a3505050565b610f8b610a2e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610ff4575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561102c57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156110865750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156110c55750611095610a2e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156111295760006110d5836108f5565b9050600e5482826110e691906129d3565b1115611127576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111e90612a75565b60405180910390fd5b505b611131610a2e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146111a9576010548111156111a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119f90612ae1565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112135750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124990612b4d565b60405180910390fd5b60008111611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c90612bdf565b60405180910390fd5b600760019054906101000a900460ff1660ff16600760009054906101000a900460ff1660ff16101580156112d65750601360149054906101000a900460ff16155b80156113305750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113485750601360159054906101000a900460ff165b15611391576000611358306108f5565b905060105481111561136a5760105490505b6000600760006101000a81548160ff021916908360ff16021790555061138f8161155b565b505b6000600190506000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061143a5750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561144857600091506114dc565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156114a357600190505b6007600081819054906101000a900460ff16809291906114c290612bff565b91906101000a81548160ff021916908360ff160217905550505b6114e985858585856118f6565b5050505050565b6000838311158290611538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152f91906123fb565b60405180910390fd5b5082840390509392505050565b6000818361155391906129d3565b905092915050565b6001601360146101000a81548160ff02191690831515021790555060006064600c5483611588919061280a565b6115929190612893565b9050806006546115a29190612c29565b600681905550806001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115f591906129d3565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116859190612c29565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006064600a54846116da919061280a565b6116e49190612893565b905060006064600b54856116f8919061280a565b6117029190612893565b9050600060c8600d5486611716919061280a565b6117209190612893565b9050600047905061174683858461173791906129d3565b61174191906129d3565b611ff4565b600081476117549190612c29565b90506000600b54600a54600d5461176b91906129d3565b61177591906129d3565b6064600a54611784919061280a565b61178e9190612893565b90506000606482846117a0919061280a565b6117aa9190612893565b90506000600b54600a54600d546117c191906129d3565b6117cb91906129d3565b6064600b546117da919061280a565b6117e49190612893565b90506000606482866117f6919061280a565b6118009190612893565b9050611822878285886118139190612c29565b61181d9190612c29565b612237565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561878285886118519190612c29565b61185b9190612c29565b8960405161186b93929190612c5d565b60405180910390a161189f600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612317565b4794506118ce600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686612317565b505050505050505050506000601360146101000a81548160ff02191690831515021790555050565b81611acc5782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119469190612c29565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d491906129d3565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a7491906125b5565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611ac75782600654611ac09190612c29565b6006819055505b611fed565b8015611d61576000606460085485611ae4919061280a565b611aee9190612893565b905060008185611afe9190612c29565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4b9190612c29565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bd991906129d3565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6791906129d3565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d0791906125b5565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611d5a5780600654611d539190612c29565b6006819055505b5050611fec565b6000606460095485611d73919061280a565b611d7d9190612893565b905060008185611d8d9190612c29565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dda9190612c29565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6891906129d3565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef691906129d3565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f9691906125b5565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611fe95780600654611fe29190612c29565b6006819055505b50505b5b5050505050565b6000600267ffffffffffffffff81111561201157612010612c94565b5b60405190808252806020026020018201604052801561203f5781602001602082028036833780820191505090505b509050308160008151811061205757612056612cc3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121229190612d07565b8160018151811061213657612135612cc3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061219d30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610def565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612201959493929190612e2d565b600060405180830381600087803b15801561221b57600080fd5b505af115801561222f573d6000803e3d6000fd5b505050505050565b61226430601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610def565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b81526004016122cd96959493929190612e87565b60606040518083038185885af11580156122eb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123109190612ee8565b5050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561235d573d6000803e3d6000fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561239c578082015181840152602081019050612381565b838111156123ab576000848401525b50505050565b6000601f19601f8301169050919050565b60006123cd82612362565b6123d7818561236d565b93506123e781856020860161237e565b6123f0816123b1565b840191505092915050565b6000602082019050818103600083015261241581846123c2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061244d82612422565b9050919050565b61245d81612442565b811461246857600080fd5b50565b60008135905061247a81612454565b92915050565b6000819050919050565b61249381612480565b811461249e57600080fd5b50565b6000813590506124b08161248a565b92915050565b600080604083850312156124cd576124cc61241d565b5b60006124db8582860161246b565b92505060206124ec858286016124a1565b9150509250929050565b60008115159050919050565b61250b816124f6565b82525050565b60006020820190506125266000830184612502565b92915050565b6000819050919050565b600061255161254c61254784612422565b61252c565b612422565b9050919050565b600061256382612536565b9050919050565b600061257582612558565b9050919050565b6125858161256a565b82525050565b60006020820190506125a0600083018461257c565b92915050565b6125af81612480565b82525050565b60006020820190506125ca60008301846125a6565b92915050565b6000806000606084860312156125e9576125e861241d565b5b60006125f78682870161246b565b93505060206126088682870161246b565b9250506040612619868287016124a1565b9150509250925092565b600060ff82169050919050565b61263981612623565b82525050565b60006020820190506126546000830184612630565b92915050565b61266381612442565b82525050565b600060208201905061267e600083018461265a565b92915050565b60006020828403121561269a5761269961241d565b5b60006126a88482850161246b565b91505092915050565b60006126bc82612422565b9050919050565b6126cc816126b1565b82525050565b60006020820190506126e760008301846126c3565b92915050565b600080604083850312156127045761270361241d565b5b60006127128582860161246b565b92505060206127238582860161246b565b9150509250929050565b7f43616e206e6f742072656d6f7665206e617469766520746f6b656e0000000000600082015250565b6000612763601b8361236d565b915061276e8261272d565b602082019050919050565b6000602082019050818103600083015261279281612756565b9050919050565b6000815190506127a88161248a565b92915050565b6000602082840312156127c4576127c361241d565b5b60006127d284828501612799565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281582612480565b915061282083612480565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612859576128586127db565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061289e82612480565b91506128a983612480565b9250826128b9576128b8612864565b5b828204905092915050565b60006128cf82612558565b9050919050565b6128df816128c4565b82525050565b60006040820190506128fa60008301856128d6565b61290760208301846125a6565b9392505050565b612917816124f6565b811461292257600080fd5b50565b6000815190506129348161290e565b92915050565b6000602082840312156129505761294f61241d565b5b600061295e84828501612925565b91505092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b600061299d60118361236d565b91506129a882612967565b602082019050919050565b600060208201905081810360008301526129cc81612990565b9050919050565b60006129de82612480565b91506129e983612480565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a1e57612a1d6127db565b5b828201905092915050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b6000612a5f60128361236d565b9150612a6a82612a29565b602082019050919050565b60006020820190508181036000830152612a8e81612a52565b9050919050565b7f4f766572207472616e73616374696f6e206c696d69742e000000000000000000600082015250565b6000612acb60178361236d565b9150612ad682612a95565b602082019050919050565b60006020820190508181036000830152612afa81612abe565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b6000612b3760158361236d565b9150612b4282612b01565b602082019050919050565b60006020820190508181036000830152612b6681612b2a565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b6000612bc960258361236d565b9150612bd482612b6d565b604082019050919050565b60006020820190508181036000830152612bf881612bbc565b9050919050565b6000612c0a82612623565b915060ff821415612c1e57612c1d6127db565b5b600182019050919050565b6000612c3482612480565b9150612c3f83612480565b925082821015612c5257612c516127db565b5b828203905092915050565b6000606082019050612c7260008301866125a6565b612c7f60208301856125a6565b612c8c60408301846125a6565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612d0181612454565b92915050565b600060208284031215612d1d57612d1c61241d565b5b6000612d2b84828501612cf2565b91505092915050565b6000819050919050565b6000612d59612d54612d4f84612d34565b61252c565b612480565b9050919050565b612d6981612d3e565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612da481612442565b82525050565b6000612db68383612d9b565b60208301905092915050565b6000602082019050919050565b6000612dda82612d6f565b612de48185612d7a565b9350612def83612d8b565b8060005b83811015612e20578151612e078882612daa565b9750612e1283612dc2565b925050600181019050612df3565b5085935050505092915050565b600060a082019050612e4260008301886125a6565b612e4f6020830187612d60565b8181036040830152612e618186612dcf565b9050612e70606083018561265a565b612e7d60808301846125a6565b9695505050505050565b600060c082019050612e9c600083018961265a565b612ea960208301886125a6565b612eb66040830187612d60565b612ec36060830186612d60565b612ed060808301856128d6565b612edd60a08301846125a6565b979650505050505050565b600080600060608486031215612f0157612f0061241d565b5b6000612f0f86828701612799565b9350506020612f2086828701612799565b9250506040612f3186828701612799565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e99637716daf7233175c64ba7a4ba2eabff238023bd6284f121025906181718864736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063715018a6116100d157806395d89b411161008a578063b1cb158211610064578063b1cb1582146105ad578063b43665e2146105d8578063dafd18e914610603578063dd62ed3e146106405761018c565b806395d89b4114610508578063a457c2d714610533578063a9059cbb146105705761018c565b8063715018a614610408578063768dc7101461041f57806378109e541461045c5780637d1db4a514610487578063805c0e0f146104b25780638da5cb5b146104dd5761018c565b806323b872dd1161013e5780633f70a495116101185780633f70a4951461034a57806349bd5a5e146103755780634a74bb02146103a057806370a08231146103cb5761018c565b806323b872dd146102a5578063313ce567146102e2578063395093511461030d5761018c565b806306fdde0314610191578063095ea7b3146101bc5780631694505e146101f957806318160ddd1461022457806321dbd9eb1461024f578063220f66961461027a5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a661067d565b6040516101b391906123fb565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de91906124b6565b6106ba565b6040516101f09190612511565b60405180910390f35b34801561020557600080fd5b5061020e6106d8565b60405161021b919061258b565b60405180910390f35b34801561023057600080fd5b506102396106fe565b60405161024691906125b5565b60405180910390f35b34801561025b57600080fd5b50610264610708565b60405161027191906125b5565b60405180910390f35b34801561028657600080fd5b5061028f61070e565b60405161029c9190612511565b60405180910390f35b3480156102b157600080fd5b506102cc60048036038101906102c791906125d0565b610721565b6040516102d99190612511565b60405180910390f35b3480156102ee57600080fd5b506102f76107fa565b604051610304919061263f565b60405180910390f35b34801561031957600080fd5b50610334600480360381019061032f91906124b6565b610803565b6040516103419190612511565b60405180910390f35b34801561035657600080fd5b5061035f6108b6565b60405161036c91906125b5565b60405180910390f35b34801561038157600080fd5b5061038a6108bc565b6040516103979190612669565b60405180910390f35b3480156103ac57600080fd5b506103b56108e2565b6040516103c29190612511565b60405180910390f35b3480156103d757600080fd5b506103f260048036038101906103ed9190612684565b6108f5565b6040516103ff91906125b5565b60405180910390f35b34801561041457600080fd5b5061041d61093e565b005b34801561042b57600080fd5b5061044660048036038101906104419190612684565b6109fc565b6040516104539190612511565b60405180910390f35b34801561046857600080fd5b50610471610a1c565b60405161047e91906125b5565b60405180910390f35b34801561049357600080fd5b5061049c610a22565b6040516104a991906125b5565b60405180910390f35b3480156104be57600080fd5b506104c7610a28565b6040516104d491906126d2565b60405180910390f35b3480156104e957600080fd5b506104f2610a2e565b6040516104ff9190612669565b60405180910390f35b34801561051457600080fd5b5061051d610a57565b60405161052a91906123fb565b60405180910390f35b34801561053f57600080fd5b5061055a600480360381019061055591906124b6565b610a94565b6040516105679190612511565b60405180910390f35b34801561057c57600080fd5b50610597600480360381019061059291906124b6565b610b61565b6040516105a49190612511565b60405180910390f35b3480156105b957600080fd5b506105c2610b7f565b6040516105cf91906125b5565b60405180910390f35b3480156105e457600080fd5b506105ed610b85565b6040516105fa91906126d2565b60405180910390f35b34801561060f57600080fd5b5061062a600480360381019061062591906124b6565b610bab565b6040516106379190612511565b60405180910390f35b34801561064c57600080fd5b50610667600480360381019061066291906126ed565b610d60565b60405161067491906125b5565b60405180910390f35b60606040518060400160405280600d81526020017f43484f4e4b5948414d5354455200000000000000000000000000000000000000815250905090565b60006106ce6106c7610de7565b8484610def565b6001905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b600c5481565b601360149054906101000a900460ff1681565b600061072e848484610f83565b6107ef8461073a610de7565b6107ea85604051806060016040528060288152602001612f3c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107a0610de7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f09092919063ffffffff16565b610def565b600190509392505050565b60006009905090565b60006108ac610810610de7565b846108a78560026000610821610de7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154590919063ffffffff16565b610def565b6001905092915050565b60085481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601360159054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60036020528060005260406000206000915054906101000a900460ff1681565b600e5481565b60105481565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f43484f4841000000000000000000000000000000000000000000000000000000815250905090565b6000610b57610aa1610de7565b84610b5285604051806060016040528060258152602001612f646025913960026000610acb610de7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f09092919063ffffffff16565b610def565b6001905092915050565b6000610b75610b6e610de7565b8484610f83565b6001905092915050565b60095481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1390612779565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c579190612669565b602060405180830381865afa158015610c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9891906127ae565b9050600060648483610caa919061280a565b610cb49190612893565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610d139291906128e5565b6020604051808303816000875af1158015610d32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d56919061293a565b9250505092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610e595750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f906129b3565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f7691906125b5565b60405180910390a3505050565b610f8b610a2e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610ff4575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561102c57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156110865750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156110c55750611095610a2e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156111295760006110d5836108f5565b9050600e5482826110e691906129d3565b1115611127576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111e90612a75565b60405180910390fd5b505b611131610a2e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146111a9576010548111156111a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119f90612ae1565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112135750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124990612b4d565b60405180910390fd5b60008111611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c90612bdf565b60405180910390fd5b600760019054906101000a900460ff1660ff16600760009054906101000a900460ff1660ff16101580156112d65750601360149054906101000a900460ff16155b80156113305750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113485750601360159054906101000a900460ff165b15611391576000611358306108f5565b905060105481111561136a5760105490505b6000600760006101000a81548160ff021916908360ff16021790555061138f8161155b565b505b6000600190506000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061143a5750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561144857600091506114dc565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156114a357600190505b6007600081819054906101000a900460ff16809291906114c290612bff565b91906101000a81548160ff021916908360ff160217905550505b6114e985858585856118f6565b5050505050565b6000838311158290611538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152f91906123fb565b60405180910390fd5b5082840390509392505050565b6000818361155391906129d3565b905092915050565b6001601360146101000a81548160ff02191690831515021790555060006064600c5483611588919061280a565b6115929190612893565b9050806006546115a29190612c29565b600681905550806001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115f591906129d3565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116859190612c29565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006064600a54846116da919061280a565b6116e49190612893565b905060006064600b54856116f8919061280a565b6117029190612893565b9050600060c8600d5486611716919061280a565b6117209190612893565b9050600047905061174683858461173791906129d3565b61174191906129d3565b611ff4565b600081476117549190612c29565b90506000600b54600a54600d5461176b91906129d3565b61177591906129d3565b6064600a54611784919061280a565b61178e9190612893565b90506000606482846117a0919061280a565b6117aa9190612893565b90506000600b54600a54600d546117c191906129d3565b6117cb91906129d3565b6064600b546117da919061280a565b6117e49190612893565b90506000606482866117f6919061280a565b6118009190612893565b9050611822878285886118139190612c29565b61181d9190612c29565b612237565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561878285886118519190612c29565b61185b9190612c29565b8960405161186b93929190612c5d565b60405180910390a161189f600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612317565b4794506118ce600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686612317565b505050505050505050506000601360146101000a81548160ff02191690831515021790555050565b81611acc5782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119469190612c29565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d491906129d3565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a7491906125b5565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611ac75782600654611ac09190612c29565b6006819055505b611fed565b8015611d61576000606460085485611ae4919061280a565b611aee9190612893565b905060008185611afe9190612c29565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4b9190612c29565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bd991906129d3565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c6791906129d3565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d0791906125b5565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611d5a5780600654611d539190612c29565b6006819055505b5050611fec565b6000606460095485611d73919061280a565b611d7d9190612893565b905060008185611d8d9190612c29565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dda9190612c29565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6891906129d3565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef691906129d3565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f9691906125b5565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611fe95780600654611fe29190612c29565b6006819055505b50505b5b5050505050565b6000600267ffffffffffffffff81111561201157612010612c94565b5b60405190808252806020026020018201604052801561203f5781602001602082028036833780820191505090505b509050308160008151811061205757612056612cc3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121229190612d07565b8160018151811061213657612135612cc3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061219d30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610def565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612201959493929190612e2d565b600060405180830381600087803b15801561221b57600080fd5b505af115801561222f573d6000803e3d6000fd5b505050505050565b61226430601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610def565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b81526004016122cd96959493929190612e87565b60606040518083038185885af11580156122eb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123109190612ee8565b5050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561235d573d6000803e3d6000fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561239c578082015181840152602081019050612381565b838111156123ab576000848401525b50505050565b6000601f19601f8301169050919050565b60006123cd82612362565b6123d7818561236d565b93506123e781856020860161237e565b6123f0816123b1565b840191505092915050565b6000602082019050818103600083015261241581846123c2565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061244d82612422565b9050919050565b61245d81612442565b811461246857600080fd5b50565b60008135905061247a81612454565b92915050565b6000819050919050565b61249381612480565b811461249e57600080fd5b50565b6000813590506124b08161248a565b92915050565b600080604083850312156124cd576124cc61241d565b5b60006124db8582860161246b565b92505060206124ec858286016124a1565b9150509250929050565b60008115159050919050565b61250b816124f6565b82525050565b60006020820190506125266000830184612502565b92915050565b6000819050919050565b600061255161254c61254784612422565b61252c565b612422565b9050919050565b600061256382612536565b9050919050565b600061257582612558565b9050919050565b6125858161256a565b82525050565b60006020820190506125a0600083018461257c565b92915050565b6125af81612480565b82525050565b60006020820190506125ca60008301846125a6565b92915050565b6000806000606084860312156125e9576125e861241d565b5b60006125f78682870161246b565b93505060206126088682870161246b565b9250506040612619868287016124a1565b9150509250925092565b600060ff82169050919050565b61263981612623565b82525050565b60006020820190506126546000830184612630565b92915050565b61266381612442565b82525050565b600060208201905061267e600083018461265a565b92915050565b60006020828403121561269a5761269961241d565b5b60006126a88482850161246b565b91505092915050565b60006126bc82612422565b9050919050565b6126cc816126b1565b82525050565b60006020820190506126e760008301846126c3565b92915050565b600080604083850312156127045761270361241d565b5b60006127128582860161246b565b92505060206127238582860161246b565b9150509250929050565b7f43616e206e6f742072656d6f7665206e617469766520746f6b656e0000000000600082015250565b6000612763601b8361236d565b915061276e8261272d565b602082019050919050565b6000602082019050818103600083015261279281612756565b9050919050565b6000815190506127a88161248a565b92915050565b6000602082840312156127c4576127c361241d565b5b60006127d284828501612799565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281582612480565b915061282083612480565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612859576128586127db565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061289e82612480565b91506128a983612480565b9250826128b9576128b8612864565b5b828204905092915050565b60006128cf82612558565b9050919050565b6128df816128c4565b82525050565b60006040820190506128fa60008301856128d6565b61290760208301846125a6565b9392505050565b612917816124f6565b811461292257600080fd5b50565b6000815190506129348161290e565b92915050565b6000602082840312156129505761294f61241d565b5b600061295e84828501612925565b91505092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b600061299d60118361236d565b91506129a882612967565b602082019050919050565b600060208201905081810360008301526129cc81612990565b9050919050565b60006129de82612480565b91506129e983612480565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a1e57612a1d6127db565b5b828201905092915050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b6000612a5f60128361236d565b9150612a6a82612a29565b602082019050919050565b60006020820190508181036000830152612a8e81612a52565b9050919050565b7f4f766572207472616e73616374696f6e206c696d69742e000000000000000000600082015250565b6000612acb60178361236d565b9150612ad682612a95565b602082019050919050565b60006020820190508181036000830152612afa81612abe565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b6000612b3760158361236d565b9150612b4282612b01565b602082019050919050565b60006020820190508181036000830152612b6681612b2a565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b6000612bc960258361236d565b9150612bd482612b6d565b604082019050919050565b60006020820190508181036000830152612bf881612bbc565b9050919050565b6000612c0a82612623565b915060ff821415612c1e57612c1d6127db565b5b600182019050919050565b6000612c3482612480565b9150612c3f83612480565b925082821015612c5257612c516127db565b5b828203905092915050565b6000606082019050612c7260008301866125a6565b612c7f60208301856125a6565b612c8c60408301846125a6565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612d0181612454565b92915050565b600060208284031215612d1d57612d1c61241d565b5b6000612d2b84828501612cf2565b91505092915050565b6000819050919050565b6000612d59612d54612d4f84612d34565b61252c565b612480565b9050919050565b612d6981612d3e565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612da481612442565b82525050565b6000612db68383612d9b565b60208301905092915050565b6000602082019050919050565b6000612dda82612d6f565b612de48185612d7a565b9350612def83612d8b565b8060005b83811015612e20578151612e078882612daa565b9750612e1283612dc2565b925050600181019050612df3565b5085935050505092915050565b600060a082019050612e4260008301886125a6565b612e4f6020830187612d60565b8181036040830152612e618186612dcf565b9050612e70606083018561265a565b612e7d60808301846125a6565b9695505050505050565b600060c082019050612e9c600083018961265a565b612ea960208301886125a6565b612eb66040830187612d60565b612ec36060830186612d60565b612ed060808301856128d6565b612edd60a08301846125a6565b979650505050505050565b600080600060608486031215612f0157612f0061241d565b5b6000612f0f86828701612799565b9350506020612f2086828701612799565b9250506040612f3186828701612799565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e99637716daf7233175c64ba7a4ba2eabff238023bd6284f121025906181718864736f6c634300080a0033

Deployed Bytecode Sourcemap

13060:11496:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16333:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17176:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15060:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16610:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14659:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15143:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17345:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16519:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17666:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14499:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15108:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15178:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16713:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13523:138;;;;;;;;;;;;;:::i;:::-;;13796:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14742:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14867:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14053:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13300:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16424;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17892:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16838:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14536:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13857:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22641:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17013:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16333:83;16370:13;16403:5;;;;;;;;;;;;;;;;;16396:12;;16333:83;:::o;17176:161::-;17251:4;17268:39;17277:12;:10;:12::i;:::-;17291:7;17300:6;17268:8;:39::i;:::-;17325:4;17318:11;;17176:161;;;;:::o;15060:41::-;;;;;;;;;;;;;:::o;16610:95::-;16663:7;16690;;16683:14;;16610:95;:::o;14659:31::-;;;;:::o;15143:28::-;;;;;;;;;;;;;:::o;17345:313::-;17443:4;17460:36;17470:6;17478:9;17489:6;17460:9;:36::i;:::-;17507:121;17516:6;17524:12;:10;:12::i;:::-;17538:89;17576:6;17538:89;;;;;;;;;;;;;;;;;:11;:19;17550:6;17538:19;;;;;;;;;;;;;;;:33;17558:12;:10;:12::i;:::-;17538:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17507:8;:121::i;:::-;17646:4;17639:11;;17345:313;;;;;:::o;16519:83::-;16560:5;14246:1;16578:16;;16519:83;:::o;17666:218::-;17754:4;17771:83;17780:12;:10;:12::i;:::-;17794:7;17803:50;17842:10;17803:11;:25;17815:12;:10;:12::i;:::-;17803:25;;;;;;;;;;;;;;;:34;17829:7;17803:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;17771:8;:83::i;:::-;17872:4;17865:11;;17666:218;;;;:::o;14499:30::-;;;;:::o;15108:28::-;;;;;;;;;;;;;:::o;15178:40::-;;;;;;;;;;;;;:::o;16713:117::-;16779:7;16806;:16;16814:7;16806:16;;;;;;;;;;;;;;;;16799:23;;16713:117;;;:::o;13523:138::-;13620:1;13583:40;;13604:6;;;;;;;;;;13583:40;;;;;;;;;;;;13651:1;13634:6;;:19;;;;;;;;;;;;;;;;;;13523:138::o;13796:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;14742:52::-;;;;:::o;14867:49::-;;;;:::o;14053:97::-;14107:42;14053:97;:::o;13300:87::-;13346:7;13373:6;;;;;;;;;;;13366:13;;13300:87;:::o;16424:::-;16463:13;16496:7;;;;;;;;;;;;;;;;;16489:14;;16424:87;:::o;17892:269::-;17985:4;18002:129;18011:12;:10;:12::i;:::-;18025:7;18034:96;18073:15;18034:96;;;;;;;;;;;;;;;;;:11;:25;18046:12;:10;:12::i;:::-;18034:25;;;;;;;;;;;;;;;:34;18060:7;18034:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18002:8;:129::i;:::-;18149:4;18142:11;;17892:269;;;;:::o;16838:167::-;16916:4;16933:42;16943:12;:10;:12::i;:::-;16957:9;16968:6;16933:9;:42::i;:::-;16993:4;16986:11;;16838:167;;;;:::o;14536:31::-;;;;:::o;13857:93::-;;;;;;;;;;;;;:::o;22641:446::-;22743:10;22805:4;22773:37;;:20;:37;;;;22765:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;22853:19;22882:20;22875:38;;;22922:4;22875:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22853:75;;22939:20;22992:3;22974:17;22962:11;:29;;;;:::i;:::-;:33;;;;:::i;:::-;22939:56;;23021:20;23014:37;;;23052:10;;;;;;;;;;;23064:12;23014:63;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23006:71;;22754:333;;22641:446;;;;:::o;17013:155::-;17100:7;17127:11;:21;17139:8;17127:21;;;;;;;;;;;;;;;:33;17149:10;17127:33;;;;;;;;;;;;;;;;17120:40;;17013:155;;;;:::o;1683:98::-;1736:7;1763:10;1756:17;;1683:98;:::o;18312:290::-;18433:1;18413:22;;:8;:22;;;;:50;;;;;18461:1;18439:24;;:10;:24;;;;18413:50;18405:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;18532:6;18496:11;:21;18508:8;18496:21;;;;;;;;;;;;;;;:33;18518:10;18496:33;;;;;;;;;;;;;;;:42;;;;18573:10;18554:38;;18563:8;18554:38;;;18585:6;18554:38;;;;;;:::i;:::-;;;;;;;;18312:290;;;:::o;18610:1509::-;18736:7;:5;:7::i;:::-;18730:13;;:2;:13;;;;:47;;;;;14107:42;18760:17;;:2;:17;;;;18730:47;:83;;;;;18808:4;18794:19;;:2;:19;;;;18730:83;:119;;;;;18836:13;;;;;;;;;;;18830:19;;:2;:19;;;;18730:119;:151;;;;;18874:7;:5;:7::i;:::-;18866:15;;:4;:15;;;;18730:151;18726:292;;;18897:18;18918:13;18928:2;18918:9;:13::i;:::-;18897:34;;18979:15;;18968:6;18955:10;:19;;;;:::i;:::-;18954:40;;18946:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;18882:136;18726:292;19042:7;:5;:7::i;:::-;19034:15;;:4;:15;;;19030:92;;19082:12;;19072:6;:22;;19064:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;19030:92;19161:1;19145:18;;:4;:18;;;;:38;;;;;19181:1;19167:16;;:2;:16;;;;19145:38;19137:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;19237:1;19228:6;:10;19220:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;19324:11;;;;;;;;;;;19313:22;;:7;;;;;;;;;;;:22;;;;:57;;;;;19354:16;;;;;;;;;;;19353:17;19313:57;:95;;;;;19395:13;;;;;;;;;;;19387:21;;:4;:21;;;;19313:95;:133;;;;;19425:21;;;;;;;;;;;19313:133;19296:443;;;19503:28;19534:24;19552:4;19534:9;:24::i;:::-;19503:55;;19599:12;;19576:20;:35;19573:78;;;19637:12;;19614:35;;19573:78;19675:1;19665:7;;:11;;;;;;;;;;;;;;;;;;19691:36;19706:20;19691:14;:36::i;:::-;19472:267;19296:443;19759:12;19774:4;19759:19;;19789:10;19813:18;:24;19832:4;19813:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;19841:18;:22;19860:2;19841:22;;;;;;;;;;;;;;;;;;;;;;;;;19813:50;19810:239;;;19889:5;19879:15;;19810:239;;;19949:13;;;;;;;;;;;19941:21;;:4;:21;;;19938:72;;;19990:4;19982:12;;19938:72;20026:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;19810:239;20061:48;20076:4;20082:2;20086:6;20094:7;20103:5;20061:14;:48::i;:::-;18713:1406;;18610:1509;;;:::o;1212:206::-;1298:7;1356:1;1351;:6;;1359:12;1343:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1398:1;1394;:5;1387:12;;1212:206;;;;;:::o;784:98::-;842:7;873:1;869;:5;;;;:::i;:::-;862:12;;784:98;;;;:::o;20263:1509::-;15492:4;15473:16;;:23;;;;;;;;;;;;;;;;;;20354:22:::1;20417:3;20402:12;;20379:20;:35;;;;:::i;:::-;:41;;;;:::i;:::-;20354:66;;20455:14;20445:7;;:24;;;;:::i;:::-;20435:7;:34;;;;20530:14;20507:7;:20;14107:42;20507:20;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;20484:7;:20;14107:42;20484:20;;;;;;;;;;;;;;;:60;;;;20609:14;20584:7;:22;20600:4;20584:22;;;;;;;;;;;;;;;;:39;;;;:::i;:::-;20559:7;:22;20575:4;20559:22;;;;;;;;;;;;;;;:64;;;;20641:19;20706:3;20686:17;;20663:20;:40;;;;:::i;:::-;:46;;;;:::i;:::-;20641:68;;20724:19;20783:3;20769:11;;20746:20;:34;;;;:::i;:::-;:40;;;;:::i;:::-;20724:62;;20801:25;20869:3;20852:14;;20829:20;:37;;;;:::i;:::-;:43;;;;:::i;:::-;20801:71;;20889:25;20917:21;20889:49;;20953:63;21004:11;20990;20970:17;:31;;;;:::i;:::-;:45;;;;:::i;:::-;20953:16;:63::i;:::-;21031:17;21075;21051:21;:41;;;;:::i;:::-;21031:61;;21109:15;21191:11;;21171:17;;21154:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;21147:3;21127:17;;:23;;;;:::i;:::-;:76;;;;:::i;:::-;21109:94;;21218:13;21256:3;21246:7;21234:9;:19;;;;:::i;:::-;:25;;;;:::i;:::-;21218:41;;21276:15;21352:11;;21332:17;;21315:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;21308:3;21294:11;;:17;;;;:::i;:::-;:70;;;;:::i;:::-;21276:88;;21379:13;21417:3;21407:7;21395:9;:19;;;;:::i;:::-;:25;;;;:::i;:::-;21379:41;;21439:60;21452:17;21492:5;21484;21472:9;:17;;;;:::i;:::-;:25;;;;:::i;:::-;21439:12;:60::i;:::-;21519:81;21534:17;21574:5;21566;21554:9;:17;;;;:::i;:::-;:25;;;;:::i;:::-;21582:17;21519:81;;;;;;;;:::i;:::-;;;;;;;;21617:37;21630:16;;;;;;;;;;;21648:5;21617:12;:37::i;:::-;21683:21;21671:33;;21719:35;21732:10;;;;;;;;;;;21744:9;21719:12;:35::i;:::-;20337:1435;;;;;;;;;;15538:5:::0;15519:16;;:24;;;;;;;;;;;;;;;;;;20263:1509;:::o;23097:1452::-;23242:7;23238:1302;;23301:7;23285;:15;23293:6;23285:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;23267:7;:15;23275:6;23267:15;;;;;;;;;;;;;;;:41;;;;23363:7;23344;:18;23352:9;23344:18;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;23323:7;:18;23331:9;23323:18;;;;;;;;;;;;;;;:47;;;;23407:9;23390:36;;23399:6;23390:36;;;23418:7;23390:36;;;;;;:::i;:::-;;;;;;;;14107:42;23446:24;;:9;:24;;;23443:67;;;23503:7;23495;;:15;;;;:::i;:::-;23485:7;:25;;;;23443:67;23238:1302;;;23538:5;23534:1006;;;23561:14;23598:3;23586:11;;23578:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;23561:40;;23616:23;23650:6;23642:7;:14;;;;:::i;:::-;23616:40;;23707:7;23691;:15;23699:6;23691:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;23673:7;:15;23681:6;23673:15;;;;;;;;;;;;;;;:41;;;;23769:15;23750:7;:18;23758:9;23750:18;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;23729:7;:18;23737:9;23729:18;;;;;;;;;;;;;;;:55;;;;23847:6;23824:7;:22;23840:4;23824:22;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;23799:7;:22;23815:4;23799:22;;;;;;;;;;;;;;;:54;;;;23893:9;23876:44;;23885:6;23876:44;;;23904:15;23876:44;;;;;;:::i;:::-;;;;;;;;14107:42;23940:24;;:9;:24;;;23937:75;;;23997:15;23989:7;;:23;;;;:::i;:::-;23979:7;:33;;;;23937:75;23544:498;;23534:1006;;;24065:15;24104:3;24091:12;;24083:7;:20;;;;:::i;:::-;:24;;;;:::i;:::-;24065:42;;24122:23;24156:7;24148;:15;;;;:::i;:::-;24122:41;;24214:7;24198;:15;24206:6;24198:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;24180:7;:15;24188:6;24180:15;;;;;;;;;;;;;;;:41;;;;24276:15;24257:7;:18;24265:9;24257:18;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;24236:7;:18;24244:9;24236:18;;;;;;;;;;;;;;;:55;;;;24354:7;24331;:22;24347:4;24331:22;;;;;;;;;;;;;;;;:30;;;;:::i;:::-;24306:7;:22;24322:4;24306:22;;;;;;;;;;;;;;;:55;;;;24401:9;24384:44;;24393:6;24384:44;;;24412:15;24384:44;;;;;;:::i;:::-;;;;;;;;14107:42;24448:24;;:9;:24;;;24445:75;;;24505:15;24497:7;;:23;;;;:::i;:::-;24487:7;:33;;;;24445:75;24048:492;;23534:1006;23238:1302;23097:1452;;;;;:::o;21780:474::-;21848:21;21886:1;21872:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21848:40;;21917:4;21899;21904:1;21899:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21943:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21933:4;21938:1;21933:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;21976:62;21993:4;22008:15;;;;;;;;;;;22026:11;21976:8;:62::i;:::-;22049:15;;;;;;;;;;;:66;;;22130:11;22156:1;22173:4;22200;22220:15;22049:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21835:419;21780:474;:::o;22264:368::-;22347:62;22364:4;22379:15;;;;;;;;;;;22397:11;22347:8;:62::i;:::-;22420:15;;;;;;;;;;;:31;;;22459:9;22492:4;22512:11;22538:1;22555;14107:42;22598:15;22420:204;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22264:368;;:::o;20131:122::-;20216:6;:15;;:23;20232:6;20216:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20131:122;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:153::-;3917:9;3950:37;3981:5;3950:37;:::i;:::-;3937:50;;3840:153;;;:::o;3999:185::-;4113:64;4171:5;4113:64;:::i;:::-;4108:3;4101:77;3999:185;;:::o;4190:276::-;4310:4;4348:2;4337:9;4333:18;4325:26;;4361:98;4456:1;4445:9;4441:17;4432:6;4361:98;:::i;:::-;4190:276;;;;:::o;4472:118::-;4559:24;4577:5;4559:24;:::i;:::-;4554:3;4547:37;4472:118;;:::o;4596:222::-;4689:4;4727:2;4716:9;4712:18;4704:26;;4740:71;4808:1;4797:9;4793:17;4784:6;4740:71;:::i;:::-;4596:222;;;;:::o;4824:619::-;4901:6;4909;4917;4966:2;4954:9;4945:7;4941:23;4937:32;4934:119;;;4972:79;;:::i;:::-;4934:119;5092:1;5117:53;5162:7;5153:6;5142:9;5138:22;5117:53;:::i;:::-;5107:63;;5063:117;5219:2;5245:53;5290:7;5281:6;5270:9;5266:22;5245:53;:::i;:::-;5235:63;;5190:118;5347:2;5373:53;5418:7;5409:6;5398:9;5394:22;5373:53;:::i;:::-;5363:63;;5318:118;4824:619;;;;;:::o;5449:86::-;5484:7;5524:4;5517:5;5513:16;5502:27;;5449:86;;;:::o;5541:112::-;5624:22;5640:5;5624:22;:::i;:::-;5619:3;5612:35;5541:112;;:::o;5659:214::-;5748:4;5786:2;5775:9;5771:18;5763:26;;5799:67;5863:1;5852:9;5848:17;5839:6;5799:67;:::i;:::-;5659:214;;;;:::o;5879:118::-;5966:24;5984:5;5966:24;:::i;:::-;5961:3;5954:37;5879:118;;:::o;6003:222::-;6096:4;6134:2;6123:9;6119:18;6111:26;;6147:71;6215:1;6204:9;6200:17;6191:6;6147:71;:::i;:::-;6003:222;;;;:::o;6231:329::-;6290:6;6339:2;6327:9;6318:7;6314:23;6310:32;6307:119;;;6345:79;;:::i;:::-;6307:119;6465:1;6490:53;6535:7;6526:6;6515:9;6511:22;6490:53;:::i;:::-;6480:63;;6436:117;6231:329;;;;:::o;6566:104::-;6611:7;6640:24;6658:5;6640:24;:::i;:::-;6629:35;;6566:104;;;:::o;6676:142::-;6779:32;6805:5;6779:32;:::i;:::-;6774:3;6767:45;6676:142;;:::o;6824:254::-;6933:4;6971:2;6960:9;6956:18;6948:26;;6984:87;7068:1;7057:9;7053:17;7044:6;6984:87;:::i;:::-;6824:254;;;;:::o;7084:474::-;7152:6;7160;7209:2;7197:9;7188:7;7184:23;7180:32;7177:119;;;7215:79;;:::i;:::-;7177:119;7335:1;7360:53;7405:7;7396:6;7385:9;7381:22;7360:53;:::i;:::-;7350:63;;7306:117;7462:2;7488:53;7533:7;7524:6;7513:9;7509:22;7488:53;:::i;:::-;7478:63;;7433:118;7084:474;;;;;:::o;7564:177::-;7704:29;7700:1;7692:6;7688:14;7681:53;7564:177;:::o;7747:366::-;7889:3;7910:67;7974:2;7969:3;7910:67;:::i;:::-;7903:74;;7986:93;8075:3;7986:93;:::i;:::-;8104:2;8099:3;8095:12;8088:19;;7747:366;;;:::o;8119:419::-;8285:4;8323:2;8312:9;8308:18;8300:26;;8372:9;8366:4;8362:20;8358:1;8347:9;8343:17;8336:47;8400:131;8526:4;8400:131;:::i;:::-;8392:139;;8119:419;;;:::o;8544:143::-;8601:5;8632:6;8626:13;8617:22;;8648:33;8675:5;8648:33;:::i;:::-;8544:143;;;;:::o;8693:351::-;8763:6;8812:2;8800:9;8791:7;8787:23;8783:32;8780:119;;;8818:79;;:::i;:::-;8780:119;8938:1;8963:64;9019:7;9010:6;8999:9;8995:22;8963:64;:::i;:::-;8953:74;;8909:128;8693:351;;;;:::o;9050:180::-;9098:77;9095:1;9088:88;9195:4;9192:1;9185:15;9219:4;9216:1;9209:15;9236:348;9276:7;9299:20;9317:1;9299:20;:::i;:::-;9294:25;;9333:20;9351:1;9333:20;:::i;:::-;9328:25;;9521:1;9453:66;9449:74;9446:1;9443:81;9438:1;9431:9;9424:17;9420:105;9417:131;;;9528:18;;:::i;:::-;9417:131;9576:1;9573;9569:9;9558:20;;9236:348;;;;:::o;9590:180::-;9638:77;9635:1;9628:88;9735:4;9732:1;9725:15;9759:4;9756:1;9749:15;9776:185;9816:1;9833:20;9851:1;9833:20;:::i;:::-;9828:25;;9867:20;9885:1;9867:20;:::i;:::-;9862:25;;9906:1;9896:35;;9911:18;;:::i;:::-;9896:35;9953:1;9950;9946:9;9941:14;;9776:185;;;;:::o;9967:134::-;10025:9;10058:37;10089:5;10058:37;:::i;:::-;10045:50;;9967:134;;;:::o;10107:147::-;10202:45;10241:5;10202:45;:::i;:::-;10197:3;10190:58;10107:147;;:::o;10260:348::-;10389:4;10427:2;10416:9;10412:18;10404:26;;10440:79;10516:1;10505:9;10501:17;10492:6;10440:79;:::i;:::-;10529:72;10597:2;10586:9;10582:18;10573:6;10529:72;:::i;:::-;10260:348;;;;;:::o;10614:116::-;10684:21;10699:5;10684:21;:::i;:::-;10677:5;10674:32;10664:60;;10720:1;10717;10710:12;10664:60;10614:116;:::o;10736:137::-;10790:5;10821:6;10815:13;10806:22;;10837:30;10861:5;10837:30;:::i;:::-;10736:137;;;;:::o;10879:345::-;10946:6;10995:2;10983:9;10974:7;10970:23;10966:32;10963:119;;;11001:79;;:::i;:::-;10963:119;11121:1;11146:61;11199:7;11190:6;11179:9;11175:22;11146:61;:::i;:::-;11136:71;;11092:125;10879:345;;;;:::o;11230:167::-;11370:19;11366:1;11358:6;11354:14;11347:43;11230:167;:::o;11403:366::-;11545:3;11566:67;11630:2;11625:3;11566:67;:::i;:::-;11559:74;;11642:93;11731:3;11642:93;:::i;:::-;11760:2;11755:3;11751:12;11744:19;;11403:366;;;:::o;11775:419::-;11941:4;11979:2;11968:9;11964:18;11956:26;;12028:9;12022:4;12018:20;12014:1;12003:9;11999:17;11992:47;12056:131;12182:4;12056:131;:::i;:::-;12048:139;;11775:419;;;:::o;12200:305::-;12240:3;12259:20;12277:1;12259:20;:::i;:::-;12254:25;;12293:20;12311:1;12293:20;:::i;:::-;12288:25;;12447:1;12379:66;12375:74;12372:1;12369:81;12366:107;;;12453:18;;:::i;:::-;12366:107;12497:1;12494;12490:9;12483:16;;12200:305;;;;:::o;12511:168::-;12651:20;12647:1;12639:6;12635:14;12628:44;12511:168;:::o;12685:366::-;12827:3;12848:67;12912:2;12907:3;12848:67;:::i;:::-;12841:74;;12924:93;13013:3;12924:93;:::i;:::-;13042:2;13037:3;13033:12;13026:19;;12685:366;;;:::o;13057:419::-;13223:4;13261:2;13250:9;13246:18;13238:26;;13310:9;13304:4;13300:20;13296:1;13285:9;13281:17;13274:47;13338:131;13464:4;13338:131;:::i;:::-;13330:139;;13057:419;;;:::o;13482:173::-;13622:25;13618:1;13610:6;13606:14;13599:49;13482:173;:::o;13661:366::-;13803:3;13824:67;13888:2;13883:3;13824:67;:::i;:::-;13817:74;;13900:93;13989:3;13900:93;:::i;:::-;14018:2;14013:3;14009:12;14002:19;;13661:366;;;:::o;14033:419::-;14199:4;14237:2;14226:9;14222:18;14214:26;;14286:9;14280:4;14276:20;14272:1;14261:9;14257:17;14250:47;14314:131;14440:4;14314:131;:::i;:::-;14306:139;;14033:419;;;:::o;14458:171::-;14598:23;14594:1;14586:6;14582:14;14575:47;14458:171;:::o;14635:366::-;14777:3;14798:67;14862:2;14857:3;14798:67;:::i;:::-;14791:74;;14874:93;14963:3;14874:93;:::i;:::-;14992:2;14987:3;14983:12;14976:19;;14635:366;;;:::o;15007:419::-;15173:4;15211:2;15200:9;15196:18;15188:26;;15260:9;15254:4;15250:20;15246:1;15235:9;15231:17;15224:47;15288:131;15414:4;15288:131;:::i;:::-;15280:139;;15007:419;;;:::o;15432:224::-;15572:34;15568:1;15560:6;15556:14;15549:58;15641:7;15636:2;15628:6;15624:15;15617:32;15432:224;:::o;15662:366::-;15804:3;15825:67;15889:2;15884:3;15825:67;:::i;:::-;15818:74;;15901:93;15990:3;15901:93;:::i;:::-;16019:2;16014:3;16010:12;16003:19;;15662:366;;;:::o;16034:419::-;16200:4;16238:2;16227:9;16223:18;16215:26;;16287:9;16281:4;16277:20;16273:1;16262:9;16258:17;16251:47;16315:131;16441:4;16315:131;:::i;:::-;16307:139;;16034:419;;;:::o;16459:167::-;16496:3;16519:22;16535:5;16519:22;:::i;:::-;16510:31;;16563:4;16556:5;16553:15;16550:41;;;16571:18;;:::i;:::-;16550:41;16618:1;16611:5;16607:13;16600:20;;16459:167;;;:::o;16632:191::-;16672:4;16692:20;16710:1;16692:20;:::i;:::-;16687:25;;16726:20;16744:1;16726:20;:::i;:::-;16721:25;;16765:1;16762;16759:8;16756:34;;;16770:18;;:::i;:::-;16756:34;16815:1;16812;16808:9;16800:17;;16632:191;;;;:::o;16829:442::-;16978:4;17016:2;17005:9;17001:18;16993:26;;17029:71;17097:1;17086:9;17082:17;17073:6;17029:71;:::i;:::-;17110:72;17178:2;17167:9;17163:18;17154:6;17110:72;:::i;:::-;17192;17260:2;17249:9;17245:18;17236:6;17192:72;:::i;:::-;16829:442;;;;;;:::o;17277:180::-;17325:77;17322:1;17315:88;17422:4;17419:1;17412:15;17446:4;17443:1;17436:15;17463:180;17511:77;17508:1;17501:88;17608:4;17605:1;17598:15;17632:4;17629:1;17622:15;17649:143;17706:5;17737:6;17731:13;17722:22;;17753:33;17780:5;17753:33;:::i;:::-;17649:143;;;;:::o;17798:351::-;17868:6;17917:2;17905:9;17896:7;17892:23;17888:32;17885:119;;;17923:79;;:::i;:::-;17885:119;18043:1;18068:64;18124:7;18115:6;18104:9;18100:22;18068:64;:::i;:::-;18058:74;;18014:128;17798:351;;;;:::o;18155:85::-;18200:7;18229:5;18218:16;;18155:85;;;:::o;18246:158::-;18304:9;18337:61;18355:42;18364:32;18390:5;18364:32;:::i;:::-;18355:42;:::i;:::-;18337:61;:::i;:::-;18324:74;;18246:158;;;:::o;18410:147::-;18505:45;18544:5;18505:45;:::i;:::-;18500:3;18493:58;18410:147;;:::o;18563:114::-;18630:6;18664:5;18658:12;18648:22;;18563:114;;;:::o;18683:184::-;18782:11;18816:6;18811:3;18804:19;18856:4;18851:3;18847:14;18832:29;;18683:184;;;;:::o;18873:132::-;18940:4;18963:3;18955:11;;18993:4;18988:3;18984:14;18976:22;;18873:132;;;:::o;19011:108::-;19088:24;19106:5;19088:24;:::i;:::-;19083:3;19076:37;19011:108;;:::o;19125:179::-;19194:10;19215:46;19257:3;19249:6;19215:46;:::i;:::-;19293:4;19288:3;19284:14;19270:28;;19125:179;;;;:::o;19310:113::-;19380:4;19412;19407:3;19403:14;19395:22;;19310:113;;;:::o;19459:732::-;19578:3;19607:54;19655:5;19607:54;:::i;:::-;19677:86;19756:6;19751:3;19677:86;:::i;:::-;19670:93;;19787:56;19837:5;19787:56;:::i;:::-;19866:7;19897:1;19882:284;19907:6;19904:1;19901:13;19882:284;;;19983:6;19977:13;20010:63;20069:3;20054:13;20010:63;:::i;:::-;20003:70;;20096:60;20149:6;20096:60;:::i;:::-;20086:70;;19942:224;19929:1;19926;19922:9;19917:14;;19882:284;;;19886:14;20182:3;20175:10;;19583:608;;;19459:732;;;;:::o;20197:831::-;20460:4;20498:3;20487:9;20483:19;20475:27;;20512:71;20580:1;20569:9;20565:17;20556:6;20512:71;:::i;:::-;20593:80;20669:2;20658:9;20654:18;20645:6;20593:80;:::i;:::-;20720:9;20714:4;20710:20;20705:2;20694:9;20690:18;20683:48;20748:108;20851:4;20842:6;20748:108;:::i;:::-;20740:116;;20866:72;20934:2;20923:9;20919:18;20910:6;20866:72;:::i;:::-;20948:73;21016:3;21005:9;21001:19;20992:6;20948:73;:::i;:::-;20197:831;;;;;;;;:::o;21034:823::-;21291:4;21329:3;21318:9;21314:19;21306:27;;21343:71;21411:1;21400:9;21396:17;21387:6;21343:71;:::i;:::-;21424:72;21492:2;21481:9;21477:18;21468:6;21424:72;:::i;:::-;21506:80;21582:2;21571:9;21567:18;21558:6;21506:80;:::i;:::-;21596;21672:2;21661:9;21657:18;21648:6;21596:80;:::i;:::-;21686:81;21762:3;21751:9;21747:19;21738:6;21686:81;:::i;:::-;21777:73;21845:3;21834:9;21830:19;21821:6;21777:73;:::i;:::-;21034:823;;;;;;;;;:::o;21863:663::-;21951:6;21959;21967;22016:2;22004:9;21995:7;21991:23;21987:32;21984:119;;;22022:79;;:::i;:::-;21984:119;22142:1;22167:64;22223:7;22214:6;22203:9;22199:22;22167:64;:::i;:::-;22157:74;;22113:128;22280:2;22306:64;22362:7;22353:6;22342:9;22338:22;22306:64;:::i;:::-;22296:74;;22251:129;22419:2;22445:64;22501:7;22492:6;22481:9;22477:22;22445:64;:::i;:::-;22435:74;;22390:129;21863:663;;;;;:::o

Swarm Source

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