Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0.124541773984908729 ETH
Eth Value
$416.15 (@ $3,341.42/ETH)Latest 25 from a total of 9,930 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21498472 | 54 mins ago | IN | 0 ETH | 0.00019547 | ||||
Transfer | 21498024 | 2 hrs ago | IN | 0 ETH | 0.00159483 | ||||
Approve | 21494383 | 14 hrs ago | IN | 0 ETH | 0.00039887 | ||||
Approve | 21492769 | 20 hrs ago | IN | 0 ETH | 0.00026329 | ||||
Approve | 21491399 | 24 hrs ago | IN | 0 ETH | 0.0002619 | ||||
Approve | 21489011 | 32 hrs ago | IN | 0 ETH | 0.00037346 | ||||
Approve | 21477262 | 3 days ago | IN | 0 ETH | 0.00026784 | ||||
Approve | 21475838 | 3 days ago | IN | 0 ETH | 0.00009649 | ||||
Approve | 21471391 | 3 days ago | IN | 0 ETH | 0.00042926 | ||||
Transfer | 21466760 | 4 days ago | IN | 0 ETH | 0.0009136 | ||||
Transfer | 21466194 | 4 days ago | IN | 0 ETH | 0.00217637 | ||||
Transfer | 21464323 | 4 days ago | IN | 0 ETH | 0.0008563 | ||||
Approve | 21463740 | 4 days ago | IN | 0 ETH | 0.00024601 | ||||
Approve | 21459878 | 5 days ago | IN | 0 ETH | 0.00016126 | ||||
Approve | 21459876 | 5 days ago | IN | 0 ETH | 0.0002972 | ||||
Approve | 21459839 | 5 days ago | IN | 0 ETH | 0.00041224 | ||||
Approve | 21450288 | 6 days ago | IN | 0 ETH | 0.00038502 | ||||
Approve | 21449793 | 6 days ago | IN | 0 ETH | 0.0004285 | ||||
Approve | 21441783 | 7 days ago | IN | 0 ETH | 0.00055099 | ||||
Approve | 21431277 | 9 days ago | IN | 0 ETH | 0.0007956 | ||||
Approve | 21430634 | 9 days ago | IN | 0 ETH | 0.00135941 | ||||
Approve | 21427383 | 9 days ago | IN | 0 ETH | 0.00047673 | ||||
Approve | 21426314 | 10 days ago | IN | 0 ETH | 0.0002741 | ||||
Approve | 21425780 | 10 days ago | IN | 0 ETH | 0.0005817 | ||||
Approve | 21423466 | 10 days ago | IN | 0 ETH | 0.00075828 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21498024 | 2 hrs ago | 0.00007867 ETH | ||||
21498024 | 2 hrs ago | 0.00234456 ETH | ||||
21496388 | 7 hrs ago | 0.00090924 ETH | ||||
21496388 | 7 hrs ago | 0.02709554 ETH | ||||
21476738 | 3 days ago | 0.00553873 ETH | ||||
21476724 | 3 days ago | 0.00553738 ETH | ||||
21463749 | 4 days ago | 0.00036272 ETH | ||||
21463749 | 4 days ago | 0.0108091 ETH | ||||
21463180 | 4 days ago | 0.00583923 ETH | ||||
21459876 | 5 days ago | 0.00031022 ETH | ||||
21459876 | 5 days ago | 0.00924469 ETH | ||||
21459876 | 5 days ago | 0.00000331 ETH | ||||
21459876 | 5 days ago | 0.00009874 ETH | ||||
21459876 | 5 days ago | 0.00033146 ETH | ||||
21459876 | 5 days ago | 0.00987763 ETH | ||||
21427387 | 9 days ago | 0.00019598 ETH | ||||
21427387 | 9 days ago | 0.00584021 ETH | ||||
21413446 | 11 days ago | 0.00039852 ETH | ||||
21413446 | 11 days ago | 0.01187614 ETH | ||||
21401674 | 13 days ago | 0.00100182 ETH | ||||
21401674 | 13 days ago | 0.02985446 ETH | ||||
21358121 | 19 days ago | 0.00048159 ETH | ||||
21358121 | 19 days ago | 0.01435161 ETH | ||||
21347231 | 21 days ago | 0.00005935 ETH | ||||
21347231 | 21 days ago | 0.0017688 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
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
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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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
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.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.