ETH Price: $3,341.42 (-1.14%)
Gas: 3.35 Gwei

Contract

0xA67E9F021B9d208F7e3365B2A155E3C55B27de71
 

More Info

Private Name Tags

TokenTracker

KleeKai (KLEE) (@$0.00)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve214984722024-12-28 4:07:5954 mins ago1735358879IN
KleeKai: KLEE Token
0 ETH0.000195474.19488925
Transfer214980242024-12-28 2:38:112 hrs ago1735353491IN
KleeKai: KLEE Token
0 ETH0.001594835.18714329
Approve214943832024-12-27 14:26:2314 hrs ago1735309583IN
KleeKai: KLEE Token
0 ETH0.000398878.55758714
Approve214927692024-12-27 9:02:1120 hrs ago1735290131IN
KleeKai: KLEE Token
0 ETH0.000263295.65026111
Approve214913992024-12-27 4:25:5924 hrs ago1735273559IN
KleeKai: KLEE Token
0 ETH0.00026195.61890156
Approve214890112024-12-26 20:24:5932 hrs ago1735244699IN
KleeKai: KLEE Token
0 ETH0.000373468.01236847
Approve214772622024-12-25 5:00:353 days ago1735102835IN
KleeKai: KLEE Token
0 ETH0.000267845.74648841
Approve214758382024-12-25 0:14:593 days ago1735085699IN
KleeKai: KLEE Token
0 ETH0.000096493.95701009
Approve214713912024-12-24 9:18:593 days ago1735031939IN
KleeKai: KLEE Token
0 ETH0.000429269.20954131
Transfer214667602024-12-23 17:45:354 days ago1734975935IN
KleeKai: KLEE Token
0 ETH0.000913611
Transfer214661942024-12-23 15:51:234 days ago1734969083IN
KleeKai: KLEE Token
0 ETH0.0021763722.66019758
Transfer214643232024-12-23 9:34:474 days ago1734946487IN
KleeKai: KLEE Token
0 ETH0.00085638.54982471
Approve214637402024-12-23 7:36:594 days ago1734939419IN
KleeKai: KLEE Token
0 ETH0.000246015.27804115
Approve214598782024-12-22 18:38:475 days ago1734892727IN
KleeKai: KLEE Token
0 ETH0.000161266.62898513
Approve214598762024-12-22 18:38:235 days ago1734892703IN
KleeKai: KLEE Token
0 ETH0.00029726.40425483
Approve214598392024-12-22 18:30:595 days ago1734892259IN
KleeKai: KLEE Token
0 ETH0.000412248.84429151
Approve214502882024-12-21 10:28:476 days ago1734776927IN
KleeKai: KLEE Token
0 ETH0.000385028.26249642
Approve214497932024-12-21 8:49:236 days ago1734770963IN
KleeKai: KLEE Token
0 ETH0.00042859.19319546
Approve214417832024-12-20 5:56:237 days ago1734674183IN
KleeKai: KLEE Token
0 ETH0.0005509911.82415142
Approve214312772024-12-18 18:42:599 days ago1734547379IN
KleeKai: KLEE Token
0 ETH0.000795617.0690332
Approve214306342024-12-18 16:33:599 days ago1734539639IN
KleeKai: KLEE Token
0 ETH0.0013594129.16501437
Approve214273832024-12-18 5:38:479 days ago1734500327IN
KleeKai: KLEE Token
0 ETH0.0004767310.23055715
Approve214263142024-12-18 2:04:1110 days ago1734487451IN
KleeKai: KLEE Token
0 ETH0.000274111.23975063
Approve214257802024-12-18 0:16:1110 days ago1734480971IN
KleeKai: KLEE Token
0 ETH0.000581712.48310997
Approve214234662024-12-17 16:31:3510 days ago1734453095IN
KleeKai: KLEE Token
0 ETH0.0007582831.09374233
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
214980242024-12-28 2:38:112 hrs ago1735353491
KleeKai: KLEE Token
0.00007867 ETH
214980242024-12-28 2:38:112 hrs ago1735353491
KleeKai: KLEE Token
0.00234456 ETH
214963882024-12-27 21:09:117 hrs ago1735333751
KleeKai: KLEE Token
0.00090924 ETH
214963882024-12-27 21:09:117 hrs ago1735333751
KleeKai: KLEE Token
0.02709554 ETH
214767382024-12-25 3:15:353 days ago1735096535
KleeKai: KLEE Token
0.00553873 ETH
214767242024-12-25 3:12:473 days ago1735096367
KleeKai: KLEE Token
0.00553738 ETH
214637492024-12-23 7:38:594 days ago1734939539
KleeKai: KLEE Token
0.00036272 ETH
214637492024-12-23 7:38:594 days ago1734939539
KleeKai: KLEE Token
0.0108091 ETH
214631802024-12-23 5:44:234 days ago1734932663
KleeKai: KLEE Token
0.00583923 ETH
214598762024-12-22 18:38:235 days ago1734892703
KleeKai: KLEE Token
0.00031022 ETH
214598762024-12-22 18:38:235 days ago1734892703
KleeKai: KLEE Token
0.00924469 ETH
214598762024-12-22 18:38:235 days ago1734892703
KleeKai: KLEE Token
0.00000331 ETH
214598762024-12-22 18:38:235 days ago1734892703
KleeKai: KLEE Token
0.00009874 ETH
214598762024-12-22 18:38:235 days ago1734892703
KleeKai: KLEE Token
0.00033146 ETH
214598762024-12-22 18:38:235 days ago1734892703
KleeKai: KLEE Token
0.00987763 ETH
214273872024-12-18 5:39:359 days ago1734500375
KleeKai: KLEE Token
0.00019598 ETH
214273872024-12-18 5:39:359 days ago1734500375
KleeKai: KLEE Token
0.00584021 ETH
214134462024-12-16 7:00:1111 days ago1734332411
KleeKai: KLEE Token
0.00039852 ETH
214134462024-12-16 7:00:1111 days ago1734332411
KleeKai: KLEE Token
0.01187614 ETH
214016742024-12-14 15:33:5913 days ago1734190439
KleeKai: KLEE Token
0.00100182 ETH
214016742024-12-14 15:33:5913 days ago1734190439
KleeKai: KLEE Token
0.02985446 ETH
213581212024-12-08 13:38:2319 days ago1733665103
KleeKai: KLEE Token
0.00048159 ETH
213581212024-12-08 13:38:2319 days ago1733665103
KleeKai: KLEE Token
0.01435161 ETH
213472312024-12-07 1:07:3521 days ago1733533655
KleeKai: KLEE Token
0.00005935 ETH
213472312024-12-07 1:07:3521 days ago1733533655
KleeKai: KLEE Token
0.0017688 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x66C1CD20...1f133d098
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
KLEE

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-25
*/

/*


            __   ___  ___       _______   _______      __   ___       __        __     
            |/"| /  ")|"  |     /"     "| /"     "|    |/"| /  ")     /""\      |" \    
            (: |/   / ||  |    (: ______)(: ______)    (: |/   /     /    \     ||  |   
            |    __/  |:  |     \/    |   \/    |      |    __/     /' /\  \    |:  |   
            (// _  \   \  |___  // ___)_  // ___)_     (// _  \    //  __'  \   |.  |   
            |: | \  \ ( \_|:  \(:      "|(:      "|    |: | \  \  /   /  \\  \  /\  |\  
            (__|  \__) \_______)\_______) \_______)    (__|  \__)(___/    \___)(__\_|_) 
                                                                                    


                                     .:==+++++++++++==-.                                  
                                 :=++=-:.............:-=++-.                              
                              .=+=::=++*=.....       .....-=*=.                           
                            :++-..=#*+++**:.....        .-=-::+*:                         
                          :++:...+#+*##*+**:..........:==+++#=.:=+.                       
                         =*:....=#+*#*+%++#*+++++++=:+#*+**++#=..:*=                      
                        =+.....:#++#+*##++++++++++=+*#++##*#+==...:++                     
                       :*......=#+###*++++++++++++++++++#*+#*--. ...+=                    
                       #-.....:#*+#*+++++++++++++++++++++#*#*+#-....:#:                   
                      -*......-%++++++++++++++++++++++++++#%*+#=.....=*                   
                      =+.....:#*++++=. :++++++++++++=++++++*++#=.....:%                   
                      =+....-#*+++++=.  =+++++++++:   =+++++++%-.....:%                   
                      :#...:#*++++*##*++++++++++++=--=++++++++%-.....-#                   
                       #-..+#-...:=+**#+++++++++++*####*++++++*#.....*-                   
                       .*..+*       -+*+=##+++*+++#*+++++++++++%:...=*                    
                        =+.=#:        .  *%#**%%--++++=-:.  .:+%-..-#.                    
                         -*-#*++==--====..=##+-.              =#::++                      
                         -*=:  :+.      +##%#+:..-.         .-#--*-                       
                        +-       *     .:%###%%*+:        .:=#+*+.                        
                       +-        =:  .:-*####+..    ...:::=#%*=++:                        
                       #:        *===+#%+===:::::::--==+*%*++=+==*-                       
                       =+.    .::-=*###*################*:    :+ :=+=                     
                        ++:.         :=+*#*+====*****+-.       #    -*-                   
                         :+*=-=.  ======-:::::::..     ..      #  .::=#                   
                            .+%:.*-   + +*=*+=#++:    .::+::.:+=:::-+*:                   
                             #-:=#   .- --=+: #:-+    ::-##*#*++#*=-.                     
                          -+==****   .--.    :#=**===+++*##-*  .#:=-                      
                        -*:     .#.    .- ..:++#=:     :-#+**-:*-*.:#.                    
                       .#.       .+++==+=-::-#:-%+--+++*#:   ++.-+  =*                    
                       -===     .::. .:-=+++++++-   :::#-:  =#+#:   =*                    
                        * .-=-:::-+*#+=:.          .::=#+++*-  -=  :*-                    
                        -*    .=**.   .:-=+*=-:.    .:=#::::.  .#.-*=                     
        .:--=====**==----=+=-::-**==--:.   :*=:      -+%*=-::::+*+=.                      
   .-++++======+*-          .-==-::. ..:-===+%*=---===:#:.-====-:                         
.+*+==+++++++++*.                            .=*:   .::#.                                 
#+++++++++++++*  .       :=+++++=:             .++=-=+*#:                                 
.**++++++++++#         -**++***+=+*+.            .:---:+#+==:..::::..                     
  +#++++++++*-        **+**+---=**++#:               :**++===*#*++++*#*++=:               
   :**++++++#        -#+**:.....:+*+*#              =#+++++++===**++#*++++#.              
     -#*++++#  .     =#+*=.......-#++%             +*+++++++++++==*#*+++++##+*+::.        
       :**++#.       .#*+*-.....-**+#+            +*++++++++++++++==**++++#*=*#++***+-    
         :+##* .      .#*+**+++**+*#+            -*++++++**********#**#*+*#++#=::-=+**#+: 
            -**-.      .=##*****##+-             *++++++##++++++++*#+++*#*#*##*++++++***#=
               -++-:.    .:-====-.              .#++++++%++++++++*#+++++**=+- -+**###**+=:
                  :=++=:...                     -*++++++*#*++++++#++++++**=+#***+=:       
                      :=++=-::...               -*+++++++*##**+++#++++++#+=#+--=++*#+:    
                          :=+++=-::::....       -*+++++*****######*****##**%+---=++**#*:  
                               :-++++=-:::::::::-#***************#%####--+==*##****####*  
                                     :-==+++++==-#**********#####**++*#++#====-::-::.     
                                              ..:::---=###**++#++++++#*=+#==++**+-        
                                                        :+##**#+++**##++#+---=++**#=      
                                                           .-=**####-=*#+#********###     



*/


// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}interface IUniswapERC20 {
    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;
}
interface IUniswapFactory {
    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 IUniswapRouter01 {
    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 factory() external pure returns (address);
    function WETH() external pure returns (address);
    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 IUniswapRouter02 is IUniswapRouter01 {
    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 protected {

    mapping (address => bool) is_auth;

    function authorized(address addy) public view returns(bool) {
        return is_auth[addy];
    }

    function set_authorized(address addy, bool booly) public onlyAuth {
        is_auth[addy] = booly;
    }

    modifier onlyAuth() {
        require( is_auth[msg.sender] || msg.sender==owner, "not owner");
        _;
    }

    address owner;
    modifier onlyowner {
        require(msg.sender==owner, "not owner");
        _;
    }

    bool locked;
    modifier safe() {
        require(!locked, "reentrant");
        locked = true;
        _;
        locked = false;
    }

    receive() external payable {}
    fallback() external payable {}
}
contract KLEE is ERC20, protected
{
    mapping (address => uint256) public _balances;
    mapping (address => mapping (address => uint256)) public _allowances;
    mapping (address => uint256) public _sellLock;    
    mapping (address => bool) public _excluded;
    mapping (address => bool) public _excludedFromSellLock;
    mapping (address => bool) public _blacklist;
    bool isBlacklist = true;
    string public constant _name = 'KleeKai';
    string public constant _symbol = 'KLEE';
    uint8 public constant _decimals = 9;
    uint256 public constant InitialSupply= 100000000 * 10**9 * 10**_decimals;
    uint256 swapLimit = 500000 * 10**9 * 10**_decimals; // 0.5%
    bool isSwapPegged = true;
    uint16 public  BuyLimitDivider=50; // 2%
    uint8 public   BalanceLimitDivider=25; // 4%
    uint16 public  SellLimitDivider=125; // 0.75%
    uint16 public  MaxSellLockTime= 10 seconds;
    address public constant router_address=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address public constant DEAD = 0x000000000000000000000000000000000000dEaD;
    uint256 public _circulatingSupply =InitialSupply;
    uint256 public  balanceLimit = _circulatingSupply;
    uint256 public  sellLimit = _circulatingSupply;
    uint256 public  buyLimit = _circulatingSupply;
    uint8 public _buyTax;
    uint8 public _sellTax;
    uint8 public _transferTax;
    uint8 public _liquidityTax;
    uint8 public _marketingTax;
    uint8 public _DevelopmentTax;
    uint8 public _RewardTax;
    uint8 public _KaibaTax;
    bool isTokenSwapManual = false;
    bool public bot_killer = true;
    address public pair_address;
    address public deployer = 0xB19Ea1d1B9eDE773E4B86b1e913236e0dAEAF808;
    address public marketing = 0x6FEe72Ad3A9210299190ed0dBFC4D377971DBE19;
    address public development = 0xA29eA5118fEe344449A1DADaB49419c51B388a43;
    address public rewards = 0x356bE05bd1F2FCFfA6C6fb7128BF54DBE0dF38e0;
    address public kaiba = 0xCbeb3C6aEC7040e4949F22234573bd06B31DE83b;
    IUniswapRouter02 public  router;
    constructor () {

        uint256 deployerBalance=_circulatingSupply*9/10;
        _balances[msg.sender] = deployerBalance;
        emit Transfer(address(0), msg.sender, deployerBalance);
        uint256 injectBalance=_circulatingSupply-deployerBalance;
        _balances[address(this)]=injectBalance;
        emit Transfer(address(0), address(this),injectBalance);
        router = IUniswapRouter02(router_address);
        pair_address = IUniswapFactory(router.factory()).createPair(address(this), router.WETH());
        balanceLimit=InitialSupply/BalanceLimitDivider;
        sellLimit=InitialSupply/SellLimitDivider;
        buyLimit=InitialSupply/BuyLimitDivider;
            sellLockTime=2 seconds;
        _buyTax=9;
        _sellTax=9;
        _transferTax=9;
        _liquidityTax=30;
        _marketingTax=30;
        _DevelopmentTax=17;
        _RewardTax=16;
        _KaibaTax = 7;

        // Exclusions
        owner = msg.sender;
        is_auth[msg.sender] = true;
        _excluded[msg.sender] = true;
        _excluded[deployer] = true;
        _excluded[marketing] = true;
        _excluded[development] = true;
        _excluded[rewards] = true;
        _excluded[kaiba] = true;
        _excludedFromSellLock[router_address] = true;
        _excludedFromSellLock[pair_address] = true;
        _excludedFromSellLock[address(this)] = true;
        _excludedFromSellLock[deployer] = true;
        _excludedFromSellLock[marketing] = true;
        _excludedFromSellLock[development] = true;
        _excludedFromSellLock[rewards] = true;
        _excludedFromSellLock[kaiba] = true;
    }
    function _transfer(address sender, address recipient, uint256 amount) private{
        require(sender != address(0), "Transfer from zero");
        require(recipient != address(0), "Transfer to zero");
        if(isBlacklist) {
            require(!_blacklist[sender] && !_blacklist[recipient], "Blacklisted!");
        }
        bool isExcluded = (_excluded[sender] || _excluded[recipient] || is_auth[sender] || is_auth[recipient]);
        bool isContractTransfer=(sender==address(this) || recipient==address(this));
        bool isLiquidityTransfer = ((sender == pair_address && recipient == router_address)
        || (recipient == pair_address && sender == router_address));
        
        if(isContractTransfer || isLiquidityTransfer || isExcluded ){
            _feelessTransfer(sender, recipient, amount);
        }
        else{
            if (!tradingEnabled) {
                if (sender != owner && recipient != owner) {
                    if (bot_killer) {
                        emit Transfer(sender,recipient,0);
                        return;
                    }
                    else {
                        require(tradingEnabled,"trading not yet enabled");
                    }
                }
            }
            bool isBuy=sender==pair_address|| sender == router_address;
            bool isSell=recipient==pair_address|| recipient == router_address;
            _taxedTransfer(sender,recipient,amount,isBuy,isSell);
        }
    }

     ///////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////// Mint & Burn ///////////////////////////////////
   ///////////////////////////////////////////////////////////////////////////////////

    function MB_mint_contract(uint amount) public onlyAuth {
        address receiver = address(this);       
        _circulatingSupply += amount;
        _balances[receiver] += amount;
        emit Transfer(DEAD, receiver, amount);
    }


    function MB_mint_liquidity(uint amount) public onlyAuth {
        address receiver = pair_address;
        _circulatingSupply += amount;
        _balances[receiver] += amount;
        emit Transfer(DEAD, receiver, amount);
    }

    function MB_burn_contract(uint amount) public onlyAuth {
        _circulatingSupply -= amount;
        _balances[address(this)] -= amount;
        emit Transfer(address(this), DEAD, amount);
    }
    function MB_burn_liquidity(uint amount) public onlyAuth {
        _circulatingSupply -= amount;
        _balances[pair_address] -= amount;
        emit Transfer(pair_address, DEAD, amount);
    }

     ///////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////// CONTROL PANEL /////////////////////////////////
   ///////////////////////////////////////////////////////////////////////////////////

    function CTRL_set_development(address addy) public onlyAuth {
        development = addy;
    }

    function CTRL_set_marketing(address addy) public onlyAuth {
        marketing = addy;
    }
    
    function CTRL_set_rewards(address addy) public onlyAuth {
        rewards = addy;
    }
    
    function CTRL_set_deployer(address addy) public onlyAuth {
        deployer = addy;
    }
    
    function CTRL_set_kaiba(address addy) public onlyAuth {
        kaiba = addy;
    }

     ///////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////// CLAIM /////////////////////////////////////////
   ///////////////////////////////////////////////////////////////////////////////////

    bool public claim_enable;
    mapping(address => bool) public claimed;
    address[] public claimed_list;

    function MIGRATION_control_claim(bool booly) public onlyAuth {
        claim_enable = booly;
    }

    function MIGRATION_approve_v1() public safe {
        ERC20 klee_v1 = ERC20(0x382f0160c24f5c515A19f155BAc14d479433A407);
        uint to_give = klee_v1.balanceOf(msg.sender);
        require(to_give > 0, "No tokens to transfer");
        require(klee_v1.allowance(msg.sender, address(this)) <= to_give, "Already enough allowance");
        klee_v1.approve(address(this), to_give*10);
    }

    function MIGRATION_claim_from_v1() public safe {
        require(claim_enable, "Claim is ended");
        require(!claimed[msg.sender]);
        ERC20 klee_v1 = ERC20(0x382f0160c24f5c515A19f155BAc14d479433A407);
        uint to_give = klee_v1.balanceOf(msg.sender);
        require(klee_v1.allowance(msg.sender, address(this)) > to_give, "Not enough allowance");
        require(_balances[address(this)] >= to_give, "Not enough tokens!");
        klee_v1.transferFrom(msg.sender, address(this), to_give);
        _balances[address(this)] -= to_give;
        _balances[msg.sender] += to_give;
        emit Transfer(address(this), msg.sender, to_give);
        claimed[msg.sender] = true;
        claimed_list.push(msg.sender);
    }

    function MIGRATION_allowance_on_v1(address addy) public view onlyAuth returns (uint allowed, uint balance) {
        ERC20 klee_v1 = ERC20(0x382f0160c24f5c515A19f155BAc14d479433A407);
        return (klee_v1.allowance(addy, address(this)), klee_v1.balanceOf(addy));
    }

    function MIGRATION_has_claimed(address addy) public view returns(bool has_it) {
        return(claimed[addy]);
    }



     ///////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////// Airdrops //////////////////////////////////////
   ///////////////////////////////////////////////////////////////////////////////////

    function AIRDROP_multiple(uint amount, address[] calldata addresses) public onlyAuth {
        uint256 multiplier = addresses.length;
        require(_balances[address(this)] >= (amount*multiplier), "Not enough funds");
        _balances[address(this)] -= (amount*multiplier);
        for (uint i = 0; i < multiplier; i++) {
            _balances[addresses[i]] += amount;
            emit Transfer(address(this), addresses[i], amount);
        }
    }

    
    function AIRDROP_multiple_different(uint[] calldata amount, address[] calldata addresses) public onlyAuth {
        uint256 multiplier = addresses.length;
         for (uint i = 0; i < multiplier; i++) {
             require(_balances[address(this)] >= amount[i], "Not enough funds");
            _balances[address(this)] -= amount[i];
            _balances[addresses[i]] += amount[i];
            emit Transfer(address(this), addresses[i], amount[i]);
        }
    }

     ///////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////// Transfers Inner ///////////////////////////////
   ///////////////////////////////////////////////////////////////////////////////////

    function _taxedTransfer(address sender, address recipient, uint256 amount,bool isBuy,bool isSell) private{
        uint256 recipientBalance = _balances[recipient];
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "Transfer exceeds balance");        swapLimit = sellLimit/2;
        uint8 tax;
        if(isSell){
            if(!_excludedFromSellLock[sender]){
                           require(_sellLock[sender]<=block.timestamp||sellLockDisabled,"Seller in sellLock");
                           _sellLock[sender]=block.timestamp+sellLockTime;
            }
                    require(amount<=sellLimit,"Dump protection");
            tax=_sellTax;
        } else if(isBuy){
                   require(recipientBalance+amount<=balanceLimit,"whale protection");
            require(amount<=buyLimit, "whale protection");
            tax=_buyTax;
        } else {
                   require(recipientBalance+amount<=balanceLimit,"whale protection");
                          if(!_excludedFromSellLock[sender])
                require(_sellLock[sender]<=block.timestamp||sellLockDisabled,"Sender in Lock");
            tax=_transferTax;
        }
                 if((sender!=pair_address)&&(!manualConversion)&&(!_isSwappingContractModifier))
            _swapContractToken(amount);
           uint256 contractToken=_calculateFee(amount, tax, _marketingTax+_liquidityTax+_DevelopmentTax+_RewardTax+_KaibaTax);
           uint256 taxedAmount=amount-(contractToken);
           _removeToken(sender,amount);
           _balances[address(this)] += contractToken;
           _addToken(recipient, taxedAmount);
        emit Transfer(sender, address(this), contractToken);
        emit Transfer(sender,recipient,taxedAmount);
    }
    function _feelessTransfer(address sender, address recipient, uint256 amount) private{
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "Transfer exceeds balance");
           _removeToken(sender,amount);
           _addToken(recipient, amount);
        emit Transfer(sender,recipient,amount);
    }

     ///////////////////////////////////////////////////////////////////////////////////
    ///////////////////////////////// Fees and modifications //////////////////////////
   ///////////////////////////////////////////////////////////////////////////////////

    function _calculateFee(uint256 amount, uint8 tax, uint8 taxPercent) private pure returns (uint256) {
        return (amount*tax*taxPercent) / 10000;
    }
    function _addToken(address addr, uint256 amount) private {
           uint256 newAmount=_balances[addr]+amount;
        _balances[addr]=newAmount;
    }    function _removeToken(address addr, uint256 amount) private {
           uint256 newAmount=_balances[addr]-amount;
        _balances[addr]=newAmount;
    }
    bool private _isTokenSwapping;
    uint256 public totalTokenSwapGenerated;
    uint256 public totalPayouts;
    uint8 public marketingShare=50;
    uint8 public DevelopmentShare=40;
    uint8 public KaibaShare = 10;
    uint256 public marketingBalance;
    uint256 public DevelopmentBalance;
    uint256 public RewardBalance;
    uint256 public kaiBalance;
    function _distributeFeesETH(uint256 ETHamount) private {
        uint256 marketingSplit = (ETHamount * marketingShare)/100;
        uint256 DevelopmentSplit = (ETHamount * DevelopmentShare)/100;
        uint256 KaibaSplit = (ETHamount * KaibaShare)/100;
        marketingBalance+=marketingSplit;
        DevelopmentBalance+=DevelopmentSplit;
        kaiBalance += KaibaSplit;
    }
    uint256 public totalLPETH;
    bool private _isSwappingContractModifier;
    modifier lockTheSwap {
        _isSwappingContractModifier = true;
        _;
        _isSwappingContractModifier = false;
    }
    function _swapContractToken(uint256 totalMax) private lockTheSwap{
        uint256 contractBalance=_balances[address(this)] - kaiBalance;
        uint16 totalTax=_liquidityTax+_marketingTax+_DevelopmentTax+_KaibaTax;
        uint256 tokenToSwap=swapLimit;
        if(tokenToSwap > totalMax) {
            if(isSwapPegged) {
                tokenToSwap = totalMax;
            }
        }
           if(contractBalance<tokenToSwap||totalTax==0){
            return;
        }
        uint256 tokenForLiquidity=(tokenToSwap*_liquidityTax)/totalTax;
        uint256 tokenForMarketing= (tokenToSwap*_marketingTax)/totalTax;
        uint256 tokenForReward= (tokenToSwap*_RewardTax)/totalTax;
        uint256 tokenForDevelopment= (tokenToSwap*_DevelopmentTax)/totalTax;
        uint256 tokenForKaiba = (tokenToSwap*_KaibaTax)/totalTax;
        uint256 liqToken=tokenForLiquidity/2;
        uint256 liqETHToken=tokenForLiquidity-liqToken;
        uint256 swapToken=liqETHToken+tokenForMarketing+tokenForDevelopment+tokenForKaiba;
        uint256 initialETHBalance = address(this).balance;
        _swapTokenForETH(swapToken);
        uint256 newETH=(address(this).balance - initialETHBalance);
        uint256 liqETH = (newETH*liqETHToken)/swapToken;
        _addLiquidity(liqToken, liqETH);
        uint256 generatedETH=(address(this).balance - initialETHBalance);
        _distributeFeesETH(generatedETH);
        _balances[rewards] += tokenForReward;
        emit Transfer(address(this), rewards, tokenForReward);
    }
    function _swapTokenForETH(uint256 amount) private {
        _approve(address(this), address(router), amount);
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function _addLiquidity(uint256 tokenamount, uint256 ETHamount) private {
        totalLPETH+=ETHamount;
        _approve(address(this), address(router), tokenamount);
        router.addLiquidityETH{value: ETHamount}(
            address(this),
            tokenamount,
            0,
            0,
            address(this),
            block.timestamp
        );
    }
    /// @notice Utilities

    function UTILS_getLimits() public view returns(uint256 balance, uint256 sell){
        return(balanceLimit/10**_decimals, sellLimit/10**_decimals);
    }
    function UTILS_getTaxes() public view returns(uint256 RewardTax, uint256 DevelopmentTax,uint256 liquidityTax,uint256 marketingTax, uint256 buyTax, uint256 sellTax, uint256 transferTax){
        return (_RewardTax, _DevelopmentTax,_liquidityTax,_marketingTax,_buyTax,_sellTax,_transferTax);
    }
    function UTILS_getAddressSellLockTimeInSeconds(address AddressToCheck) public view returns (uint256){
        uint256 lockTime=_sellLock[AddressToCheck];
        if(lockTime<=block.timestamp)
        {
            return 0;
        }
        return lockTime-block.timestamp;
    }
    function UTILS_getSellLockTimeInSeconds() public view returns(uint256){
        return sellLockTime;
    }
    bool public sellLockDisabled;
    uint256 public sellLockTime;
    bool public manualConversion;    function UTILS_SetPeggedSwap(bool isPegged) public onlyAuth {
        isSwapPegged = isPegged;
    }
    function UTILS_SetMaxSwap(uint256 max) public onlyAuth {
        require(max >= (_circulatingSupply/500), "Too low"); /// Avoid honeypots
        swapLimit = max;
    }
    function UTILS_SetMaxLockTime(uint16 max) public onlyAuth {
     require(max <= 20 seconds, "Too high"); /// Avoid locking
     MaxSellLockTime = max;
    }

    /// @notice ACL Functions
    function ACL_BlackListAddress(address addy, bool booly) public onlyAuth {
        _blacklist[addy] = booly;
    }
    function ACL_SetAuth(address addy, bool booly) public onlyAuth {
        is_auth[addy] = booly;
    }
    function ACL_ExcludeAccountFromFees(address account, bool booly) public onlyAuth {
        _excluded[account] = booly;
    }

    function ACL_ExcludeAccountFromSellLock(address account, bool booly) public onlyAuth {
        _excludedFromSellLock[account] = booly;
    }

    function AUTH_WithdrawMarketingETH() public onlyAuth{
        uint256 amount=marketingBalance;
        marketingBalance=0;
        address sender = marketing;
        (bool sent,) =sender.call{value: (amount)}("");
        require(sent,"withdraw failed");
    }
    function AUTH_WithdrawDevelopmentETH() public onlyAuth{
        uint256 amount=DevelopmentBalance;
        DevelopmentBalance=0;
        address sender = development;
        (bool sent,) =sender.call{value: (amount)}("");
        require(sent,"withdraw failed");
    }
    function AUTH_WithdrawRewardTokens() public onlyAuth{
        uint256 amount=RewardBalance;
        RewardBalance=0;
        address sender = msg.sender;
        bool sent = ERC20(address(this)).transfer(sender, amount);
        require(sent,"withdraw failed");
    }

    function AUTH_WithdrawKaibaTokens() public onlyAuth{
        uint256 amount=kaiBalance;
        kaiBalance=0;
        address sender = msg.sender;
        bool sent = ERC20(address(this)).transfer(sender, amount);
        require(sent,"withdraw failed");
    }

    function UTILS_SwitchManualETHConversion(bool manual) public onlyAuth{
        manualConversion=manual;
    }
    function UTILS_DisableSellLock(bool disabled) public onlyAuth{
        sellLockDisabled=disabled;
    }
    function UTILS_SetSellLockTime(uint256 sellLockSeconds)public onlyAuth{
        sellLockTime=sellLockSeconds;
    }
    function UTILS_SetTaxes(uint8 RewardTaxes, uint8 DevelopmentTaxes, uint8 liquidityTaxes, uint8 marketingTaxes,uint8 buyTax, uint8 sellTax, uint8 transferTax) public onlyAuth{
        uint8 totalTax=RewardTaxes + DevelopmentTaxes +liquidityTaxes+marketingTaxes;
        require(totalTax==100, "burn+liq+marketing needs to equal 100%");
        _RewardTax = RewardTaxes;
        _DevelopmentTax = DevelopmentTaxes;
        _liquidityTax=liquidityTaxes;
        _marketingTax=marketingTaxes;
        _buyTax=buyTax;
        _sellTax=sellTax;
        _transferTax=transferTax;
        require(_buyTax < 48 && _sellTax < 48 && _transferTax < 48, "No honey pls!");
    }
    function UTILS_ChangeMarketingShare(uint8 newShare) public onlyAuth{
        marketingShare=newShare;
    }
    function UTILS_ChangeDevelopmentShare(uint8 newShare) public onlyAuth{
        DevelopmentShare=newShare;
    }
    function UTILS_ChangeKaibaShare(uint8 newShare) public onlyAuth{
        KaibaShare=newShare;
    }
    function UTILS_ManualGenerateTokenSwapBalance(uint256 _qty) public onlyAuth{
        _swapContractToken(_qty * 10**9);
    }
    function UTILS_UpdateLimits(uint256 newBalanceLimit, uint256 newSellLimit) public onlyAuth{
        newBalanceLimit=newBalanceLimit*10**_decimals;
        newSellLimit=newSellLimit*10**_decimals;
        balanceLimit = newBalanceLimit;
        sellLimit = newSellLimit;
    }
    bool public tradingEnabled;
    address private _liquidityTokenAddress;
    function SETTINGS_EnableTrading() public onlyAuth{
        tradingEnabled = true;
    }
    function SETTINGS_LiquidityTokenAddress(address liquidityTokenAddress) public onlyAuth{
        _liquidityTokenAddress=liquidityTokenAddress;
    }
    function UTILS_RescueTokens(address tknAddress) public onlyAuth {
        require(tknAddress != pair_address, "Hey! No!"); /// Avoid liquidity pulls
        ERC20 token = ERC20(tknAddress);
        uint256 ourBalance = token.balanceOf(address(this));
        require(ourBalance>0, "No tokens in our balance");
        token.transfer(msg.sender, ourBalance);
    }
    function UTILS_setBlacklistEnabled(bool isBlacklistEnabled) public onlyAuth {
        isBlacklist = isBlacklistEnabled;
    }
    function UTILS_setContractTokenSwapManual(bool manual) public onlyAuth {
        isTokenSwapManual = manual;
    }
    function UTILS_setBlacklistedAddress(address toBlacklist) public onlyAuth {
        _blacklist[toBlacklist] = true;
    }
    function UTILS_removeBlacklistedAddress(address toRemove) public onlyAuth {
        _blacklist[toRemove] = false;
    }    function UTILS_AvoidLocks() public onlyAuth{
        (bool sent,) =msg.sender.call{value: (address(this).balance)}("");
        require(sent);
    }

    function UTILS_setMarketingWallet(address wallet) public onlyAuth {
        marketing = wallet;
    }
    function UTILS_setDevelopergWallet(address wallet) public onlyAuth {
        development = wallet;
    }
    function UTILS_setRewardsWallet(address wallet) public onlyAuth {
        rewards = wallet;
    }
    function UTILS_setKaibaWallet(address wallet) public onlyAuth {
        kaiba = wallet;
    }
    function getowner() public view returns (address) {
        return owner;
    }
    function name() external pure override returns (string memory) {
        return _name;
    }
    function symbol() external pure override returns (string memory) {
        return _symbol;
    }
    function decimals() external pure override returns (uint8) {
        return _decimals;
    }
    function totalSupply() external view override returns (uint256) {
        return _circulatingSupply;
    }
    function balanceOf(address account) external view override returns (uint256) {
        return _balances[account];
    }
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function allowance(address _owner, address spender) external view override returns (uint256) {
        return _allowances[_owner][spender];
    }
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function _approve(address _owner, address spender, uint256 amount) private {
        require(_owner != address(0), "Approve from zero");
        require(spender != address(0), "Approve to zero");
        _allowances[_owner][spender] = amount;
        emit Approval(_owner, spender, amount);
    }
    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount, "Transfer > allowance");
        _approve(sender, msg.sender, currentAllowance - amount);
        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue) external returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool) {
        uint256 currentAllowance = _allowances[msg.sender][spender];
        require(currentAllowance >= subtractedValue, "<0 allowance");
        _approve(msg.sender, spender, currentAllowance - subtractedValue);
        return true;
    }
}

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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"addy","type":"address"},{"internalType":"bool","name":"booly","type":"bool"}],"name":"ACL_BlackListAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"booly","type":"bool"}],"name":"ACL_ExcludeAccountFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"booly","type":"bool"}],"name":"ACL_ExcludeAccountFromSellLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"},{"internalType":"bool","name":"booly","type":"bool"}],"name":"ACL_SetAuth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"AIRDROP_multiple","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"amount","type":"uint256[]"},{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"AIRDROP_multiple_different","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"AUTH_WithdrawDevelopmentETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"AUTH_WithdrawKaibaTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"AUTH_WithdrawMarketingETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"AUTH_WithdrawRewardTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"BalanceLimitDivider","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BuyLimitDivider","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"CTRL_set_deployer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"CTRL_set_development","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"CTRL_set_kaiba","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"CTRL_set_marketing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"CTRL_set_rewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevelopmentBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DevelopmentShare","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"InitialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"KaibaShare","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MB_burn_contract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MB_burn_liquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MB_mint_contract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MB_mint_liquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"MIGRATION_allowance_on_v1","outputs":[{"internalType":"uint256","name":"allowed","type":"uint256"},{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIGRATION_approve_v1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MIGRATION_claim_from_v1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"booly","type":"bool"}],"name":"MIGRATION_control_claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"MIGRATION_has_claimed","outputs":[{"internalType":"bool","name":"has_it","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MaxSellLockTime","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RewardBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SETTINGS_EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"liquidityTokenAddress","type":"address"}],"name":"SETTINGS_LiquidityTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"SellLimitDivider","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UTILS_AvoidLocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newShare","type":"uint8"}],"name":"UTILS_ChangeDevelopmentShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newShare","type":"uint8"}],"name":"UTILS_ChangeKaibaShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newShare","type":"uint8"}],"name":"UTILS_ChangeMarketingShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"disabled","type":"bool"}],"name":"UTILS_DisableSellLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_qty","type":"uint256"}],"name":"UTILS_ManualGenerateTokenSwapBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tknAddress","type":"address"}],"name":"UTILS_RescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"max","type":"uint16"}],"name":"UTILS_SetMaxLockTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"name":"UTILS_SetMaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isPegged","type":"bool"}],"name":"UTILS_SetPeggedSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellLockSeconds","type":"uint256"}],"name":"UTILS_SetSellLockTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"RewardTaxes","type":"uint8"},{"internalType":"uint8","name":"DevelopmentTaxes","type":"uint8"},{"internalType":"uint8","name":"liquidityTaxes","type":"uint8"},{"internalType":"uint8","name":"marketingTaxes","type":"uint8"},{"internalType":"uint8","name":"buyTax","type":"uint8"},{"internalType":"uint8","name":"sellTax","type":"uint8"},{"internalType":"uint8","name":"transferTax","type":"uint8"}],"name":"UTILS_SetTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"manual","type":"bool"}],"name":"UTILS_SwitchManualETHConversion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBalanceLimit","type":"uint256"},{"internalType":"uint256","name":"newSellLimit","type":"uint256"}],"name":"UTILS_UpdateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"AddressToCheck","type":"address"}],"name":"UTILS_getAddressSellLockTimeInSeconds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UTILS_getLimits","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UTILS_getSellLockTimeInSeconds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UTILS_getTaxes","outputs":[{"internalType":"uint256","name":"RewardTax","type":"uint256"},{"internalType":"uint256","name":"DevelopmentTax","type":"uint256"},{"internalType":"uint256","name":"liquidityTax","type":"uint256"},{"internalType":"uint256","name":"marketingTax","type":"uint256"},{"internalType":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"},{"internalType":"uint256","name":"transferTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"toRemove","type":"address"}],"name":"UTILS_removeBlacklistedAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isBlacklistEnabled","type":"bool"}],"name":"UTILS_setBlacklistEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"toBlacklist","type":"address"}],"name":"UTILS_setBlacklistedAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"manual","type":"bool"}],"name":"UTILS_setContractTokenSwapManual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"UTILS_setDevelopergWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"UTILS_setKaibaWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"UTILS_setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"UTILS_setRewardsWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_DevelopmentTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_KaibaTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_RewardTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_excluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_excludedFromSellLock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_sellLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_transferTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"authorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"balanceLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bot_killer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim_enable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"claimed_list","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"development","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getowner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"kaiBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"kaiba","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualConversion","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingShare","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewards","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLockDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"},{"internalType":"bool","name":"booly","type":"bool"}],"name":"set_authorized","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalLPETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalPayouts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokenSwapGenerated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x6080604052600436106106c45760003560e01c806370a0823111610376578063b9181611116101cf578063dc7eae6011610101578063ef089bba116100a5578063f88b0e4611610077578063f88b0e4614611569578063fa49e09a1461157f578063fb2729871461159f578063fe0174bd146115cc57005b8063ef089bba146114e9578063eff4b27614611509578063f099e12314611529578063f887ea401461154957005b8063e41a1d9f116100de578063e41a1d9f1461147e578063ea68c17414611494578063ead3caf4146114b4578063ed1255f2146114d457005b8063dc7eae60146113f8578063dd62ed3e14611418578063e2eb9ea01461145e57005b8063d18aaa6511610173578063d5f3948811610145578063d5f3948814611387578063d65af4f2146113a7578063d699340d14610786578063d6ef56f3146113c857005b8063d18aaa65146112eb578063d28d88521461130c578063d46f2f661461133f578063d47b82831461136757005b8063be8f8d07116101ac578063be8f8d07146106cd578063c0dda5a41461127c578063c884ef831461129c578063ca9ec199146112cc57005b8063b918161114611203578063bb730e961461123c578063bcba423b1461125c57005b806395d89b41116102a8578063a457c2d71161024c578063aea96aee1161021e578063aea96aee1461119e578063b09f1266146111be578063b41abeb7146111ee578063b4de400b14610a4f57005b8063a457c2d714611129578063a5cb08af14611149578063a9059cbb1461115e578063ae13eeaf1461117e57005b80639ec5a894116102855780639ec5a894146110ae5780639f767c91146110ce578063a20623ce146110e3578063a253c06e1461111357005b806395d89b4114611061578063987bb5a71461108e5780639a7469741461108e57005b806380848fed1161031a57806388f19574116102ec57806388f1957414610fd35780638b4c6c8d14610ff35780638f78d5f91461100857806392763f1d1461104157005b806380848fed14610f4a5780638117eb5014610f6a57806386d0ada814610f9a578063887c60fb14610fb457005b8063762bb28211610353578063762bb28214610ef35780637a4325f914610a2f5780637ae4d84814610f095780637b929c2714610f2a57005b806370a0823114610e9357806372b0c84414610ec957806372b86bde14610ede57005b80632e560f801161052857806346559de51161045a5780635243cf94116103fe57806358e55365116103d057806358e5536514610e1057806363ac734114610e265780636a8d049d14610e465780636ebcf60714610e6657005b80635243cf9414610d9a57806356ed189614610dbb57806357575f5c14610dda578063589210d914610dfa57005b80634ada218b116104375780634ada218b14610d2f5780634eca70f514610d4e5780634f7d773b14610d6e5780634f91e48c14610d8457005b806346559de514610cd857806348e907b714610cf8578063491f692c14610d0e57005b8063382e329a116104cc5780634089b1701161049e5780634089b17014610c1b57806342a1109514610c31578063430b1df814610c4b5780634582543e14610c6157005b8063382e329a14610ba45780633950935114610bc55780633cc39b7a14610be55780633d7754a214610bfb57005b806332424aa31161050557806332424aa314610b2657806332d0b56814610b3b57806334184e2614610b5b5780633478154b14610b8257005b80632e560f8014610ad1578063311a869714610af1578063313ce56714610b1257005b806317391e49116106015780631f8b845e116105a55780632c9a115e116105775780632c9a115e14610a4f5780632d0947bd14610a6f5780632d3e474a14610a8f5780632d88286314610aaf57005b80631f8b845e146109da57806323b872dd146109fa57806329eeed1814610a1a5780632bfe874214610a2f57005b80631a12227b116105de5780631a12227b146109705780631af903be146109855780631ce12d8e146109a55780631eb25d13146109c557005b806317391e491461091b57806318160ddd1461093b57806318ee55031461095057005b80630852a96d116106685780630a304a76116106455780630a304a76146108705780630fd99e1614610890578063104d221b146108c65780631637e715146108e657005b80630852a96d146107ff57806309218ee714610814578063095ea7b31461084057005b8063048e5f0a116106a1578063048e5f0a14610766578063058546e014610786578063058e7e18146107a657806306fdde03146107c657005b8063020711b3146106cd578063024c2ddd146106ed57806303fd2a451461073857005b366106cb57005b005b3480156106d957600080fd5b506106cb6106e8366004614935565b6115ea565b3480156106f957600080fd5b5061072561070836600461496f565b600360209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b34801561074457600080fd5b5061074e61dead81565b6040516001600160a01b03909116815260200161072f565b34801561077257600080fd5b506106cb610781366004614b3f565b611659565b34801561079257600080fd5b506106cb6107a1366004614935565b61180e565b3480156107b257600080fd5b506106cb6107c1366004614aaf565b611874565b3480156107d257600080fd5b506040805180820190915260078152664b6c65654b616960c81b60208201525b60405161072f9190614c7c565b34801561080b57600080fd5b50602254610725565b34801561082057600080fd5b50601b5461082e9060ff1681565b60405160ff909116815260200161072f565b34801561084c57600080fd5b5061086061085b366004614a17565b6118cb565b604051901515815260200161072f565b34801561087c57600080fd5b506106cb61088b366004614bf6565b6118e2565b34801561089c57600080fd5b50600a546108b390640100000000900461ffff1681565b60405161ffff909116815260200161072f565b3480156108d257600080fd5b50601b5461082e9062010000900460ff1681565b3480156108f257600080fd5b50610906610901366004614935565b611af4565b6040805192835260208301919091520161072f565b34801561092757600080fd5b50600f5461082e9062010000900460ff1681565b34801561094757600080fd5b50600b54610725565b34801561095c57600080fd5b506106cb61096b366004614aaf565b611c50565b34801561097c57600080fd5b506106cb611cbc565b34801561099157600080fd5b506106cb6109a0366004614935565b611d58565b3480156109b157600080fd5b506106cb6109c0366004614aaf565b611dbd565b3480156109d157600080fd5b50610725611e14565b3480156109e657600080fd5b50600a546108b390610100900461ffff1681565b348015610a0657600080fd5b50610860610a153660046149a8565b611e35565b348015610a2657600080fd5b506106cb611ecc565b348015610a3b57600080fd5b506106cb610a4a3660046149e9565b61228b565b348015610a5b57600080fd5b506106cb610a6a366004614935565b6122fa565b348015610a7b57600080fd5b506106cb610a8a366004614b0d565b612360565b348015610a9b57600080fd5b5060115461074e906001600160a01b031681565b348015610abb57600080fd5b50600f5461082e90640100000000900460ff1681565b348015610add57600080fd5b506106cb610aec366004614935565b61240a565b348015610afd57600080fd5b50600a5461082e906301000000900460ff1681565b348015610b1e57600080fd5b50600961082e565b348015610b3257600080fd5b5061082e600981565b348015610b4757600080fd5b506106cb610b56366004614ae9565b612470565b348015610b6757600080fd5b50600f5461074e90600160501b90046001600160a01b031681565b348015610b8e57600080fd5b50600a546108b390600160301b900461ffff1681565b348015610bb057600080fd5b50600f5461082e906301000000900460ff1681565b348015610bd157600080fd5b50610860610be0366004614a17565b612519565b348015610bf157600080fd5b5061072560205481565b348015610c0757600080fd5b506106cb610c16366004614bdb565b612550565b348015610c2757600080fd5b50610725601a5481565b348015610c3d57600080fd5b50600f5461082e9060ff1681565b348015610c5757600080fd5b50610725601f5481565b348015610c6d57600080fd5b50600f546040805160ff600160301b840481168252600160281b8404811660208301526301000000840481169282019290925264010000000083048216606082015281831660808201526101008304821660a0820152620100009092041660c082015260e00161072f565b348015610ce457600080fd5b506106cb610cf3366004614aaf565b6125b2565b348015610d0457600080fd5b5061072560195481565b348015610d1a57600080fd5b5060155461086090600160a01b900460ff1681565b348015610d3b57600080fd5b5060235461086090610100900460ff1681565b348015610d5a57600080fd5b506106cb610d69366004614935565b612614565b348015610d7a57600080fd5b50610725601d5481565b348015610d9057600080fd5b50610725600d5481565b348015610da657600080fd5b50600f5461082e90600160301b900460ff1681565b348015610dc757600080fd5b50601b5461082e90610100900460ff1681565b348015610de657600080fd5b506106cb610df5366004614b8b565b612682565b348015610e0657600080fd5b50610725600e5481565b348015610e1c57600080fd5b50610725601c5481565b348015610e3257600080fd5b506106cb610e41366004614b0d565b612700565b348015610e5257600080fd5b506106cb610e61366004614b0d565b6127d6565b348015610e7257600080fd5b50610725610e81366004614935565b60026020526000908152604090205481565b348015610e9f57600080fd5b50610725610eae366004614935565b6001600160a01b031660009081526002602052604090205490565b348015610ed557600080fd5b50610906612831565b348015610eea57600080fd5b506106cb61286e565b348015610eff57600080fd5b50610725600c5481565b348015610f1557600080fd5b50600f5461082e90600160381b900460ff1681565b348015610f3657600080fd5b5060125461074e906001600160a01b031681565b348015610f5657600080fd5b506106cb610f653660046149e9565b6128c3565b348015610f7657600080fd5b50610860610f85366004614935565b60066020526000908152604090205460ff1681565b348015610fa657600080fd5b506023546108609060ff1681565b348015610fc057600080fd5b5060215461086090610100900460ff1681565b348015610fdf57600080fd5b506106cb610fee366004614b0d565b612932565b348015610fff57600080fd5b506106cb6129f9565b34801561101457600080fd5b50610860611023366004614935565b6001600160a01b031660009081526016602052604090205460ff1690565b34801561104d57600080fd5b5061072561105c366004614935565b612c9b565b34801561106d57600080fd5b506040805180820190915260048152634b4c454560e01b60208201526107f2565b34801561109a57600080fd5b506106cb6110a9366004614935565b612cd5565b3480156110ba57600080fd5b5060135461074e906001600160a01b031681565b3480156110da57600080fd5b506106cb612d3b565b3480156110ef57600080fd5b506108606110fe366004614935565b60076020526000908152604090205460ff1681565b34801561111f57600080fd5b50610725600b5481565b34801561113557600080fd5b50610860611144366004614a17565b612e4c565b34801561115557600080fd5b506106cb612ec8565b34801561116a57600080fd5b50610860611179366004614a17565b612fb4565b34801561118a57600080fd5b506106cb611199366004614bdb565b612fc1565b3480156111aa57600080fd5b506106cb6111b9366004614935565b61301b565b3480156111ca57600080fd5b506107f2604051806040016040528060048152602001634b4c454560e01b81525081565b3480156111fa57600080fd5b506106cb613083565b34801561120f57600080fd5b5061086061121e366004614935565b6001600160a01b031660009081526020819052604090205460ff1690565b34801561124857600080fd5b5061074e611257366004614b0d565b6130ee565b34801561126857600080fd5b506106cb611277366004614935565b613118565b34801561128857600080fd5b506106cb611297366004614a43565b613300565b3480156112a857600080fd5b506108606112b7366004614935565b60166020526000908152604090205460ff1681565b3480156112d857600080fd5b50600f5461082e90610100900460ff1681565b3480156112f757600080fd5b50600f5461082e90600160281b900460ff1681565b34801561131857600080fd5b506107f2604051806040016040528060078152602001664b6c65654b616960c81b81525081565b34801561134b57600080fd5b5061074e737a250d5630b4cf539739df2c5dacb4c659f2488d81565b34801561137357600080fd5b506106cb611382366004614aaf565b613526565b34801561139357600080fd5b5060105461074e906001600160a01b031681565b3480156113b357600080fd5b50600f5461086090600160481b900460ff1681565b3480156113d457600080fd5b506108606113e3366004614935565b60056020526000908152604090205460ff1681565b34801561140457600080fd5b506106cb611413366004614b0d565b61357d565b34801561142457600080fd5b5061072561143336600461496f565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561146a57600080fd5b506106cb611479366004614bdb565b61360f565b34801561148a57600080fd5b50610725601e5481565b3480156114a057600080fd5b5060145461074e906001600160a01b031681565b3480156114c057600080fd5b506106cb6114cf3660046149e9565b61366f565b3480156114e057600080fd5b506106cb6136de565b3480156114f557600080fd5b506106cb611504366004614aaf565b61375b565b34801561151557600080fd5b506106cb611524366004614b0d565b6137b9565b34801561153557600080fd5b506106cb6115443660046149e9565b613813565b34801561155557600080fd5b5060155461074e906001600160a01b031681565b34801561157557600080fd5b5061072560225481565b34801561158b57600080fd5b506106cb61159a366004614b0d565b613882565b3480156115ab57600080fd5b506107256115ba366004614935565b60046020526000908152604090205481565b3480156115d857600080fd5b506001546001600160a01b031661074e565b3360009081526020819052604090205460ff168061161257506001546001600160a01b031633145b6116375760405162461bcd60e51b815260040161162e90614cfb565b60405180910390fd5b601280546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526020819052604090205460ff168061168157506001546001600160a01b031633145b61169d5760405162461bcd60e51b815260040161162e90614cfb565b806116a88185614edc565b3060009081526002602052604090205410156116f95760405162461bcd60e51b815260206004820152601060248201526f4e6f7420656e6f7567682066756e647360801b604482015260640161162e565b6117038185614edc565b3060009081526002602052604081208054909190611722908490614efb565b90915550600090505b8181101561180757846002600086868581811061174a5761174a614f43565b905060200201602081019061175f9190614935565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461178e9190614d8f565b9091555084905083828181106117a6576117a6614f43565b90506020020160208101906117bb9190614935565b6001600160a01b0316306001600160a01b0316600080516020614f7d833981519152876040516117ed91815260200190565b60405180910390a3806117ff81614f12565b91505061172b565b5050505050565b3360009081526020819052604090205460ff168061183657506001546001600160a01b031633145b6118525760405162461bcd60e51b815260040161162e90614cfb565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526020819052604090205460ff168061189c57506001546001600160a01b031633145b6118b85760405162461bcd60e51b815260040161162e90614cfb565b600a805460ff1916911515919091179055565b60006118d83384846138cb565b5060015b92915050565b3360009081526020819052604090205460ff168061190a57506001546001600160a01b031633145b6119265760405162461bcd60e51b815260040161162e90614cfb565b60008486611934898b614da7565b61193e9190614da7565b6119489190614da7565b90508060ff166064146119ac5760405162461bcd60e51b815260206004820152602660248201527f6275726e2b6c69712b6d61726b6574696e67206e6565647320746f20657175616044820152656c203130302560d01b606482015260840161162e565b87600f60066101000a81548160ff021916908360ff16021790555086600f60056101000a81548160ff021916908360ff16021790555085600f60036101000a81548160ff021916908360ff16021790555084600f60046101000a81548160ff021916908360ff16021790555083600f60006101000a81548160ff021916908360ff16021790555082600f60016101000a81548160ff021916908360ff16021790555081600f60026101000a81548160ff021916908360ff1602179055506030600f60009054906101000a900460ff1660ff16108015611a965750600f54603061010090910460ff16105b8015611aae5750600f5460306201000090910460ff16105b611aea5760405162461bcd60e51b815260206004820152600d60248201526c4e6f20686f6e657920706c732160981b604482015260640161162e565b5050505050505050565b33600090815260208190526040812054819060ff1680611b1e57506001546001600160a01b031633145b611b3a5760405162461bcd60e51b815260040161162e90614cfb565b604051636eb1769f60e11b81526001600160a01b038416600482015230602482015273382f0160c24f5c515a19f155bac14d479433a40790819063dd62ed3e9060440160206040518083038186803b158015611b9557600080fd5b505afa158015611ba9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bcd9190614b26565b6040516370a0823160e01b81526001600160a01b0386811660048301528316906370a082319060240160206040518083038186803b158015611c0e57600080fd5b505afa158015611c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c469190614b26565b9250925050915091565b3360009081526020819052604090205460ff1680611c7857506001546001600160a01b031633145b611c945760405162461bcd60e51b815260040161162e90614cfb565b600f8054911515680100000000000000000268ff000000000000000019909216919091179055565b3360009081526020819052604090205460ff1680611ce457506001546001600160a01b031633145b611d005760405162461bcd60e51b815260040161162e90614cfb565b604051600090339047908381818185875af1925050503d8060008114611d42576040519150601f19603f3d011682016040523d82523d6000602084013e611d47565b606091505b5050905080611d5557600080fd5b50565b3360009081526020819052604090205460ff1680611d8057506001546001600160a01b031633145b611d9c5760405162461bcd60e51b815260040161162e90614cfb565b6001600160a01b03166000908152600760205260409020805460ff19169055565b3360009081526020819052604090205460ff1680611de557506001546001600160a01b031633145b611e015760405162461bcd60e51b815260040161162e90614cfb565b6023805460ff1916911515919091179055565b611e206009600a614e31565b611e329067016345785d8a0000614edc565b81565b6000611e428484846139be565b6001600160a01b038416600090815260036020908152604080832033845290915290205482811015611ead5760405162461bcd60e51b81526020600482015260146024820152735472616e73666572203e20616c6c6f77616e636560601b604482015260640161162e565b611ec18533611ebc8685614efb565b6138cb565b506001949350505050565b600154600160a01b900460ff1615611f125760405162461bcd60e51b81526020600482015260096024820152681c99595b9d1c985b9d60ba1b604482015260640161162e565b6001805460ff60a01b1916600160a01b9081179091556015540460ff16611f6c5760405162461bcd60e51b815260206004820152600e60248201526d10db185a5b481a5cc8195b99195960921b604482015260640161162e565b3360009081526016602052604090205460ff1615611f8957600080fd5b6040516370a0823160e01b815233600482015273382f0160c24f5c515a19f155bac14d479433a4079060009082906370a082319060240160206040518083038186803b158015611fd857600080fd5b505afa158015611fec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120109190614b26565b604051636eb1769f60e11b815233600482015230602482015290915081906001600160a01b0384169063dd62ed3e9060440160206040518083038186803b15801561205a57600080fd5b505afa15801561206e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120929190614b26565b116120d65760405162461bcd60e51b81526020600482015260146024820152734e6f7420656e6f75676820616c6c6f77616e636560601b604482015260640161162e565b3060009081526002602052604090205481111561212a5760405162461bcd60e51b81526020600482015260126024820152714e6f7420656e6f75676820746f6b656e732160701b604482015260640161162e565b6040516323b872dd60e01b8152336004820152306024820152604481018290526001600160a01b038316906323b872dd90606401602060405180830381600087803b15801561217857600080fd5b505af115801561218c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121b09190614acc565b5030600090815260026020526040812080548392906121d0908490614efb565b909155505033600090815260026020526040812080548392906121f4908490614d8f565b909155505060405181815233903090600080516020614f7d8339815191529060200160405180910390a35050336000818152601660205260408120805460ff1916600190811790915560178054808301825592527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1590910180546001600160a01b031916909217909155805460ff60a01b19169055565b3360009081526020819052604090205460ff16806122b357506001546001600160a01b031633145b6122cf5760405162461bcd60e51b815260040161162e90614cfb565b6001600160a01b03919091166000908152602081905260409020805460ff1916911515919091179055565b3360009081526020819052604090205460ff168061232257506001546001600160a01b031633145b61233e5760405162461bcd60e51b815260040161162e90614cfb565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526020819052604090205460ff168061238857506001546001600160a01b031633145b6123a45760405162461bcd60e51b815260040161162e90614cfb565b80600b60008282546123b69190614efb565b909155505030600090815260026020526040812080548392906123da908490614efb565b909155505060405181815261dead903090600080516020614f7d833981519152906020015b60405180910390a350565b3360009081526020819052604090205460ff168061243257506001546001600160a01b031633145b61244e5760405162461bcd60e51b815260040161162e90614cfb565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526020819052604090205460ff168061249857506001546001600160a01b031633145b6124b45760405162461bcd60e51b815260040161162e90614cfb565b60148161ffff1611156124f45760405162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015260640161162e565b600a805461ffff909216600160301b0267ffff00000000000019909216919091179055565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916118d8918590611ebc908690614d8f565b3360009081526020819052604090205460ff168061257857506001546001600160a01b031633145b6125945760405162461bcd60e51b815260040161162e90614cfb565b601b805460ff909216620100000262ff000019909216919091179055565b3360009081526020819052604090205460ff16806125da57506001546001600160a01b031633145b6125f65760405162461bcd60e51b815260040161162e90614cfb565b60158054911515600160a01b0260ff60a01b19909216919091179055565b3360009081526020819052604090205460ff168061263c57506001546001600160a01b031633145b6126585760405162461bcd60e51b815260040161162e90614cfb565b602380546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b3360009081526020819052604090205460ff16806126aa57506001546001600160a01b031633145b6126c65760405162461bcd60e51b815260040161162e90614cfb565b6126d26009600a614e31565b6126dc9083614edc565b91506126ea6009600a614e31565b6126f49082614edc565b600c9290925550600d55565b3360009081526020819052604090205460ff168061272857506001546001600160a01b031633145b6127445760405162461bcd60e51b815260040161162e90614cfb565b6000600f600a9054906101000a90046001600160a01b0316905081600b60008282546127709190614d8f565b90915550506001600160a01b0381166000908152600260205260408120805484929061279d908490614d8f565b90915550506040518281526001600160a01b0382169061dead90600080516020614f7d8339815191529060200160405180910390a35050565b3360009081526020819052604090205460ff16806127fe57506001546001600160a01b031633145b61281a5760405162461bcd60e51b815260040161162e90614cfb565b600030905081600b60008282546127709190614d8f565b6000806128406009600a614e31565b600c5461284d9190614dcc565b6128596009600a614e31565b600d546128669190614dcc565b915091509091565b3360009081526020819052604090205460ff168061289657506001546001600160a01b031633145b6128b25760405162461bcd60e51b815260040161162e90614cfb565b6023805461ff001916610100179055565b3360009081526020819052604090205460ff16806128eb57506001546001600160a01b031633145b6129075760405162461bcd60e51b815260040161162e90614cfb565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b3360009081526020819052604090205460ff168061295a57506001546001600160a01b031633145b6129765760405162461bcd60e51b815260040161162e90614cfb565b80600b60008282546129889190614efb565b9091555050600f54600160501b90046001600160a01b0316600090815260026020526040812080548392906129be908490614efb565b9091555050600f5460405182815261dead91600160501b90046001600160a01b031690600080516020614f7d833981519152906020016123ff565b600154600160a01b900460ff1615612a3f5760405162461bcd60e51b81526020600482015260096024820152681c99595b9d1c985b9d60ba1b604482015260640161162e565b6001805460ff60a01b1916600160a01b1790556040516370a0823160e01b815233600482015273382f0160c24f5c515a19f155bac14d479433a4079060009082906370a082319060240160206040518083038186803b158015612aa157600080fd5b505afa158015612ab5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ad99190614b26565b905060008111612b235760405162461bcd60e51b81526020600482015260156024820152742737903a37b5b2b739903a37903a3930b739b332b960591b604482015260640161162e565b604051636eb1769f60e11b815233600482015230602482015281906001600160a01b0384169063dd62ed3e9060440160206040518083038186803b158015612b6a57600080fd5b505afa158015612b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba29190614b26565b1115612bf05760405162461bcd60e51b815260206004820152601860248201527f416c726561647920656e6f75676820616c6c6f77616e63650000000000000000604482015260640161162e565b6001600160a01b03821663095ea7b330612c0b84600a614edc565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015612c5157600080fd5b505af1158015612c65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c899190614acc565b50506001805460ff60a01b1916905550565b6001600160a01b038116600090815260046020526040812054428111612cc45750600092915050565b612cce4282614efb565b9392505050565b3360009081526020819052604090205460ff1680612cfd57506001546001600160a01b031633145b612d195760405162461bcd60e51b815260040161162e90614cfb565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526020819052604090205460ff1680612d6357506001546001600160a01b031633145b612d7f5760405162461bcd60e51b815260040161162e90614cfb565b601f805460009182905560405163a9059cbb60e01b8152336004820181905260248201839052919290309063a9059cbb906044015b602060405180830381600087803b158015612dce57600080fd5b505af1158015612de2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e069190614acc565b905080612e475760405162461bcd60e51b815260206004820152600f60248201526e1dda5d1a191c985dc819985a5b1959608a1b604482015260640161162e565b505050565b3360009081526003602090815260408083206001600160a01b038616845290915281205482811015612eaf5760405162461bcd60e51b815260206004820152600c60248201526b3c3020616c6c6f77616e636560a01b604482015260640161162e565b612ebe3385611ebc8685614efb565b5060019392505050565b3360009081526020819052604090205460ff1680612ef057506001546001600160a01b031633145b612f0c5760405162461bcd60e51b815260040161162e90614cfb565b601c805460009182905560115460405191926001600160a01b0390911691829084905b60006040518083038185875af1925050503d8060008114612f6c576040519150601f19603f3d011682016040523d82523d6000602084013e612f71565b606091505b5050905080612e475760405162461bcd60e51b815260206004820152600f60248201526e1dda5d1a191c985dc819985a5b1959608a1b604482015260640161162e565b60006118d83384846139be565b3360009081526020819052604090205460ff1680612fe957506001546001600160a01b031633145b6130055760405162461bcd60e51b815260040161162e90614cfb565b601b805460ff191660ff92909216919091179055565b3360009081526020819052604090205460ff168061304357506001546001600160a01b031633145b61305f5760405162461bcd60e51b815260040161162e90614cfb565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b3360009081526020819052604090205460ff16806130ab57506001546001600160a01b031633145b6130c75760405162461bcd60e51b815260040161162e90614cfb565b601d805460009182905560125460405191926001600160a01b039091169182908490612f2f565b601781815481106130fe57600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526020819052604090205460ff168061314057506001546001600160a01b031633145b61315c5760405162461bcd60e51b815260040161162e90614cfb565b600f546001600160a01b03828116600160501b9092041614156131ac5760405162461bcd60e51b815260206004820152600860248201526748657921204e6f2160c01b604482015260640161162e565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a082319060240160206040518083038186803b1580156131f057600080fd5b505afa158015613204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132289190614b26565b90506000811161327a5760405162461bcd60e51b815260206004820152601860248201527f4e6f20746f6b656e7320696e206f75722062616c616e63650000000000000000604482015260640161162e565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b1580156132c257600080fd5b505af11580156132d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132fa9190614acc565b50505050565b3360009081526020819052604090205460ff168061332857506001546001600160a01b031633145b6133445760405162461bcd60e51b815260040161162e90614cfb565b8060005b8181101561351e5785858281811061336257613362614f43565b9050602002013560026000306001600160a01b03166001600160a01b031681526020019081526020016000205410156133d05760405162461bcd60e51b815260206004820152601060248201526f4e6f7420656e6f7567682066756e647360801b604482015260640161162e565b8585828181106133e2576133e2614f43565b9050602002013560026000306001600160a01b03166001600160a01b03168152602001908152602001600020600082825461341d9190614efb565b90915550869050858281811061343557613435614f43565b905060200201356002600086868581811061345257613452614f43565b90506020020160208101906134679190614935565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546134969190614d8f565b9091555084905083828181106134ae576134ae614f43565b90506020020160208101906134c39190614935565b6001600160a01b031630600080516020614f7d8339815191528888858181106134ee576134ee614f43565b9050602002013560405161350491815260200190565b60405180910390a38061351681614f12565b915050613348565b505050505050565b3360009081526020819052604090205460ff168061354e57506001546001600160a01b031633145b61356a5760405162461bcd60e51b815260040161162e90614cfb565b6008805460ff1916911515919091179055565b3360009081526020819052604090205460ff16806135a557506001546001600160a01b031633145b6135c15760405162461bcd60e51b815260040161162e90614cfb565b6101f4600b546135d19190614dcc565b81101561360a5760405162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b604482015260640161162e565b600955565b3360009081526020819052604090205460ff168061363757506001546001600160a01b031633145b6136535760405162461bcd60e51b815260040161162e90614cfb565b601b805460ff9092166101000261ff0019909216919091179055565b3360009081526020819052604090205460ff168061369757506001546001600160a01b031633145b6136b35760405162461bcd60e51b815260040161162e90614cfb565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b3360009081526020819052604090205460ff168061370657506001546001600160a01b031633145b6137225760405162461bcd60e51b815260040161162e90614cfb565b601e805460009182905560405163a9059cbb60e01b8152336004820181905260248201839052919290309063a9059cbb90604401612db4565b3360009081526020819052604090205460ff168061378357506001546001600160a01b031633145b61379f5760405162461bcd60e51b815260040161162e90614cfb565b602180549115156101000261ff0019909216919091179055565b3360009081526020819052604090205460ff16806137e157506001546001600160a01b031633145b6137fd5760405162461bcd60e51b815260040161162e90614cfb565b611d5561380e82633b9aca00614edc565b613db9565b3360009081526020819052604090205460ff168061383b57506001546001600160a01b031633145b6138575760405162461bcd60e51b815260040161162e90614cfb565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b3360009081526020819052604090205460ff16806138aa57506001546001600160a01b031633145b6138c65760405162461bcd60e51b815260040161162e90614cfb565b602255565b6001600160a01b0383166139155760405162461bcd60e51b8152602060048201526011602482015270417070726f76652066726f6d207a65726f60781b604482015260640161162e565b6001600160a01b03821661395d5760405162461bcd60e51b815260206004820152600f60248201526e417070726f766520746f207a65726f60881b604482015260640161162e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316613a095760405162461bcd60e51b81526020600482015260126024820152715472616e736665722066726f6d207a65726f60701b604482015260640161162e565b6001600160a01b038216613a525760405162461bcd60e51b815260206004820152601060248201526f5472616e7366657220746f207a65726f60801b604482015260640161162e565b60085460ff1615613ada576001600160a01b03831660009081526007602052604090205460ff16158015613a9f57506001600160a01b03821660009081526007602052604090205460ff16155b613ada5760405162461bcd60e51b815260206004820152600c60248201526b426c61636b6c69737465642160a01b604482015260640161162e565b6001600160a01b03831660009081526005602052604081205460ff1680613b1957506001600160a01b03831660009081526005602052604090205460ff165b80613b3c57506001600160a01b03841660009081526020819052604090205460ff165b80613b5f57506001600160a01b03831660009081526020819052604090205460ff165b905060006001600160a01b038516301480613b8257506001600160a01b03841630145b600f549091506000906001600160a01b03878116600160501b90920416148015613bc857506001600160a01b038516737a250d5630b4cf539739df2c5dacb4c659f2488d145b80613c0e5750600f546001600160a01b03868116600160501b90920416148015613c0e57506001600160a01b038616737a250d5630b4cf539739df2c5dacb4c659f2488d145b90508180613c195750805b80613c215750825b15613c3657613c31868686614065565b61351e565b602354610100900460ff16613d23576001546001600160a01b03878116911614801590613c7157506001546001600160a01b03868116911614155b15613d2357600f54600160481b900460ff1615613ccc57846001600160a01b0316866001600160a01b0316600080516020614f7d8339815191526000604051613cbc91815260200190565b60405180910390a3505050505050565b602354610100900460ff16613d235760405162461bcd60e51b815260206004820152601760248201527f74726164696e67206e6f742079657420656e61626c6564000000000000000000604482015260640161162e565b600f546000906001600160a01b03888116600160501b909204161480613d6557506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d145b600f549091506000906001600160a01b03888116600160501b909204161480613daa57506001600160a01b038716737a250d5630b4cf539739df2c5dacb4c659f2488d145b9050611aea888888858561411e565b6021805460ff19166001179055601f54306000908152600260205260408120549091613de491614efb565b600f5490915060009060ff600160381b8204811691600160281b8104821691613e20916401000000008104821691630100000090910416614da7565b613e2a9190614da7565b613e349190614da7565b60ff1690506000600954905083811115613e5657600a5460ff1615613e565750825b80831080613e66575061ffff8216155b15613e7357505050614058565b600f5460009061ffff841690613e93906301000000900460ff1684614edc565b613e9d9190614dcc565b600f5490915060009061ffff851690613ec190640100000000900460ff1685614edc565b613ecb9190614dcc565b600f5490915060009061ffff861690613eee90600160301b900460ff1686614edc565b613ef89190614dcc565b600f5490915060009061ffff871690613f1b90600160281b900460ff1687614edc565b613f259190614dcc565b600f5490915060009061ffff881690613f4890600160381b900460ff1688614edc565b613f529190614dcc565b90506000613f61600287614dcc565b90506000613f6f8288614efb565b905060008385613f7f8985614d8f565b613f899190614d8f565b613f939190614d8f565b905047613f9f82614544565b6000613fab8247614efb565b9050600083613fba8684614edc565b613fc49190614dcc565b9050613fd086826146a4565b6000613fdc8447614efb565b9050613fe781614774565b6013546001600160a01b0316600090815260026020526040812080548c9290614011908490614d8f565b90915550506013546040518b81526001600160a01b03909116903090600080516020614f7d8339815191529060200160405180910390a35050505050505050505050505050505b506021805460ff19169055565b6001600160a01b038316600090815260026020526040902054818110156140c95760405162461bcd60e51b81526020600482015260186024820152775472616e7366657220657863656564732062616c616e636560401b604482015260640161162e565b6140d38483614836565b6140dd838361487b565b826001600160a01b0316846001600160a01b0316600080516020614f7d8339815191528460405161411091815260200190565b60405180910390a350505050565b6001600160a01b038085166000908152600260205260408082205492881682529020548481101561418c5760405162461bcd60e51b81526020600482015260186024820152775472616e7366657220657863656564732062616c616e636560401b604482015260640161162e565b6002600d5461419b9190614dcc565b600955600083156142b1576001600160a01b03881660009081526006602052604090205460ff1661425c576001600160a01b038816600090815260046020526040902054421015806141f45750602154610100900460ff165b6142355760405162461bcd60e51b815260206004820152601260248201527153656c6c657220696e2073656c6c4c6f636b60701b604482015260640161162e565b6022546142429042614d8f565b6001600160a01b0389166000908152600460205260409020555b600d548611156142a05760405162461bcd60e51b815260206004820152600f60248201526e223ab6b810383937ba32b1ba34b7b760891b604482015260640161162e565b50600f54610100900460ff166143d4565b841561431057600c546142c48785614d8f565b11156142e25760405162461bcd60e51b815260040161162e90614cd1565b600e548611156143045760405162461bcd60e51b815260040161162e90614cd1565b50600f5460ff166143d4565b600c5461431d8785614d8f565b111561433b5760405162461bcd60e51b815260040161162e90614cd1565b6001600160a01b03881660009081526006602052604090205460ff166143c6576001600160a01b038816600090815260046020526040902054421015806143895750602154610100900460ff165b6143c65760405162461bcd60e51b815260206004820152600e60248201526d53656e64657220696e204c6f636b60901b604482015260640161162e565b50600f5462010000900460ff165b600f546001600160a01b03898116600160501b90920416148015906143fc575060235460ff16155b801561440b575060215460ff16155b156144195761441986613db9565b600f54600090614486908890849060ff600160381b8204811691600160301b8104821691600160281b82048116916144639163010000008204811691640100000000900416614da7565b61446d9190614da7565b6144779190614da7565b6144819190614da7565b61489f565b905060006144948289614efb565b90506144a08a89614836565b30600090815260026020526040812080548492906144bf908490614d8f565b909155506144cf9050898261487b565b60405182815230906001600160a01b038c1690600080516020614f7d8339815191529060200160405180910390a3886001600160a01b03168a6001600160a01b0316600080516020614f7d8339815191528360405161453091815260200190565b60405180910390a350505050505050505050565b60155461455c9030906001600160a01b0316836138cb565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061459157614591614f43565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156145e557600080fd5b505afa1580156145f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061461d9190614952565b8160018151811061463057614630614f43565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b815291169063791ac94790614676908590600090869030904290600401614d1e565b600060405180830381600087803b15801561469057600080fd5b505af115801561351e573d6000803e3d6000fd5b80602060008282546146b69190614d8f565b90915550506015546146d39030906001600160a01b0316846138cb565b60155460405163f305d71960e01b8152306004820181905260248201859052600060448301819052606483015260848201524260a48201526001600160a01b039091169063f305d71990839060c4016060604051808303818588803b15801561473b57600080fd5b505af115801561474f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118079190614bad565b601b5460009060649061478a9060ff1684614edc565b6147949190614dcc565b601b549091506000906064906147b290610100900460ff1685614edc565b6147bc9190614dcc565b601b549091506000906064906147db9062010000900460ff1686614edc565b6147e59190614dcc565b905082601c60008282546147f99190614d8f565b9250508190555081601d60008282546148129190614d8f565b9250508190555080601f600082825461482b9190614d8f565b909155505050505050565b6001600160a01b03821660009081526002602052604081205461485a908390614efb565b6001600160a01b039093166000908152600260205260409020929092555050565b6001600160a01b03821660009081526002602052604081205461485a908390614d8f565b60006127108260ff168460ff16866148b79190614edc565b6148c19190614edc565b6148cb9190614dcc565b949350505050565b60008083601f8401126148e557600080fd5b50813567ffffffffffffffff8111156148fd57600080fd5b6020830191508360208260051b850101111561491857600080fd5b9250929050565b803560ff8116811461493057600080fd5b919050565b60006020828403121561494757600080fd5b8135612cce81614f59565b60006020828403121561496457600080fd5b8151612cce81614f59565b6000806040838503121561498257600080fd5b823561498d81614f59565b9150602083013561499d81614f59565b809150509250929050565b6000806000606084860312156149bd57600080fd5b83356149c881614f59565b925060208401356149d881614f59565b929592945050506040919091013590565b600080604083850312156149fc57600080fd5b8235614a0781614f59565b9150602083013561499d81614f6e565b60008060408385031215614a2a57600080fd5b8235614a3581614f59565b946020939093013593505050565b60008060008060408587031215614a5957600080fd5b843567ffffffffffffffff80821115614a7157600080fd5b614a7d888389016148d3565b90965094506020870135915080821115614a9657600080fd5b50614aa3878288016148d3565b95989497509550505050565b600060208284031215614ac157600080fd5b8135612cce81614f6e565b600060208284031215614ade57600080fd5b8151612cce81614f6e565b600060208284031215614afb57600080fd5b813561ffff81168114612cce57600080fd5b600060208284031215614b1f57600080fd5b5035919050565b600060208284031215614b3857600080fd5b5051919050565b600080600060408486031215614b5457600080fd5b83359250602084013567ffffffffffffffff811115614b7257600080fd5b614b7e868287016148d3565b9497909650939450505050565b60008060408385031215614b9e57600080fd5b50508035926020909101359150565b600080600060608486031215614bc257600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215614bed57600080fd5b612cce8261491f565b600080600080600080600060e0888a031215614c1157600080fd5b614c1a8861491f565b9650614c286020890161491f565b9550614c366040890161491f565b9450614c446060890161491f565b9350614c526080890161491f565b9250614c6060a0890161491f565b9150614c6e60c0890161491f565b905092959891949750929550565b600060208083528351808285015260005b81811015614ca957858101830151858201604001528201614c8d565b81811115614cbb576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526010908201526f3bb430b63290383937ba32b1ba34b7b760811b604082015260600190565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015614d6e5784516001600160a01b031683529383019391830191600101614d49565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115614da257614da2614f2d565b500190565b600060ff821660ff84168060ff03821115614dc457614dc4614f2d565b019392505050565b600082614de957634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115614e29578160001904821115614e0f57614e0f614f2d565b80851615614e1c57918102915b93841c9390800290614df3565b509250929050565b6000612cce60ff841683600082614e4a575060016118dc565b81614e57575060006118dc565b8160018114614e6d5760028114614e7757614e93565b60019150506118dc565b60ff841115614e8857614e88614f2d565b50506001821b6118dc565b5060208310610133831016604e8410600b8410161715614eb6575081810a6118dc565b614ec08383614dee565b8060001904821115614ed457614ed4614f2d565b029392505050565b6000816000190483118215151615614ef657614ef6614f2d565b500290565b600082821015614f0d57614f0d614f2d565b500390565b6000600019821415614f2657614f26614f2d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114611d5557600080fd5b8015158114611d5557600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e5b5802ff27592dd0da6942a9cb442743dd5592352d0dc272b620ed209c1052f64736f6c63430008070033

