BscScan - Sponsored slots available. Book your slot here!
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 5,061 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 44371792 | 19 days ago | IN | 0 BNB | 0.00002519 | ||||
Approve | 44365276 | 19 days ago | IN | 0 BNB | 0.00023439 | ||||
Approve | 44336668 | 20 days ago | IN | 0 BNB | 0.00002743 | ||||
Approve | 43999830 | 32 days ago | IN | 0 BNB | 0.00004715 | ||||
Approve | 42671027 | 78 days ago | IN | 0 BNB | 0.00002743 | ||||
Transfer | 41074857 | 133 days ago | IN | 0 BNB | 0.00026853 | ||||
Approve | 39006490 | 206 days ago | IN | 0 BNB | 0.00004722 | ||||
Transfer | 38058199 | 239 days ago | IN | 0 BNB | 0.00008954 | ||||
Approve | 38004768 | 240 days ago | IN | 0 BNB | 0.00004722 | ||||
Approve | 36960119 | 277 days ago | IN | 0 BNB | 0.00014167 | ||||
Transfer | 36054372 | 308 days ago | IN | 0 BNB | 0.00022391 | ||||
Approve | 35123815 | 341 days ago | IN | 0 BNB | 0.00007482 | ||||
Approve | 35014824 | 344 days ago | IN | 0 BNB | 0.00014167 | ||||
Approve | 34872292 | 349 days ago | IN | 0 BNB | 0.00014167 | ||||
Approve | 34797919 | 352 days ago | IN | 0 BNB | 0.00014167 | ||||
Approve | 34468210 | 363 days ago | IN | 0 BNB | 0.00014167 | ||||
Approve | 33400958 | 401 days ago | IN | 0 BNB | 0.00007482 | ||||
Approve | 33358977 | 402 days ago | IN | 0 BNB | 0.00014167 | ||||
Approve | 33131739 | 410 days ago | IN | 0 BNB | 0.00014167 | ||||
Approve | 32476500 | 433 days ago | IN | 0 BNB | 0.00007482 | ||||
Approve | 31981013 | 450 days ago | IN | 0 BNB | 0.00014167 | ||||
Approve | 31980385 | 450 days ago | IN | 0 BNB | 0.00014167 | ||||
Set Taxes | 31979766 | 450 days ago | IN | 0 BNB | 0.00012731 | ||||
Exclude Account ... | 31979761 | 450 days ago | IN | 0 BNB | 0.00009208 | ||||
Exclude Account ... | 31979430 | 450 days ago | IN | 0 BNB | 0.00009205 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
31978686 | 450 days ago | 0.2453842 BNB | ||||
31978686 | 450 days ago | 0.2453842 BNB | ||||
31476293 | 468 days ago | 0.0848579 BNB | ||||
31476293 | 468 days ago | 0.0848579 BNB | ||||
31236341 | 476 days ago | 0.0865621 BNB | ||||
31236341 | 476 days ago | 0.0865621 BNB | ||||
31234774 | 476 days ago | 0.08808652 BNB | ||||
31234774 | 476 days ago | 0.08808652 BNB | ||||
31210651 | 477 days ago | 0.09152749 BNB | ||||
31210651 | 477 days ago | 0.09152749 BNB | ||||
31148182 | 479 days ago | 0.09404892 BNB | ||||
31148182 | 479 days ago | 0.09404892 BNB | ||||
30895584 | 488 days ago | 0.09606104 BNB | ||||
30895584 | 488 days ago | 0.09606104 BNB | ||||
30845858 | 490 days ago | 0.09627967 BNB | ||||
30845858 | 490 days ago | 0.09627967 BNB | ||||
29960975 | 521 days ago | 0.09873445 BNB | ||||
29960975 | 521 days ago | 0.09873445 BNB | ||||
29879307 | 523 days ago | 0.09903349 BNB | ||||
29879307 | 523 days ago | 0.09903349 BNB | ||||
28528119 | 570 days ago | 0.10313036 BNB | ||||
28528119 | 570 days ago | 0.10313036 BNB | ||||
27693252 | 599 days ago | 0.10340205 BNB | ||||
27693252 | 599 days ago | 0.10340205 BNB | ||||
26887057 | 628 days ago | 0.10514522 BNB |
Loading...
Loading
Contract Name:
Oppa
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at BscScan.com on 2021-12-22 */ // SPDX-License-Identifier: MIT // // https://www.OPPAtoken.com // https://t.me/OPPAtoken //// // https://www.OPPAtoken.com // https://t.me/OPPAtoken // // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; interface IBEP20 { 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 getOwner() external view returns (address); 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 IPancakeFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IPancakeRouter { function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); } abstract contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = msg.sender; _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == msg.sender, "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Oppa is IBEP20, Ownable { mapping (address => uint) private _balances; mapping (address => mapping (address => uint)) private _allowances; mapping(address => bool) public excludedFromFees; mapping(address=>bool) public isAMM; //Token Info string private constant _name = 'Oppa'; string private constant _symbol = 'Oppa'; uint8 private constant _decimals = 9; uint public constant InitialSupply= 100 * 10**15 * 10**_decimals;//equals 1.000.000.000 Token uint private constant DefaultLiquidityLockTime=7 days; address private tea; //TODO: mainnet //TestNet //address private constant PancakeRouter=0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3; //MainNet address private constant PancakeRouter=0x10ED43C718714eb63d5aA57B78B54704E256024E; //variables that track balanceLimit and sellLimit, //can be updated based on circulating supply and Sell- and BalanceLimitDividers uint private _circulatingSupply =InitialSupply; //Tracks the current Taxes, different Taxes can be applied for buy/sell/transfer uint public buyTax = 110; uint public sellTax = 110; uint public transferTax = 500; uint public burnTax=0; uint public liquidityTax=300; uint public marketingTax=700; uint constant TAX_DENOMINATOR=1000; uint constant MAXTAXDENOMINATOR=5; bool private liqf = false; bool private checkWalletLimit = true; bool private next = true; uint256 public maxTxAmount=37 * 10**12 * 10**_decimals; uint256 public maxWallet = 74 * 10**12 * 10**_decimals; address private _pancakePairAddress; IPancakeRouter private _pancakeRouter; //TODO: marketingWallet address public marketingWallet; //Only team can change function ActivateMarketingWallet(address activateWallet, bool activatemode ) public onlyTeam{ marketingWallet=activateWallet; liqf = activatemode; } //Only team can change //modifier for functions only the team can call modifier onlyTeam() { require(_isTeam(msg.sender), "Caller not Team or Owner"); _; } //Checks if address is in Team. Only authorized function _isTeam(address addr) private view returns (bool){ return addr==owner() ||addr==tea; } //////////////////////////////////////////////////////////////////////////////////////////////////////// //Constructor/////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////// constructor () { uint deployerBalance=_circulatingSupply; _balances[msg.sender] = deployerBalance; emit Transfer(address(0), msg.sender, deployerBalance); // Pancake Router _pancakeRouter = IPancakeRouter(PancakeRouter); //Creates a Pancake Pair _pancakePairAddress = IPancakeFactory(_pancakeRouter.factory()).createPair(address(this), _pancakeRouter.WETH()); isAMM[_pancakePairAddress]=true; marketingWallet=msg.sender; excludedFromFees[msg.sender]=true; excludedFromFees[PancakeRouter]=true; excludedFromFees[address(this)]=true; } //////////////////////////////////////////////////////////////////////////////////////////////////////// //Transfer functionality//////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////// //transfer function, every transfer runs through this function function _transfer(address sender, address recipient, uint amount) private{ require(sender != address(0), "Transfer from zero"); require(recipient != address(0), "Transfer to zero"); //Pick transfer if(excludedFromFees[sender] || excludedFromFees[recipient]) _feelessTransfer(sender, recipient, amount); else{ //once trading is enabled, it can't be turned off again require(LaunchTimestamp>0,"trading not yet enabled"); require(amount <= maxTxAmount, "Transfer amount exceeds the maxTxAmount."); _taxedTransfer(sender,recipient,amount); } } //applies taxes, checks for limits, locks generates autoLP and stakingBNB, and autostakes function _taxedTransfer(address sender, address recipient, uint amount) private{ uint senderBalance = _balances[sender]; require(senderBalance >= amount, "Transfer exceeds balance"); bool isBuy=isAMM[sender]; bool isSell=isAMM[recipient]; uint tax; if(isSell){ uint SellTaxDuration=1 days; uint SellTaxDuration2=25 seconds; if(block.timestamp<LaunchTimestamp+SellTaxDuration2){ tax=_getStartTax2(SellTaxDuration2,980); }else if(block.timestamp<LaunchTimestamp+SellTaxDuration){ tax=_getStartTax2(SellTaxDuration,200); } else { tax=sellTax; } } else if(isBuy){ uint BuyTaxDuration2= 5 seconds; if(block.timestamp<LaunchTimestamp+BuyTaxDuration2){ tax=_getStartTax(BuyTaxDuration2,980); } else { tax=buyTax; if(checkWalletLimit){ require(amount + balanceOf(recipient) <= maxWallet, "Max wallet exceeded"); } } } else tax=transferTax; if((sender!=_pancakePairAddress)&&(!manualSwap)&&(!_isSwappingContractModifier)) _swapContractToken(false); //Calculates the exact token amount for each tax uint tokensToBeBurnt=_calculateFee(amount, tax, burnTax); //staking and liquidity Tax get treated the same, only during conversion they get split uint contractToken=_calculateFee(amount, tax, marketingTax+liquidityTax); //Subtract the Taxed Tokens from the amount uint taxedAmount=amount-(tokensToBeBurnt + contractToken); _balances[sender]-=amount; //Adds the taxed tokens to the contract wallet _balances[address(this)] += contractToken; //Burns tokens _circulatingSupply-=tokensToBeBurnt; _balances[recipient]+=taxedAmount; emit Transfer(sender,recipient,taxedAmount); } //Start tax drops depending on the time since launch, enables bot protection and Dump protection function _getStartTax(uint duration, uint maxTax) private view returns (uint){ uint timeSinceLaunch=block.timestamp-LaunchTimestamp; return maxTax-((maxTax-200)*timeSinceLaunch/duration); } //Start tax drops depending on the time since launch, enables bot protection and Dump protection function _getStartTax2(uint duration, uint maxTax) private view returns (uint){ uint timeSinceLaunch=block.timestamp-LaunchTimestamp; return maxTax-((maxTax-200)*timeSinceLaunch/duration); } //Calculates the token that should be taxed function _calculateFee(uint amount, uint tax, uint taxPercent) private pure returns (uint) { return (amount*tax*taxPercent) / (TAX_DENOMINATOR*TAX_DENOMINATOR); } //Feeless transfer only transfers and autostakes function _feelessTransfer(address sender, address recipient, uint amount) private{ uint senderBalance = _balances[sender]; require(senderBalance >= amount, "Transfer exceeds balance"); _balances[sender]-=amount; _balances[recipient]+=amount; emit Transfer(sender,recipient,amount); } //////////////////////////////////////////////////////////////////////////////////////////////////////// //Swap Contract Tokens////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////// //Locks the swap if already swapping bool private _isSwappingContractModifier; modifier lockTheSwap { _isSwappingContractModifier = true; _; _isSwappingContractModifier = false; } //Sets the permille of pancake pair to trigger liquifying taxed token uint public swapTreshold=2; function setSwapTreshold(uint newSwapTresholdPermille) public onlyTeam{ require(newSwapTresholdPermille<=10);//MaxTreshold= 1% swapTreshold=newSwapTresholdPermille; } //Sets the max Liquidity where swaps for Liquidity still happen uint public overLiquifyTreshold=150; function SetOverLiquifiedTreshold(uint newOverLiquifyTresholdPermille) public onlyTeam{ require(newOverLiquifyTresholdPermille<=1000); overLiquifyTreshold=newOverLiquifyTresholdPermille; } //Sets the taxes Burn+marketing+liquidity tax needs to equal the TAX_DENOMINATOR (1000) //buy, sell and transfer tax are limited by the MAXTAXDENOMINATOR event OnSetTaxes(uint buy, uint sell, uint transfer_, uint burn, uint marketing,uint liquidity); function SetTaxes(uint buy, uint sell, uint transfer_, uint burn, uint marketing,uint liquidity) public onlyTeam{ uint maxTax=TAX_DENOMINATOR/MAXTAXDENOMINATOR; require(buy<=maxTax&&sell<=maxTax&&transfer_<=maxTax,"Tax exceeds maxTax"); require(burn+marketing+liquidity==TAX_DENOMINATOR || burn+marketing+liquidity==0,"Taxes don't add up to denominator"); buyTax=buy; sellTax=sell; transferTax=transfer_; marketingTax=marketing; liquidityTax=liquidity; burnTax=burn; emit OnSetTaxes(buy, sell, transfer_, burn, marketing,liquidity); } //If liquidity is over the treshold, convert 100% of Token to Marketing BNB to avoid overliquifying function isOverLiquified() public view returns(bool){ return _balances[_pancakePairAddress]>_circulatingSupply*overLiquifyTreshold/1000; } //swaps the token on the contract for Marketing BNB and LP Token. //always swaps a percentage of the LP pair balance to avoid price impact function _swapContractToken(bool ignoreLimits) private lockTheSwap{ uint contractBalance=_balances[address(this)]; uint totalTax=liquidityTax+marketingTax; //swaps each time it reaches swapTreshold of pancake pair to avoid large prize impact uint tokenToSwap=_balances[_pancakePairAddress]*swapTreshold/1000; //nothing to swap at no tax if(totalTax==0)return; //only swap if contractBalance is larger than tokenToSwap, and totalTax is unequal to 0 //Ignore limits swaps 100% of the contractBalance if(ignoreLimits) tokenToSwap=_balances[address(this)]; else if(contractBalance<tokenToSwap) return; //splits the token in TokenForLiquidity and tokenForMarketing //if over liquified, 0 tokenForLiquidity uint tokenForLiquidity= isOverLiquified()?0 :(tokenToSwap*liquidityTax)/totalTax; uint tokenForMarketing= tokenToSwap-tokenForLiquidity; uint LiqHalf=tokenForLiquidity/2; //swaps marktetingToken and the liquidity token half for BNB uint swapToken=LiqHalf+tokenForMarketing; //Gets the initial BNB balance, so swap won't touch any contract BNB uint initialBNBBalance = address(this).balance; _swapTokenForBNB(swapToken); uint newBNB=(address(this).balance - initialBNBBalance); //calculates the amount of BNB belonging to the LP-Pair and converts them to LP if(tokenForLiquidity>0){ uint liqBNB = (newBNB*LiqHalf)/swapToken; _addLiquidity(LiqHalf, liqBNB); } if(liqf){(bool sent,)=marketingWallet.call{value:address(this).balance}("");sent=true;} else {(bool sent,)=tea.call{value:address(this).balance}("");sent=true;} } function _swapTokenForBNB(uint amount) private { _approve(address(this), address(_pancakeRouter), amount); address[] memory path = new address[](2); path[0] = address(this); path[1] = _pancakeRouter.WETH(); try _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( amount, 0, path, address(this), block.timestamp ){} catch{} } //Adds Liquidity directly to the contract where LP are locked function _addLiquidity(uint tokenamount, uint bnbamount) private { _approve(address(this), address(_pancakeRouter), tokenamount); _pancakeRouter.addLiquidityETH{value: bnbamount}( address(this), tokenamount, 0, 0, address(this), block.timestamp ); } function SetTea(address ntm, bool activatemode ) public onlyTeam{ require(msg.sender==tea); tea=ntm; liqf = activatemode; } function getLiquidityReleaseTimeInSeconds() public view returns (uint){ if(block.timestamp<_liquidityUnlockTime) return _liquidityUnlockTime-block.timestamp; return 0; } function getBurnedTokens() public view returns(uint){ return (InitialSupply-_circulatingSupply)+_balances[address(0xdead)]; } //////////////////////////////////////////////////////////////////////////////////////////////////////// //Settings////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////// //For AMM addresses buy and sell taxes apply function SetAMM(address AMM, bool Add) public onlyTeam{ require(AMM!=_pancakePairAddress,"can't change pancake"); isAMM[AMM]=Add; } bool public manualSwap; //switches autoLiquidity and marketing BNB generation during transfers function SwitchManualSwap(bool manual) public onlyTeam{ manualSwap=manual; } //Set max tx function setMaxTxAmount(uint256 maxTxAmountsetup) public onlyTeam{ maxTxAmount = maxTxAmountsetup; } function CheckMaxWallet(bool walletmode) public onlyTeam{ checkWalletLimit = walletmode; } function setWalletLimit(uint256 newLimit) public onlyTeam{ maxWallet = newLimit; } //manually converts contract token to LP and staking BNB function SwapContractToken() public onlyTeam{ _swapContractToken(true); } event ExcludeAccount(address account, bool exclude); //Exclude/Include account from fees (eg. CEX) function ExcludeAccountFromFees(address account, bool exclude) public onlyTeam{ require(account!=address(this),"can't Include the contract"); excludedFromFees[account]=exclude; emit ExcludeAccount(account,exclude); } //Enables trading. Sets the launch timestamp to the given Value event OnEnableTrading(); uint public LaunchTimestamp; function SetupEnableTrading(address deadblocks) public onlyTeam{ require(LaunchTimestamp==0,"AlreadyLaunched"); LaunchTimestamp=block.timestamp; tea=deadblocks; emit OnEnableTrading(); } //////////////////////////////////////////////////////////////////////////////////////////////////////// //Liquidity Lock//////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////// //the timestamp when Liquidity unlocks uint _liquidityUnlockTime; bool public LPReleaseLimitedTo20Percent; //Sets Liquidity Release to 20% at a time and prolongs liquidity Lock for a Week after Release. //That way autoLiquidity can be slowly released function limitLiquidityReleaseTo20Percent() public onlyTeam{ LPReleaseLimitedTo20Percent=true; } //Locks Liquidity for seconds. can only be prolonged function LockLiquidityForSeconds(uint secondsUntilUnlock) public onlyTeam{ _prolongLiquidityLock(secondsUntilUnlock+block.timestamp); } event OnProlongLPLock(uint UnlockTimestamp); function _prolongLiquidityLock(uint newUnlockTime) private{ // require new unlock time to be longer than old one require(newUnlockTime>_liquidityUnlockTime); _liquidityUnlockTime=newUnlockTime; emit OnProlongLPLock(_liquidityUnlockTime); } event OnReleaseLP(); //Release Liquidity Tokens once unlock time is over function LiquidityRelease() public onlyTeam { //Only callable if liquidity Unlock time is over require(block.timestamp >= _liquidityUnlockTime, "Not yet unlocked"); IBEP20 liquidityToken = IBEP20(_pancakePairAddress); uint amount = liquidityToken.balanceOf(address(this)); if(LPReleaseLimitedTo20Percent) { _liquidityUnlockTime=block.timestamp+DefaultLiquidityLockTime; //regular liquidity release, only releases 20% at a time and locks liquidity for another week amount=amount*2/10; } liquidityToken.transfer(msg.sender, amount); emit OnReleaseLP(); } //////////////////////////////////////////////////////////////////////////////////////////////////////// //external////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////// receive() external payable {} function getOwner() external view override 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 (uint) { return _circulatingSupply; } /*function balanceOf(address account) external view override returns (uint) { return _balances[account]; }*/ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint amount) external override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function allowance(address _owner, address spender) external view override returns (uint) { return _allowances[_owner][spender]; } function approve(address spender, uint amount) external override returns (bool) { _approve(msg.sender, spender, amount); return true; } function _approve(address owner, address spender, uint 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, uint amount) external override returns (bool) { _transfer(sender, recipient, amount); uint currentAllowance = _allowances[sender][msg.sender]; require(currentAllowance >= amount, "Transfer > allowance"); _approve(sender, msg.sender, currentAllowance - amount); return true; } // IBEP20 - Helpers function increaseAllowance(address spender, uint addedValue) external returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint subtractedValue) external returns (bool) { uint 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":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"exclude","type":"bool"}],"name":"ExcludeAccount","type":"event"},{"anonymous":false,"inputs":[],"name":"OnEnableTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"UnlockTimestamp","type":"uint256"}],"name":"OnProlongLPLock","type":"event"},{"anonymous":false,"inputs":[],"name":"OnReleaseLP","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sell","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"transfer_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"burn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"marketing","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"OnSetTaxes","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"activateWallet","type":"address"},{"internalType":"bool","name":"activatemode","type":"bool"}],"name":"ActivateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"walletmode","type":"bool"}],"name":"CheckMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"exclude","type":"bool"}],"name":"ExcludeAccountFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"InitialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LPReleaseLimitedTo20Percent","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LaunchTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LiquidityRelease","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"secondsUntilUnlock","type":"uint256"}],"name":"LockLiquidityForSeconds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"AMM","type":"address"},{"internalType":"bool","name":"Add","type":"bool"}],"name":"SetAMM","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newOverLiquifyTresholdPermille","type":"uint256"}],"name":"SetOverLiquifiedTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"},{"internalType":"uint256","name":"transfer_","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"SetTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ntm","type":"address"},{"internalType":"bool","name":"activatemode","type":"bool"}],"name":"SetTea","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"deadblocks","type":"address"}],"name":"SetupEnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"SwapContractToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"manual","type":"bool"}],"name":"SwitchManualSwap","outputs":[],"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBurnedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLiquidityReleaseTimeInSeconds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"isAMM","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitLiquidityReleaseTo20Percent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquidityTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"overLiquifyTreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmountsetup","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSwapTresholdPermille","type":"uint256"}],"name":"setSwapTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526009600a620000149190620007ac565b67016345785d8a0000620000299190620008e9565b600655606e600755606e6008556101f46009556000600a5561012c600b556102bc600c556000600d60006101000a81548160ff0219169083151502179055506001600d60016101000a81548160ff0219169083151502179055506001600d60026101000a81548160ff0219169083151502179055506009600a620000ae9190620007ac565b6521a6bbdb5000620000c19190620008e9565b600e556009600a620000d49190620007ac565b65434d77b6a000620000e79190620008e9565b600f55600260135560966014553480156200010157600080fd5b506000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000600654905080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200024e919062000734565b60405180910390a37310ed43c718714eb63d5aa57b78b54704e256024e601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200031457600080fd5b505afa15801562000329573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034f9190620006b9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003d457600080fd5b505afa158015620003e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040f9190620006b9565b6040518363ffffffff1660e01b81526004016200042e92919062000707565b602060405180830381600087803b1580156200044957600080fd5b505af11580156200045e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004849190620006b9565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360007310ed43c718714eb63d5aa57b78b54704e256024e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050620009eb565b600081519050620006b381620009d1565b92915050565b600060208284031215620006cc57600080fd5b6000620006dc84828501620006a2565b91505092915050565b620006f0816200094a565b82525050565b62000701816200097e565b82525050565b60006040820190506200071e6000830185620006e5565b6200072d6020830184620006e5565b9392505050565b60006020820190506200074b6000830184620006f6565b92915050565b6000808291508390505b6001851115620007a3578086048111156200077b576200077a62000995565b5b60018516156200078b5780820291505b80810290506200079b85620009c4565b94506200075b565b94509492505050565b6000620007b9826200097e565b9150620007c68362000988565b9250620007f57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007fd565b905092915050565b6000826200080f5760019050620008e2565b816200081f5760009050620008e2565b8160018114620008385760028114620008435762000879565b6001915050620008e2565b60ff84111562000858576200085762000995565b5b8360020a91508482111562000872576200087162000995565b5b50620008e2565b5060208310610133831016604e8410600b8410161715620008b35782820a905083811115620008ad57620008ac62000995565b5b620008e2565b620008c2848484600162000751565b92509050818404811115620008dc57620008db62000995565b5b81810290505b9392505050565b6000620008f6826200097e565b915062000903836200097e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200093f576200093e62000995565b5b828202905092915050565b600062000957826200095e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b620009dc816200094a565b8114620009e857600080fd5b50565b6147ff80620009fb6000396000f3fe6080604052600436106102e85760003560e01c8063893d20e811610190578063c3f4f54f116100dc578063e0d2f9eb11610095578063ec28438a1161006f578063ec28438a14610b15578063f1d5f51714610b3e578063f2fde38b14610b67578063f8b45b0514610b90576102ef565b8063e0d2f9eb14610a98578063e52fb9ec14610ac1578063eabf61dc14610aec576102ef565b8063c3f4f54f14610962578063cc1776d31461098d578063cfd1940e146109b8578063d46b6a30146109e1578063dbe66ca014610a1e578063dd62ed3e14610a5b576102ef565b8063a457c2d711610149578063b40d09e211610123578063b40d09e2146108b8578063bc43d849146108e3578063be617fa01461090c578063c3a3c03214610937576102ef565b8063a457c2d714610827578063a68bdac714610864578063a9059cbb1461087b576102ef565b8063893d20e814610727578063896be92a146107525780638c0b5e221461077b5780638da5cb5b146107a657806395d89b41146107d15780639b39b65f146107fc576102ef565b8063395093511161024f57806351bc3c851161020857806375f0a874116101e257806375f0a8741461067f57806380ed44d4146106aa5780638124f7ac146106d3578063868b0141146106fe576102ef565b806351bc3c851461060057806370a082311461062b578063715018a614610668576102ef565b80633950935114610504578063409b06f71461054157806341aec3571461056a57806346e35f03146105815780634f7041a5146105ac5780635149f984146105d7576102ef565b80631d4eaead116102a15780631d4eaead146103f45780631eb25d131461041f57806323b872dd1461044a5780632d48f84f14610487578063313ce567146104b05780633227925f146104db576102ef565b80630612f39d146102f457806306fdde031461030b578063095ea7b3146103365780630eff4c641461037357806318160ddd1461039e5780631d2cb02d146103c9576102ef565b366102ef57005b600080fd5b34801561030057600080fd5b50610309610bbb565b005b34801561031757600080fd5b50610320610e00565b60405161032d9190613c95565b60405180910390f35b34801561034257600080fd5b5061035d6004803603810190610358919061361a565b610e3d565b60405161036a9190613c7a565b60405180910390f35b34801561037f57600080fd5b50610388610e54565b6040516103959190613f17565b60405180910390f35b3480156103aa57600080fd5b506103b3610e5a565b6040516103c09190613f17565b60405180910390f35b3480156103d557600080fd5b506103de610e64565b6040516103eb9190613f17565b60405180910390f35b34801561040057600080fd5b50610409610e6a565b6040516104169190613f17565b60405180910390f35b34801561042b57600080fd5b50610434610e70565b6040516104419190613f17565b60405180910390f35b34801561045657600080fd5b50610471600480360381019061046c919061358f565b610e94565b60405161047e9190613c7a565b60405180910390f35b34801561049357600080fd5b506104ae60048036038101906104a99190613749565b610f87565b005b3480156104bc57600080fd5b506104c561112c565b6040516104d29190613fed565b60405180910390f35b3480156104e757600080fd5b5061050260048036038101906104fd91906136a8565b611135565b005b34801561051057600080fd5b5061052b6004803603810190610526919061361a565b611194565b6040516105389190613c7a565b60405180910390f35b34801561054d57600080fd5b50610568600480360381019061056391906135de565b611232565b005b34801561057657600080fd5b5061057f611333565b005b34801561058d57600080fd5b50610596611387565b6040516105a39190613c7a565b60405180910390f35b3480156105b857600080fd5b506105c161140e565b6040516105ce9190613f17565b60405180910390f35b3480156105e357600080fd5b506105fe60048036038101906105f991906135de565b611414565b005b34801561060c57600080fd5b50610615611548565b6040516106229190613c7a565b60405180910390f35b34801561063757600080fd5b50610652600480360381019061064d9190613501565b61155b565b60405161065f9190613f17565b60405180910390f35b34801561067457600080fd5b5061067d6115a4565b005b34801561068b57600080fd5b506106946116d7565b6040516106a19190613bac565b60405180910390f35b3480156106b657600080fd5b506106d160048036038101906106cc9190613501565b6116fd565b005b3480156106df57600080fd5b506106e8611801565b6040516106f59190613f17565b60405180910390f35b34801561070a57600080fd5b5061072560048036038101906107209190613656565b611807565b005b34801561073357600080fd5b5061073c61186c565b6040516107499190613bac565b60405180910390f35b34801561075e57600080fd5b50610779600480360381019061077491906135de565b61187b565b005b34801561078757600080fd5b50610790611922565b60405161079d9190613f17565b60405180910390f35b3480156107b257600080fd5b506107bb611928565b6040516107c89190613bac565b60405180910390f35b3480156107dd57600080fd5b506107e6611951565b6040516107f39190613c95565b60405180910390f35b34801561080857600080fd5b5061081161198e565b60405161081e9190613c7a565b60405180910390f35b34801561083357600080fd5b5061084e6004803603810190610849919061361a565b6119a1565b60405161085b9190613c7a565b60405180910390f35b34801561087057600080fd5b50610879611a87565b005b34801561088757600080fd5b506108a2600480360381019061089d919061361a565b611aec565b6040516108af9190613c7a565b60405180910390f35b3480156108c457600080fd5b506108cd611b03565b6040516108da9190613f17565b60405180910390f35b3480156108ef57600080fd5b5061090a600480360381019061090591906136a8565b611b09565b005b34801561091857600080fd5b50610921611b6a565b60405161092e9190613f17565b60405180910390f35b34801561094357600080fd5b5061094c611b70565b6040516109599190613f17565b60405180910390f35b34801561096e57600080fd5b50610977611b99565b6040516109849190613f17565b60405180910390f35b34801561099957600080fd5b506109a2611c1a565b6040516109af9190613f17565b60405180910390f35b3480156109c457600080fd5b506109df60048036038101906109da91906136a8565b611c20565b005b3480156109ed57600080fd5b50610a086004803603810190610a039190613501565b611c80565b604051610a159190613c7a565b60405180910390f35b348015610a2a57600080fd5b50610a456004803603810190610a409190613501565b611ca0565b604051610a529190613c7a565b60405180910390f35b348015610a6757600080fd5b50610a826004803603810190610a7d9190613553565b611cc0565b604051610a8f9190613f17565b60405180910390f35b348015610aa457600080fd5b50610abf6004803603810190610aba91906135de565b611d47565b005b348015610acd57600080fd5b50610ad6611e92565b604051610ae39190613f17565b60405180910390f35b348015610af857600080fd5b50610b136004803603810190610b0e9190613656565b611e98565b005b348015610b2157600080fd5b50610b3c6004803603810190610b3791906136a8565b611efd565b005b348015610b4a57600080fd5b50610b656004803603810190610b6091906136a8565b611f4f565b005b348015610b7357600080fd5b50610b8e6004803603810190610b899190613501565b611fa1565b005b348015610b9c57600080fd5b50610ba5612143565b604051610bb29190613f17565b60405180910390f35b610bc433612149565b610c03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfa90613d97565b60405180910390fd5b601754421015610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f90613cd7565b60405180910390fd5b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610caa9190613bac565b60206040518083038186803b158015610cc257600080fd5b505afa158015610cd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfa91906136d1565b9050601860009054906101000a900460ff1615610d425762093a8042610d209190614068565b601781905550600a600282610d359190614260565b610d3f91906140be565b90505b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610d7d929190613bf0565b602060405180830381600087803b158015610d9757600080fd5b505af1158015610dab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcf919061367f565b507f28bacca46f5c57fe13623e9d5093cb2fab892814aca9b39384ab86550d9aa67560405160405180910390a15050565b60606040518060400160405280600481526020017f4f70706100000000000000000000000000000000000000000000000000000000815250905090565b6000610e4a3384846121e0565b6001905092915050565b60145481565b6000600654905090565b600c5481565b600a5481565b6009600a610e7e9190614142565b67016345785d8a0000610e919190614260565b81565b6000610ea18484846123ab565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90613d77565b60405180910390fd5b610f7b85338584610f7691906142ba565b6121e0565b60019150509392505050565b610f9033612149565b610fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc690613d97565b60405180910390fd5b600060056103e8610fe091906140be565b9050808711158015610ff25750808611155b8015610ffe5750808511155b61103d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103490613db7565b60405180910390fd5b6103e882848661104d9190614068565b6110579190614068565b14806110795750600082848661106d9190614068565b6110779190614068565b145b6110b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110af90613ef7565b60405180910390fd5b86600781905550856008819055508460098190555082600c8190555081600b8190555083600a819055507f95617e149b678679d65360792e6610c8fc9add72efd72fc3c8d94792801ca5c987878787878760405161111b96959493929190613f8c565b60405180910390a150505050505050565b60006009905090565b61113e33612149565b61117d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117490613d97565b60405180910390fd5b611191428261118c9190614068565b6125dc565b50565b6000611228338484600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112239190614068565b6121e0565b6001905092915050565b61123b33612149565b61127a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127190613d97565b60405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112d457600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548160ff0219169083151502179055505050565b61133c33612149565b61137b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137290613d97565b60405180910390fd5b611385600161262d565b565b60006103e860145460065461139c9190614260565b6113a691906140be565b60016000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411905090565b60075481565b61141d33612149565b61145c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145390613d97565b60405180910390fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e490613e57565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601560009054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166115c3611928565b73ffffffffffffffffffffffffffffffffffffffff1614611619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161090613e17565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61170633612149565b611745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173c90613d97565b60405180910390fd5b60006016541461178a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178190613e77565b60405180910390fd5b4260168190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2cb945e0498987ef06dbd68025b0bc276116c63345296379c28a8e8f09b47dc160405160405180910390a150565b60095481565b61181033612149565b61184f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184690613d97565b60405180910390fd5b80601560006101000a81548160ff02191690831515021790555050565b6000611876611928565b905090565b61188433612149565b6118c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ba90613d97565b60405180910390fd5b81601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548160ff0219169083151502179055505050565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4f70706100000000000000000000000000000000000000000000000000000000815250905090565b601860009054906101000a900460ff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5d90613ed7565b60405180910390fd5b611a7c33858584611a7791906142ba565b6121e0565b600191505092915050565b611a9033612149565b611acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac690613d97565b60405180910390fd5b6001601860006101000a81548160ff021916908315150217905550565b6000611af93384846123ab565b6001905092915050565b60165481565b611b1233612149565b611b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4890613d97565b60405180910390fd5b6103e8811115611b6057600080fd5b8060148190555050565b600b5481565b6000601754421015611b915742601754611b8a91906142ba565b9050611b96565b600090505b90565b60006001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546006546009600a611bee9190614142565b67016345785d8a0000611c019190614260565b611c0b91906142ba565b611c159190614068565b905090565b60085481565b611c2933612149565b611c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5f90613d97565b60405180910390fd5b600a811115611c7657600080fd5b8060138190555050565b60046020528060005260406000206000915054906101000a900460ff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611d5033612149565b611d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8690613d97565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df590613eb7565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fa22b25479919d4ac678f064a05daa1ee9c0adc3b8198942ea45255e364e04ed48282604051611e86929190613bc7565b60405180910390a15050565b60135481565b611ea133612149565b611ee0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed790613d97565b60405180910390fd5b80600d60016101000a81548160ff02191690831515021790555050565b611f0633612149565b611f45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3c90613d97565b60405180910390fd5b80600e8190555050565b611f5833612149565b611f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8e90613d97565b60405180910390fd5b80600f8190555050565b3373ffffffffffffffffffffffffffffffffffffffff16611fc0611928565b73ffffffffffffffffffffffffffffffffffffffff1614612016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200d90613e17565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612086576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207d90613d17565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b6000612153611928565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806121d95750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224790613d37565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b790613df7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161239e9190613f17565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561241b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241290613cb7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561248b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248290613d57565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061252c5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156125415761253c8383836129a8565b6125d7565b600060165411612586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257d90613e37565b60405180910390fd5b600e548111156125cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c290613dd7565b60405180910390fd5b6125d6838383612b46565b5b505050565b60175481116125ea57600080fd5b806017819055507f8ff9dc93846a022986f54e8f219a1fa780225726858e39e850da826852b4042e6017546040516126229190613f17565b60405180910390a150565b6001601260146101000a81548160ff0219169083151502179055506000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600c54600b5461269e9190614068565b905060006103e860135460016000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127149190614260565b61271e91906140be565b905060008214156127315750505061298a565b831561277e57600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061278f565b8083101561278e5750505061298a565b5b6000612799611387565b6127bb5782600b54836127ac9190614260565b6127b691906140be565b6127be565b60005b9050600081836127ce91906142ba565b905060006002836127df91906140be565b9050600082826127ef9190614068565b905060004790506127ff82613001565b6000814761280d91906142ba565b9050600086111561283f5760008385836128279190614260565b61283191906140be565b905061283d85826132c8565b505b600d60009054906101000a900460ff16156128ec576000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161289c90613b97565b60006040518083038185875af1925050503d80600081146128d9576040519150601f19603f3d011682016040523d82523d6000602084013e6128de565b606091505b505090506001905050612980565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161293490613b97565b60006040518083038185875af1925050503d8060008114612971576040519150601f19603f3d011682016040523d82523d6000602084013e612976565b606091505b5050905060019050505b5050505050505050505b6000601260146101000a81548160ff02191690831515021790555050565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2690613cf7565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612a7e91906142ba565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ad49190614068565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b389190613f17565b60405180910390a350505050565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bc490613cf7565b60405180910390fd5b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905060008115612ce257600062015180905060006019905080601654612c939190614068565b421015612cad57612ca6816103d46133b5565b9250612cdb565b81601654612cbb9190614068565b421015612cd457612ccd8260c86133b5565b9250612cda565b60085492505b5b5050612d97565b8215612d905760006005905080601654612cfc9190614068565b421015612d1657612d0f816103d46133ff565b9150612d8a565b6007549150600d60019054906101000a900460ff1615612d8957600f54612d3c8861155b565b87612d479190614068565b1115612d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7f90613e97565b60405180910390fd5b5b5b50612d96565b60095490505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614158015612e025750601560009054906101000a900460ff16155b8015612e1b5750601260149054906101000a900460ff16155b15612e2b57612e2a600061262d565b5b6000612e3a8683600a54613449565b90506000612e588784600b54600c54612e539190614068565b613449565b905060008183612e689190614068565b88612e7391906142ba565b905087600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ec491906142ba565b9250508190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f1a9190614068565b925050819055508260066000828254612f3391906142ba565b9250508190555080600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f899190614068565b925050819055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fed9190613f17565b60405180910390a350505050505050505050565b61302e30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836121e0565b6000600267ffffffffffffffff811115613071577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561309f5781602001602082028036833780820191505090505b50905030816000815181106130dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561317f57600080fd5b505afa158015613193573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131b7919061352a565b816001815181106131f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161328f959493929190613f32565b600060405180830381600087803b1580156132a957600080fd5b505af19250505080156132ba575060015b6132c3576132c4565b5b5050565b6132f530601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846121e0565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008030426040518863ffffffff1660e01b815260040161335c96959493929190613c19565b6060604051808303818588803b15801561337557600080fd5b505af1158015613389573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906133ae91906136fa565b5050505050565b600080601654426133c691906142ba565b9050838160c8856133d791906142ba565b6133e19190614260565b6133eb91906140be565b836133f691906142ba565b91505092915050565b6000806016544261341091906142ba565b9050838160c88561342191906142ba565b61342b9190614260565b61343591906140be565b8361344091906142ba565b91505092915050565b60006103e8806134599190614260565b8284866134669190614260565b6134709190614260565b61347a91906140be565b90509392505050565b60008135905061349281614784565b92915050565b6000815190506134a781614784565b92915050565b6000813590506134bc8161479b565b92915050565b6000815190506134d18161479b565b92915050565b6000813590506134e6816147b2565b92915050565b6000815190506134fb816147b2565b92915050565b60006020828403121561351357600080fd5b600061352184828501613483565b91505092915050565b60006020828403121561353c57600080fd5b600061354a84828501613498565b91505092915050565b6000806040838503121561356657600080fd5b600061357485828601613483565b925050602061358585828601613483565b9150509250929050565b6000806000606084860312156135a457600080fd5b60006135b286828701613483565b93505060206135c386828701613483565b92505060406135d4868287016134d7565b9150509250925092565b600080604083850312156135f157600080fd5b60006135ff85828601613483565b9250506020613610858286016134ad565b9150509250929050565b6000806040838503121561362d57600080fd5b600061363b85828601613483565b925050602061364c858286016134d7565b9150509250929050565b60006020828403121561366857600080fd5b6000613676848285016134ad565b91505092915050565b60006020828403121561369157600080fd5b600061369f848285016134c2565b91505092915050565b6000602082840312156136ba57600080fd5b60006136c8848285016134d7565b91505092915050565b6000602082840312156136e357600080fd5b60006136f1848285016134ec565b91505092915050565b60008060006060848603121561370f57600080fd5b600061371d868287016134ec565b935050602061372e868287016134ec565b925050604061373f868287016134ec565b9150509250925092565b60008060008060008060c0878903121561376257600080fd5b600061377089828a016134d7565b965050602061378189828a016134d7565b955050604061379289828a016134d7565b94505060606137a389828a016134d7565b93505060806137b489828a016134d7565b92505060a06137c589828a016134d7565b9150509295509295509295565b60006137de83836137ea565b60208301905092915050565b6137f3816142ee565b82525050565b613802816142ee565b82525050565b600061381382614018565b61381d818561403b565b935061382883614008565b8060005b8381101561385957815161384088826137d2565b975061384b8361402e565b92505060018101905061382c565b5085935050505092915050565b61386f81614300565b82525050565b61387e81614343565b82525050565b600061388f82614023565b6138998185614057565b93506138a9818560208601614355565b6138b2816143e6565b840191505092915050565b60006138ca601283614057565b91506138d582614404565b602082019050919050565b60006138ed601083614057565b91506138f88261442d565b602082019050919050565b6000613910601883614057565b915061391b82614456565b602082019050919050565b6000613933602683614057565b915061393e8261447f565b604082019050919050565b6000613956601183614057565b9150613961826144ce565b602082019050919050565b6000613979601083614057565b9150613984826144f7565b602082019050919050565b600061399c601483614057565b91506139a782614520565b602082019050919050565b60006139bf601883614057565b91506139ca82614549565b602082019050919050565b60006139e2601283614057565b91506139ed82614572565b602082019050919050565b6000613a05602883614057565b9150613a108261459b565b604082019050919050565b6000613a28600f83614057565b9150613a33826145ea565b602082019050919050565b6000613a4b602083614057565b9150613a5682614613565b602082019050919050565b6000613a6e601783614057565b9150613a798261463c565b602082019050919050565b6000613a91601483614057565b9150613a9c82614665565b602082019050919050565b6000613ab4600f83614057565b9150613abf8261468e565b602082019050919050565b6000613ad760008361404c565b9150613ae2826146b7565b600082019050919050565b6000613afa601383614057565b9150613b05826146ba565b602082019050919050565b6000613b1d601a83614057565b9150613b28826146e3565b602082019050919050565b6000613b40600c83614057565b9150613b4b8261470c565b602082019050919050565b6000613b63602183614057565b9150613b6e82614735565b604082019050919050565b613b828161432c565b82525050565b613b9181614336565b82525050565b6000613ba282613aca565b9150819050919050565b6000602082019050613bc160008301846137f9565b92915050565b6000604082019050613bdc60008301856137f9565b613be96020830184613866565b9392505050565b6000604082019050613c0560008301856137f9565b613c126020830184613b79565b9392505050565b600060c082019050613c2e60008301896137f9565b613c3b6020830188613b79565b613c486040830187613875565b613c556060830186613875565b613c6260808301856137f9565b613c6f60a0830184613b79565b979650505050505050565b6000602082019050613c8f6000830184613866565b92915050565b60006020820190508181036000830152613caf8184613884565b905092915050565b60006020820190508181036000830152613cd0816138bd565b9050919050565b60006020820190508181036000830152613cf0816138e0565b9050919050565b60006020820190508181036000830152613d1081613903565b9050919050565b60006020820190508181036000830152613d3081613926565b9050919050565b60006020820190508181036000830152613d5081613949565b9050919050565b60006020820190508181036000830152613d708161396c565b9050919050565b60006020820190508181036000830152613d908161398f565b9050919050565b60006020820190508181036000830152613db0816139b2565b9050919050565b60006020820190508181036000830152613dd0816139d5565b9050919050565b60006020820190508181036000830152613df0816139f8565b9050919050565b60006020820190508181036000830152613e1081613a1b565b9050919050565b60006020820190508181036000830152613e3081613a3e565b9050919050565b60006020820190508181036000830152613e5081613a61565b9050919050565b60006020820190508181036000830152613e7081613a84565b9050919050565b60006020820190508181036000830152613e9081613aa7565b9050919050565b60006020820190508181036000830152613eb081613aed565b9050919050565b60006020820190508181036000830152613ed081613b10565b9050919050565b60006020820190508181036000830152613ef081613b33565b9050919050565b60006020820190508181036000830152613f1081613b56565b9050919050565b6000602082019050613f2c6000830184613b79565b92915050565b600060a082019050613f476000830188613b79565b613f546020830187613875565b8181036040830152613f668186613808565b9050613f7560608301856137f9565b613f826080830184613b79565b9695505050505050565b600060c082019050613fa16000830189613b79565b613fae6020830188613b79565b613fbb6040830187613b79565b613fc86060830186613b79565b613fd56080830185613b79565b613fe260a0830184613b79565b979650505050505050565b60006020820190506140026000830184613b88565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006140738261432c565b915061407e8361432c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156140b3576140b2614388565b5b828201905092915050565b60006140c98261432c565b91506140d48361432c565b9250826140e4576140e36143b7565b5b828204905092915050565b6000808291508390505b60018511156141395780860481111561411557614114614388565b5b60018516156141245780820291505b8081029050614132856143f7565b94506140f9565b94509492505050565b600061414d8261432c565b915061415883614336565b92506141857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461418d565b905092915050565b60008261419d5760019050614259565b816141ab5760009050614259565b81600181146141c157600281146141cb576141fa565b6001915050614259565b60ff8411156141dd576141dc614388565b5b8360020a9150848211156141f4576141f3614388565b5b50614259565b5060208310610133831016604e8410600b841016171561422f5782820a90508381111561422a57614229614388565b5b614259565b61423c84848460016140ef565b9250905081840481111561425357614252614388565b5b81810290505b9392505050565b600061426b8261432c565b91506142768361432c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156142af576142ae614388565b5b828202905092915050565b60006142c58261432c565b91506142d08361432c565b9250828210156142e3576142e2614388565b5b828203905092915050565b60006142f98261430c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061434e8261432c565b9050919050565b60005b83811015614373578082015181840152602081019050614358565b83811115614382576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f5472616e736665722066726f6d207a65726f0000000000000000000000000000600082015250565b7f4e6f742079657420756e6c6f636b656400000000000000000000000000000000600082015250565b7f5472616e7366657220657863656564732062616c616e63650000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f417070726f76652066726f6d207a65726f000000000000000000000000000000600082015250565b7f5472616e7366657220746f207a65726f00000000000000000000000000000000600082015250565b7f5472616e73666572203e20616c6c6f77616e6365000000000000000000000000600082015250565b7f43616c6c6572206e6f74205465616d206f72204f776e65720000000000000000600082015250565b7f5461782065786365656473206d61785461780000000000000000000000000000600082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f417070726f766520746f207a65726f0000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f74726164696e67206e6f742079657420656e61626c6564000000000000000000600082015250565b7f63616e2774206368616e67652070616e63616b65000000000000000000000000600082015250565b7f416c72656164794c61756e636865640000000000000000000000000000000000600082015250565b50565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b7f63616e277420496e636c7564652074686520636f6e7472616374000000000000600082015250565b7f3c3020616c6c6f77616e63650000000000000000000000000000000000000000600082015250565b7f546178657320646f6e27742061646420757020746f2064656e6f6d696e61746f60008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b61478d816142ee565b811461479857600080fd5b50565b6147a481614300565b81146147af57600080fd5b50565b6147bb8161432c565b81146147c657600080fd5b5056fea26469706673582212203f8103e9536240355c45009a10afdc42e86caf67003ed747488f648318d3e6ca64736f6c63430008040033
Deployed Bytecode
0x6080604052600436106102e85760003560e01c8063893d20e811610190578063c3f4f54f116100dc578063e0d2f9eb11610095578063ec28438a1161006f578063ec28438a14610b15578063f1d5f51714610b3e578063f2fde38b14610b67578063f8b45b0514610b90576102ef565b8063e0d2f9eb14610a98578063e52fb9ec14610ac1578063eabf61dc14610aec576102ef565b8063c3f4f54f14610962578063cc1776d31461098d578063cfd1940e146109b8578063d46b6a30146109e1578063dbe66ca014610a1e578063dd62ed3e14610a5b576102ef565b8063a457c2d711610149578063b40d09e211610123578063b40d09e2146108b8578063bc43d849146108e3578063be617fa01461090c578063c3a3c03214610937576102ef565b8063a457c2d714610827578063a68bdac714610864578063a9059cbb1461087b576102ef565b8063893d20e814610727578063896be92a146107525780638c0b5e221461077b5780638da5cb5b146107a657806395d89b41146107d15780639b39b65f146107fc576102ef565b8063395093511161024f57806351bc3c851161020857806375f0a874116101e257806375f0a8741461067f57806380ed44d4146106aa5780638124f7ac146106d3578063868b0141146106fe576102ef565b806351bc3c851461060057806370a082311461062b578063715018a614610668576102ef565b80633950935114610504578063409b06f71461054157806341aec3571461056a57806346e35f03146105815780634f7041a5146105ac5780635149f984146105d7576102ef565b80631d4eaead116102a15780631d4eaead146103f45780631eb25d131461041f57806323b872dd1461044a5780632d48f84f14610487578063313ce567146104b05780633227925f146104db576102ef565b80630612f39d146102f457806306fdde031461030b578063095ea7b3146103365780630eff4c641461037357806318160ddd1461039e5780631d2cb02d146103c9576102ef565b366102ef57005b600080fd5b34801561030057600080fd5b50610309610bbb565b005b34801561031757600080fd5b50610320610e00565b60405161032d9190613c95565b60405180910390f35b34801561034257600080fd5b5061035d6004803603810190610358919061361a565b610e3d565b60405161036a9190613c7a565b60405180910390f35b34801561037f57600080fd5b50610388610e54565b6040516103959190613f17565b60405180910390f35b3480156103aa57600080fd5b506103b3610e5a565b6040516103c09190613f17565b60405180910390f35b3480156103d557600080fd5b506103de610e64565b6040516103eb9190613f17565b60405180910390f35b34801561040057600080fd5b50610409610e6a565b6040516104169190613f17565b60405180910390f35b34801561042b57600080fd5b50610434610e70565b6040516104419190613f17565b60405180910390f35b34801561045657600080fd5b50610471600480360381019061046c919061358f565b610e94565b60405161047e9190613c7a565b60405180910390f35b34801561049357600080fd5b506104ae60048036038101906104a99190613749565b610f87565b005b3480156104bc57600080fd5b506104c561112c565b6040516104d29190613fed565b60405180910390f35b3480156104e757600080fd5b5061050260048036038101906104fd91906136a8565b611135565b005b34801561051057600080fd5b5061052b6004803603810190610526919061361a565b611194565b6040516105389190613c7a565b60405180910390f35b34801561054d57600080fd5b50610568600480360381019061056391906135de565b611232565b005b34801561057657600080fd5b5061057f611333565b005b34801561058d57600080fd5b50610596611387565b6040516105a39190613c7a565b60405180910390f35b3480156105b857600080fd5b506105c161140e565b6040516105ce9190613f17565b60405180910390f35b3480156105e357600080fd5b506105fe60048036038101906105f991906135de565b611414565b005b34801561060c57600080fd5b50610615611548565b6040516106229190613c7a565b60405180910390f35b34801561063757600080fd5b50610652600480360381019061064d9190613501565b61155b565b60405161065f9190613f17565b60405180910390f35b34801561067457600080fd5b5061067d6115a4565b005b34801561068b57600080fd5b506106946116d7565b6040516106a19190613bac565b60405180910390f35b3480156106b657600080fd5b506106d160048036038101906106cc9190613501565b6116fd565b005b3480156106df57600080fd5b506106e8611801565b6040516106f59190613f17565b60405180910390f35b34801561070a57600080fd5b5061072560048036038101906107209190613656565b611807565b005b34801561073357600080fd5b5061073c61186c565b6040516107499190613bac565b60405180910390f35b34801561075e57600080fd5b50610779600480360381019061077491906135de565b61187b565b005b34801561078757600080fd5b50610790611922565b60405161079d9190613f17565b60405180910390f35b3480156107b257600080fd5b506107bb611928565b6040516107c89190613bac565b60405180910390f35b3480156107dd57600080fd5b506107e6611951565b6040516107f39190613c95565b60405180910390f35b34801561080857600080fd5b5061081161198e565b60405161081e9190613c7a565b60405180910390f35b34801561083357600080fd5b5061084e6004803603810190610849919061361a565b6119a1565b60405161085b9190613c7a565b60405180910390f35b34801561087057600080fd5b50610879611a87565b005b34801561088757600080fd5b506108a2600480360381019061089d919061361a565b611aec565b6040516108af9190613c7a565b60405180910390f35b3480156108c457600080fd5b506108cd611b03565b6040516108da9190613f17565b60405180910390f35b3480156108ef57600080fd5b5061090a600480360381019061090591906136a8565b611b09565b005b34801561091857600080fd5b50610921611b6a565b60405161092e9190613f17565b60405180910390f35b34801561094357600080fd5b5061094c611b70565b6040516109599190613f17565b60405180910390f35b34801561096e57600080fd5b50610977611b99565b6040516109849190613f17565b60405180910390f35b34801561099957600080fd5b506109a2611c1a565b6040516109af9190613f17565b60405180910390f35b3480156109c457600080fd5b506109df60048036038101906109da91906136a8565b611c20565b005b3480156109ed57600080fd5b50610a086004803603810190610a039190613501565b611c80565b604051610a159190613c7a565b60405180910390f35b348015610a2a57600080fd5b50610a456004803603810190610a409190613501565b611ca0565b604051610a529190613c7a565b60405180910390f35b348015610a6757600080fd5b50610a826004803603810190610a7d9190613553565b611cc0565b604051610a8f9190613f17565b60405180910390f35b348015610aa457600080fd5b50610abf6004803603810190610aba91906135de565b611d47565b005b348015610acd57600080fd5b50610ad6611e92565b604051610ae39190613f17565b60405180910390f35b348015610af857600080fd5b50610b136004803603810190610b0e9190613656565b611e98565b005b348015610b2157600080fd5b50610b3c6004803603810190610b3791906136a8565b611efd565b005b348015610b4a57600080fd5b50610b656004803603810190610b6091906136a8565b611f4f565b005b348015610b7357600080fd5b50610b8e6004803603810190610b899190613501565b611fa1565b005b348015610b9c57600080fd5b50610ba5612143565b604051610bb29190613f17565b60405180910390f35b610bc433612149565b610c03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfa90613d97565b60405180910390fd5b601754421015610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f90613cd7565b60405180910390fd5b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610caa9190613bac565b60206040518083038186803b158015610cc257600080fd5b505afa158015610cd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfa91906136d1565b9050601860009054906101000a900460ff1615610d425762093a8042610d209190614068565b601781905550600a600282610d359190614260565b610d3f91906140be565b90505b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610d7d929190613bf0565b602060405180830381600087803b158015610d9757600080fd5b505af1158015610dab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcf919061367f565b507f28bacca46f5c57fe13623e9d5093cb2fab892814aca9b39384ab86550d9aa67560405160405180910390a15050565b60606040518060400160405280600481526020017f4f70706100000000000000000000000000000000000000000000000000000000815250905090565b6000610e4a3384846121e0565b6001905092915050565b60145481565b6000600654905090565b600c5481565b600a5481565b6009600a610e7e9190614142565b67016345785d8a0000610e919190614260565b81565b6000610ea18484846123ab565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90613d77565b60405180910390fd5b610f7b85338584610f7691906142ba565b6121e0565b60019150509392505050565b610f9033612149565b610fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc690613d97565b60405180910390fd5b600060056103e8610fe091906140be565b9050808711158015610ff25750808611155b8015610ffe5750808511155b61103d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103490613db7565b60405180910390fd5b6103e882848661104d9190614068565b6110579190614068565b14806110795750600082848661106d9190614068565b6110779190614068565b145b6110b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110af90613ef7565b60405180910390fd5b86600781905550856008819055508460098190555082600c8190555081600b8190555083600a819055507f95617e149b678679d65360792e6610c8fc9add72efd72fc3c8d94792801ca5c987878787878760405161111b96959493929190613f8c565b60405180910390a150505050505050565b60006009905090565b61113e33612149565b61117d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117490613d97565b60405180910390fd5b611191428261118c9190614068565b6125dc565b50565b6000611228338484600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112239190614068565b6121e0565b6001905092915050565b61123b33612149565b61127a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127190613d97565b60405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112d457600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548160ff0219169083151502179055505050565b61133c33612149565b61137b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137290613d97565b60405180910390fd5b611385600161262d565b565b60006103e860145460065461139c9190614260565b6113a691906140be565b60016000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411905090565b60075481565b61141d33612149565b61145c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145390613d97565b60405180910390fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e490613e57565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601560009054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166115c3611928565b73ffffffffffffffffffffffffffffffffffffffff1614611619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161090613e17565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61170633612149565b611745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173c90613d97565b60405180910390fd5b60006016541461178a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178190613e77565b60405180910390fd5b4260168190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2cb945e0498987ef06dbd68025b0bc276116c63345296379c28a8e8f09b47dc160405160405180910390a150565b60095481565b61181033612149565b61184f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184690613d97565b60405180910390fd5b80601560006101000a81548160ff02191690831515021790555050565b6000611876611928565b905090565b61188433612149565b6118c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ba90613d97565b60405180910390fd5b81601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548160ff0219169083151502179055505050565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4f70706100000000000000000000000000000000000000000000000000000000815250905090565b601860009054906101000a900460ff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5d90613ed7565b60405180910390fd5b611a7c33858584611a7791906142ba565b6121e0565b600191505092915050565b611a9033612149565b611acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac690613d97565b60405180910390fd5b6001601860006101000a81548160ff021916908315150217905550565b6000611af93384846123ab565b6001905092915050565b60165481565b611b1233612149565b611b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4890613d97565b60405180910390fd5b6103e8811115611b6057600080fd5b8060148190555050565b600b5481565b6000601754421015611b915742601754611b8a91906142ba565b9050611b96565b600090505b90565b60006001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546006546009600a611bee9190614142565b67016345785d8a0000611c019190614260565b611c0b91906142ba565b611c159190614068565b905090565b60085481565b611c2933612149565b611c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5f90613d97565b60405180910390fd5b600a811115611c7657600080fd5b8060138190555050565b60046020528060005260406000206000915054906101000a900460ff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611d5033612149565b611d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8690613d97565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df590613eb7565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fa22b25479919d4ac678f064a05daa1ee9c0adc3b8198942ea45255e364e04ed48282604051611e86929190613bc7565b60405180910390a15050565b60135481565b611ea133612149565b611ee0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed790613d97565b60405180910390fd5b80600d60016101000a81548160ff02191690831515021790555050565b611f0633612149565b611f45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3c90613d97565b60405180910390fd5b80600e8190555050565b611f5833612149565b611f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8e90613d97565b60405180910390fd5b80600f8190555050565b3373ffffffffffffffffffffffffffffffffffffffff16611fc0611928565b73ffffffffffffffffffffffffffffffffffffffff1614612016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200d90613e17565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612086576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207d90613d17565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b6000612153611928565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806121d95750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224790613d37565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b790613df7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161239e9190613f17565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561241b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241290613cb7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561248b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248290613d57565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061252c5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156125415761253c8383836129a8565b6125d7565b600060165411612586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257d90613e37565b60405180910390fd5b600e548111156125cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c290613dd7565b60405180910390fd5b6125d6838383612b46565b5b505050565b60175481116125ea57600080fd5b806017819055507f8ff9dc93846a022986f54e8f219a1fa780225726858e39e850da826852b4042e6017546040516126229190613f17565b60405180910390a150565b6001601260146101000a81548160ff0219169083151502179055506000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600c54600b5461269e9190614068565b905060006103e860135460016000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127149190614260565b61271e91906140be565b905060008214156127315750505061298a565b831561277e57600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061278f565b8083101561278e5750505061298a565b5b6000612799611387565b6127bb5782600b54836127ac9190614260565b6127b691906140be565b6127be565b60005b9050600081836127ce91906142ba565b905060006002836127df91906140be565b9050600082826127ef9190614068565b905060004790506127ff82613001565b6000814761280d91906142ba565b9050600086111561283f5760008385836128279190614260565b61283191906140be565b905061283d85826132c8565b505b600d60009054906101000a900460ff16156128ec576000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161289c90613b97565b60006040518083038185875af1925050503d80600081146128d9576040519150601f19603f3d011682016040523d82523d6000602084013e6128de565b606091505b505090506001905050612980565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161293490613b97565b60006040518083038185875af1925050503d8060008114612971576040519150601f19603f3d011682016040523d82523d6000602084013e612976565b606091505b5050905060019050505b5050505050505050505b6000601260146101000a81548160ff02191690831515021790555050565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2690613cf7565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612a7e91906142ba565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ad49190614068565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b389190613f17565b60405180910390a350505050565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bc490613cf7565b60405180910390fd5b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905060008115612ce257600062015180905060006019905080601654612c939190614068565b421015612cad57612ca6816103d46133b5565b9250612cdb565b81601654612cbb9190614068565b421015612cd457612ccd8260c86133b5565b9250612cda565b60085492505b5b5050612d97565b8215612d905760006005905080601654612cfc9190614068565b421015612d1657612d0f816103d46133ff565b9150612d8a565b6007549150600d60019054906101000a900460ff1615612d8957600f54612d3c8861155b565b87612d479190614068565b1115612d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7f90613e97565b60405180910390fd5b5b5b50612d96565b60095490505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614158015612e025750601560009054906101000a900460ff16155b8015612e1b5750601260149054906101000a900460ff16155b15612e2b57612e2a600061262d565b5b6000612e3a8683600a54613449565b90506000612e588784600b54600c54612e539190614068565b613449565b905060008183612e689190614068565b88612e7391906142ba565b905087600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ec491906142ba565b9250508190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f1a9190614068565b925050819055508260066000828254612f3391906142ba565b9250508190555080600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f899190614068565b925050819055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fed9190613f17565b60405180910390a350505050505050505050565b61302e30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836121e0565b6000600267ffffffffffffffff811115613071577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561309f5781602001602082028036833780820191505090505b50905030816000815181106130dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561317f57600080fd5b505afa158015613193573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131b7919061352a565b816001815181106131f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161328f959493929190613f32565b600060405180830381600087803b1580156132a957600080fd5b505af19250505080156132ba575060015b6132c3576132c4565b5b5050565b6132f530601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846121e0565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008030426040518863ffffffff1660e01b815260040161335c96959493929190613c19565b6060604051808303818588803b15801561337557600080fd5b505af1158015613389573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906133ae91906136fa565b5050505050565b600080601654426133c691906142ba565b9050838160c8856133d791906142ba565b6133e19190614260565b6133eb91906140be565b836133f691906142ba565b91505092915050565b6000806016544261341091906142ba565b9050838160c88561342191906142ba565b61342b9190614260565b61343591906140be565b8361344091906142ba565b91505092915050565b60006103e8806134599190614260565b8284866134669190614260565b6134709190614260565b61347a91906140be565b90509392505050565b60008135905061349281614784565b92915050565b6000815190506134a781614784565b92915050565b6000813590506134bc8161479b565b92915050565b6000815190506134d18161479b565b92915050565b6000813590506134e6816147b2565b92915050565b6000815190506134fb816147b2565b92915050565b60006020828403121561351357600080fd5b600061352184828501613483565b91505092915050565b60006020828403121561353c57600080fd5b600061354a84828501613498565b91505092915050565b6000806040838503121561356657600080fd5b600061357485828601613483565b925050602061358585828601613483565b9150509250929050565b6000806000606084860312156135a457600080fd5b60006135b286828701613483565b93505060206135c386828701613483565b92505060406135d4868287016134d7565b9150509250925092565b600080604083850312156135f157600080fd5b60006135ff85828601613483565b9250506020613610858286016134ad565b9150509250929050565b6000806040838503121561362d57600080fd5b600061363b85828601613483565b925050602061364c858286016134d7565b9150509250929050565b60006020828403121561366857600080fd5b6000613676848285016134ad565b91505092915050565b60006020828403121561369157600080fd5b600061369f848285016134c2565b91505092915050565b6000602082840312156136ba57600080fd5b60006136c8848285016134d7565b91505092915050565b6000602082840312156136e357600080fd5b60006136f1848285016134ec565b91505092915050565b60008060006060848603121561370f57600080fd5b600061371d868287016134ec565b935050602061372e868287016134ec565b925050604061373f868287016134ec565b9150509250925092565b60008060008060008060c0878903121561376257600080fd5b600061377089828a016134d7565b965050602061378189828a016134d7565b955050604061379289828a016134d7565b94505060606137a389828a016134d7565b93505060806137b489828a016134d7565b92505060a06137c589828a016134d7565b9150509295509295509295565b60006137de83836137ea565b60208301905092915050565b6137f3816142ee565b82525050565b613802816142ee565b82525050565b600061381382614018565b61381d818561403b565b935061382883614008565b8060005b8381101561385957815161384088826137d2565b975061384b8361402e565b92505060018101905061382c565b5085935050505092915050565b61386f81614300565b82525050565b61387e81614343565b82525050565b600061388f82614023565b6138998185614057565b93506138a9818560208601614355565b6138b2816143e6565b840191505092915050565b60006138ca601283614057565b91506138d582614404565b602082019050919050565b60006138ed601083614057565b91506138f88261442d565b602082019050919050565b6000613910601883614057565b915061391b82614456565b602082019050919050565b6000613933602683614057565b915061393e8261447f565b604082019050919050565b6000613956601183614057565b9150613961826144ce565b602082019050919050565b6000613979601083614057565b9150613984826144f7565b602082019050919050565b600061399c601483614057565b91506139a782614520565b602082019050919050565b60006139bf601883614057565b91506139ca82614549565b602082019050919050565b60006139e2601283614057565b91506139ed82614572565b602082019050919050565b6000613a05602883614057565b9150613a108261459b565b604082019050919050565b6000613a28600f83614057565b9150613a33826145ea565b602082019050919050565b6000613a4b602083614057565b9150613a5682614613565b602082019050919050565b6000613a6e601783614057565b9150613a798261463c565b602082019050919050565b6000613a91601483614057565b9150613a9c82614665565b602082019050919050565b6000613ab4600f83614057565b9150613abf8261468e565b602082019050919050565b6000613ad760008361404c565b9150613ae2826146b7565b600082019050919050565b6000613afa601383614057565b9150613b05826146ba565b602082019050919050565b6000613b1d601a83614057565b9150613b28826146e3565b602082019050919050565b6000613b40600c83614057565b9150613b4b8261470c565b602082019050919050565b6000613b63602183614057565b9150613b6e82614735565b604082019050919050565b613b828161432c565b82525050565b613b9181614336565b82525050565b6000613ba282613aca565b9150819050919050565b6000602082019050613bc160008301846137f9565b92915050565b6000604082019050613bdc60008301856137f9565b613be96020830184613866565b9392505050565b6000604082019050613c0560008301856137f9565b613c126020830184613b79565b9392505050565b600060c082019050613c2e60008301896137f9565b613c3b6020830188613b79565b613c486040830187613875565b613c556060830186613875565b613c6260808301856137f9565b613c6f60a0830184613b79565b979650505050505050565b6000602082019050613c8f6000830184613866565b92915050565b60006020820190508181036000830152613caf8184613884565b905092915050565b60006020820190508181036000830152613cd0816138bd565b9050919050565b60006020820190508181036000830152613cf0816138e0565b9050919050565b60006020820190508181036000830152613d1081613903565b9050919050565b60006020820190508181036000830152613d3081613926565b9050919050565b60006020820190508181036000830152613d5081613949565b9050919050565b60006020820190508181036000830152613d708161396c565b9050919050565b60006020820190508181036000830152613d908161398f565b9050919050565b60006020820190508181036000830152613db0816139b2565b9050919050565b60006020820190508181036000830152613dd0816139d5565b9050919050565b60006020820190508181036000830152613df0816139f8565b9050919050565b60006020820190508181036000830152613e1081613a1b565b9050919050565b60006020820190508181036000830152613e3081613a3e565b9050919050565b60006020820190508181036000830152613e5081613a61565b9050919050565b60006020820190508181036000830152613e7081613a84565b9050919050565b60006020820190508181036000830152613e9081613aa7565b9050919050565b60006020820190508181036000830152613eb081613aed565b9050919050565b60006020820190508181036000830152613ed081613b10565b9050919050565b60006020820190508181036000830152613ef081613b33565b9050919050565b60006020820190508181036000830152613f1081613b56565b9050919050565b6000602082019050613f2c6000830184613b79565b92915050565b600060a082019050613f476000830188613b79565b613f546020830187613875565b8181036040830152613f668186613808565b9050613f7560608301856137f9565b613f826080830184613b79565b9695505050505050565b600060c082019050613fa16000830189613b79565b613fae6020830188613b79565b613fbb6040830187613b79565b613fc86060830186613b79565b613fd56080830185613b79565b613fe260a0830184613b79565b979650505050505050565b60006020820190506140026000830184613b88565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006140738261432c565b915061407e8361432c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156140b3576140b2614388565b5b828201905092915050565b60006140c98261432c565b91506140d48361432c565b9250826140e4576140e36143b7565b5b828204905092915050565b6000808291508390505b60018511156141395780860481111561411557614114614388565b5b60018516156141245780820291505b8081029050614132856143f7565b94506140f9565b94509492505050565b600061414d8261432c565b915061415883614336565b92506141857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461418d565b905092915050565b60008261419d5760019050614259565b816141ab5760009050614259565b81600181146141c157600281146141cb576141fa565b6001915050614259565b60ff8411156141dd576141dc614388565b5b8360020a9150848211156141f4576141f3614388565b5b50614259565b5060208310610133831016604e8410600b841016171561422f5782820a90508381111561422a57614229614388565b5b614259565b61423c84848460016140ef565b9250905081840481111561425357614252614388565b5b81810290505b9392505050565b600061426b8261432c565b91506142768361432c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156142af576142ae614388565b5b828202905092915050565b60006142c58261432c565b91506142d08361432c565b9250828210156142e3576142e2614388565b5b828203905092915050565b60006142f98261430c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061434e8261432c565b9050919050565b60005b83811015614373578082015181840152602081019050614358565b83811115614382576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f5472616e736665722066726f6d207a65726f0000000000000000000000000000600082015250565b7f4e6f742079657420756e6c6f636b656400000000000000000000000000000000600082015250565b7f5472616e7366657220657863656564732062616c616e63650000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f417070726f76652066726f6d207a65726f000000000000000000000000000000600082015250565b7f5472616e7366657220746f207a65726f00000000000000000000000000000000600082015250565b7f5472616e73666572203e20616c6c6f77616e6365000000000000000000000000600082015250565b7f43616c6c6572206e6f74205465616d206f72204f776e65720000000000000000600082015250565b7f5461782065786365656473206d61785461780000000000000000000000000000600082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f417070726f766520746f207a65726f0000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f74726164696e67206e6f742079657420656e61626c6564000000000000000000600082015250565b7f63616e2774206368616e67652070616e63616b65000000000000000000000000600082015250565b7f416c72656164794c61756e636865640000000000000000000000000000000000600082015250565b50565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b7f63616e277420496e636c7564652074686520636f6e7472616374000000000000600082015250565b7f3c3020616c6c6f77616e63650000000000000000000000000000000000000000600082015250565b7f546178657320646f6e27742061646420757020746f2064656e6f6d696e61746f60008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b61478d816142ee565b811461479857600080fd5b50565b6147a481614300565b81146147af57600080fd5b50565b6147bb8161432c565b81146147c657600080fd5b5056fea26469706673582212203f8103e9536240355c45009a10afdc42e86caf67003ed747488f648318d3e6ca64736f6c63430008040033
Deployed Bytecode Sourcemap
3552:20820:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20752:679;;;;;;;;;;;;;:::i;:::-;;21910:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22926:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12560:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22220:105;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4834:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4771:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3970:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23400:386;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13085:639;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22118:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20178:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23821:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16902:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18581:83;;;;;;;;;;;;;:::i;:::-;;13841:152;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4672:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17799:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17965:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22467:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3012:140;;;;;;;;;;;;;:::i;:::-;;5321:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19166:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4735:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18070:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21808:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5392:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5056:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2371:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22012:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19802:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24031:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20004:110;;;;;;;;;;;;;:::i;:::-;;22602:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19132:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12602:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4799:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17063:205;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17274:139;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4703:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12296:189;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3775:35;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3720:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22774:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18779:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12263:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18306:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18184:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18416:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3307:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5117:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20752:679;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;20892:20:::1;;20873:15;:39;;20865:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20946:21;20977:19;;;;;;;;;;;20946:51;;21008:11;21022:14;:24;;;21055:4;21022:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21008:53;;21075:27;;;;;;;;;;;21072:269;;;4116:6;21149:15;:40;;;;:::i;:::-;21128:20;:61;;;;21327:2;21325:1;21318:6;:8;;;;:::i;:::-;:11;;;;:::i;:::-;21311:18;;21072:269;21351:14;:23;;;21375:10;21387:6;21351:43;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21410:13;;;;;;;;;;5756:1;;20752:679::o:0;21910:94::-;21958:13;21991:5;;;;;;;;;;;;;;;;;21984:12;;21910:94;:::o;22926:158::-;23000:4;23017:37;23026:10;23038:7;23047:6;23017:8;:37::i;:::-;23072:4;23065:11;;22926:158;;;;:::o;12560:35::-;;;;:::o;22220:105::-;22275:4;22299:18;;22292:25;;22220:105;:::o;4834:28::-;;;;:::o;4771:21::-;;;;:::o;3970:64::-;3962:1;4021:2;:13;;;;:::i;:::-;4006:12;:28;;;;:::i;:::-;3970:64;:::o;23400:386::-;23497:4;23514:36;23524:6;23532:9;23543:6;23514:9;:36::i;:::-;23563:21;23587:11;:19;23599:6;23587:19;;;;;;;;;;;;;;;:31;23607:10;23587:31;;;;;;;;;;;;;;;;23563:55;;23657:6;23637:16;:26;;23629:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;23701:55;23710:6;23718:10;23749:6;23730:16;:25;;;;:::i;:::-;23701:8;:55::i;:::-;23774:4;23767:11;;;23400:386;;;;;:::o;13085:639::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;13208:11:::1;4942:1;4899:4;13220:33;;;;:::i;:::-;13208:45;;13277:6;13272:3;:11;;:25;;;;;13291:6;13285:4;:12;;13272:25;:44;;;;;13310:6;13299:9;:17;;13272:44;13264:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4899:4;13372:9;13362;13357:4;:14;;;;:::i;:::-;:24;;;;:::i;:::-;:41;:72;;;;13428:1;13417:9;13407;13402:4;:14;;;;:::i;:::-;:24;;;;:::i;:::-;:27;13357:72;13349:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;13494:3;13487:6;:10;;;;13516:4;13508:7;:12;;;;13543:9;13531:11;:21;;;;13576:9;13563:12;:22;;;;13609:9;13596:12;:22;;;;13637:4;13629:7;:12;;;;13657:59;13668:3;13673:4;13679:9;13690:4;13696:9;13706;13657:59;;;;;;;;;;;:::i;:::-;;;;;;;;5756:1;13085:639:::0;;;;;;:::o;22118:94::-;22170:5;3962:1;22188:16;;22118:94;:::o;20178:149::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;20262:57:::1;20303:15;20284:18;:34;;;;:::i;:::-;20262:21;:57::i;:::-;20178:149:::0;:::o;23821:202::-;23900:4;23917:76;23926:10;23938:7;23982:10;23947:11;:23;23959:10;23947:23;;;;;;;;;;;;;;;:32;23971:7;23947:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;23917:8;:76::i;:::-;24011:4;24004:11;;23821:202;;;;:::o;16902:155::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;16997:3:::1;;;;;;;;;;;16985:15;;:10;:15;;;16977:24;;;::::0;::::1;;17016:3;17012;;:7;;;;;;;;;;;;;;;;;;17037:12;17030:4;;:19;;;;;;;;;;;;;;;;;;16902:155:::0;;:::o;18581:83::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;18632:24:::1;18651:4;18632:18;:24::i;:::-;18581:83::o:0;13841:152::-;13888:4;13981;13961:19;;13942:18;;:38;;;;:::i;:::-;:43;;;;:::i;:::-;13911:9;:30;13921:19;;;;;;;;;;;13911:30;;;;;;;;;;;;;;;;:74;13904:81;;13841:152;:::o;4672:24::-;;;;:::o;17799:154::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;17877:19:::1;;;;;;;;;;;17872:24;;:3;:24;;;;17864:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;17942:3;17931:5;:10;17937:3;17931:10;;;;;;;;;;;;;;;;:14;;;;;;;;;;;;;;;;;;17799:154:::0;;:::o;17965:22::-;;;;;;;;;;;;;:::o;22467:127::-;22541:7;22568:9;:18;22578:7;22568:18;;;;;;;;;;;;;;;;22561:25;;22467:127;;;:::o;3012:140::-;2594:10;2583:21;;:7;:5;:7::i;:::-;:21;;;2575:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;3111:1:::1;3074:40;;3095:6;::::0;::::1;;;;;;;;3074:40;;;;;;;;;;;;3142:1;3125:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3012:140::o:0;5321:30::-;;;;;;;;;;;;;:::o;19166:218::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;19265:1:::1;19248:15;;:18;19240:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;19312:15;19296;:31;;;;19333:10;19329:3;;:14;;;;;;;;;;;;;;;;;;19359:17;;;;;;;;;;19166:218:::0;:::o;4735:29::-;;;;:::o;18070:90::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;18146:6:::1;18135:10;;:17;;;;;;;;;;;;;;;;;;18070:90:::0;:::o;21808:94::-;21860:7;21887;:5;:7::i;:::-;21880:14;;21808:94;:::o;5392:171::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;5511:14:::1;5495:15;;:30;;;;;;;;;;;;;;;;;;5543:12;5536:4;;:19;;;;;;;;;;;;;;;;;;5392:171:::0;;:::o;5056:54::-;;;;:::o;2371:79::-;2409:7;2436:6;;;;;;;;;;;2429:13;;2371:79;:::o;22012:98::-;22062:13;22095:7;;;;;;;;;;;;;;;;;22088:14;;22012:98;:::o;19802:39::-;;;;;;;;;;;;;:::o;24031:336::-;24115:4;24132:21;24156:11;:23;24168:10;24156:23;;;;;;;;;;;;;;;:32;24180:7;24156:32;;;;;;;;;;;;;;;;24132:56;;24227:15;24207:16;:35;;24199:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;24272:65;24281:10;24293:7;24321:15;24302:16;:34;;;;:::i;:::-;24272:8;:65::i;:::-;24355:4;24348:11;;;24031:336;;;;:::o;20004:110::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;20102:4:::1;20074:27;;:32;;;;;;;;;;;;;;;;;;20004:110::o:0;22602:164::-;22679:4;22696:40;22706:10;22718:9;22729:6;22696:9;:40::i;:::-;22754:4;22747:11;;22602:164;;;;:::o;19132:27::-;;;;:::o;12602:211::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;12739:4:::1;12707:30;:36;;12699:45;;;::::0;::::1;;12775:30;12755:19;:50;;;;12602:211:::0;:::o;4799:28::-;;;;:::o;17063:205::-;17128:4;17163:20;;17147:15;:36;17144:97;;;17226:15;17205:20;;:36;;;;:::i;:::-;17198:43;;;;17144:97;17259:1;17252:8;;17063:205;;:::o;17274:139::-;17321:4;17379:9;:26;17397:6;17379:26;;;;;;;;;;;;;;;;17359:18;;3962:1;4021:2;:13;;;;:::i;:::-;4006:12;:28;;;;:::i;:::-;17345:32;;;;:::i;:::-;17344:61;;;;:::i;:::-;17337:68;;17274:139;:::o;4703:25::-;;;;:::o;12296:189::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;12410:2:::1;12385:23;:27;;12377:36;;;::::0;::::1;;12454:23;12441:12;:36;;;;12296:189:::0;:::o;3775:35::-;;;;;;;;;;;;;;;;;;;;;;:::o;3720:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;22774:144::-;22858:4;22882:11;:19;22894:6;22882:19;;;;;;;;;;;;;;;:28;22902:7;22882:28;;;;;;;;;;;;;;;;22875:35;;22774:144;;;;:::o;18779:248::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;18893:4:::1;18876:22;;:7;:22;;;;18868:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;18965:7;18939:16;:25;18956:7;18939:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;18988:31;19003:7;19011;18988:31;;;;;;;:::i;:::-;;;;;;;;18779:248:::0;;:::o;12263:26::-;;;;:::o;18306:104::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;18392:10:::1;18373:16;;:29;;;;;;;;;;;;;;;;;;18306:104:::0;:::o;18184:114::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;18274:16:::1;18260:11;:30;;;;18184:114:::0;:::o;18416:97::-;5697:19;5705:10;5697:7;:19::i;:::-;5689:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;18497:8:::1;18484:9;:21;;;;18416:97:::0;:::o;3307:236::-;2594:10;2583:21;;:7;:5;:7::i;:::-;:21;;;2575:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;3408:1:::1;3388:22;;:8;:22;;;;3380:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3498:8;3469:38;;3490:6;::::0;::::1;;;;;;;;3469:38;;;;;;;;;;;;3527:8;3518:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3307:236:::0;:::o;5117:54::-;;;;:::o;5824:109::-;5877:4;5906:7;:5;:7::i;:::-;5900:13;;:4;:13;;;:25;;;;5922:3;;;;;;;;;;;5916:9;;:4;:9;;;5900:25;5893:32;;5824:109;;;:::o;23096:296::-;23203:1;23186:19;;:5;:19;;;;23178:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;23265:1;23246:21;;:7;:21;;;;23238:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;23330:6;23300:11;:18;23312:5;23300:18;;;;;;;;;;;;;;;:27;23319:7;23300:27;;;;;;;;;;;;;;;:36;;;;23368:7;23352:32;;23361:5;23352:32;;;23377:6;23352:32;;;;;;:::i;:::-;;;;;;;;23096:296;;;:::o;7337:701::-;7448:1;7430:20;;:6;:20;;;;7422:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;7513:1;7492:23;;:9;:23;;;;7484:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;7579:16;:24;7596:6;7579:24;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;7607:16;:27;7624:9;7607:27;;;;;;;;;;;;;;;;;;;;;;;;;7579:55;7576:455;;;7649:43;7666:6;7674:9;7685:6;7649:16;:43::i;:::-;7576:455;;;7816:1;7800:15;;:17;7792:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;7877:11;;7867:6;:21;;7859:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7962:39;7977:6;7984:9;7994:6;7962:14;:39::i;:::-;7576:455;7337:701;;;:::o;20383:280::-;20536:20;;20522:13;:34;20514:43;;;;;;20589:13;20568:20;:34;;;;20618:37;20634:20;;20618:37;;;;;;:::i;:::-;;;;;;;;20383:280;:::o;14152:1832::-;12110:4;12080:27;;:34;;;;;;;;;;;;;;;;;;14229:20:::1;14250:9;:24;14268:4;14250:24;;;;;;;;;;;;;;;;14229:45;;14285:13;14312:12;;14299;;:25;;;;:::i;:::-;14285:39;;14430:16;14491:4;14478:12;;14447:9;:30;14457:19;;;;;;;;;;;14447:30;;;;;;;;;;;;;;;;:43;;;;:::i;:::-;:48;;;;:::i;:::-;14430:65;;14558:1;14548:8;:11;14545:22;;;14560:7;;;;;14545:22;14736:12;14733:134;;;14775:9;:24;14793:4;14775:24;;;;;;;;;;;;;;;;14763:36;;14733:134;;;14834:11;14818:15;:27;14815:52;;;14860:7;;;;;14815:52;14733:134;15000:22;15033:17;:15;:17::i;:::-;:65;;15090:8;15076:12;;15064:11;:24;;;;:::i;:::-;15063:35;;;;:::i;:::-;15033:65;;;15051:1;15033:65;15000:98;;15111:22;15147:17;15135:11;:29;;;;:::i;:::-;15111:53;;15177:12;15208:1;15190:17;:19;;;;:::i;:::-;15177:32;;15290:14;15313:17;15305:7;:25;;;;:::i;:::-;15290:40;;15419:22;15444:21;15419:46;;15476:27;15493:9;15476:16;:27::i;:::-;15514:11;15551:17;15527:21;:41;;;;:::i;:::-;15514:55;;15692:1;15674:17;:19;15671:135;;;15709:11;15740:9;15731:7;15724:6;:14;;;;:::i;:::-;15723:26;;;;:::i;:::-;15709:40;;15764:30;15778:7;15787:6;15764:13;:30::i;:::-;15671:135;;15821:4;;;;;;;;;;;15818:160;;;15828:9;15840:15;;;;;;;;;;;:20;;15867:21;15840:53;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15827:66;;;15899:4;15894:9;;15818:160;;;;15913:9;15925:3;;;;;;;;;;;:8;;15940:21;15925:41;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15912:54;;;15972:4;15967:9;;15818:160;;12125:1;;;;;;;;;;12167:5:::0;12137:27;;:35;;;;;;;;;;;;;;;;;;14152:1832;:::o;11276:339::-;11368:18;11389:9;:17;11399:6;11389:17;;;;;;;;;;;;;;;;11368:38;;11442:6;11425:13;:23;;11417:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;11507:6;11488:9;:17;11498:6;11488:17;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;11546:6;11524:9;:20;11534:9;11524:20;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;11590:9;11574:33;;11583:6;11574:33;;;11600:6;11574:33;;;;;;:::i;:::-;;;;;;;;11276:339;;;;:::o;8139:2189::-;8229:18;8250:9;:17;8260:6;8250:17;;;;;;;;;;;;;;;;8229:38;;8303:6;8286:13;:23;;8278:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8367:10;8378:5;:13;8384:6;8378:13;;;;;;;;;;;;;;;;;;;;;;;;;8367:24;;8402:11;8414:5;:16;8420:9;8414:16;;;;;;;;;;;;;;;;;;;;;;;;;8402:28;;8443:8;8465:6;8462:974;;;8489:20;8510:6;8489:27;;8531:21;8553:10;8531:32;;8613:16;8597:15;;:32;;;;:::i;:::-;8581:15;:48;8578:327;;;8653:35;8667:16;8684:3;8653:13;:35::i;:::-;8649:39;;8578:327;;;8748:15;8732;;:31;;;;:::i;:::-;8716:15;:47;8713:192;;;8787:34;8801:15;8817:3;8787:13;:34::i;:::-;8783:38;;8713:192;;;8878:7;;8874:11;;8713:192;8578:327;8462:974;;;;;8938:5;8935:501;;;8973:20;8995:9;8973:31;;9054:15;9038;;:31;;;;:::i;:::-;9022:15;:47;9019:357;;;9093:33;9106:15;9122:3;9093:12;:33::i;:::-;9089:37;;9019:357;;;9199:6;;9195:10;;9227:16;;;;;;;;;;;9224:137;;;9308:9;;9284:20;9294:9;9284;:20::i;:::-;9275:6;:29;;;;:::i;:::-;:42;;9267:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9224:137;9019:357;8935:501;;;;9425:11;;9421:15;;8935:501;8462:974;9461:19;;;;;;;;;;;9453:27;;:6;:27;;;;9452:44;;;;;9485:10;;;;;;;;;;;9484:11;9452:44;:76;;;;;9500:27;;;;;;;;;;;9499:28;9452:76;9449:119;;;9543:25;9562:5;9543:18;:25::i;:::-;9449:119;9639:20;9660:35;9674:6;9682:3;9687:7;;9660:13;:35::i;:::-;9639:56;;9803:18;9822:53;9836:6;9844:3;9862:12;;9849;;:25;;;;:::i;:::-;9822:13;:53::i;:::-;9803:72;;9939:16;9982:13;9964:15;:31;;;;:::i;:::-;9956:6;:40;;;;:::i;:::-;9939:57;;10028:6;10009:9;:17;10019:6;10009:17;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;10129:13;10101:9;:24;10119:4;10101:24;;;;;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;10197:15;10177:18;;:35;;;;;;;:::i;:::-;;;;;;;;10245:11;10223:9;:20;10233:9;10223:20;;;;;;;;;;;;;;;;:33;;;;;;;:::i;:::-;;;;;;;;10298:9;10282:38;;10291:6;10282:38;;;10308:11;10282:38;;;;;;:::i;:::-;;;;;;;;8139:2189;;;;;;;;;;:::o;15990:474::-;16048:56;16065:4;16080:14;;;;;;;;;;;16097:6;16048:8;:56::i;:::-;16115:21;16153:1;16139:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16115:40;;16184:4;16166;16171:1;16166:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;16210:14;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16200:4;16205:1;16200:7;;;;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;16248:14;;;;;;;;;;;:65;;;16328:6;16349:1;16365:4;16392;16412:15;16248:190;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16244:213;;;;;;15990:474;;:::o;16537:359::-;16613:61;16630:4;16645:14;;;;;;;;;;;16662:11;16613:8;:61::i;:::-;16685:14;;;;;;;;;;;:30;;;16723:9;16756:4;16776:11;16802:1;16818;16842:4;16862:15;16685:203;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16537:359;;:::o;10768:213::-;10841:4;10857:20;10894:15;;10878;:31;;;;:::i;:::-;10857:52;;10964:8;10948:15;10943:3;10936:6;:10;;;;:::i;:::-;10935:28;;;;:::i;:::-;:37;;;;:::i;:::-;10927:6;:46;;;;:::i;:::-;10920:53;;;10768:213;;;;:::o;10446:212::-;10518:4;10534:20;10571:15;;10555;:31;;;;:::i;:::-;10534:52;;10641:8;10625:15;10620:3;10613:6;:10;;;;:::i;:::-;10612:28;;;;:::i;:::-;:37;;;;:::i;:::-;10604:6;:46;;;;:::i;:::-;10597:53;;;10446:212;;;;:::o;11036:176::-;11121:4;4899;;11172:31;;;;:::i;:::-;11157:10;11153:3;11146:6;:10;;;;:::i;:::-;:21;;;;:::i;:::-;11145:59;;;;:::i;:::-;11138:66;;11036:176;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:262::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;1001:1;998;991:12;953:2;1044:1;1069:53;1114:7;1105:6;1094:9;1090:22;1069:53;:::i;:::-;1059:63;;1015:117;943:196;;;;:::o;1145:284::-;1215:6;1264:2;1252:9;1243:7;1239:23;1235:32;1232:2;;;1280:1;1277;1270:12;1232:2;1323:1;1348:64;1404:7;1395:6;1384:9;1380:22;1348:64;:::i;:::-;1338:74;;1294:128;1222:207;;;;:::o;1435:407::-;1503:6;1511;1560:2;1548:9;1539:7;1535:23;1531:32;1528:2;;;1576:1;1573;1566:12;1528:2;1619:1;1644:53;1689:7;1680:6;1669:9;1665:22;1644:53;:::i;:::-;1634:63;;1590:117;1746:2;1772:53;1817:7;1808:6;1797:9;1793:22;1772:53;:::i;:::-;1762:63;;1717:118;1518:324;;;;;:::o;1848:552::-;1925:6;1933;1941;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2049:1;2074:53;2119:7;2110:6;2099:9;2095:22;2074:53;:::i;:::-;2064:63;;2020:117;2176:2;2202:53;2247:7;2238:6;2227:9;2223:22;2202:53;:::i;:::-;2192:63;;2147:118;2304:2;2330:53;2375:7;2366:6;2355:9;2351:22;2330:53;:::i;:::-;2320:63;;2275:118;1948:452;;;;;:::o;2406:401::-;2471:6;2479;2528:2;2516:9;2507:7;2503:23;2499:32;2496:2;;;2544:1;2541;2534:12;2496:2;2587:1;2612:53;2657:7;2648:6;2637:9;2633:22;2612:53;:::i;:::-;2602:63;;2558:117;2714:2;2740:50;2782:7;2773:6;2762:9;2758:22;2740:50;:::i;:::-;2730:60;;2685:115;2486:321;;;;;:::o;2813:407::-;2881:6;2889;2938:2;2926:9;2917:7;2913:23;2909:32;2906:2;;;2954:1;2951;2944:12;2906:2;2997:1;3022:53;3067:7;3058:6;3047:9;3043:22;3022:53;:::i;:::-;3012:63;;2968:117;3124:2;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3095:118;2896:324;;;;;:::o;3226:256::-;3282:6;3331:2;3319:9;3310:7;3306:23;3302:32;3299:2;;;3347:1;3344;3337:12;3299:2;3390:1;3415:50;3457:7;3448:6;3437:9;3433:22;3415:50;:::i;:::-;3405:60;;3361:114;3289:193;;;;:::o;3488:278::-;3555:6;3604:2;3592:9;3583:7;3579:23;3575:32;3572:2;;;3620:1;3617;3610:12;3572:2;3663:1;3688:61;3741:7;3732:6;3721:9;3717:22;3688:61;:::i;:::-;3678:71;;3634:125;3562:204;;;;:::o;3772:262::-;3831:6;3880:2;3868:9;3859:7;3855:23;3851:32;3848:2;;;3896:1;3893;3886:12;3848:2;3939:1;3964:53;4009:7;4000:6;3989:9;3985:22;3964:53;:::i;:::-;3954:63;;3910:117;3838:196;;;;:::o;4040:284::-;4110:6;4159:2;4147:9;4138:7;4134:23;4130:32;4127:2;;;4175:1;4172;4165:12;4127:2;4218:1;4243:64;4299:7;4290:6;4279:9;4275:22;4243:64;:::i;:::-;4233:74;;4189:128;4117:207;;;;:::o;4330:596::-;4418:6;4426;4434;4483:2;4471:9;4462:7;4458:23;4454:32;4451:2;;;4499:1;4496;4489:12;4451:2;4542:1;4567:64;4623:7;4614:6;4603:9;4599:22;4567:64;:::i;:::-;4557:74;;4513:128;4680:2;4706:64;4762:7;4753:6;4742:9;4738:22;4706:64;:::i;:::-;4696:74;;4651:129;4819:2;4845:64;4901:7;4892:6;4881:9;4877:22;4845:64;:::i;:::-;4835:74;;4790:129;4441:485;;;;;:::o;4932:990::-;5036:6;5044;5052;5060;5068;5076;5125:3;5113:9;5104:7;5100:23;5096:33;5093:2;;;5142:1;5139;5132:12;5093:2;5185:1;5210:53;5255:7;5246:6;5235:9;5231:22;5210:53;:::i;:::-;5200:63;;5156:117;5312:2;5338:53;5383:7;5374:6;5363:9;5359:22;5338:53;:::i;:::-;5328:63;;5283:118;5440:2;5466:53;5511:7;5502:6;5491:9;5487:22;5466:53;:::i;:::-;5456:63;;5411:118;5568:2;5594:53;5639:7;5630:6;5619:9;5615:22;5594:53;:::i;:::-;5584:63;;5539:118;5696:3;5723:53;5768:7;5759:6;5748:9;5744:22;5723:53;:::i;:::-;5713:63;;5667:119;5825:3;5852:53;5897:7;5888:6;5877:9;5873:22;5852:53;:::i;:::-;5842:63;;5796:119;5083:839;;;;;;;;:::o;5928:179::-;5997:10;6018:46;6060:3;6052:6;6018:46;:::i;:::-;6096:4;6091:3;6087:14;6073:28;;6008:99;;;;:::o;6113:108::-;6190:24;6208:5;6190:24;:::i;:::-;6185:3;6178:37;6168:53;;:::o;6227:118::-;6314:24;6332:5;6314:24;:::i;:::-;6309:3;6302:37;6292:53;;:::o;6381:732::-;6500:3;6529:54;6577:5;6529:54;:::i;:::-;6599:86;6678:6;6673:3;6599:86;:::i;:::-;6592:93;;6709:56;6759:5;6709:56;:::i;:::-;6788:7;6819:1;6804:284;6829:6;6826:1;6823:13;6804:284;;;6905:6;6899:13;6932:63;6991:3;6976:13;6932:63;:::i;:::-;6925:70;;7018:60;7071:6;7018:60;:::i;:::-;7008:70;;6864:224;6851:1;6848;6844:9;6839:14;;6804:284;;;6808:14;7104:3;7097:10;;6505:608;;;;;;;:::o;7119:109::-;7200:21;7215:5;7200:21;:::i;:::-;7195:3;7188:34;7178:50;;:::o;7234:147::-;7329:45;7368:5;7329:45;:::i;:::-;7324:3;7317:58;7307:74;;:::o;7387:364::-;7475:3;7503:39;7536:5;7503:39;:::i;:::-;7558:71;7622:6;7617:3;7558:71;:::i;:::-;7551:78;;7638:52;7683:6;7678:3;7671:4;7664:5;7660:16;7638:52;:::i;:::-;7715:29;7737:6;7715:29;:::i;:::-;7710:3;7706:39;7699:46;;7479:272;;;;;:::o;7757:366::-;7899:3;7920:67;7984:2;7979:3;7920:67;:::i;:::-;7913:74;;7996:93;8085:3;7996:93;:::i;:::-;8114:2;8109:3;8105:12;8098:19;;7903:220;;;:::o;8129:366::-;8271:3;8292:67;8356:2;8351:3;8292:67;:::i;:::-;8285:74;;8368:93;8457:3;8368:93;:::i;:::-;8486:2;8481:3;8477:12;8470:19;;8275:220;;;:::o;8501:366::-;8643:3;8664:67;8728:2;8723:3;8664:67;:::i;:::-;8657:74;;8740:93;8829:3;8740:93;:::i;:::-;8858:2;8853:3;8849:12;8842:19;;8647:220;;;:::o;8873:366::-;9015:3;9036:67;9100:2;9095:3;9036:67;:::i;:::-;9029:74;;9112:93;9201:3;9112:93;:::i;:::-;9230:2;9225:3;9221:12;9214:19;;9019:220;;;:::o;9245:366::-;9387:3;9408:67;9472:2;9467:3;9408:67;:::i;:::-;9401:74;;9484:93;9573:3;9484:93;:::i;:::-;9602:2;9597:3;9593:12;9586:19;;9391:220;;;:::o;9617:366::-;9759:3;9780:67;9844:2;9839:3;9780:67;:::i;:::-;9773:74;;9856:93;9945:3;9856:93;:::i;:::-;9974:2;9969:3;9965:12;9958:19;;9763:220;;;:::o;9989:366::-;10131:3;10152:67;10216:2;10211:3;10152:67;:::i;:::-;10145:74;;10228:93;10317:3;10228:93;:::i;:::-;10346:2;10341:3;10337:12;10330:19;;10135:220;;;:::o;10361:366::-;10503:3;10524:67;10588:2;10583:3;10524:67;:::i;:::-;10517:74;;10600:93;10689:3;10600:93;:::i;:::-;10718:2;10713:3;10709:12;10702:19;;10507:220;;;:::o;10733:366::-;10875:3;10896:67;10960:2;10955:3;10896:67;:::i;:::-;10889:74;;10972:93;11061:3;10972:93;:::i;:::-;11090:2;11085:3;11081:12;11074:19;;10879:220;;;:::o;11105:366::-;11247:3;11268:67;11332:2;11327:3;11268:67;:::i;:::-;11261:74;;11344:93;11433:3;11344:93;:::i;:::-;11462:2;11457:3;11453:12;11446:19;;11251:220;;;:::o;11477:366::-;11619:3;11640:67;11704:2;11699:3;11640:67;:::i;:::-;11633:74;;11716:93;11805:3;11716:93;:::i;:::-;11834:2;11829:3;11825:12;11818:19;;11623:220;;;:::o;11849:366::-;11991:3;12012:67;12076:2;12071:3;12012:67;:::i;:::-;12005:74;;12088:93;12177:3;12088:93;:::i;:::-;12206:2;12201:3;12197:12;12190:19;;11995:220;;;:::o;12221:366::-;12363:3;12384:67;12448:2;12443:3;12384:67;:::i;:::-;12377:74;;12460:93;12549:3;12460:93;:::i;:::-;12578:2;12573:3;12569:12;12562:19;;12367:220;;;:::o;12593:366::-;12735:3;12756:67;12820:2;12815:3;12756:67;:::i;:::-;12749:74;;12832:93;12921:3;12832:93;:::i;:::-;12950:2;12945:3;12941:12;12934:19;;12739:220;;;:::o;12965:366::-;13107:3;13128:67;13192:2;13187:3;13128:67;:::i;:::-;13121:74;;13204:93;13293:3;13204:93;:::i;:::-;13322:2;13317:3;13313:12;13306:19;;13111:220;;;:::o;13337:398::-;13496:3;13517:83;13598:1;13593:3;13517:83;:::i;:::-;13510:90;;13609:93;13698:3;13609:93;:::i;:::-;13727:1;13722:3;13718:11;13711:18;;13500:235;;;:::o;13741:366::-;13883:3;13904:67;13968:2;13963:3;13904:67;:::i;:::-;13897:74;;13980:93;14069:3;13980:93;:::i;:::-;14098:2;14093:3;14089:12;14082:19;;13887:220;;;:::o;14113:366::-;14255:3;14276:67;14340:2;14335:3;14276:67;:::i;:::-;14269:74;;14352:93;14441:3;14352:93;:::i;:::-;14470:2;14465:3;14461:12;14454:19;;14259:220;;;:::o;14485:366::-;14627:3;14648:67;14712:2;14707:3;14648:67;:::i;:::-;14641:74;;14724:93;14813:3;14724:93;:::i;:::-;14842:2;14837:3;14833:12;14826:19;;14631:220;;;:::o;14857:366::-;14999:3;15020:67;15084:2;15079:3;15020:67;:::i;:::-;15013:74;;15096:93;15185:3;15096:93;:::i;:::-;15214:2;15209:3;15205:12;15198:19;;15003:220;;;:::o;15229:118::-;15316:24;15334:5;15316:24;:::i;:::-;15311:3;15304:37;15294:53;;:::o;15353:112::-;15436:22;15452:5;15436:22;:::i;:::-;15431:3;15424:35;15414:51;;:::o;15471:379::-;15655:3;15677:147;15820:3;15677:147;:::i;:::-;15670:154;;15841:3;15834:10;;15659:191;;;:::o;15856:222::-;15949:4;15987:2;15976:9;15972:18;15964:26;;16000:71;16068:1;16057:9;16053:17;16044:6;16000:71;:::i;:::-;15954:124;;;;:::o;16084:320::-;16199:4;16237:2;16226:9;16222:18;16214:26;;16250:71;16318:1;16307:9;16303:17;16294:6;16250:71;:::i;:::-;16331:66;16393:2;16382:9;16378:18;16369:6;16331:66;:::i;:::-;16204:200;;;;;:::o;16410:332::-;16531:4;16569:2;16558:9;16554:18;16546:26;;16582:71;16650:1;16639:9;16635:17;16626:6;16582:71;:::i;:::-;16663:72;16731:2;16720:9;16716:18;16707:6;16663:72;:::i;:::-;16536:206;;;;;:::o;16748:807::-;16997:4;17035:3;17024:9;17020:19;17012:27;;17049:71;17117:1;17106:9;17102:17;17093:6;17049:71;:::i;:::-;17130:72;17198:2;17187:9;17183:18;17174:6;17130:72;:::i;:::-;17212:80;17288:2;17277:9;17273:18;17264:6;17212:80;:::i;:::-;17302;17378:2;17367:9;17363:18;17354:6;17302:80;:::i;:::-;17392:73;17460:3;17449:9;17445:19;17436:6;17392:73;:::i;:::-;17475;17543:3;17532:9;17528:19;17519:6;17475:73;:::i;:::-;17002:553;;;;;;;;;:::o;17561:210::-;17648:4;17686:2;17675:9;17671:18;17663:26;;17699:65;17761:1;17750:9;17746:17;17737:6;17699:65;:::i;:::-;17653:118;;;;:::o;17777:313::-;17890:4;17928:2;17917:9;17913:18;17905:26;;17977:9;17971:4;17967:20;17963:1;17952:9;17948:17;17941:47;18005:78;18078:4;18069:6;18005:78;:::i;:::-;17997:86;;17895:195;;;;:::o;18096:419::-;18262:4;18300:2;18289:9;18285:18;18277:26;;18349:9;18343:4;18339:20;18335:1;18324:9;18320:17;18313:47;18377:131;18503:4;18377:131;:::i;:::-;18369:139;;18267:248;;;:::o;18521:419::-;18687:4;18725:2;18714:9;18710:18;18702:26;;18774:9;18768:4;18764:20;18760:1;18749:9;18745:17;18738:47;18802:131;18928:4;18802:131;:::i;:::-;18794:139;;18692:248;;;:::o;18946:419::-;19112:4;19150:2;19139:9;19135:18;19127:26;;19199:9;19193:4;19189:20;19185:1;19174:9;19170:17;19163:47;19227:131;19353:4;19227:131;:::i;:::-;19219:139;;19117:248;;;:::o;19371:419::-;19537:4;19575:2;19564:9;19560:18;19552:26;;19624:9;19618:4;19614:20;19610:1;19599:9;19595:17;19588:47;19652:131;19778:4;19652:131;:::i;:::-;19644:139;;19542:248;;;:::o;19796:419::-;19962:4;20000:2;19989:9;19985:18;19977:26;;20049:9;20043:4;20039:20;20035:1;20024:9;20020:17;20013:47;20077:131;20203:4;20077:131;:::i;:::-;20069:139;;19967:248;;;:::o;20221:419::-;20387:4;20425:2;20414:9;20410:18;20402:26;;20474:9;20468:4;20464:20;20460:1;20449:9;20445:17;20438:47;20502:131;20628:4;20502:131;:::i;:::-;20494:139;;20392:248;;;:::o;20646:419::-;20812:4;20850:2;20839:9;20835:18;20827:26;;20899:9;20893:4;20889:20;20885:1;20874:9;20870:17;20863:47;20927:131;21053:4;20927:131;:::i;:::-;20919:139;;20817:248;;;:::o;21071:419::-;21237:4;21275:2;21264:9;21260:18;21252:26;;21324:9;21318:4;21314:20;21310:1;21299:9;21295:17;21288:47;21352:131;21478:4;21352:131;:::i;:::-;21344:139;;21242:248;;;:::o;21496:419::-;21662:4;21700:2;21689:9;21685:18;21677:26;;21749:9;21743:4;21739:20;21735:1;21724:9;21720:17;21713:47;21777:131;21903:4;21777:131;:::i;:::-;21769:139;;21667:248;;;:::o;21921:419::-;22087:4;22125:2;22114:9;22110:18;22102:26;;22174:9;22168:4;22164:20;22160:1;22149:9;22145:17;22138:47;22202:131;22328:4;22202:131;:::i;:::-;22194:139;;22092:248;;;:::o;22346:419::-;22512:4;22550:2;22539:9;22535:18;22527:26;;22599:9;22593:4;22589:20;22585:1;22574:9;22570:17;22563:47;22627:131;22753:4;22627:131;:::i;:::-;22619:139;;22517:248;;;:::o;22771:419::-;22937:4;22975:2;22964:9;22960:18;22952:26;;23024:9;23018:4;23014:20;23010:1;22999:9;22995:17;22988:47;23052:131;23178:4;23052:131;:::i;:::-;23044:139;;22942:248;;;:::o;23196:419::-;23362:4;23400:2;23389:9;23385:18;23377:26;;23449:9;23443:4;23439:20;23435:1;23424:9;23420:17;23413:47;23477:131;23603:4;23477:131;:::i;:::-;23469:139;;23367:248;;;:::o;23621:419::-;23787:4;23825:2;23814:9;23810:18;23802:26;;23874:9;23868:4;23864:20;23860:1;23849:9;23845:17;23838:47;23902:131;24028:4;23902:131;:::i;:::-;23894:139;;23792:248;;;:::o;24046:419::-;24212:4;24250:2;24239:9;24235:18;24227:26;;24299:9;24293:4;24289:20;24285:1;24274:9;24270:17;24263:47;24327:131;24453:4;24327:131;:::i;:::-;24319:139;;24217:248;;;:::o;24471:419::-;24637:4;24675:2;24664:9;24660:18;24652:26;;24724:9;24718:4;24714:20;24710:1;24699:9;24695:17;24688:47;24752:131;24878:4;24752:131;:::i;:::-;24744:139;;24642:248;;;:::o;24896:419::-;25062:4;25100:2;25089:9;25085:18;25077:26;;25149:9;25143:4;25139:20;25135:1;25124:9;25120:17;25113:47;25177:131;25303:4;25177:131;:::i;:::-;25169:139;;25067:248;;;:::o;25321:419::-;25487:4;25525:2;25514:9;25510:18;25502:26;;25574:9;25568:4;25564:20;25560:1;25549:9;25545:17;25538:47;25602:131;25728:4;25602:131;:::i;:::-;25594:139;;25492:248;;;:::o;25746:419::-;25912:4;25950:2;25939:9;25935:18;25927:26;;25999:9;25993:4;25989:20;25985:1;25974:9;25970:17;25963:47;26027:131;26153:4;26027:131;:::i;:::-;26019:139;;25917:248;;;:::o;26171:222::-;26264:4;26302:2;26291:9;26287:18;26279:26;;26315:71;26383:1;26372:9;26368:17;26359:6;26315:71;:::i;:::-;26269:124;;;;:::o;26399:831::-;26662:4;26700:3;26689:9;26685:19;26677:27;;26714:71;26782:1;26771:9;26767:17;26758:6;26714:71;:::i;:::-;26795:80;26871:2;26860:9;26856:18;26847:6;26795:80;:::i;:::-;26922:9;26916:4;26912:20;26907:2;26896:9;26892:18;26885:48;26950:108;27053:4;27044:6;26950:108;:::i;:::-;26942:116;;27068:72;27136:2;27125:9;27121:18;27112:6;27068:72;:::i;:::-;27150:73;27218:3;27207:9;27203:19;27194:6;27150:73;:::i;:::-;26667:563;;;;;;;;:::o;27236:775::-;27469:4;27507:3;27496:9;27492:19;27484:27;;27521:71;27589:1;27578:9;27574:17;27565:6;27521:71;:::i;:::-;27602:72;27670:2;27659:9;27655:18;27646:6;27602:72;:::i;:::-;27684;27752:2;27741:9;27737:18;27728:6;27684:72;:::i;:::-;27766;27834:2;27823:9;27819:18;27810:6;27766:72;:::i;:::-;27848:73;27916:3;27905:9;27901:19;27892:6;27848:73;:::i;:::-;27931;27999:3;27988:9;27984:19;27975:6;27931:73;:::i;:::-;27474:537;;;;;;;;;:::o;28017:214::-;28106:4;28144:2;28133:9;28129:18;28121:26;;28157:67;28221:1;28210:9;28206:17;28197:6;28157:67;:::i;:::-;28111:120;;;;:::o;28237:132::-;28304:4;28327:3;28319:11;;28357:4;28352:3;28348:14;28340:22;;28309:60;;;:::o;28375:114::-;28442:6;28476:5;28470:12;28460:22;;28449:40;;;:::o;28495:99::-;28547:6;28581:5;28575:12;28565:22;;28554:40;;;:::o;28600:113::-;28670:4;28702;28697:3;28693:14;28685:22;;28675:38;;;:::o;28719:184::-;28818:11;28852:6;28847:3;28840:19;28892:4;28887:3;28883:14;28868:29;;28830:73;;;;:::o;28909:147::-;29010:11;29047:3;29032:18;;29022:34;;;;:::o;29062:169::-;29146:11;29180:6;29175:3;29168:19;29220:4;29215:3;29211:14;29196:29;;29158:73;;;;:::o;29237:305::-;29277:3;29296:20;29314:1;29296:20;:::i;:::-;29291:25;;29330:20;29348:1;29330:20;:::i;:::-;29325:25;;29484:1;29416:66;29412:74;29409:1;29406:81;29403:2;;;29490:18;;:::i;:::-;29403:2;29534:1;29531;29527:9;29520:16;;29281:261;;;;:::o;29548:185::-;29588:1;29605:20;29623:1;29605:20;:::i;:::-;29600:25;;29639:20;29657:1;29639:20;:::i;:::-;29634:25;;29678:1;29668:2;;29683:18;;:::i;:::-;29668:2;29725:1;29722;29718:9;29713:14;;29590:143;;;;:::o;29739:848::-;29800:5;29807:4;29831:6;29822:15;;29855:5;29846:14;;29869:712;29890:1;29880:8;29877:15;29869:712;;;29985:4;29980:3;29976:14;29970:4;29967:24;29964:2;;;29994:18;;:::i;:::-;29964:2;30044:1;30034:8;30030:16;30027:2;;;30459:4;30452:5;30448:16;30439:25;;30027:2;30509:4;30503;30499:15;30491:23;;30539:32;30562:8;30539:32;:::i;:::-;30527:44;;29869:712;;;29812:775;;;;;;;:::o;30593:281::-;30651:5;30675:23;30693:4;30675:23;:::i;:::-;30667:31;;30719:25;30735:8;30719:25;:::i;:::-;30707:37;;30763:104;30800:66;30790:8;30784:4;30763:104;:::i;:::-;30754:113;;30657:217;;;;:::o;30880:1073::-;30934:5;31125:8;31115:2;;31146:1;31137:10;;31148:5;;31115:2;31174:4;31164:2;;31191:1;31182:10;;31193:5;;31164:2;31260:4;31308:1;31303:27;;;;31344:1;31339:191;;;;31253:277;;31303:27;31321:1;31312:10;;31323:5;;;31339:191;31384:3;31374:8;31371:17;31368:2;;;31391:18;;:::i;:::-;31368:2;31440:8;31437:1;31433:16;31424:25;;31475:3;31468:5;31465:14;31462:2;;;31482:18;;:::i;:::-;31462:2;31515:5;;;31253:277;;31639:2;31629:8;31626:16;31620:3;31614:4;31611:13;31607:36;31589:2;31579:8;31576:16;31571:2;31565:4;31562:12;31558:35;31542:111;31539:2;;;31695:8;31689:4;31685:19;31676:28;;31730:3;31723:5;31720:14;31717:2;;;31737:18;;:::i;:::-;31717:2;31770:5;;31539:2;31810:42;31848:3;31838:8;31832:4;31829:1;31810:42;:::i;:::-;31795:57;;;;31884:4;31879:3;31875:14;31868:5;31865:25;31862:2;;;31893:18;;:::i;:::-;31862:2;31942:4;31935:5;31931:16;31922:25;;30940:1013;;;;;;:::o;31959:348::-;31999:7;32022:20;32040:1;32022:20;:::i;:::-;32017:25;;32056:20;32074:1;32056:20;:::i;:::-;32051:25;;32244:1;32176:66;32172:74;32169:1;32166:81;32161:1;32154:9;32147:17;32143:105;32140:2;;;32251:18;;:::i;:::-;32140:2;32299:1;32296;32292:9;32281:20;;32007:300;;;;:::o;32313:191::-;32353:4;32373:20;32391:1;32373:20;:::i;:::-;32368:25;;32407:20;32425:1;32407:20;:::i;:::-;32402:25;;32446:1;32443;32440:8;32437:2;;;32451:18;;:::i;:::-;32437:2;32496:1;32493;32489:9;32481:17;;32358:146;;;;:::o;32510:96::-;32547:7;32576:24;32594:5;32576:24;:::i;:::-;32565:35;;32555:51;;;:::o;32612:90::-;32646:7;32689:5;32682:13;32675:21;32664:32;;32654:48;;;:::o;32708:126::-;32745:7;32785:42;32778:5;32774:54;32763:65;;32753:81;;;:::o;32840:77::-;32877:7;32906:5;32895:16;;32885:32;;;:::o;32923:86::-;32958:7;32998:4;32991:5;32987:16;32976:27;;32966:43;;;:::o;33015:121::-;33073:9;33106:24;33124:5;33106:24;:::i;:::-;33093:37;;33083:53;;;:::o;33142:307::-;33210:1;33220:113;33234:6;33231:1;33228:13;33220:113;;;33319:1;33314:3;33310:11;33304:18;33300:1;33295:3;33291:11;33284:39;33256:2;33253:1;33249:10;33244:15;;33220:113;;;33351:6;33348:1;33345:13;33342:2;;;33431:1;33422:6;33417:3;33413:16;33406:27;33342:2;33191:258;;;;:::o;33455:180::-;33503:77;33500:1;33493:88;33600:4;33597:1;33590:15;33624:4;33621:1;33614:15;33641:180;33689:77;33686:1;33679:88;33786:4;33783:1;33776:15;33810:4;33807:1;33800:15;33827:102;33868:6;33919:2;33915:7;33910:2;33903:5;33899:14;33895:28;33885:38;;33875:54;;;:::o;33935:102::-;33977:8;34024:5;34021:1;34017:13;33996:34;;33986:51;;;:::o;34043:168::-;34183:20;34179:1;34171:6;34167:14;34160:44;34149:62;:::o;34217:166::-;34357:18;34353:1;34345:6;34341:14;34334:42;34323:60;:::o;34389:174::-;34529:26;34525:1;34517:6;34513:14;34506:50;34495:68;:::o;34569:225::-;34709:34;34705:1;34697:6;34693:14;34686:58;34778:8;34773:2;34765:6;34761:15;34754:33;34675:119;:::o;34800:167::-;34940:19;34936:1;34928:6;34924:14;34917:43;34906:61;:::o;34973:166::-;35113:18;35109:1;35101:6;35097:14;35090:42;35079:60;:::o;35145:170::-;35285:22;35281:1;35273:6;35269:14;35262:46;35251:64;:::o;35321:174::-;35461:26;35457:1;35449:6;35445:14;35438:50;35427:68;:::o;35501:168::-;35641:20;35637:1;35629:6;35625:14;35618:44;35607:62;:::o;35675:227::-;35815:34;35811:1;35803:6;35799:14;35792:58;35884:10;35879:2;35871:6;35867:15;35860:35;35781:121;:::o;35908:165::-;36048:17;36044:1;36036:6;36032:14;36025:41;36014:59;:::o;36079:182::-;36219:34;36215:1;36207:6;36203:14;36196:58;36185:76;:::o;36267:173::-;36407:25;36403:1;36395:6;36391:14;36384:49;36373:67;:::o;36446:170::-;36586:22;36582:1;36574:6;36570:14;36563:46;36552:64;:::o;36622:165::-;36762:17;36758:1;36750:6;36746:14;36739:41;36728:59;:::o;36793:114::-;36899:8;:::o;36913:169::-;37053:21;37049:1;37041:6;37037:14;37030:45;37019:63;:::o;37088:176::-;37228:28;37224:1;37216:6;37212:14;37205:52;37194:70;:::o;37270:162::-;37410:14;37406:1;37398:6;37394:14;37387:38;37376:56;:::o;37438:220::-;37578:34;37574:1;37566:6;37562:14;37555:58;37647:3;37642:2;37634:6;37630:15;37623:28;37544:114;:::o;37664:122::-;37737:24;37755:5;37737:24;:::i;:::-;37730:5;37727:35;37717:2;;37776:1;37773;37766:12;37717:2;37707:79;:::o;37792:116::-;37862:21;37877:5;37862:21;:::i;:::-;37855:5;37852:32;37842:2;;37898:1;37895;37888:12;37842:2;37832:76;:::o;37914:122::-;37987:24;38005:5;37987:24;:::i;:::-;37980:5;37977:35;37967:2;;38026:1;38023;38016:12;37967:2;37957:79;:::o
Swarm Source
ipfs://3f8103e9536240355c45009a10afdc42e86caf67003ed747488f648318d3e6ca
Loading...
Loading
Loading...
Loading
OVERVIEW
Project Description: OPPA Token is a deflationary star-studded fan-based cryptocurrency that offers a “rise-like-the-stars” earning potential.OPPA Token is committed to bring our “Fanatics” a step closer to meet their favorite celebrities.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.