Deployed Bytecode Sourcemap

13767:26085:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20444:97;;;;;;;;;;-1:-1:-1;20444:97:0;;;;;:::i;:::-;;:::i;13861:68::-;;;;;;;;;;-1:-1:-1;13861:68:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;8989:25:1;;;8977:2;8962:18;13861:68:0;;;;;;;;14776:73;;;;;;;;;;;;14807:42;14776:73;;;;;-1:-1:-1;;;;;6787:32:1;;;6769:51;;6757:2;6742:18;14776:73:0;6623:203:1;23279:459:0;;;;;;;;;;-1:-1:-1;23279:459:0;;;;;:::i;:::-;;:::i;20858:85::-;;;;;;;;;;-1:-1:-1;20858:85:0;;;;;:::i;:::-;;:::i;31777:102::-;;;;;;;;;;-1:-1:-1;31777:102:0;;;;;:::i;:::-;;:::i;37559:94::-;;;;;;;;;;-1:-1:-1;37640:5:0;;;;;;;;;;;;-1:-1:-1;;;37640:5:0;;;;37559:94;;;;;;;:::i;31561:108::-;;;;;;;;;;-1:-1:-1;31649:12:0;;31561:108;;27536:30;;;;;;;;;;-1:-1:-1;27536:30:0;;;;;;;;;;;21735:4:1;21723:17;;;21705:36;;21693:2;21678:18;27536:30:0;21563:184:1;38430:161:0;;;;;;;;;;-1:-1:-1;38430:161:0;;;;;:::i;:::-;;:::i;:::-;;;8576:14:1;;8569:22;8551:41;;8539:2;8524:18;38430:161:0;8411:187:1;34234:675:0;;;;;;;;;;-1:-1:-1;34234:675:0;;;;;:::i;:::-;;:::i;14588:35::-;;;;;;;;;;-1:-1:-1;14588:35:0;;;;;;;;;;;;;;19512:6:1;19500:19;;;19482:38;;19470:2;19455:18;14588:35:0;19338:188:1;27612:28:0;;;;;;;;;;-1:-1:-1;27612:28:0;;;;;;;;;;;22598:274;;;;;;;;;;-1:-1:-1;22598:274:0;;;;;:::i;:::-;;:::i;:::-;;;;20872:25:1;;;20928:2;20913:18;;20906:34;;;;20845:18;22598:274:0;20698:248:1;15127:25:0;;;;;;;;;;-1:-1:-1;15127:25:0;;;;;;;;;;;37863:108;;;;;;;;;;-1:-1:-1;37945:18:0;;37863:108;;36510:116;;;;;;;;;;-1:-1:-1;36510:116:0;;;;;:::i;:::-;;:::i;36886:151::-;;;;;;;;;;;;;:::i;36761:121::-;;;;;;;;;;-1:-1:-1;36761:121:0;;;;;:::i;:::-;;:::i;33883:111::-;;;;;;;;;;-1:-1:-1;33883:111:0;;;;;:::i;:::-;;:::i;14317:72::-;;;;;;;;;;;;;:::i;14492:33::-;;;;;;;;;;-1:-1:-1;14492:33:0;;;;;;;;;;;38904:388;;;;;;;;;;-1:-1:-1;38904:388:0;;;;;:::i;:::-;;:::i;21846:744::-;;;;;;;;;;;;;:::i;13193:106::-;;;;;;;;;;-1:-1:-1;13193:106:0;;;;;:::i;:::-;;:::i;20549:93::-;;;;;;;;;;-1:-1:-1;20549:93:0;;;;;:::i;:::-;;:::i;19762:200::-;;;;;;;;;;-1:-1:-1;19762:200:0;;;;;:::i;:::-;;:::i;15501:69::-;;;;;;;;;;-1:-1:-1;15501:69:0;;;;-1:-1:-1;;;;;15501:69:0;;;15192:26;;;;;;;;;;-1:-1:-1;15192:26:0;;;;;;;;;;;20755:91;;;;;;;;;;-1:-1:-1;20755:91:0;;;;;:::i;:::-;;:::i;14538:37::-;;;;;;;;;;-1:-1:-1;14538:37:0;;;;;;;;;;;37763:94;;;;;;;;;;-1:-1:-1;14309:1:0;37763:94;;14275:35;;;;;;;;;;;;14309:1;14275:35;;32062:159;;;;;;;;;;-1:-1:-1;32062:159:0;;;;;:::i;:::-;;:::i;15392:27::-;;;;;;;;;;-1:-1:-1;15392:27:0;;;;-1:-1:-1;;;15392:27:0;;-1:-1:-1;;;;;15392:27:0;;;14639:42;;;;;;;;;;-1:-1:-1;14639:42:0;;;;-1:-1:-1;;;14639:42:0;;;;;;15159:26;;;;;;;;;;-1:-1:-1;15159:26:0;;;;;;;;;;;39298:205;;;;;;;;;;-1:-1:-1;39298:205:0;;;;;:::i;:::-;;:::i;28186:25::-;;;;;;;;;;;;;;;;35149:101;;;;;;;;;;-1:-1:-1;35149:101:0;;;;;:::i;:::-;;:::i;27502:27::-;;;;;;;;;;;;;;;;15072:20;;;;;;;;;;-1:-1:-1;15072:20:0;;;;;;;;27760:25;;;;;;;;;;;;;;;;30965:297;;;;;;;;;;-1:-1:-1;31168:10:0;;30965:297;;;31168:10;-1:-1:-1;;;31168:10:0;;;;21266:25:1;;-1:-1:-1;;;31180:15:0;;;;21322:2:1;21307:18;;21300:34;31196:13:0;;;;;21350:18:1;;;21343:34;;;;31210:13:0;;;;;21408:2:1;21393:18;;21386:34;31224:7:0;;;21451:3:1;21436:19;;21429:35;31168:10:0;31232:8;;;;21495:3:1;21480:19;;21473:35;31241:12:0;;;;;21539:3:1;21524:19;;21517:35;21253:3;21238:19;30965:297:0;20951:607:1;21335:100:0;;;;;;;;;;-1:-1:-1;21335:100:0;;;;;:::i;:::-;;:::i;27457:38::-;;;;;;;;;;;;;;;;21220:24;;;;;;;;;;-1:-1:-1;21220:24:0;;;;-1:-1:-1;;;21220:24:0;;;;;;35674:26;;;;;;;;;;-1:-1:-1;35674:26:0;;;;;;;;;;;35847:149;;;;;;;;;;-1:-1:-1;35847:149:0;;;;;:::i;:::-;;:::i;27685:33::-;;;;;;;;;;;;;;;;14967:46;;;;;;;;;;;;;;;;15260:23;;;;;;;;;;-1:-1:-1;15260:23:0;;;;-1:-1:-1;;;15260:23:0;;;;;;27573:32;;;;;;;;;;-1:-1:-1;27573:32:0;;;;;;;;;;;35388:280;;;;;;;;;;-1:-1:-1;35388:280:0;;;;;:::i;:::-;;:::i;15020:45::-;;;;;;;;;;;;;;;;27647:31;;;;;;;;;;;;;;;;19521:233;;;;;;;;;;-1:-1:-1;19521:233:0;;;;;:::i;:::-;;:::i;19271:240::-;;;;;;;;;;-1:-1:-1;19271:240:0;;;;;:::i;:::-;;:::i;13809:45::-;;;;;;;;;;-1:-1:-1;13809:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;37977:121;;;;;;;;;;-1:-1:-1;37977:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;38072:18:0;38045:7;38072:18;;;:9;:18;;;;;;;37977:121;30804:155;;;;;;;;;;;;;:::i;35752:89::-;;;;;;;;;;;;;:::i;14911:49::-;;;;;;;;;;;;;;;;15290:22;;;;;;;;;;-1:-1:-1;15290:22:0;;;;-1:-1:-1;;;15290:22:0;;;;;;15577:71;;;;;;;;;;-1:-1:-1;15577:71:0;;;;-1:-1:-1;;;;;15577:71:0;;;32624:142;;;;;;;;;;-1:-1:-1;32624:142:0;;;;;:::i;:::-;;:::i;14041:54::-;;;;;;;;;;-1:-1:-1;14041:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;31744:28;;;;;;;;;;-1:-1:-1;31744:28:0;;;;;;;;31675;;;;;;;;;;-1:-1:-1;31675:28:0;;;;;;;;;;;19968:199;;;;;;;;;;-1:-1:-1;19968:199:0;;;;;:::i;:::-;;:::i;21443:395::-;;;;;;;;;;;;;:::i;22880:118::-;;;;;;;;;;-1:-1:-1;22880:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;22976:13:0;22945:11;22976:13;;;:7;:13;;;;;;;;;22880:118;31268:287;;;;;;;;;;-1:-1:-1;31268:287:0;;;;;:::i;:::-;;:::i;37659:98::-;;;;;;;;;;-1:-1:-1;37742:7:0;;;;;;;;;;;;-1:-1:-1;;;37742:7:0;;;;37659:98;;37266:99;;;;;;;;;;-1:-1:-1;37266:99:0;;;;;:::i;:::-;;:::i;15655:67::-;;;;;;;;;;-1:-1:-1;15655:67:0;;;;-1:-1:-1;;;;;15655:67:0;;;33609:266;;;;;;;;;;;;;:::i;14102:43::-;;;;;;;;;;-1:-1:-1;14102:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14856:48;;;;;;;;;;;;;;;;39509:340;;;;;;;;;;-1:-1:-1;39509:340:0;;;;;:::i;:::-;;:::i;32774:267::-;;;;;;;;;;;;;:::i;38104:167::-;;;;;;;;;;-1:-1:-1;38104:167:0;;;;;:::i;:::-;;:::i;34915:109::-;;;;;;;;;;-1:-1:-1;34915:109:0;;;;;:::i;:::-;;:::i;36632:123::-;;;;;;;;;;-1:-1:-1;36632:123:0;;;;;:::i;:::-;;:::i;14229:39::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14229:39:0;;;;;33047:275;;;;;;;;;;;;;:::i;13086:99::-;;;;;;;;;;-1:-1:-1;13086:99:0;;;;;:::i;:::-;-1:-1:-1;;;;;13164:13:0;13140:4;13164:13;;;;;;;;;;;;;;13086:99;21297:29;;;;;;;;;;-1:-1:-1;21297:29:0;;;;;:::i;:::-;;:::i;36002:369::-;;;;;;;;;;-1:-1:-1;36002:369:0;;;;;:::i;:::-;;:::i;23752:476::-;;;;;;;;;;-1:-1:-1;23752:476:0;;;;;:::i;:::-;;:::i;21251:39::-;;;;;;;;;;-1:-1:-1;21251:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15099:21;;;;;;;;;;-1:-1:-1;15099:21:0;;;;;;;;;;;15225:28;;;;;;;;;;-1:-1:-1;15225:28:0;;;;-1:-1:-1;;;15225:28:0;;;;;;14182:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14182:40:0;;;;;14688:81;;;;;;;;;;;;14727:42;14688:81;;36377:127;;;;;;;;;;-1:-1:-1;36377:127:0;;;;;:::i;:::-;;:::i;15426:68::-;;;;;;;;;;-1:-1:-1;15426:68:0;;;;-1:-1:-1;;;;;15426:68:0;;;15356:29;;;;;;;;;;-1:-1:-1;15356:29:0;;;;-1:-1:-1;;;15356:29:0;;;;;;13992:42;;;;;;;;;;-1:-1:-1;13992:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;31885:171;;;;;;;;;;-1:-1:-1;31885:171:0;;;;;:::i;:::-;;:::i;38277:147::-;;;;;;;;;;-1:-1:-1;38277:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;38388:19:0;;;38361:7;38388:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;38277:147;35030:113;;;;;;;;;;-1:-1:-1;35030:113:0;;;;;:::i;:::-;;:::i;27725:28::-;;;;;;;;;;;;;;;;15729:65;;;;;;;;;;-1:-1:-1;15729:65:0;;;;-1:-1:-1;;;;;15729:65:0;;;32260:115;;;;;;;;;;-1:-1:-1;32260:115:0;;;;;:::i;:::-;;:::i;33328:273::-;;;;;;;;;;;;;:::i;34000:105::-;;;;;;;;;;-1:-1:-1;34000:105:0;;;;;:::i;:::-;;:::i;35256:126::-;;;;;;;;;;-1:-1:-1;35256:126:0;;;;;:::i;:::-;;:::i;32490:::-;;;;;;;;;;-1:-1:-1;32490:126:0;;;;;:::i;:::-;;:::i;15801:31::-;;;;;;;;;;-1:-1:-1;15801:31:0;;;;-1:-1:-1;;;;;15801:31:0;;;31710:27;;;;;;;;;;;;;;;;34111:117;;;;;;;;;;-1:-1:-1;34111:117:0;;;;;:::i;:::-;;:::i;13936:45::-;;;;;;;;;;-1:-1:-1;13936:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;37472:81;;;;;;;;;;-1:-1:-1;37540:5:0;;-1:-1:-1;;;;;37540:5:0;37472:81;;20444:97;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;;;;;;;;;20515:11:::1;:18:::0;;-1:-1:-1;;;;;;20515:18:0::1;-1:-1:-1::0;;;;;20515:18:0;;;::::1;::::0;;;::::1;::::0;;20444:97::o;23279:459::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;23396:9;23460:17:::1;23396:9:::0;23460:6;:17:::1;:::i;:::-;23449:4;23431:24;::::0;;;:9:::1;:24;::::0;;;;;:47:::1;;23423:76;;;::::0;-1:-1:-1;;;23423:76:0;;10864:2:1;23423:76:0::1;::::0;::::1;10846:21:1::0;10903:2;10883:18;;;10876:30;-1:-1:-1;;;10922:18:1;;;10915:46;10978:18;;23423:76:0::1;10662:340:1::0;23423:76:0::1;23539:17;23546:10:::0;23539:6;:17:::1;:::i;:::-;23528:4;23510:24;::::0;;;:9:::1;:24;::::0;;;;:47;;:24;;;:47:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;23573:6:0::1;::::0;-1:-1:-1;23568:163:0::1;23589:10;23585:1;:14;23568:163;;;23648:6;23621:9;:23;23631:9;;23641:1;23631:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23621:23:0::1;-1:-1:-1::0;;;;;23621:23:0::1;;;;;;;;;;;;;:33;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;23698:9:0;;-1:-1:-1;23698:9:0;23708:1;23698:12;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23674:45:0::1;23691:4;-1:-1:-1::0;;;;;23674:45:0::1;-1:-1:-1::0;;;;;;;;;;;23712:6:0::1;23674:45;;;;8989:25:1::0;;8977:2;8962:18;;8835:185;23674:45:0::1;;;;;;;;23601:3:::0;::::1;::::0;::::1;:::i;:::-;;;;23568:163;;;;23364:374;23279:459:::0;;;:::o;20858:85::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;20923:5:::1;:12:::0;;-1:-1:-1;;;;;;20923:12:0::1;-1:-1:-1::0;;;;;20923:12:0;;;::::1;::::0;;;::::1;::::0;;20858:85::o;31777:102::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;31848:12:::1;:23:::0;;-1:-1:-1;;31848:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;31777:102::o;38430:161::-;38507:4;38524:37;38533:10;38545:7;38554:6;38524:8;:37::i;:::-;-1:-1:-1;38579:4:0;38430:161;;;;;:::o;34234:675::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;34418:14:::1;34480::::0;34465;34433:30:::1;34447:16:::0;34433:11;:30:::1;:::i;:::-;:46;;;;:::i;:::-;:61;;;;:::i;:::-;34418:76;;34513:8;:13;;34523:3;34513:13;34505:64;;;::::0;-1:-1:-1;;;34505:64:0;;14308:2:1;34505:64:0::1;::::0;::::1;14290:21:1::0;14347:2;14327:18;;;14320:30;14386:34;14366:18;;;14359:62;-1:-1:-1;;;14437:18:1;;;14430:36;14483:19;;34505:64:0::1;14106:402:1::0;34505:64:0::1;34593:11;34580:10;;:24;;;;;;;;;;;;;;;;;;34633:16;34615:15;;:34;;;;;;;;;;;;;;;;;;34674:14;34660:13;;:28;;;;;;;;;;;;;;;;;;34713:14;34699:13;;:28;;;;;;;;;;;;;;;;;;34746:6;34738:7;;:14;;;;;;;;;;;;;;;;;;34772:7;34763:8;;:16;;;;;;;;;;;;;;;;;;34803:11;34790:12;;:24;;;;;;;;;;;;;;;;;;34843:2;34833:7;;;;;;;;;;;:12;;;:29;;;;-1:-1:-1::0;34849:8:0::1;::::0;34860:2:::1;34849:8;::::0;;::::1;;;:13;34833:29;:50;;;;-1:-1:-1::0;34866:12:0::1;::::0;34881:2:::1;34866:12:::0;;;::::1;;;:17;34833:50;34825:76;;;::::0;-1:-1:-1;;;34825:76:0;;12253:2:1;34825:76:0::1;::::0;::::1;12235:21:1::0;12292:2;12272:18;;;12265:30;-1:-1:-1;;;12311:18:1;;;12304:43;12364:18;;34825:76:0::1;12051:337:1::0;34825:76:0::1;34407:502;34234:675:::0;;;;;;;:::o;22598:274::-;13355:10;22677:12;13347:19;;;;;;;;;;;22677:12;;13347:19;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;22800:38:::1;::::0;-1:-1:-1;;;22800:38:0;;-1:-1:-1;;;;;7061:15:1;;22800:38:0::1;::::0;::::1;7043:34:1::0;22832:4:0::1;7093:18:1::0;;;7086:43;22738:42:0::1;::::0;;;22800:17:::1;::::0;6978:18:1;;22800:38:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22840:23;::::0;-1:-1:-1;;;22840:23:0;;-1:-1:-1;;;;;6787:32:1;;;22840:23:0::1;::::0;::::1;6769:51:1::0;22840:17:0;::::1;::::0;::::1;::::0;6742:18:1;;22840:23:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22792:72;;;;;22598:274:::0;;;:::o;36510:116::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;36592:17:::1;:26:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;36592:26:0;;::::1;::::0;;;::::1;::::0;;36510:116::o;36886:151::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;36954:51:::1;::::0;36941:9:::1;::::0;36954:10:::1;::::0;36978:21:::1;::::0;36941:9;36954:51;36941:9;36954:51;36978:21;36954:10;:51:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36940:65;;;37024:4;37016:13;;;::::0;::::1;;36929:108;36886:151::o:0;36761:121::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;36846:20:0::1;36869:5;36846:20:::0;;;:10:::1;:20;::::0;;;;:28;;-1:-1:-1;;36846:28:0::1;::::0;;36761:121::o;33883:111::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;33963:16:::1;:23:::0;;-1:-1:-1;;33963:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;33883:111::o;14317:72::-;14376:13;14309:1;14376:2;:13;:::i;:::-;14356:33;;:17;:33;:::i;:::-;14317:72;:::o;38904:388::-;39004:4;39021:36;39031:6;39039:9;39050:6;39021:9;:36::i;:::-;-1:-1:-1;;;;;39095:19:0;;39068:24;39095:19;;;:11;:19;;;;;;;;39115:10;39095:31;;;;;;;;39145:26;;;;39137:59;;;;-1:-1:-1;;;39137:59:0;;12942:2:1;39137:59:0;;;12924:21:1;12981:2;12961:18;;;12954:30;-1:-1:-1;;;13000:18:1;;;12993:50;13060:18;;39137:59:0;12740:344:1;39137:59:0;39207:55;39216:6;39224:10;39236:25;39255:6;39236:16;:25;:::i;:::-;39207:8;:55::i;:::-;-1:-1:-1;39280:4:0;;38904:388;-1:-1:-1;;;;38904:388:0:o;21846:744::-;13600:6;;-1:-1:-1;;;13600:6:0;;;;13599:7;13591:29;;;;-1:-1:-1;;;13591:29:0;;13971:2:1;13591:29:0;;;13953:21:1;14010:1;13990:18;;;13983:29;-1:-1:-1;;;14028:18:1;;;14021:39;14077:18;;13591:29:0;13769:332:1;13591:29:0;13640:4;13631:13;;-1:-1:-1;;;;13631:13:0;-1:-1:-1;;;13631:13:0;;;;;;21912:12:::1;::::0;::::1;13631:13:::0;21912:12:::1;21904:39;;;::::0;-1:-1:-1;;;21904:39:0;;17828:2:1;21904:39:0::1;::::0;::::1;17810:21:1::0;17867:2;17847:18;;;17840:30;-1:-1:-1;;;17886:18:1;;;17879:44;17940:18;;21904:39:0::1;17626:338:1::0;21904:39:0::1;21971:10;21963:19;::::0;;;:7:::1;:19;::::0;;;;;::::1;;21962:20;21954:29;;;::::0;::::1;;22085;::::0;-1:-1:-1;;;22085:29:0;;22103:10:::1;22085:29;::::0;::::1;6769:51:1::0;22016:42:0::1;::::0;21994:13:::1;::::0;22016:42;;22085:17:::1;::::0;6742:18:1;;22085:29:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22133:44;::::0;-1:-1:-1;;;22133:44:0;;22151:10:::1;22133:44;::::0;::::1;7043:34:1::0;22171:4:0::1;7093:18:1::0;;;7086:43;22070:44:0;;-1:-1:-1;22070:44:0;;-1:-1:-1;;;;;22133:17:0;::::1;::::0;::::1;::::0;6978:18:1;;22133:44:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:54;22125:87;;;::::0;-1:-1:-1;;;22125:87:0;;16455:2:1;22125:87:0::1;::::0;::::1;16437:21:1::0;16494:2;16474:18;;;16467:30;-1:-1:-1;;;16513:18:1;;;16506:50;16573:18;;22125:87:0::1;16253:344:1::0;22125:87:0::1;22249:4;22231:24;::::0;;;:9:::1;:24;::::0;;;;;:35;-1:-1:-1;22231:35:0::1;22223:66;;;::::0;-1:-1:-1;;;22223:66:0;;12595:2:1;22223:66:0::1;::::0;::::1;12577:21:1::0;12634:2;12614:18;;;12607:30;-1:-1:-1;;;12653:18:1;;;12646:48;12711:18;;22223:66:0::1;12393:342:1::0;22223:66:0::1;22300:56;::::0;-1:-1:-1;;;22300:56:0;;22321:10:::1;22300:56;::::0;::::1;7380:34:1::0;22341:4:0::1;7430:18:1::0;;;7423:43;7482:18;;;7475:34;;;-1:-1:-1;;;;;22300:20:0;::::1;::::0;::::1;::::0;7315:18:1;;22300:56:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;22385:4:0::1;22367:24;::::0;;;:9:::1;:24;::::0;;;;:35;;22395:7;;22367:24;:35:::1;::::0;22395:7;;22367:35:::1;:::i;:::-;::::0;;;-1:-1:-1;;22423:10:0::1;22413:21;::::0;;;:9:::1;:21;::::0;;;;:32;;22438:7;;22413:21;:32:::1;::::0;22438:7;;22413:32:::1;:::i;:::-;::::0;;;-1:-1:-1;;22461:44:0::1;::::0;8989:25:1;;;22485:10:0::1;::::0;22478:4:::1;::::0;-1:-1:-1;;;;;;;;;;;22461:44:0;8977:2:1;8962:18;22461:44:0::1;;;;;;;-1:-1:-1::0;;22524:10:0::1;22516:19;::::0;;;:7:::1;:19;::::0;;;;:26;;-1:-1:-1;;22516:26:0::1;22538:4;22516:26:::0;;::::1;::::0;;;22553:12:::1;:29:::0;;;;::::1;::::0;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;22553:29:0::1;::::0;;::::1;::::0;;;13667:14;;-1:-1:-1;;;;13667:14:0;;;21846:744::o;13193:106::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13270:13:0;;;::::1;:7;:13:::0;;;::::1;::::0;;;;;;:21;;-1:-1:-1;;13270:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13193:106::o;20549:93::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;20618:9:::1;:16:::0;;-1:-1:-1;;;;;;20618:16:0::1;-1:-1:-1::0;;;;;20618:16:0;;;::::1;::::0;;;::::1;::::0;;20549:93::o;19762:200::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;19850:6:::1;19828:18;;:28;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;19885:4:0::1;19867:24;::::0;;;:9:::1;:24;::::0;;;;:34;;19895:6;;19867:24;:34:::1;::::0;19895:6;;19867:34:::1;:::i;:::-;::::0;;;-1:-1:-1;;19917:37:0::1;::::0;8989:25:1;;;14807:42:0::1;::::0;19934:4:::1;::::0;-1:-1:-1;;;;;;;;;;;19917:37:0;8977:2:1;8962:18;19917:37:0::1;;;;;;;;19762:200:::0;:::o;20755:91::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;20823:8:::1;:15:::0;;-1:-1:-1;;;;;;20823:15:0::1;-1:-1:-1::0;;;;;20823:15:0;;;::::1;::::0;;;::::1;::::0;;20755:91::o;32062:159::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;32143:10:::1;32136:3;:17;;;;32128:38;;;::::0;-1:-1:-1;;;32128:38:0;;17492:2:1;32128:38:0::1;::::0;::::1;17474:21:1::0;17531:1;17511:18;;;17504:29;-1:-1:-1;;;17549:18:1;;;17542:38;17597:18;;32128:38:0::1;17290:331:1::0;32128:38:0::1;32192:15;:21:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;;32192:21:0::1;-1:-1:-1::0;;32192:21:0;;::::1;::::0;;;::::1;::::0;;32062:159::o;39298:205::-;39406:10;39380:4;39427:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;39427:32:0;;;;;;;;;;39380:4;;39397:76;;39418:7;;39427:45;;39462:10;;39427:45;:::i;35149:101::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;35223:10:::1;:19:::0;;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;35223:19:0;;::::1;::::0;;;::::1;::::0;;35149:101::o;21335:100::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;21407:12:::1;:20:::0;;;::::1;;-1:-1:-1::0;;;21407:20:0::1;-1:-1:-1::0;;;;21407:20:0;;::::1;::::0;;;::::1;::::0;;21335:100::o;35847:149::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;35944:22:::1;:44:::0;;-1:-1:-1;;;;;35944:44:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;35944:44:0;;::::1;::::0;;;::::1;::::0;;35847:149::o;35388:280::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;35521:13:::1;14309:1;35521:2;:13;:::i;:::-;35505:29;::::0;:15;:29:::1;:::i;:::-;35489:45:::0;-1:-1:-1;35571:13:0::1;14309:1;35571:2;:13;:::i;:::-;35558:26;::::0;:12;:26:::1;:::i;:::-;35595:12;:30:::0;;;;-1:-1:-1;35636:9:0::1;:24:::0;35388:280::o;19521:233::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;19588:16:::1;19607:12;;;;;;;;;-1:-1:-1::0;;;;;19607:12:0::1;19588:31;;19652:6;19630:18;;:28;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;19669:19:0;::::1;;::::0;;;:9:::1;:19;::::0;;;;:29;;19692:6;;19669:19;:29:::1;::::0;19692:6;;19669:29:::1;:::i;:::-;::::0;;;-1:-1:-1;;19714:32:0::1;::::0;8989:25:1;;;-1:-1:-1;;;;;19714:32:0;::::1;::::0;14807:42:::1;::::0;-1:-1:-1;;;;;;;;;;;19714:32:0;8977:2:1;8962:18;19714:32:0::1;;;;;;;19577:177;19521:233:::0;:::o;19271:240::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;19337:16:::1;19364:4;19337:32;;19409:6;19387:18;;:28;;;;;;;:::i;30804:155::-:0;30851:15;;30912:13;14309:1;30912:2;:13;:::i;:::-;30899:12;;:26;;;;:::i;:::-;30937:13;14309:1;30937:2;:13;:::i;:::-;30927:9;;:23;;;;:::i;:::-;30892:59;;;;30804:155;;:::o;35752:89::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;35812:14:::1;:21:::0;;-1:-1:-1;;35812:21:0::1;;;::::0;;35752:89::o;32624:142::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;32720:30:0;;;::::1;;::::0;;;:21:::1;:30;::::0;;;;:38;;-1:-1:-1;;32720:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;32624:142::o;19968:199::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;20057:6:::1;20035:18;;:28;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;20084:12:0::1;::::0;-1:-1:-1;;;20084:12:0;::::1;-1:-1:-1::0;;;;;20084:12:0::1;20074:23;::::0;;;:9:::1;:23;::::0;;;;:33;;20101:6;;20074:23;:33:::1;::::0;20101:6;;20074:33:::1;:::i;:::-;::::0;;;-1:-1:-1;;20132:12:0::1;::::0;20123:36:::1;::::0;8989:25:1;;;14807:42:0::1;::::0;-1:-1:-1;;;20132:12:0;::::1;-1:-1:-1::0;;;;;20132:12:0::1;::::0;-1:-1:-1;;;;;;;;;;;20123:36:0;8977:2:1;8962:18;20123:36:0::1;8835:185:1::0;21443:395:0;13600:6;;-1:-1:-1;;;13600:6:0;;;;13599:7;13591:29;;;;-1:-1:-1;;;13591:29:0;;13971:2:1;13591:29:0;;;13953:21:1;14010:1;13990:18;;;13983:29;-1:-1:-1;;;14028:18:1;;;14021:39;14077:18;;13591:29:0;13769:332:1;13591:29:0;13640:4;13631:13;;-1:-1:-1;;;;13631:13:0;-1:-1:-1;;;13631:13:0;;;21589:29:::1;::::0;-1:-1:-1;;;21589:29:0;;21607:10:::1;21589:29;::::0;::::1;6769:51:1::0;21520:42:0::1;::::0;-1:-1:-1;;21520:42:0;;21589:17:::1;::::0;6742:18:1;;21589:29:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21574:44;;21647:1;21637:7;:11;21629:45;;;::::0;-1:-1:-1;;;21629:45:0;;15764:2:1;21629:45:0::1;::::0;::::1;15746:21:1::0;15803:2;15783:18;;;15776:30;-1:-1:-1;;;15822:18:1;;;15815:51;15883:18;;21629:45:0::1;15562:345:1::0;21629:45:0::1;21693:44;::::0;-1:-1:-1;;;21693:44:0;;21711:10:::1;21693:44;::::0;::::1;7043:34:1::0;21731:4:0::1;7093:18:1::0;;;7086:43;21741:7:0;;-1:-1:-1;;;;;21693:17:0;::::1;::::0;::::1;::::0;6978:18:1;;21693:44:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:55;;21685:92;;;::::0;-1:-1:-1;;;21685:92:0;;11900:2:1;21685:92:0::1;::::0;::::1;11882:21:1::0;11939:2;11919:18;;;11912:30;11978:26;11958:18;;;11951:54;12022:18;;21685:92:0::1;11698:348:1::0;21685:92:0::1;-1:-1:-1::0;;;;;21788:15:0;::::1;;21812:4;21819:10;:7:::0;21827:2:::1;21819:10;:::i;:::-;21788:42;::::0;-1:-1:-1;;;;;;21788:42:0::1;::::0;;;;;;-1:-1:-1;;;;;7712:32:1;;;21788:42:0::1;::::0;::::1;7694:51:1::0;7761:18;;;7754:34;7667:18;;21788:42:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13667:6:0;:14;;-1:-1:-1;;;;13667:14:0;;;-1:-1:-1;21443:395:0:o;31268:287::-;-1:-1:-1;;;;;31396:25:0;;31360:7;31396:25;;;:9;:25;;;;;;31445:15;31435:25;;31432:74;;-1:-1:-1;31493:1:0;;31268:287;-1:-1:-1;;31268:287:0:o;31432:74::-;31523:24;31532:15;31523:8;:24;:::i;:::-;31516:31;31268:287;-1:-1:-1;;;31268:287:0:o;37266:99::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;37341:7:::1;:16:::0;;-1:-1:-1;;;;;;37341:16:0::1;-1:-1:-1::0;;;;;37341:16:0;;;::::1;::::0;;;::::1;::::0;;37266:99::o;33609:266::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;33686:10:::1;::::0;;33671:14:::1;33707:12:::0;;;;33780:45:::1;::::0;-1:-1:-1;;;33780:45:0;;33747:10:::1;33780:45;::::0;::::1;7694:51:1::0;;;7761:18;;;7754:34;;;33686:10:0;;33671:14;33794:4:::1;::::0;33780:29:::1;::::0;7667:18:1;;33780:45:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;33768:57;;33844:4;33836:31;;;::::0;-1:-1:-1;;;33836:31:0;;18508:2:1;33836:31:0::1;::::0;::::1;18490:21:1::0;18547:2;18527:18;;;18520:30;-1:-1:-1;;;18566:18:1;;;18559:45;18621:18;;33836:31:0::1;18306:339:1::0;33836:31:0::1;33660:215;;;33609:266::o:0;39509:340::-;39652:10;39596:4;39640:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;39640:32:0;;;;;;;;;;39691:35;;;;39683:60;;;;-1:-1:-1;;;39683:60:0;;18852:2:1;39683:60:0;;;18834:21:1;18891:2;18871:18;;;18864:30;-1:-1:-1;;;18910:18:1;;;18903:42;18962:18;;39683:60:0;18650:336:1;39683:60:0;39754:65;39763:10;39775:7;39784:34;39803:15;39784:16;:34;:::i;39754:65::-;-1:-1:-1;39837:4:0;;39509:340;-1:-1:-1;;;39509:340:0:o;32774:267::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;32852:16:::1;::::0;;32837:14:::1;32879:18:::0;;;;32925:9:::1;::::0;32959:32:::1;::::0;32852:16;;-1:-1:-1;;;;;32925:9:0;;::::1;::::0;;;32852:16;;32959:32:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32945:46;;;33010:4;33002:31;;;::::0;-1:-1:-1;;;33002:31:0;;18508:2:1;33002:31:0::1;::::0;::::1;18490:21:1::0;18547:2;18527:18;;;18520:30;-1:-1:-1;;;18566:18:1;;;18559:45;18621:18;;33002:31:0::1;18306:339:1::0;38104:167:0;38184:4;38201:40;38211:10;38223:9;38234:6;38201:9;:40::i;34915:109::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;34993:14:::1;:23:::0;;-1:-1:-1;;34993:23:0::1;;::::0;;;::::1;::::0;;;::::1;::::0;;34915:109::o;36632:123::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;36717:23:0::1;;::::0;;;:10:::1;:23;::::0;;;;:30;;-1:-1:-1;;36717:30:0::1;36743:4;36717:30;::::0;;36632:123::o;33047:275::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;33127:18:::1;::::0;;33112:14:::1;33156:20:::0;;;;33204:11:::1;::::0;33240:32:::1;::::0;33127:18;;-1:-1:-1;;;;;33204:11:0;;::::1;::::0;;;33127:18;;33240:32:::1;6413:205:1::0;21297:29:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21297:29:0;;-1:-1:-1;21297:29:0;:::o;36002:369::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;36099:12:::1;::::0;-1:-1:-1;;;;;36085:26:0;;::::1;-1:-1:-1::0;;;36099:12:0;;::::1;;36085:26;;36077:47;;;::::0;-1:-1:-1;;;36077:47:0;;13291:2:1;36077:47:0::1;::::0;::::1;13273:21:1::0;13330:1;13310:18;;;13303:29;-1:-1:-1;;;13348:18:1;;;13341:38;13396:18;;36077:47:0::1;13089:331:1::0;36077:47:0::1;36224:30;::::0;-1:-1:-1;;;36224:30:0;;36248:4:::1;36224:30;::::0;::::1;6769:51:1::0;36181:10:0;;36161:11:::1;::::0;-1:-1:-1;;;;;36224:15:0;::::1;::::0;::::1;::::0;6742:18:1;;36224:30:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;36203:51;;36284:1;36273:10;:12;36265:49;;;::::0;-1:-1:-1;;;36265:49:0;;15411:2:1;36265:49:0::1;::::0;::::1;15393:21:1::0;15450:2;15430:18;;;15423:30;15489:26;15469:18;;;15462:54;15533:18;;36265:49:0::1;15209:348:1::0;36265:49:0::1;36325:38;::::0;-1:-1:-1;;;36325:38:0;;36340:10:::1;36325:38;::::0;::::1;7694:51:1::0;7761:18;;;7754:34;;;-1:-1:-1;;;;;36325:14:0;::::1;::::0;::::1;::::0;7667:18:1;;36325:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;36066:305;;36002:369:::0;:::o;23752:476::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;23890:9;23869:18:::1;23918:303;23939:10;23935:1;:14;23918:303;;;24008:6;;24015:1;24008:9;;;;;;;:::i;:::-;;;;;;;23980;:24;23998:4;-1:-1:-1::0;;;;;23980:24:0::1;-1:-1:-1::0;;;;;23980:24:0::1;;;;;;;;;;;;;:37;;23972:66;;;::::0;-1:-1:-1;;;23972:66:0;;10864:2:1;23972:66:0::1;::::0;::::1;10846:21:1::0;10903:2;10883:18;;;10876:30;-1:-1:-1;;;10922:18:1;;;10915:46;10978:18;;23972:66:0::1;10662:340:1::0;23972:66:0::1;24081:6;;24088:1;24081:9;;;;;;;:::i;:::-;;;;;;;24053;:24;24071:4;-1:-1:-1::0;;;;;24053:24:0::1;-1:-1:-1::0;;;;;24053:24:0::1;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;24132:6:0;;-1:-1:-1;24132:6:0;24139:1;24132:9;;::::1;;;;;:::i;:::-;;;;;;;24105;:23;24115:9;;24125:1;24115:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24105:23:0::1;-1:-1:-1::0;;;;;24105:23:0::1;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;24185:9:0;;-1:-1:-1;24185:9:0;24195:1;24185:12;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24161:48:0::1;24178:4;-1:-1:-1::0;;;;;;;;;;;24199:6:0;;24206:1;24199:9;;::::1;;;;;:::i;:::-;;;;;;;24161:48;;;;8989:25:1::0;;8977:2;8962:18;;8835:185;24161:48:0::1;;;;;;;;23951:3:::0;::::1;::::0;::::1;:::i;:::-;;;;23918:303;;;;23858:370;23752:476:::0;;;;:::o;36377:127::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;36464:11:::1;:32:::0;;-1:-1:-1;;36464:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;36377:127::o;31885:171::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;31986:3:::1;31967:18;;:22;;;;:::i;:::-;31959:3;:31;;31951:51;;;::::0;-1:-1:-1;;;31951:51:0;;10176:2:1;31951:51:0::1;::::0;::::1;10158:21:1::0;10215:1;10195:18;;;10188:29;-1:-1:-1;;;10233:18:1;;;10226:37;10280:18;;31951:51:0::1;9974:330:1::0;31951:51:0::1;32033:9;:15:::0;31885:171::o;35030:113::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;35110:16:::1;:25:::0;;::::1;::::0;;::::1;;;-1:-1:-1::0;;35110:25:0;;::::1;::::0;;;::::1;::::0;;35030:113::o;32260:115::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;32343:16:0;;;::::1;;::::0;;;:10:::1;:16;::::0;;;;:24;;-1:-1:-1;;32343:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;32260:115::o;33328:273::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;33406:13:::1;::::0;;33391:14:::1;33430:15:::0;;;;33506:45:::1;::::0;-1:-1:-1;;;33506:45:0;;33473:10:::1;33506:45;::::0;::::1;7694:51:1::0;;;7761:18;;;7754:34;;;33406:13:0;;33391:14;33520:4:::1;::::0;33506:29:::1;::::0;7667:18:1;;33506:45:0::1;7520:274:1::0;34000:105:0;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;34072:16:::1;:25:::0;;;::::1;;;;-1:-1:-1::0;;34072:25:0;;::::1;::::0;;;::::1;::::0;;34000:105::o;35256:126::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;35342:32:::1;35361:12;:4:::0;35368:5:::1;35361:12;:::i;:::-;35342:18;:32::i;32490:126::-:0;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;32582:18:0;;;::::1;;::::0;;;:9:::1;:18;::::0;;;;:26;;-1:-1:-1;;32582:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;32490:126::o;34111:117::-;13355:10;13347:7;:19;;;;;;;;;;;;;;:40;;-1:-1:-1;13382:5:0;;-1:-1:-1;;;;;13382:5:0;13370:10;:17;13347:40;13338:63;;;;-1:-1:-1;;;13338:63:0;;;;;;;:::i;:::-;34192:12:::1;:28:::0;34111:117::o;38597:301::-;-1:-1:-1;;;;;38691:20:0;;38683:50;;;;-1:-1:-1;;;38683:50:0;;11209:2:1;38683:50:0;;;11191:21:1;11248:2;11228:18;;;11221:30;-1:-1:-1;;;11267:18:1;;;11260:47;11324:18;;38683:50:0;11007:341:1;38683:50:0;-1:-1:-1;;;;;38752:21:0;;38744:49;;;;-1:-1:-1;;;38744:49:0;;14715:2:1;38744:49:0;;;14697:21:1;14754:2;14734:18;;;14727:30;-1:-1:-1;;;14773:18:1;;;14766:45;14828:18;;38744:49:0;14513:339:1;38744:49:0;-1:-1:-1;;;;;38804:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;38857:33;;8989:25:1;;;38857:33:0;;8962:18:1;38857:33:0;;;;;;;38597:301;;;:::o;17489:1505::-;-1:-1:-1;;;;;17585:20:0;;17577:51;;;;-1:-1:-1;;;17577:51:0;;9829:2:1;17577:51:0;;;9811:21:1;9868:2;9848:18;;;9841:30;-1:-1:-1;;;9887:18:1;;;9880:48;9945:18;;17577:51:0;9627:342:1;17577:51:0;-1:-1:-1;;;;;17647:23:0;;17639:52;;;;-1:-1:-1;;;17639:52:0;;11555:2:1;17639:52:0;;;11537:21:1;11594:2;11574:18;;;11567:30;-1:-1:-1;;;11613:18:1;;;11606:46;11669:18;;17639:52:0;11353:340:1;17639:52:0;17705:11;;;;17702:113;;;-1:-1:-1;;;;;17742:18:0;;;;;;:10;:18;;;;;;;;17741:19;:45;;;;-1:-1:-1;;;;;;17765:21:0;;;;;;:10;:21;;;;;;;;17764:22;17741:45;17733:70;;;;-1:-1:-1;;;17733:70:0;;16114:2:1;17733:70:0;;;16096:21:1;16153:2;16133:18;;;16126:30;-1:-1:-1;;;16172:18:1;;;16165:42;16224:18;;17733:70:0;15912:336:1;17733:70:0;-1:-1:-1;;;;;17844:17:0;;17825:15;17844:17;;;:9;:17;;;;;;;;;:41;;-1:-1:-1;;;;;;17865:20:0;;;;;;:9;:20;;;;;;;;17844:41;:60;;;-1:-1:-1;;;;;;17889:15:0;;:7;:15;;;;;;;;;;;;;17844:60;:82;;;-1:-1:-1;;;;;;17908:18:0;;:7;:18;;;;;;;;;;;;;17844:82;17825:102;-1:-1:-1;17938:23:0;-1:-1:-1;;;;;17963:21:0;;17979:4;17963:21;;:49;;-1:-1:-1;;;;;;17988:24:0;;18007:4;17988:24;17963:49;18063:12;;17938:75;;-1:-1:-1;18024:24:0;;-1:-1:-1;;;;;18053:22:0;;;-1:-1:-1;;;18063:12:0;;;;18053:22;:53;;;;-1:-1:-1;;;;;;18079:27:0;;14727:42;18079:27;18053:53;18052:123;;;-1:-1:-1;18134:12:0;;-1:-1:-1;;;;;18121:25:0;;;-1:-1:-1;;;18134:12:0;;;;18121:25;:53;;;;-1:-1:-1;;;;;;18150:24:0;;14727:42;18150:24;18121:53;18024:152;;18200:18;:41;;;;18222:19;18200:41;:55;;;;18245:10;18200:55;18197:790;;;18272:43;18289:6;18297:9;18308:6;18272:16;:43::i;:::-;18197:790;;;18361:14;;;;;;;18356:400;;18410:5;;-1:-1:-1;;;;;18400:15:0;;;18410:5;;18400:15;;;;:37;;-1:-1:-1;18432:5:0;;-1:-1:-1;;;;;18419:18:0;;;18432:5;;18419:18;;18400:37;18396:345;;;18466:10;;-1:-1:-1;;;18466:10:0;;;;18462:260;;;18526:9;-1:-1:-1;;;;;18510:28:0;18519:6;-1:-1:-1;;;;;18510:28:0;-1:-1:-1;;;;;;;;;;;18536:1:0;18510:28;;;;8989:25:1;;8977:2;8962:18;;8835:185;18510:28:0;;;;;;;;18565:7;;;17489:1505;;;:::o;18462:260::-;18657:14;;;;;;;18649:49;;;;-1:-1:-1;;;18649:49:0;;15059:2:1;18649:49:0;;;15041:21:1;15098:2;15078:18;;;15071:30;15137:25;15117:18;;;15110:53;15180:18;;18649:49:0;14857:347:1;18649:49:0;18789:12;;18770:10;;-1:-1:-1;;;;;18781:20:0;;;-1:-1:-1;;;18789:12:0;;;;18781:20;;:47;;-1:-1:-1;;;;;;18804:24:0;;14727:42;18804:24;18781:47;18866:12;;18770:58;;-1:-1:-1;18843:11:0;;-1:-1:-1;;;;;18855:23:0;;;-1:-1:-1;;;18866:12:0;;;;18855:23;;:53;;-1:-1:-1;;;;;;18881:27:0;;14727:42;18881:27;18855:53;18843:65;;18923:52;18938:6;18945:9;18955:6;18962:5;18968:6;18923:14;:52::i;28403:1544::-;28297:27;:34;;-1:-1:-1;;28297:34:0;28327:4;28297:34;;;28530:10:::1;::::0;28521:4:::1;28297:27:::0;28503:24;;;:9:::1;:24;::::0;;;;;28297:27;;28503:37:::1;::::0;::::1;:::i;:::-;28611:9;::::0;28479:61;;-1:-1:-1;28551:15:0::1;::::0;28611:9:::1;-1:-1:-1::0;;;28611:9:0;::::1;::::0;::::1;::::0;-1:-1:-1;;;28595:15:0;::::1;::::0;::::1;::::0;28567:27:::1;::::0;28581:13;;::::1;::::0;::::1;::::0;28567;;;::::1;;:27;:::i;:::-;:43;;;;:::i;:::-;:53;;;;:::i;:::-;28551:69;;;;28631:19;28651:9;;28631:29;;28688:8;28674:11;:22;28671:127;;;28716:12;::::0;::::1;;28713:74;;;-1:-1:-1::0;28763:8:0;28713:74:::1;28830:11;28814:15;:27;:40;;;-1:-1:-1::0;28843:11:0::1;::::0;::::1;::::0;28814:40:::1;28811:77;;;28870:7;;;;;28811:77;28937:13;::::0;28898:25:::1;::::0;28924:36:::1;::::0;::::1;::::0;28925:25:::1;::::0;28937:13;;::::1;;;28925:11:::0;:25:::1;:::i;:::-;28924:36;;;;:::i;:::-;29011:13;::::0;28898:62;;-1:-1:-1;28971:25:0::1;::::0;28998:36:::1;::::0;::::1;::::0;28999:25:::1;::::0;29011:13;;::::1;;;28999:11:::0;:25:::1;:::i;:::-;28998:36;;;;:::i;:::-;29082:10;::::0;28971:63;;-1:-1:-1;29045:22:0::1;::::0;29069:33:::1;::::0;::::1;::::0;29070:22:::1;::::0;-1:-1:-1;;;29082:10:0;::::1;;;29070:11:::0;:22:::1;:::i;:::-;29069:33;;;;:::i;:::-;29155:15;::::0;29045:57;;-1:-1:-1;29113:27:0::1;::::0;29142:38:::1;::::0;::::1;::::0;29143:27:::1;::::0;-1:-1:-1;;;29155:15:0;::::1;;;29143:11:::0;:27:::1;:::i;:::-;29142:38;;;;:::i;:::-;29228:9;::::0;29113:67;;-1:-1:-1;29191:21:0::1;::::0;29215:32:::1;::::0;::::1;::::0;29216:21:::1;::::0;-1:-1:-1;;;29228:9:0;::::1;;;29216:11:::0;:21:::1;:::i;:::-;29215:32;;;;:::i;:::-;29191:56:::0;-1:-1:-1;29258:16:0::1;29275:19;29293:1;29275:17:::0;:19:::1;:::i;:::-;29258:36:::0;-1:-1:-1;29305:19:0::1;29325:26;29258:36:::0;29325:17;:26:::1;:::i;:::-;29305:46:::0;-1:-1:-1;29362:17:0::1;29430:13:::0;29410:19;29380:29:::1;29392:17:::0;29305:46;29380:29:::1;:::i;:::-;:49;;;;:::i;:::-;:63;;;;:::i;:::-;29362:81:::0;-1:-1:-1;29482:21:0::1;29514:27;29362:81:::0;29514:16:::1;:27::i;:::-;29552:14;29568:41;29592:17:::0;29568:21:::1;:41;:::i;:::-;29552:58:::0;-1:-1:-1;29621:14:0::1;29659:9:::0;29639:18:::1;29646:11:::0;29552:58;29639:18:::1;:::i;:::-;29638:30;;;;:::i;:::-;29621:47;;29679:31;29693:8;29703:6;29679:13;:31::i;:::-;29721:20;29743:41;29767:17:::0;29743:21:::1;:41;:::i;:::-;29721:64;;29796:32;29815:12;29796:18;:32::i;:::-;29849:7;::::0;-1:-1:-1;;;;;29849:7:0::1;29839:18;::::0;;;:9:::1;:18;::::0;;;;:36;;29861:14;;29839:18;:36:::1;::::0;29861:14;;29839:36:::1;:::i;:::-;::::0;;;-1:-1:-1;;29915:7:0::1;::::0;29891:48:::1;::::0;8989:25:1;;;-1:-1:-1;;;;;29915:7:0;;::::1;::::0;29908:4:::1;::::0;-1:-1:-1;;;;;;;;;;;29891:48:0;8977:2:1;8962:18;29891:48:0::1;;;;;;;28468:1479;;;;;;;;;;;;;;;28342:1;-1:-1:-1::0;28354:27:0;:35;;-1:-1:-1;;28354:35:0;;;28403:1544::o;26312:347::-;-1:-1:-1;;;;;26431:17:0;;26407:21;26431:17;;;:9;:17;;;;;;26467:23;;;;26459:60;;;;-1:-1:-1;;;26459:60:0;;10511:2:1;26459:60:0;;;10493:21:1;10550:2;10530:18;;;10523:30;-1:-1:-1;;;10569:18:1;;;10562:54;10633:18;;26459:60:0;10309:348:1;26459:60:0;26533:27;26546:6;26553;26533:12;:27::i;:::-;26574:28;26584:9;26595:6;26574:9;:28::i;:::-;26634:9;-1:-1:-1;;;;;26618:33:0;26627:6;-1:-1:-1;;;;;26618:33:0;-1:-1:-1;;;;;;;;;;;26644:6:0;26618:33;;;;8989:25:1;;8977:2;8962:18;;8835:185;26618:33:0;;;;;;;;26396:263;26312:347;;;:::o;24505:1801::-;-1:-1:-1;;;;;24648:20:0;;;24621:24;24648:20;;;:9;:20;;;;;;;24703:17;;;;;;;;24739:23;;;;24731:60;;;;-1:-1:-1;;;24731:60:0;;10511:2:1;24731:60:0;;;10493:21:1;10550:2;10530:18;;;10523:30;-1:-1:-1;;;10569:18:1;;;10562:54;10633:18;;24731:60:0;10309:348:1;24731:60:0;24822:1;24812:9;;:11;;;;:::i;:::-;24800:9;:23;24834:9;24854:863;;;;-1:-1:-1;;;;;24883:29:0;;;;;;:21;:29;;;;;;;;24879:238;;-1:-1:-1;;;;;24951:17:0;;;;;;:9;:17;;;;;;24970:15;-1:-1:-1;24951:34:0;;:52;;-1:-1:-1;24987:16:0;;;;;;;24951:52;24943:82;;;;-1:-1:-1;;;24943:82:0;;19193:2:1;24943:82:0;;;19175:21:1;19232:2;19212:18;;;19205:30;-1:-1:-1;;;19251:18:1;;;19244:48;19309:18;;24943:82:0;18991:342:1;24943:82:0;25089:12;;25073:28;;:15;:28;:::i;:::-;-1:-1:-1;;;;;25055:17:0;;;;;;:9;:17;;;;;:46;24879:238;25155:9;;25147:6;:17;;25139:44;;;;-1:-1:-1;;;25139:44:0;;13627:2:1;25139:44:0;;;13609:21:1;13666:2;13646:18;;;13639:30;-1:-1:-1;;;13685:18:1;;;13678:45;13740:18;;25139:44:0;13425:339:1;25139:44:0;-1:-1:-1;25202:8:0;;;;;;;24854:863;;;25231:5;25228:489;;;25292:12;;25267:23;25284:6;25267:16;:23;:::i;:::-;:37;;25259:65;;;;-1:-1:-1;;;25259:65:0;;;;;;;:::i;:::-;25355:8;;25347:6;:16;;25339:45;;;;-1:-1:-1;;;25339:45:0;;;;;;;:::i;:::-;-1:-1:-1;25403:7:0;;;;25228:489;;;25483:12;;25458:23;25475:6;25458:16;:23;:::i;:::-;:37;;25450:65;;;;-1:-1:-1;;;25450:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25548:29:0;;;;;;:21;:29;;;;;;;;25544:130;;-1:-1:-1;;;;;25604:17:0;;;;;;:9;:17;;;;;;25623:15;-1:-1:-1;25604:34:0;;:52;;-1:-1:-1;25640:16:0;;;;;;;25604:52;25596:78;;;;-1:-1:-1;;;25596:78:0;;17149:2:1;25596:78:0;;;17131:21:1;17188:2;17168:18;;;17161:30;-1:-1:-1;;;17207:18:1;;;17200:44;17261:18;;25596:78:0;16947:338:1;25596:78:0;-1:-1:-1;25693:12:0;;;;;;;25228:489;25748:12;;-1:-1:-1;;;;;25740:20:0;;;-1:-1:-1;;;25748:12:0;;;;25740:20;;;;25739:43;;-1:-1:-1;25765:16:0;;;;25764:17;25739:43;:75;;;;-1:-1:-1;25786:27:0;;;;25785:28;25739:75;25736:119;;;25829:26;25848:6;25829:18;:26::i;:::-;25973:9;;25869:21;;25891:92;;25905:6;;25913:3;;25973:9;-1:-1:-1;;;25973:9:0;;;;;-1:-1:-1;;;25962:10:0;;;;;-1:-1:-1;;;25946:15:0;;;;;25918:27;;25932:13;;;;;;25918;;;;:27;:::i;:::-;:43;;;;:::i;:::-;:54;;;;:::i;:::-;:64;;;;:::i;:::-;25891:13;:92::i;:::-;25869:114;-1:-1:-1;25997:19:0;26017:22;25869:114;26017:6;:22;:::i;:::-;25997:42;;26053:27;26066:6;26073;26053:12;:27::i;:::-;26112:4;26094:24;;;;:9;:24;;;;;:41;;26122:13;;26094:24;:41;;26122:13;;26094:41;:::i;:::-;;;;-1:-1:-1;26149:33:0;;-1:-1:-1;26159:9:0;26170:11;26149:9;:33::i;:::-;26198:46;;8989:25:1;;;26223:4:0;;-1:-1:-1;;;;;26198:46:0;;;-1:-1:-1;;;;;;;;;;;26198:46:0;8977:2:1;8962:18;26198:46:0;;;;;;;26276:9;-1:-1:-1;;;;;26260:38:0;26269:6;-1:-1:-1;;;;;26260:38:0;-1:-1:-1;;;;;;;;;;;26286:11:0;26260:38;;;;8989:25:1;;8977:2;8962:18;;8835:185;26260:38:0;;;;;;;;24610:1696;;;;;24505:1801;;;;;:::o;29953:429::-;30046:6;;30014:48;;30031:4;;-1:-1:-1;;;;;30046:6:0;30055;30014:8;:48::i;:::-;30097:16;;;30111:1;30097:16;;;;;;;;30073:21;;30097:16;;;;;;;;;;-1:-1:-1;30097:16:0;30073:40;;30142:4;30124;30129:1;30124:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;30124:23:0;;;:7;;;;;;;;;;:23;;;;30168:6;;:13;;;-1:-1:-1;;;30168:13:0;;;;:6;;;;;:11;;:13;;;;;30124:7;;30168:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30158:4;30163:1;30158:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;30158:23:0;;;:7;;;;;;;;;:23;30192:6;;:182;;-1:-1:-1;;;30192:182:0;;:6;;;:57;;:182;;30264:6;;30192;;30301:4;;30328;;30348:15;;30192:182;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30388:381;30482:9;30470:10;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;30534:6:0;;30502:53;;30519:4;;-1:-1:-1;;;;;30534:6:0;30543:11;30502:8;:53::i;:::-;30566:6;;:195;;-1:-1:-1;;;30566:195:0;;30629:4;30566:195;;;8140:34:1;;;8190:18;;;8183:34;;;30566:6:0;8233:18:1;;;8226:34;;;8276:18;;;8269:34;8319:19;;;8312:44;30735:15:0;8372:19:1;;;8365:35;-1:-1:-1;;;;;30566:6:0;;;;:22;;30596:9;;8074:19:1;;30566:195:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;27792:388::-;27896:14;;27858:22;;27912:3;;27884:26;;27896:14;;27884:9;:26;:::i;:::-;27883:32;;;;:::i;:::-;27966:16;;27858:57;;-1:-1:-1;27926:24:0;;27984:3;;27954:28;;27966:16;;;;;27954:9;:28;:::i;:::-;27953:34;;;;:::i;:::-;28032:10;;27926:61;;-1:-1:-1;27998:18:0;;28044:3;;28020:22;;28032:10;;;;;28020:9;:22;:::i;:::-;28019:28;;;;:::i;:::-;27998:49;;28076:14;28058:16;;:32;;;;;;;:::i;:::-;;;;;;;;28121:16;28101:18;;:36;;;;;;;:::i;:::-;;;;;;;;28162:10;28148;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;27792:388:0:o;27257:158::-;-1:-1:-1;;;;;27349:15:0;;27331:17;27349:15;;;:9;:15;;;;;;:22;;27365:6;;27349:22;:::i;:::-;-1:-1:-1;;;;;27382:15:0;;;;;;;:9;:15;;;;;:25;;;;-1:-1:-1;;27257:158:0:o;27098:155::-;-1:-1:-1;;;;;27187:15:0;;27169:17;27187:15;;;:9;:15;;;;;;:22;;27203:6;;27187:22;:::i;26936:156::-;27026:7;27079:5;27065:10;27054:21;;27061:3;27054:10;;:6;:10;;;;:::i;:::-;:21;;;;:::i;:::-;27053:31;;;;:::i;:::-;27046:38;26936:156;-1:-1:-1;;;;26936:156:0:o;14:367:1:-;77:8;87:6;141:3;134:4;126:6;122:17;118:27;108:55;;159:1;156;149:12;108:55;-1:-1:-1;182:20:1;;225:18;214:30;;211:50;;;257:1;254;247:12;211:50;294:4;286:6;282:17;270:29;;354:3;347:4;337:6;334:1;330:14;322:6;318:27;314:38;311:47;308:67;;;371:1;368;361:12;308:67;14:367;;;;;:::o;386:156::-;452:20;;512:4;501:16;;491:27;;481:55;;532:1;529;522:12;481:55;386:156;;;:::o;547:247::-;606:6;659:2;647:9;638:7;634:23;630:32;627:52;;;675:1;672;665:12;627:52;714:9;701:23;733:31;758:5;733:31;:::i;799:251::-;869:6;922:2;910:9;901:7;897:23;893:32;890:52;;;938:1;935;928:12;890:52;970:9;964:16;989:31;1014:5;989:31;:::i;1055:388::-;1123:6;1131;1184:2;1172:9;1163:7;1159:23;1155:32;1152:52;;;1200:1;1197;1190:12;1152:52;1239:9;1226:23;1258:31;1283:5;1258:31;:::i;:::-;1308:5;-1:-1:-1;1365:2:1;1350:18;;1337:32;1378:33;1337:32;1378:33;:::i;:::-;1430:7;1420:17;;;1055:388;;;;;:::o;1448:456::-;1525:6;1533;1541;1594:2;1582:9;1573:7;1569:23;1565:32;1562:52;;;1610:1;1607;1600:12;1562:52;1649:9;1636:23;1668:31;1693:5;1668:31;:::i;:::-;1718:5;-1:-1:-1;1775:2:1;1760:18;;1747:32;1788:33;1747:32;1788:33;:::i;:::-;1448:456;;1840:7;;-1:-1:-1;;;1894:2:1;1879:18;;;;1866:32;;1448:456::o;1909:382::-;1974:6;1982;2035:2;2023:9;2014:7;2010:23;2006:32;2003:52;;;2051:1;2048;2041:12;2003:52;2090:9;2077:23;2109:31;2134:5;2109:31;:::i;:::-;2159:5;-1:-1:-1;2216:2:1;2201:18;;2188:32;2229:30;2188:32;2229:30;:::i;2296:315::-;2364:6;2372;2425:2;2413:9;2404:7;2400:23;2396:32;2393:52;;;2441:1;2438;2431:12;2393:52;2480:9;2467:23;2499:31;2524:5;2499:31;:::i;:::-;2549:5;2601:2;2586:18;;;;2573:32;;-1:-1:-1;;;2296:315:1:o;2616:773::-;2738:6;2746;2754;2762;2815:2;2803:9;2794:7;2790:23;2786:32;2783:52;;;2831:1;2828;2821:12;2783:52;2871:9;2858:23;2900:18;2941:2;2933:6;2930:14;2927:34;;;2957:1;2954;2947:12;2927:34;2996:70;3058:7;3049:6;3038:9;3034:22;2996:70;:::i;:::-;3085:8;;-1:-1:-1;2970:96:1;-1:-1:-1;3173:2:1;3158:18;;3145:32;;-1:-1:-1;3189:16:1;;;3186:36;;;3218:1;3215;3208:12;3186:36;;3257:72;3321:7;3310:8;3299:9;3295:24;3257:72;:::i;:::-;2616:773;;;;-1:-1:-1;3348:8:1;-1:-1:-1;;;;2616:773:1:o;3394:241::-;3450:6;3503:2;3491:9;3482:7;3478:23;3474:32;3471:52;;;3519:1;3516;3509:12;3471:52;3558:9;3545:23;3577:28;3599:5;3577:28;:::i;3640:245::-;3707:6;3760:2;3748:9;3739:7;3735:23;3731:32;3728:52;;;3776:1;3773;3766:12;3728:52;3808:9;3802:16;3827:28;3849:5;3827:28;:::i;3890:272::-;3948:6;4001:2;3989:9;3980:7;3976:23;3972:32;3969:52;;;4017:1;4014;4007:12;3969:52;4056:9;4043:23;4106:6;4099:5;4095:18;4088:5;4085:29;4075:57;;4128:1;4125;4118:12;4167:180;4226:6;4279:2;4267:9;4258:7;4254:23;4250:32;4247:52;;;4295:1;4292;4285:12;4247:52;-1:-1:-1;4318:23:1;;4167:180;-1:-1:-1;4167:180:1:o;4352:184::-;4422:6;4475:2;4463:9;4454:7;4450:23;4446:32;4443:52;;;4491:1;4488;4481:12;4443:52;-1:-1:-1;4514:16:1;;4352:184;-1:-1:-1;4352:184:1:o;4541:505::-;4636:6;4644;4652;4705:2;4693:9;4684:7;4680:23;4676:32;4673:52;;;4721:1;4718;4711:12;4673:52;4757:9;4744:23;4734:33;;4818:2;4807:9;4803:18;4790:32;4845:18;4837:6;4834:30;4831:50;;;4877:1;4874;4867:12;4831:50;4916:70;4978:7;4969:6;4958:9;4954:22;4916:70;:::i;:::-;4541:505;;5005:8;;-1:-1:-1;4890:96:1;;-1:-1:-1;;;;4541:505:1:o;5051:248::-;5119:6;5127;5180:2;5168:9;5159:7;5155:23;5151:32;5148:52;;;5196:1;5193;5186:12;5148:52;-1:-1:-1;;5219:23:1;;;5289:2;5274:18;;;5261:32;;-1:-1:-1;5051:248:1:o;5304:306::-;5392:6;5400;5408;5461:2;5449:9;5440:7;5436:23;5432:32;5429:52;;;5477:1;5474;5467:12;5429:52;5506:9;5500:16;5490:26;;5556:2;5545:9;5541:18;5535:25;5525:35;;5600:2;5589:9;5585:18;5579:25;5569:35;;5304:306;;;;;:::o;5615:182::-;5672:6;5725:2;5713:9;5704:7;5700:23;5696:32;5693:52;;;5741:1;5738;5731:12;5693:52;5764:27;5781:9;5764:27;:::i;5802:606::-;5901:6;5909;5917;5925;5933;5941;5949;6002:3;5990:9;5981:7;5977:23;5973:33;5970:53;;;6019:1;6016;6009:12;5970:53;6042:27;6059:9;6042:27;:::i;:::-;6032:37;;6088:36;6120:2;6109:9;6105:18;6088:36;:::i;:::-;6078:46;;6143:36;6175:2;6164:9;6160:18;6143:36;:::i;:::-;6133:46;;6198:36;6230:2;6219:9;6215:18;6198:36;:::i;:::-;6188:46;;6253:37;6285:3;6274:9;6270:19;6253:37;:::i;:::-;6243:47;;6309:37;6341:3;6330:9;6326:19;6309:37;:::i;:::-;6299:47;;6365:37;6397:3;6386:9;6382:19;6365:37;:::i;:::-;6355:47;;5802:606;;;;;;;;;;:::o;9025:597::-;9137:4;9166:2;9195;9184:9;9177:21;9227:6;9221:13;9270:6;9265:2;9254:9;9250:18;9243:34;9295:1;9305:140;9319:6;9316:1;9313:13;9305:140;;;9414:14;;;9410:23;;9404:30;9380:17;;;9399:2;9376:26;9369:66;9334:10;;9305:140;;;9463:6;9460:1;9457:13;9454:91;;;9533:1;9528:2;9519:6;9508:9;9504:22;9500:31;9493:42;9454:91;-1:-1:-1;9606:2:1;9585:15;-1:-1:-1;;9581:29:1;9566:45;;;;9613:2;9562:54;;9025:597;-1:-1:-1;;;9025:597:1:o;16602:340::-;16804:2;16786:21;;;16843:2;16823:18;;;16816:30;-1:-1:-1;;;16877:2:1;16862:18;;16855:46;16933:2;16918:18;;16602:340::o;17969:332::-;18171:2;18153:21;;;18210:1;18190:18;;;18183:29;-1:-1:-1;;;18243:2:1;18228:18;;18221:39;18292:2;18277:18;;17969:332::o;19713:980::-;19975:4;20023:3;20012:9;20008:19;20054:6;20043:9;20036:25;20080:2;20118:6;20113:2;20102:9;20098:18;20091:34;20161:3;20156:2;20145:9;20141:18;20134:31;20185:6;20220;20214:13;20251:6;20243;20236:22;20289:3;20278:9;20274:19;20267:26;;20328:2;20320:6;20316:15;20302:29;;20349:1;20359:195;20373:6;20370:1;20367:13;20359:195;;;20438:13;;-1:-1:-1;;;;;20434:39:1;20422:52;;20529:15;;;;20494:12;;;;20470:1;20388:9;20359:195;;;-1:-1:-1;;;;;;;20610:32:1;;;;20605:2;20590:18;;20583:60;-1:-1:-1;;;20674:3:1;20659:19;20652:35;20571:3;19713:980;-1:-1:-1;;;19713:980:1:o;21752:128::-;21792:3;21823:1;21819:6;21816:1;21813:13;21810:39;;;21829:18;;:::i;:::-;-1:-1:-1;21865:9:1;;21752:128::o;21885:204::-;21923:3;21959:4;21956:1;21952:12;21991:4;21988:1;21984:12;22026:3;22020:4;22016:14;22011:3;22008:23;22005:49;;;22034:18;;:::i;:::-;22070:13;;21885:204;-1:-1:-1;;;21885:204:1:o;22094:217::-;22134:1;22160;22150:132;;22204:10;22199:3;22195:20;22192:1;22185:31;22239:4;22236:1;22229:15;22267:4;22264:1;22257:15;22150:132;-1:-1:-1;22296:9:1;;22094:217::o;22316:422::-;22405:1;22448:5;22405:1;22462:270;22483:7;22473:8;22470:21;22462:270;;;22542:4;22538:1;22534:6;22530:17;22524:4;22521:27;22518:53;;;22551:18;;:::i;:::-;22601:7;22591:8;22587:22;22584:55;;;22621:16;;;;22584:55;22700:22;;;;22660:15;;;;22462:270;;;22466:3;22316:422;;;;;:::o;22743:140::-;22801:5;22830:47;22871:4;22861:8;22857:19;22851:4;22937:5;22967:8;22957:80;;-1:-1:-1;23008:1:1;23022:5;;22957:80;23056:4;23046:76;;-1:-1:-1;23093:1:1;23107:5;;23046:76;23138:4;23156:1;23151:59;;;;23224:1;23219:130;;;;23131:218;;23151:59;23181:1;23172:10;;23195:5;;;23219:130;23256:3;23246:8;23243:17;23240:43;;;23263:18;;:::i;:::-;-1:-1:-1;;23319:1:1;23305:16;;23334:5;;23131:218;;23433:2;23423:8;23420:16;23414:3;23408:4;23405:13;23401:36;23395:2;23385:8;23382:16;23377:2;23371:4;23368:12;23364:35;23361:77;23358:159;;;-1:-1:-1;23470:19:1;;;23502:5;;23358:159;23549:34;23574:8;23568:4;23549:34;:::i;:::-;23619:6;23615:1;23611:6;23607:19;23598:7;23595:32;23592:58;;;23630:18;;:::i;:::-;23668:20;;22888:806;-1:-1:-1;;;22888:806:1:o;23699:168::-;23739:7;23805:1;23801;23797:6;23793:14;23790:1;23787:21;23782:1;23775:9;23768:17;23764:45;23761:71;;;23812:18;;:::i;:::-;-1:-1:-1;23852:9:1;;23699:168::o;23872:125::-;23912:4;23940:1;23937;23934:8;23931:34;;;23945:18;;:::i;:::-;-1:-1:-1;23982:9:1;;23872:125::o;24002:135::-;24041:3;-1:-1:-1;;24062:17:1;;24059:43;;;24082:18;;:::i;:::-;-1:-1:-1;24129:1:1;24118:13;;24002:135::o;24142:127::-;24203:10;24198:3;24194:20;24191:1;24184:31;24234:4;24231:1;24224:15;24258:4;24255:1;24248:15;24274:127;24335:10;24330:3;24326:20;24323:1;24316:31;24366:4;24363:1;24356:15;24390:4;24387:1;24380:15;24538:131;-1:-1:-1;;;;;24613:31:1;;24603:42;;24593:70;;24659:1;24656;24649:12;24674:118;24760:5;24753:13;24746:21;24739:5;24736:32;24726:60;;24782:1;24779;24772:12

Swarm Source

ipfs://e5b5802ff27592dd0da6942a9cb442743dd5592352d0dc272b620ed209c1052f

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

KleeKai was launched as a meme coin, however now sports an addictive game 'KleeRun' a P2E game that is enjoyable for all ages. This token was a fair launch and rewards all holders with a 2% reflection feature that redistributes tokens among the holders every Buy, Swap & Sell.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.