ERC-20
Overview
Max Total Supply
10,000,000,000,002 SCRD
Holders
197
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
8,250,118,737.070695765741322934 SCRDValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SCARDUST
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-04-08 */ // SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.9.0; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender,address recipient,uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "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 virtual onlyOwner { _setOwner(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 virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract SCARDUST is Context,IERC20, Ownable{ using Address for address; string private _name = "SCARDUST"; string private _symbol = "SCRD"; uint8 private _decimals = 18; uint256 totalFeeFortx = 0; uint256 maxWalletTreshold = 5; uint256 maxTxTreshold = 5; uint256 private swapTreshold =2; uint256 private currentThreshold = 20; //Once the token value goes up this number can be decreased (To reduce price impact on asset) uint256 private _totalSupply = 10_000_000_000_002*10**_decimals; //1T supply uint256 public requiredTokensToSwap = 100*10**18; //0.2% mapping (address => uint256) private _balances; mapping (address => bool) private _excludedFromFees; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public automatedMarketMakerPairs; address _owner; address payable public marketingAddress = payable(0x6f313eccF5D074E1bf53D3bbE3F4DaF8cEdE81fA); address payable public prizePoolAddress = payable(0x25273eC4c6e3Eb33008E5bE00F81Cdf14eb7d25a);//P2E,ETH FOR STAKING AND TOKENS FOR STAKING address payable public gameLiquidityAddress = payable(0xA502e3E5d89BD2Bd01c4d18683146A1B5815E1d2); uint256 maxWalletAmount = _totalSupply*maxWalletTreshold/100; // starting 3% uint256 maxTxAmount = _totalSupply*maxTxTreshold/100; mapping (address => bool) botWallets; bool botTradeEnabled = false; bool checkWalletSize = true; mapping (address => bool) private _liquidityHolders; mapping (address => bool) private presaleAddresses; //15% buy tax 20% sell tax uint256 private buyliqFee = 2; //2 uint256 private buyprevLiqFee = 2; uint256 private buymktFee = 7;//Marketing and development uint256 private buyPrevmktFee = 7; uint256 private buyprizePool = 2;//1 //staking uint256 private buyprevPrizePool = 2; uint256 private buyP2EPool = 2; uint256 private buyprevP2EPool = 2; uint256 private buyCharity = 1; uint256 private buyprevcharity = 1; uint256 GoldenDaycooldown = 0; bool private tradeEnabled = false; bool public _hasLiqBeenAdded = false; uint256 private immutable snipeBlockAmt; uint256 private _liqAddBlock = 0; uint256 private _liqAddStamp = 0; uint256 public snipersCaught = 0; uint256 private sellliqFee = 2; uint256 private sellprevLiqFee = 2; uint256 private sellmktFee = 4; uint256 private sellPrevmktFee = 4; uint256 private sellprizePool = 2; uint256 private sellprevPrizePool = 2; uint256 private sellP2EPool = 2; uint256 private sellprevP2EPool = 2; uint256 private sellCharity = 1; uint256 private sellprevcharity = 1; bool public inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; uint256 private mktTokens = 0; uint256 private prizepoolTokens = 0; uint256 private liqTokens = 0; uint256 private gameTokens=0; uint256 private charityTokens =0; event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity ); event tokensSwappedDuringTokenomics(uint256 amount); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); // 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D IUniswapV2Router02 _router; address public uniswapV2Pair; //Balances tracker modifier lockTheSwap{ inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor(uint256 _snipeBlockAmt){ _balances[_msgSender()] = _totalSupply; //0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D mainnet and all networks IUniswapV2Router02 _uniRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniRouter.factory()) .createPair(address(this), _uniRouter.WETH()); snipeBlockAmt = _snipeBlockAmt; _excludedFromFees[owner()] = true; _excludedFromFees[address(this)] = true;// exclude owner and contract instance from fees _router = _uniRouter; _liquidityHolders[address(_router)] = true; _liquidityHolders[owner()] = true; _liquidityHolders[address(this)] = true; _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); emit Transfer(address(0),_msgSender(),_totalSupply); } receive() external payable{} //limit boolean function function _hasLimits(address from, address to) private view returns (bool) { return from != owner() && to != owner() && !_liquidityHolders[to] && !_liquidityHolders[from] && to != deadAddress && to != address(0) && from != address(this); } //general token data and tracking of balances to be swapped. function getOwner()external view returns(address){ return owner(); } function currentmktTokens() external view returns (uint256){ return mktTokens; } function currentPZTokens() external view returns (uint256){ return prizepoolTokens; } function currentLiqTokens() external view returns (uint256){ return liqTokens; } function totalSupply() external view override returns (uint256){ return _totalSupply; } function balanceOf(address account) public view override returns (uint256){ return _balances[account]; } function transfer(address recipient, uint256 amount) external override returns (bool){ _transfer(_msgSender(),recipient,amount); return true; } function allowance(address owner, address spender) external view override returns (uint256){ return _allowances[owner][spender]; } function approve(address spender, uint256 amount) external override returns (bool){ _approve(_msgSender(),spender,amount); return true; } function decimals()external view returns(uint256){ return _decimals; } function name() external view returns (string memory) { return _name; } function symbol() external view returns (string memory){ return _symbol; } function updateMaxTxTreshold(uint256 newVal) public onlyOwner{ maxTxTreshold = newVal; maxTxAmount = _totalSupply*maxTxTreshold/100;// 1% } function updateMaxWalletTreshold(uint256 newVal) public onlyOwner{ maxWalletTreshold = newVal; maxWalletAmount = _totalSupply*maxWalletTreshold/100; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool){ require(amount <= _allowances[sender][_msgSender()], "ERC20: transfer amount exceeds allowance"); _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount); return true; } //Tokenomics related functions function goldenDay() public onlyOwner{ require(block.timestamp > GoldenDaycooldown, "You cant call golden Day more than once per day"); buyPrevmktFee = buymktFee; buyprevLiqFee = buyliqFee; buyprevPrizePool = buyprizePool; buyprevP2EPool = buyP2EPool; buyliqFee = 0; buymktFee = 0; buyprizePool = 0; buyP2EPool =0; } function goldenDayOver() public onlyOwner{ buyliqFee = buyprevLiqFee; buymktFee = buyPrevmktFee; buyprizePool = buyprevPrizePool; buyP2EPool = buyprevP2EPool; GoldenDaycooldown = block.timestamp + 86400; } function addBotWallet (address payable detectedBot, bool isBot) public onlyOwner{ botWallets[detectedBot] = isBot; } function currentbuyliqFee() public view returns (uint256){ return buyliqFee; } function currentbuymktfee() public view returns (uint256){ return buymktFee; } function currentbuyprizepoolfee() public view returns (uint256){ return buyprizePool; } function currentbuyP2Efee() public view returns (uint256){ return buyP2EPool; } function currentsellLiqFee() public view returns (uint256){ return sellliqFee; } function currentsellmktfee() public view returns (uint256){ return sellmktFee; } function currentsellyprizepoolfee() public view returns (uint256){ return sellprizePool; } function currentsellP2Efee() public view returns (uint256){ return sellP2EPool; } function currentThresholdInt()public view returns (uint256){ return currentThreshold; } function isExcluded(address toCheck)public view returns (bool){ return _excludedFromFees[toCheck]; } function blocksPassed() public view returns (uint256){ return block.timestamp-block.number; } function _transfer(address from, address to, uint256 amount) internal{ require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0,"ERC20: transfered amount must be greater than zero"); uint256 senderBalance = _balances[from]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); if(tradeEnabled == false){ require(_liquidityHolders[to] || _liquidityHolders[from],"Cant trade, trade is disabled"); } if(_liquidityHolders[to]==false && _liquidityHolders[from]==false){ require(amount <= maxTxAmount, "Transfer amount exceeds the maxTxAmount."); if(from == uniswapV2Pair){ require(balanceOf(to)+amount <= maxWalletAmount); } } uint256 inContractBalance = balanceOf(address(this)); if(inContractBalance >=requiredTokensToSwap && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled){ if(inContractBalance >= requiredTokensToSwap ){ inContractBalance = requiredTokensToSwap; swapForTokenomics(inContractBalance); } } bool takeFees = true; if(_excludedFromFees[from] || _excludedFromFees[to]) { totalFeeFortx = 0; takeFees = false; } uint256 mktAmount = 0; uint256 prizePoolAmount = 0; // Amount to be added to prize pool. uint256 liqAmount = 0; // Amount to be added to liquidity. uint256 gameAmount =0; uint256 charityAmount = 0; if(takeFees){ if(!_hasLiqBeenAdded){ _checkLiquidityAdd(from, to); } //bot fees if(botWallets[from] == true||botWallets[to]==true){ revert("No bots can trade"); } //Selling fees if (automatedMarketMakerPairs[to] && to != address(_router) ){ totalFeeFortx = 0; mktAmount = amount * sellmktFee/100; liqAmount = amount * sellliqFee/100; prizePoolAmount = amount * sellprizePool/100; gameAmount = amount *sellP2EPool/100; charityAmount = amount *sellCharity/100; totalFeeFortx = mktAmount + liqAmount + prizePoolAmount + gameAmount + charityAmount; } //Buy Fees else if(automatedMarketMakerPairs[from] && from != address(_router)) { if(block.number - _liqAddBlock < snipeBlockAmt){ botWallets[to] = true; snipersCaught++; } totalFeeFortx = 0; mktAmount = amount * buymktFee/100; liqAmount = amount * buyliqFee/100; prizePoolAmount = amount * buyprizePool/100; gameAmount = amount *buyP2EPool/100; charityAmount = amount *buyCharity/100; totalFeeFortx = mktAmount + liqAmount + prizePoolAmount + gameAmount + charityAmount; } } _balances[from] = senderBalance - amount; _balances[to] += amount - mktAmount - prizePoolAmount - liqAmount - gameAmount - charityAmount; if(liqAmount != 0) { _balances[address(this)] += totalFeeFortx; //tLiqTotal += liqAmount; liqTokens += liqAmount; prizepoolTokens += prizePoolAmount; mktTokens += mktAmount; gameTokens += gameAmount; charityTokens += charityAmount; emit Transfer(from, address(this), totalFeeFortx); } emit Transfer(from, to,amount-totalFeeFortx); } function swapForTokenomics(uint256 balanceToswap) private lockTheSwap{ uint256 tokensTotal = mktTokens+charityTokens; swapAndLiquify(liqTokens); swapTokensForETHmkt(tokensTotal);//swaps and sends to mkt and dev swapForStaking(prizepoolTokens);//swaps half for staking liquidity and sends half to staking address sendToGameLiquidity(gameTokens);//sends to game liquidity pool emit tokensSwappedDuringTokenomics(balanceToswap); mktTokens = 0; prizepoolTokens = 0; liqTokens = 0; gameTokens =0; charityTokens=0; } function addLimitExempt(address newAddress)external onlyOwner{ _liquidityHolders[newAddress] = true; } function swapTokensForETHmkt(uint256 amount)private { address[] memory path = new address[](2); path[0] = address(this); path[1] = _router.WETH(); _approve(address(this), address(_router), amount); _router.swapExactTokensForETHSupportingFeeOnTransferTokens( amount, 0, // Accept any amount of ETH. path, marketingAddress, block.timestamp ); } function sendToPrizePool(uint256 amount)private{ _transfer(address(this), prizePoolAddress, amount); } function sendToGameLiquidity(uint256 amount) private{ _transfer(address(this), gameLiquidityAddress, amount); } function swapForStaking(uint256 amount)private{ uint256 half = amount / 2; uint256 otherHalf = amount - half; address[] memory path = new address[](2); path[0] = address(this); path[1] = _router.WETH(); _approve(address(this), address(_router), amount); _router.swapExactTokensForETHSupportingFeeOnTransferTokens( half, 0, // Accept any amount of ETH. path, marketingAddress, block.timestamp ); sendToPrizePool(otherHalf); } function unstuckTokens (IERC20 tokenToClear, address payable destination, uint256 amount) public onlyOwner{ //uint256 contractBalance = tokenToClear.balanceOf(address(this)); tokenToClear.transfer(destination, amount); } function unstuckETH(address payable destination) public onlyOwner{ uint256 ethBalance = address(this).balance; payable(destination).transfer(ethBalance); } function tradeStatus(bool status) public onlyOwner{ tradeEnabled = status; } function _checkLiquidityAdd(address from, address to) private { require(!_hasLiqBeenAdded, "Liquidity already added and marked."); if (!_hasLimits(from, to) && to == uniswapV2Pair) { _liquidityHolders[from] = true; _hasLiqBeenAdded = true; _liqAddBlock = block.number; _liqAddStamp = block.timestamp; swapAndLiquifyEnabled = true; } } function swapAndLiquify(uint256 liqTokensPassed) private { uint256 half = liqTokensPassed / 2; uint256 otherHalf = liqTokensPassed - half; uint256 initialBalance = address(this).balance; swapTokensForETH(half); uint256 newBalance = address(this).balance - (initialBalance); addLiquidity(otherHalf, newBalance); emit SwapAndLiquify(half,newBalance,otherHalf); } function swapTokensForETH(uint256 tokenAmount) private{ address[] memory path = new address[](2); path[0] = address(this); path[1] = _router.WETH(); _approve(address(this), address(_router), tokenAmount); _router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // Accept any amount of ETH. path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount,uint256 ethAmount) private{ _approve(address(this), address(_router), tokenAmount); _router.addLiquidityETH{value:ethAmount}( address(this), tokenAmount, 0, 0, deadAddress,// tr block.timestamp ); } function _approve(address owner,address spender, uint256 amount) internal{ require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } //Fees related functions function addToExcluded(address toExclude) public onlyOwner{ _excludedFromFees[toExclude] = true; } function removeFromExcluded(address toRemove) public onlyOwner{ _excludedFromFees[toRemove] = false; } function excludePresaleAddresses(address router, address presale) external onlyOwner { _liquidityHolders[address(router)] = true; _liquidityHolders[presale] = true; presaleAddresses[address(router)] = true; presaleAddresses[presale] = true; } function startPresaleStatus()public onlyOwner{ buymktFee = 0; sellmktFee =0; buyliqFee =0; sellliqFee =0; buyprizePool =0; sellprizePool = 0; setSwapAndLiquify(false); } function endPresaleStatus() public onlyOwner{ buymktFee = 4; buyliqFee = 10; buyprizePool = 1; sellmktFee = 5; sellliqFee = 13; sellprizePool = 2; setSwapAndLiquify(true); } function updateThreshold(uint newThreshold) public onlyOwner{ currentThreshold = newThreshold; } function setSwapAndLiquify(bool _enabled) public onlyOwner{ swapAndLiquifyEnabled = _enabled; } //Marketing related function setMktAddress(address newAddress) external onlyOwner{ marketingAddress = payable(newAddress); } function transferAssetsETH(address payable to, uint256 amount) internal{ to.transfer(amount); } function setPrizePoolAddress(address newAddress) external onlyOwner{ prizePoolAddress = payable(newAddress); } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function updatecurrentbuyliqFee(uint256 newAmount) public onlyOwner{ buyliqFee = newAmount; } function updatecurrentbuymktfee(uint256 newAmount) public onlyOwner{ buymktFee = newAmount; } function updatecurrentbuyprizepoolfee(uint256 newAmount) public onlyOwner{ buyprizePool = newAmount; } function updatecurrentsellLiqFee(uint256 newAmount) public onlyOwner{ sellliqFee = newAmount; } function updatecurrentsellmktfee(uint256 newAmount)public onlyOwner{ sellmktFee = newAmount; } function updatecurrentsellyprizepoolfee(uint256 newAmount) public onlyOwner{ sellprizePool = newAmount; } function currentMaxWallet() public view returns(uint256){ return maxWalletAmount; } function currentMaxTx() public view returns(uint256){ return maxTxAmount; } function updateSwapTreshold(uint256 newVal) public onlyOwner{ swapTreshold = newVal; requiredTokensToSwap = _totalSupply*swapTreshold/1000; } function currentTradeStatus() public view returns (bool){ return tradeEnabled; } function currentSwapTreshold() public view returns(uint256){ return swapTreshold; } function currentTokensToSwap() public view returns(uint256){ return requiredTokensToSwap; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_snipeBlockAmt","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"tokensSwappedDuringTokenomics","type":"event"},{"inputs":[],"name":"_hasLiqBeenAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"detectedBot","type":"address"},{"internalType":"bool","name":"isBot","type":"bool"}],"name":"addBotWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"addLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"toExclude","type":"address"}],"name":"addToExcluded","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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blocksPassed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentLiqTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentMaxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentMaxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentPZTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentSwapTreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentThresholdInt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentTokensToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentTradeStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentbuyP2Efee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentbuyliqFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentbuymktfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentbuyprizepoolfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentmktTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentsellLiqFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentsellP2Efee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentsellmktfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentsellyprizepoolfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endPresaleStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address","name":"presale","type":"address"}],"name":"excludePresaleAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gameLiquidityAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"goldenDay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"goldenDayOver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"toCheck","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prizePoolAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"toRemove","type":"address"}],"name":"removeFromExcluded","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"requiredTokensToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMktAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setPrizePoolAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snipersCaught","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startPresaleStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"tradeStatus","outputs":[],"stateMutability":"nonpayable","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"destination","type":"address"}],"name":"unstuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"tokenToClear","type":"address"},{"internalType":"address payable","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unstuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVal","type":"uint256"}],"name":"updateMaxTxTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVal","type":"uint256"}],"name":"updateMaxWalletTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVal","type":"uint256"}],"name":"updateSwapTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"updateThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updatecurrentbuyliqFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updatecurrentbuymktfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updatecurrentbuyprizepoolfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updatecurrentsellLiqFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updatecurrentsellmktfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updatecurrentsellyprizepoolfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
610100604052600860c08190526714d0d054911554d560c21b60e09081526200002c916001919062000652565b506040805180820190915260048082526314d0d49160e21b60209092019182526200005a9160029162000652565b506003805460ff1916601217908190556000600455600580805560065560026007556014600855620000919060ff16600a620007d2565b620000a3906509184e72a002620008bd565b600981905568056bc75e2d63100000600a55601080546001600160a01b0319908116736f313eccf5d074e1bf53d3bbe3f4daf8cede81fa179091556011805482167325273ec4c6e3eb33008e5be00f81cdf14eb7d25a1790556012805490911673a502e3e5d89bd2bd01c4d18683146a1b5815e1d21790556005546064916200012d9190620008bd565b62000139919062000764565b6013556064600654600954620001509190620008bd565b6200015c919062000764565b6014556016805461010061ffff19918216811790925560026019819055601a8190556007601b819055601c55601d819055601e819055601f81905560208190556001602181905560228190556000602381905560248054909416909355602583905560268390556027839055602882905560298290556004602a819055602b55602c829055602d829055602e829055602f9190915560308190556031556032805461ff0019169092179091556ddead00000000000000000000000060a05260338190556034819055603581905560368190556037553480156200023e57600080fd5b5060405162003c0238038062003c02833981016040819052620002619162000728565b620002756200026f6200059b565b6200059f565b600954600b6000620002866200059b565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002fd57600080fd5b505afa15801562000312573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003389190620006f8565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038157600080fd5b505afa15801562000396573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003bc9190620006f8565b6040518363ffffffff1660e01b8152600401620003db92919062000741565b602060405180830381600087803b158015620003f657600080fd5b505af11580156200040b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004319190620006f8565b603980546001600160a01b0319166001600160a01b039290921691909117905560808290526001600c600062000466620005ef565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600c8452828120805486166001908117909155603880548885166001600160a01b03199091161790819055909216815260179384905291822080549094168117909355620004e4620005ef565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260179093529120805490921660019081179092556039546200053a92911690620005fe565b620005446200059b565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200058b91906200075b565b60405180910390a3505062000932565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b031690565b6001600160a01b0382166000818152600e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b8280546200066090620008df565b90600052602060002090601f016020900481019282620006845760008555620006cf565b82601f106200069f57805160ff1916838001178555620006cf565b82800160010185558215620006cf579182015b82811115620006cf578251825591602001919060010190620006b2565b50620006dd929150620006e1565b5090565b5b80821115620006dd5760008155600101620006e2565b6000602082840312156200070a578081fd5b81516001600160a01b038116811462000721578182fd5b9392505050565b6000602082840312156200073a578081fd5b5051919050565b6001600160a01b0392831681529116602082015260400190565b90815260200190565b6000826200078057634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611620007995750620007c9565b818704821115620007ae57620007ae6200091c565b80861615620007bc57918102915b9490941c93800262000788565b94509492505050565b60006200072160001960ff851684600082620007f15750600162000721565b81620008005750600062000721565b8160018114620008195760028114620008245762000858565b600191505062000721565b60ff8411156200083857620008386200091c565b6001841b9150848211156200085157620008516200091c565b5062000721565b5060208310610133831016604e8410600b841016171562000890575081810a838111156200088a576200088a6200091c565b62000721565b6200089f848484600162000785565b808604821115620008b457620008b46200091c565b02949350505050565b6000816000190483118215151615620008da57620008da6200091c565b500290565b600281046001821680620008f457607f821691505b602082108114156200091657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160a05160601c6132996200096960003960008181610e7b015281816127bb01526129ba01526000611e6301526132996000f3fe6080604052600436106103fe5760003560e01c8063893d20e811610213578063bf9eb54011610123578063ddcf9b98116100ab578063edcf19b21161007a578063edcf19b214610ab2578063f2fde38b14610ad2578063f7da678514610af2578063f953cf3a14610b12578063ff31e93014610b2757610405565b8063ddcf9b9814610a53578063e1370dd314610a68578063e79d416014610a7d578063eb04c61814610a9257610405565b8063cf297bbc116100f2578063cf297bbc146109c9578063d1294d4c146109de578063d15bcf0f146109fe578063d7d7442f14610a13578063dd62ed3e14610a3357610405565b8063bf9eb54014610954578063c5cb68a114610974578063cb66453414610989578063cba0e996146109a957610405565b8063a05a2367116101a6578063a9059cbb11610175578063a9059cbb146108ca578063b195b839146108ea578063b4d95a93146108ff578063b62496f51461091f578063bf9b01591461093f57610405565b8063a05a236714610860578063a5ece94114610875578063a6c38f591461088a578063a7a07452146108aa57610405565b806395d89b41116101e257806395d89b41146108015780639a7a23d6146108165780639b136da414610836578063a04bdc811461084b57610405565b8063893d20e8146107a25780638cd0260c146107b75780638da5cb5b146107d757806390f50283146107ec57610405565b8063425ebf481161030e5780635be76f11116102a15780636df3333a116102705780636df3333a1461071857806370a082311461072d578063715018a61461074d578063801527ce146107625780638628c23f1461078257610405565b80635be76f11146106ae57806364c16163146106ce5780636573c4df146106e35780636611f9381461070357610405565b80634a74bb02116102dd5780634a74bb021461065a5780634bd7ace51461066f57806350a8e016146106845780635297defd1461069957610405565b8063425ebf48146105f0578063487a69051461061057806349bd5a5e146106255780634a0e963c1461063a57610405565b8063220f66961161039157806327c8f8351161036057806327c8f8351461056f5780632d03420b14610591578063313ce567146105b15780633cadd3c6146105c65780633d7092b6146105db57610405565b8063220f66961461051057806322788f8614610525578063232b64061461053a57806323b872dd1461054f57610405565b806311abb081116103cd57806311abb081146104a657806313b4a7f4146104c657806314c0eaf9146104e657806318160ddd146104fb57610405565b8063065ba9a01461040a57806306fdde03146104355780630882a86314610457578063095ea7b31461047957610405565b3661040557005b600080fd5b34801561041657600080fd5b5061041f610b3c565b60405161042c919061310b565b60405180910390f35b34801561044157600080fd5b5061044a610b42565b60405161042c9190612cb6565b34801561046357600080fd5b50610477610472366004612bbb565b610bd4565b005b34801561048557600080fd5b50610499610494366004612b44565b610c21565b60405161042c9190612cab565b3480156104b257600080fd5b506104776104c1366004612bbb565b610c3e565b3480156104d257600080fd5b506104776104e1366004612ac5565b610c82565b3480156104f257600080fd5b5061041f610d21565b34801561050757600080fd5b5061041f610d27565b34801561051c57600080fd5b50610499610d2d565b34801561053157600080fd5b5061041f610d36565b34801561054657600080fd5b50610477610d3c565b34801561055b57600080fd5b5061049961056a366004612af2565b610da5565b34801561057b57600080fd5b50610584610e79565b60405161042c9190612c43565b34801561059d57600080fd5b506104776105ac366004612b6f565b610e9d565b3480156105bd57600080fd5b5061041f610eef565b3480156105d257600080fd5b5061041f610ef8565b3480156105e757600080fd5b5061041f610efe565b3480156105fc57600080fd5b5061047761060b366004612bbb565b610f04565b34801561061c57600080fd5b5061041f610f48565b34801561063157600080fd5b50610584610f4e565b34801561064657600080fd5b50610477610655366004612a55565b610f5d565b34801561066657600080fd5b50610499610fc0565b34801561067b57600080fd5b5061041f610fce565b34801561069057600080fd5b50610499610fd4565b3480156106a557600080fd5b5061041f610fe2565b3480156106ba57600080fd5b506104776106c9366004612a55565b610fe8565b3480156106da57600080fd5b5061041f611064565b3480156106ef57600080fd5b506104776106fe366004612bbb565b61106a565b34801561070f57600080fd5b506104776110cf565b34801561072457600080fd5b5061041f61115c565b34801561073957600080fd5b5061041f610748366004612a55565b611162565b34801561075957600080fd5b5061047761117d565b34801561076e57600080fd5b5061047761077d366004612b6f565b6111c8565b34801561078e57600080fd5b5061047761079d366004612bbb565b611221565b3480156107ae57600080fd5b50610584611265565b3480156107c357600080fd5b506104776107d2366004612bbb565b611274565b3480156107e357600080fd5b506105846112b8565b3480156107f857600080fd5b5061041f6112c7565b34801561080d57600080fd5b5061044a6112cd565b34801561082257600080fd5b50610477610831366004612b32565b6112dc565b34801561084257600080fd5b5061041f611357565b34801561085757600080fd5b5061041f61135d565b34801561086c57600080fd5b50610584611363565b34801561088157600080fd5b50610584611372565b34801561089657600080fd5b506104776108a5366004612a8d565b611381565b3480156108b657600080fd5b506104776108c5366004612bbb565b6113eb565b3480156108d657600080fd5b506104996108e5366004612b44565b611450565b3480156108f657600080fd5b50610477611464565b34801561090b57600080fd5b5061047761091a366004612a55565b6114cc565b34801561092b57600080fd5b5061049961093a366004612a55565b61152c565b34801561094b57600080fd5b5061041f611541565b34801561096057600080fd5b5061047761096f366004612a55565b611547565b34801561098057600080fd5b5061041f6115a8565b34801561099557600080fd5b506104776109a4366004612a55565b6115ae565b3480156109b557600080fd5b506104996109c4366004612a55565b611611565b3480156109d557600080fd5b5061041f61162f565b3480156109ea57600080fd5b506104776109f9366004612bbb565b61163b565b348015610a0a57600080fd5b506104996116a1565b348015610a1f57600080fd5b50610477610a2e366004612bbb565b6116aa565b348015610a3f57600080fd5b5061041f610a4e366004612ac5565b6116ee565b348015610a5f57600080fd5b5061041f611719565b348015610a7457600080fd5b5061041f61171f565b348015610a8957600080fd5b5061041f611725565b348015610a9e57600080fd5b50610477610aad366004612a55565b61172b565b348015610abe57600080fd5b50610477610acd366004612bbb565b61178c565b348015610ade57600080fd5b50610477610aed366004612a55565b6117d0565b348015610afe57600080fd5b50610477610b0d366004612ba7565b611841565b348015610b1e57600080fd5b50610477611906565b348015610b3357600080fd5b5061058461196e565b601f5490565b606060018054610b51906131d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7d906131d4565b8015610bca5780601f10610b9f57610100808354040283529160200191610bca565b820191906000526020600020905b815481529060010190602001808311610bad57829003601f168201915b5050505050905090565b610bdc61197d565b6001600160a01b0316610bed6112b8565b6001600160a01b031614610c1c5760405162461bcd60e51b8152600401610c1390612fd3565b60405180910390fd5b601955565b6000610c35610c2e61197d565b8484611981565b50600192915050565b610c4661197d565b6001600160a01b0316610c576112b8565b6001600160a01b031614610c7d5760405162461bcd60e51b8152600401610c1390612fd3565b602c55565b610c8a61197d565b6001600160a01b0316610c9b6112b8565b6001600160a01b031614610cc15760405162461bcd60e51b8152600401610c1390612fd3565b6001600160a01b0391821660008181526017602090815260408083208054600160ff199182168117909255959096168084528184208054871688179055938352601890915280822080548516861790559181522080549091169091179055565b60345490565b60095490565b60325460ff1681565b60085490565b610d4461197d565b6001600160a01b0316610d556112b8565b6001600160a01b031614610d7b5760405162461bcd60e51b8152600401610c1390612fd3565b601a54601955601c54601b55601e54601d55602054601f55610da04262015180613166565b602355565b6001600160a01b0383166000908152600d6020526040812081610dc661197d565b6001600160a01b03166001600160a01b0316815260200190815260200160002054821115610e065760405162461bcd60e51b8152600401610c1390612f8b565b610e11848484611a35565b610e6f84610e1d61197d565b6001600160a01b0387166000908152600d602052604081208691610e3f61197d565b6001600160a01b03166001600160a01b0316815260200190815260200160002054610e6a91906131bd565b611981565b5060019392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610ea561197d565b6001600160a01b0316610eb66112b8565b6001600160a01b031614610edc5760405162461bcd60e51b8152600401610c1390612fd3565b6024805460ff1916911515919091179055565b60035460ff1690565b602c5490565b602e5490565b610f0c61197d565b6001600160a01b0316610f1d6112b8565b6001600160a01b031614610f435760405162461bcd60e51b8152600401610c1390612fd3565b601d55565b600a5490565b6039546001600160a01b031681565b610f6561197d565b6001600160a01b0316610f766112b8565b6001600160a01b031614610f9c5760405162461bcd60e51b8152600401610c1390612fd3565b6001600160a01b03166000908152600c60205260409020805460ff19166001179055565b603254610100900460ff1681565b60195490565b602454610100900460ff1681565b602a5490565b610ff061197d565b6001600160a01b03166110016112b8565b6001600160a01b0316146110275760405162461bcd60e51b8152600401610c1390612fd3565b60405147906001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561105f573d6000803e3d6000fd5b505050565b60355490565b61107261197d565b6001600160a01b03166110836112b8565b6001600160a01b0316146110a95760405162461bcd60e51b8152600401610c1390612fd3565b60058190556009546064906110bf90839061319e565b6110c9919061317e565b60135550565b6110d761197d565b6001600160a01b03166110e86112b8565b6001600160a01b03161461110e5760405162461bcd60e51b8152600401610c1390612fd3565b602354421161112f5760405162461bcd60e51b8152600401610c1390613008565b601b8054601c5560198054601a55601d8054601e55601f8054602055600092839055928290558190559055565b60075490565b6001600160a01b03166000908152600b602052604090205490565b61118561197d565b6001600160a01b03166111966112b8565b6001600160a01b0316146111bc5760405162461bcd60e51b8152600401610c1390612fd3565b6111c66000612169565b565b6111d061197d565b6001600160a01b03166111e16112b8565b6001600160a01b0316146112075760405162461bcd60e51b8152600401610c1390612fd3565b603280549115156101000261ff0019909216919091179055565b61122961197d565b6001600160a01b031661123a6112b8565b6001600160a01b0316146112605760405162461bcd60e51b8152600401610c1390612fd3565b602a55565b600061126f6112b8565b905090565b61127c61197d565b6001600160a01b031661128d6112b8565b6001600160a01b0316146112b35760405162461bcd60e51b8152600401610c1390612fd3565b602855565b6000546001600160a01b031690565b60285490565b606060028054610b51906131d4565b6112e461197d565b6001600160a01b03166112f56112b8565b6001600160a01b03161461131b5760405162461bcd60e51b8152600401610c1390612fd3565b6039546001600160a01b03838116911614156113495760405162461bcd60e51b8152600401610c1390612e17565b61135382826121b9565b5050565b601b5490565b600a5481565b6012546001600160a01b031681565b6010546001600160a01b031681565b61138961197d565b6001600160a01b031661139a6112b8565b6001600160a01b0316146113c05760405162461bcd60e51b8152600401610c1390612fd3565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6113f361197d565b6001600160a01b03166114046112b8565b6001600160a01b03161461142a5760405162461bcd60e51b8152600401610c1390612fd3565b600681905560095460649061144090839061319e565b61144a919061317e565b60145550565b6000610c3561145d61197d565b8484611a35565b61146c61197d565b6001600160a01b031661147d6112b8565b6001600160a01b0316146114a35760405162461bcd60e51b8152600401610c1390612fd3565b6000601b819055602a81905560198190556028819055601d819055602c8190556111c6906111c8565b6114d461197d565b6001600160a01b03166114e56112b8565b6001600160a01b03161461150b5760405162461bcd60e51b8152600401610c1390612fd3565b6001600160a01b03166000908152600c60205260409020805460ff19169055565b600e6020526000908152604090205460ff1681565b60145490565b61154f61197d565b6001600160a01b03166115606112b8565b6001600160a01b0316146115865760405162461bcd60e51b8152600401610c1390612fd3565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b601d5490565b6115b661197d565b6001600160a01b03166115c76112b8565b6001600160a01b0316146115ed5760405162461bcd60e51b8152600401610c1390612fd3565b6001600160a01b03166000908152601760205260409020805460ff19166001179055565b6001600160a01b03166000908152600c602052604090205460ff1690565b600061126f43426131bd565b61164361197d565b6001600160a01b03166116546112b8565b6001600160a01b03161461167a5760405162461bcd60e51b8152600401610c1390612fd3565b60078190556009546103e89061169190839061319e565b61169b919061317e565b600a5550565b60245460ff1690565b6116b261197d565b6001600160a01b03166116c36112b8565b6001600160a01b0316146116e95760405162461bcd60e51b8152600401610c1390612fd3565b600855565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b60335490565b60135490565b60275481565b61173361197d565b6001600160a01b03166117446112b8565b6001600160a01b03161461176a5760405162461bcd60e51b8152600401610c1390612fd3565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b61179461197d565b6001600160a01b03166117a56112b8565b6001600160a01b0316146117cb5760405162461bcd60e51b8152600401610c1390612fd3565b601b55565b6117d861197d565b6001600160a01b03166117e96112b8565b6001600160a01b03161461180f5760405162461bcd60e51b8152600401610c1390612fd3565b6001600160a01b0381166118355760405162461bcd60e51b8152600401610c1390612d4c565b61183e81612169565b50565b61184961197d565b6001600160a01b031661185a6112b8565b6001600160a01b0316146118805760405162461bcd60e51b8152600401610c1390612fd3565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb906118ae9085908590600401612c57565b602060405180830381600087803b1580156118c857600080fd5b505af11580156118dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119009190612b8b565b50505050565b61190e61197d565b6001600160a01b031661191f6112b8565b6001600160a01b0316146119455760405162461bcd60e51b8152600401610c1390612fd3565b6004601b55600a6019556001601d8190556005602a55600d6028556002602c556111c6906111c8565b6011546001600160a01b031681565b3390565b6001600160a01b0383166119a75760405162461bcd60e51b8152600401610c139061309c565b6001600160a01b0382166119cd5760405162461bcd60e51b8152600401610c1390612d92565b6001600160a01b038084166000818152600d602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590611a2890859061310b565b60405180910390a3505050565b6001600160a01b038316611a5b5760405162461bcd60e51b8152600401610c1390613057565b6001600160a01b038216611a815760405162461bcd60e51b8152600401610c1390612d09565b60008111611aa15760405162461bcd60e51b8152600401610c1390612f02565b6001600160a01b0383166000908152600b602052604090205481811015611ada5760405162461bcd60e51b8152600401610c1390612e74565b60245460ff16611b3f576001600160a01b03831660009081526017602052604090205460ff1680611b2357506001600160a01b03841660009081526017602052604090205460ff165b611b3f5760405162461bcd60e51b8152600401610c1390612f54565b6001600160a01b03831660009081526017602052604090205460ff16158015611b8157506001600160a01b03841660009081526017602052604090205460ff16155b15611be057601454821115611ba85760405162461bcd60e51b8152600401610c1390612eba565b6039546001600160a01b0385811691161415611be05760135482611bcb85611162565b611bd59190613166565b1115611be057600080fd5b6000611beb30611162565b9050600a548110158015611c02575060325460ff16155b8015611c1c57506039546001600160a01b03868116911614155b8015611c2f5750603254610100900460ff165b15611c4a57600a548110611c4a5750600a54611c4a8161220d565b6001600160a01b0385166000908152600c602052604090205460019060ff1680611c8c57506001600160a01b0385166000908152600c602052604090205460ff165b15611c9a5750600060048190555b60008060008060008515611f8d57602454610100900460ff16611cc157611cc18b8b6122b6565b6001600160a01b038b1660009081526015602052604090205460ff16151560011480611d0a57506001600160a01b038a1660009081526015602052604090205460ff1615156001145b15611d275760405162461bcd60e51b8152600401610c13906130e0565b6001600160a01b038a166000908152600e602052604090205460ff168015611d5d57506038546001600160a01b038b8116911614155b15611e26576000600455602a54606490611d77908b61319e565b611d81919061317e565b945060646028548a611d93919061319e565b611d9d919061317e565b92506064602c548a611daf919061319e565b611db9919061317e565b93506064602e548a611dcb919061319e565b611dd5919061317e565b915060646030548a611de7919061319e565b611df1919061317e565b9050808285611e008689613166565b611e0a9190613166565b611e149190613166565b611e1e9190613166565b600455611f8d565b6001600160a01b038b166000908152600e602052604090205460ff168015611e5c57506038546001600160a01b038c8116911614155b15611f8d577f000000000000000000000000000000000000000000000000000000000000000060255443611e9091906131bd565b1015611ecd576001600160a01b038a166000908152601560205260408120805460ff191660011790556027805491611ec78361320f565b91905055505b6000600455601b54606490611ee2908b61319e565b611eec919061317e565b945060646019548a611efe919061319e565b611f08919061317e565b92506064601d548a611f1a919061319e565b611f24919061317e565b93506064601f548a611f36919061319e565b611f40919061317e565b915060646021548a611f52919061319e565b611f5c919061317e565b9050808285611f6b8689613166565b611f759190613166565b611f7f9190613166565b611f899190613166565b6004555b611f9789896131bd565b6001600160a01b038c166000908152600b602052604090205580828486611fbe898e6131bd565b611fc891906131bd565b611fd291906131bd565b611fdc91906131bd565b611fe691906131bd565b6001600160a01b038b166000908152600b60205260408120805490919061200e908490613166565b9091555050821561210457600454306000908152600b60205260408120805490919061203b908490613166565b9250508190555082603560008282546120549190613166565b92505081905550836034600082825461206d9190613166565b9250508190555084603360008282546120869190613166565b92505081905550816036600082825461209f9190613166565b9250508190555080603760008282546120b89190613166565b909155505060045460405130916001600160a01b038e16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916120fb9161310b565b60405180910390a35b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004548c61214791906131bd565b604051612154919061310b565b60405180910390a35050505050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166000818152600e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6032805460ff1916600117905560375460335460009161222c91613166565b9050612239603554612354565b612242816123d5565b61224d60345461255e565b61225860365461270c565b7f4596ef7337c1c88bb740707471cfc0ec6d0212036b05ab1bdbb09cf3e3f0190482604051612287919061310b565b60405180910390a15050600060338190556034819055603581905560368190556037556032805460ff19169055565b602454610100900460ff16156122de5760405162461bcd60e51b8152600401610c1390612dd4565b6122e88282612724565b15801561230257506039546001600160a01b038281169116145b1561135357506001600160a01b03166000908152601760205260409020805460ff191660011790556024805461ff00199081166101009081179092554360255542602655603280549091169091179055565b600061236160028361317e565b9050600061236f82846131bd565b90504761237b83612820565b600061238782476131bd565b9050612393838261296f565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618482856040516123c693929190613150565b60405180910390a15050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061241857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152603854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561246c57600080fd5b505afa158015612480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a49190612a71565b816001815181106124c557634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526038546124eb9130911684611981565b60385460105460405163791ac94760e01b81526001600160a01b039283169263791ac9479261252892879260009288929116904290600401613114565b600060405180830381600087803b15801561254257600080fd5b505af1158015612556573d6000803e3d6000fd5b505050505050565b600061256b60028361317e565b9050600061257982846131bd565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106125c157634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152603854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561261557600080fd5b505afa158015612629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061264d9190612a71565b8160018151811061266e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526038546126949130911686611981565b60385460105460405163791ac94760e01b81526001600160a01b039283169263791ac947926126d192889260009288929116904290600401613114565b600060405180830381600087803b1580156126eb57600080fd5b505af11580156126ff573d6000803e3d6000fd5b5050505061190082612a3d565b60125461183e9030906001600160a01b031683611a35565b600061272e6112b8565b6001600160a01b0316836001600160a01b03161415801561276857506127526112b8565b6001600160a01b0316826001600160a01b031614155b801561278d57506001600160a01b03821660009081526017602052604090205460ff16155b80156127b257506001600160a01b03831660009081526017602052604090205460ff16155b80156127f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b801561280457506001600160a01b03821615155b801561281957506001600160a01b0383163014155b9392505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061286357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152603854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156128b757600080fd5b505afa1580156128cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ef9190612a71565b8160018151811061291057634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526038546129369130911684611981565b60385460405163791ac94760e01b81526001600160a01b039091169063791ac94790612528908590600090869030904290600401613114565b6038546129879030906001600160a01b031684611981565b60385460405163f305d71960e01b81526001600160a01b039091169063f305d7199083906129e4903090879060009081907f0000000000000000000000000000000000000000000000000000000000000000904290600401612c70565b6060604051808303818588803b1580156129fd57600080fd5b505af1158015612a11573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612a369190612bd3565b5050505050565b60115461183e9030906001600160a01b031683611a35565b600060208284031215612a66578081fd5b813561281981613240565b600060208284031215612a82578081fd5b815161281981613240565b60008060408385031215612a9f578081fd5b8235612aaa81613240565b91506020830135612aba81613255565b809150509250929050565b60008060408385031215612ad7578182fd5b8235612ae281613240565b91506020830135612aba81613240565b600080600060608486031215612b06578081fd5b8335612b1181613240565b92506020840135612b2181613240565b929592945050506040919091013590565b60008060408385031215612a9f578182fd5b60008060408385031215612b56578182fd5b8235612b6181613240565b946020939093013593505050565b600060208284031215612b80578081fd5b813561281981613255565b600060208284031215612b9c578081fd5b815161281981613255565b600080600060608486031215612b06578283fd5b600060208284031215612bcc578081fd5b5035919050565b600080600060608486031215612be7578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b83811015612c385781516001600160a01b031687529582019590820190600101612c13565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b81811015612ce257858101830151858201604001528201612cc6565b81811115612cf35783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526023908201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60408201526232b21760e91b606082015260800190565b60208082526039908201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060408201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526028908201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546040820152673c20b6b7bab73a1760c11b606082015260800190565b60208082526032908201527f45524332303a207472616e73666572656420616d6f756e74206d7573742062656040820152712067726561746572207468616e207a65726f60701b606082015260800190565b6020808252601d908201527f43616e742074726164652c2074726164652069732064697361626c6564000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602f908201527f596f752063616e742063616c6c20676f6c64656e20446179206d6f726520746860408201526e616e206f6e6365207065722064617960881b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601190820152704e6f20626f74732063616e20747261646560781b604082015260600190565b90815260200190565b600086825285602083015260a0604083015261313360a0830186612c00565b6001600160a01b0394909416606083015250608001529392505050565b9283526020830191909152604082015260600190565b600082198211156131795761317961322a565b500190565b60008261319957634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156131b8576131b861322a565b500290565b6000828210156131cf576131cf61322a565b500390565b6002810460018216806131e857607f821691505b6020821081141561320957634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156132235761322361322a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461183e57600080fd5b801515811461183e57600080fdfea2646970667358221220aaf3209b77763e4da956adb25f881d7ea2d1487354b680baaab8e2f35097d00864736f6c634300080000330000000000000000000000000000000000000000000000000000000000000006
Deployed Bytecode
0x6080604052600436106103fe5760003560e01c8063893d20e811610213578063bf9eb54011610123578063ddcf9b98116100ab578063edcf19b21161007a578063edcf19b214610ab2578063f2fde38b14610ad2578063f7da678514610af2578063f953cf3a14610b12578063ff31e93014610b2757610405565b8063ddcf9b9814610a53578063e1370dd314610a68578063e79d416014610a7d578063eb04c61814610a9257610405565b8063cf297bbc116100f2578063cf297bbc146109c9578063d1294d4c146109de578063d15bcf0f146109fe578063d7d7442f14610a13578063dd62ed3e14610a3357610405565b8063bf9eb54014610954578063c5cb68a114610974578063cb66453414610989578063cba0e996146109a957610405565b8063a05a2367116101a6578063a9059cbb11610175578063a9059cbb146108ca578063b195b839146108ea578063b4d95a93146108ff578063b62496f51461091f578063bf9b01591461093f57610405565b8063a05a236714610860578063a5ece94114610875578063a6c38f591461088a578063a7a07452146108aa57610405565b806395d89b41116101e257806395d89b41146108015780639a7a23d6146108165780639b136da414610836578063a04bdc811461084b57610405565b8063893d20e8146107a25780638cd0260c146107b75780638da5cb5b146107d757806390f50283146107ec57610405565b8063425ebf481161030e5780635be76f11116102a15780636df3333a116102705780636df3333a1461071857806370a082311461072d578063715018a61461074d578063801527ce146107625780638628c23f1461078257610405565b80635be76f11146106ae57806364c16163146106ce5780636573c4df146106e35780636611f9381461070357610405565b80634a74bb02116102dd5780634a74bb021461065a5780634bd7ace51461066f57806350a8e016146106845780635297defd1461069957610405565b8063425ebf48146105f0578063487a69051461061057806349bd5a5e146106255780634a0e963c1461063a57610405565b8063220f66961161039157806327c8f8351161036057806327c8f8351461056f5780632d03420b14610591578063313ce567146105b15780633cadd3c6146105c65780633d7092b6146105db57610405565b8063220f66961461051057806322788f8614610525578063232b64061461053a57806323b872dd1461054f57610405565b806311abb081116103cd57806311abb081146104a657806313b4a7f4146104c657806314c0eaf9146104e657806318160ddd146104fb57610405565b8063065ba9a01461040a57806306fdde03146104355780630882a86314610457578063095ea7b31461047957610405565b3661040557005b600080fd5b34801561041657600080fd5b5061041f610b3c565b60405161042c919061310b565b60405180910390f35b34801561044157600080fd5b5061044a610b42565b60405161042c9190612cb6565b34801561046357600080fd5b50610477610472366004612bbb565b610bd4565b005b34801561048557600080fd5b50610499610494366004612b44565b610c21565b60405161042c9190612cab565b3480156104b257600080fd5b506104776104c1366004612bbb565b610c3e565b3480156104d257600080fd5b506104776104e1366004612ac5565b610c82565b3480156104f257600080fd5b5061041f610d21565b34801561050757600080fd5b5061041f610d27565b34801561051c57600080fd5b50610499610d2d565b34801561053157600080fd5b5061041f610d36565b34801561054657600080fd5b50610477610d3c565b34801561055b57600080fd5b5061049961056a366004612af2565b610da5565b34801561057b57600080fd5b50610584610e79565b60405161042c9190612c43565b34801561059d57600080fd5b506104776105ac366004612b6f565b610e9d565b3480156105bd57600080fd5b5061041f610eef565b3480156105d257600080fd5b5061041f610ef8565b3480156105e757600080fd5b5061041f610efe565b3480156105fc57600080fd5b5061047761060b366004612bbb565b610f04565b34801561061c57600080fd5b5061041f610f48565b34801561063157600080fd5b50610584610f4e565b34801561064657600080fd5b50610477610655366004612a55565b610f5d565b34801561066657600080fd5b50610499610fc0565b34801561067b57600080fd5b5061041f610fce565b34801561069057600080fd5b50610499610fd4565b3480156106a557600080fd5b5061041f610fe2565b3480156106ba57600080fd5b506104776106c9366004612a55565b610fe8565b3480156106da57600080fd5b5061041f611064565b3480156106ef57600080fd5b506104776106fe366004612bbb565b61106a565b34801561070f57600080fd5b506104776110cf565b34801561072457600080fd5b5061041f61115c565b34801561073957600080fd5b5061041f610748366004612a55565b611162565b34801561075957600080fd5b5061047761117d565b34801561076e57600080fd5b5061047761077d366004612b6f565b6111c8565b34801561078e57600080fd5b5061047761079d366004612bbb565b611221565b3480156107ae57600080fd5b50610584611265565b3480156107c357600080fd5b506104776107d2366004612bbb565b611274565b3480156107e357600080fd5b506105846112b8565b3480156107f857600080fd5b5061041f6112c7565b34801561080d57600080fd5b5061044a6112cd565b34801561082257600080fd5b50610477610831366004612b32565b6112dc565b34801561084257600080fd5b5061041f611357565b34801561085757600080fd5b5061041f61135d565b34801561086c57600080fd5b50610584611363565b34801561088157600080fd5b50610584611372565b34801561089657600080fd5b506104776108a5366004612a8d565b611381565b3480156108b657600080fd5b506104776108c5366004612bbb565b6113eb565b3480156108d657600080fd5b506104996108e5366004612b44565b611450565b3480156108f657600080fd5b50610477611464565b34801561090b57600080fd5b5061047761091a366004612a55565b6114cc565b34801561092b57600080fd5b5061049961093a366004612a55565b61152c565b34801561094b57600080fd5b5061041f611541565b34801561096057600080fd5b5061047761096f366004612a55565b611547565b34801561098057600080fd5b5061041f6115a8565b34801561099557600080fd5b506104776109a4366004612a55565b6115ae565b3480156109b557600080fd5b506104996109c4366004612a55565b611611565b3480156109d557600080fd5b5061041f61162f565b3480156109ea57600080fd5b506104776109f9366004612bbb565b61163b565b348015610a0a57600080fd5b506104996116a1565b348015610a1f57600080fd5b50610477610a2e366004612bbb565b6116aa565b348015610a3f57600080fd5b5061041f610a4e366004612ac5565b6116ee565b348015610a5f57600080fd5b5061041f611719565b348015610a7457600080fd5b5061041f61171f565b348015610a8957600080fd5b5061041f611725565b348015610a9e57600080fd5b50610477610aad366004612a55565b61172b565b348015610abe57600080fd5b50610477610acd366004612bbb565b61178c565b348015610ade57600080fd5b50610477610aed366004612a55565b6117d0565b348015610afe57600080fd5b50610477610b0d366004612ba7565b611841565b348015610b1e57600080fd5b50610477611906565b348015610b3357600080fd5b5061058461196e565b601f5490565b606060018054610b51906131d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7d906131d4565b8015610bca5780601f10610b9f57610100808354040283529160200191610bca565b820191906000526020600020905b815481529060010190602001808311610bad57829003601f168201915b5050505050905090565b610bdc61197d565b6001600160a01b0316610bed6112b8565b6001600160a01b031614610c1c5760405162461bcd60e51b8152600401610c1390612fd3565b60405180910390fd5b601955565b6000610c35610c2e61197d565b8484611981565b50600192915050565b610c4661197d565b6001600160a01b0316610c576112b8565b6001600160a01b031614610c7d5760405162461bcd60e51b8152600401610c1390612fd3565b602c55565b610c8a61197d565b6001600160a01b0316610c9b6112b8565b6001600160a01b031614610cc15760405162461bcd60e51b8152600401610c1390612fd3565b6001600160a01b0391821660008181526017602090815260408083208054600160ff199182168117909255959096168084528184208054871688179055938352601890915280822080548516861790559181522080549091169091179055565b60345490565b60095490565b60325460ff1681565b60085490565b610d4461197d565b6001600160a01b0316610d556112b8565b6001600160a01b031614610d7b5760405162461bcd60e51b8152600401610c1390612fd3565b601a54601955601c54601b55601e54601d55602054601f55610da04262015180613166565b602355565b6001600160a01b0383166000908152600d6020526040812081610dc661197d565b6001600160a01b03166001600160a01b0316815260200190815260200160002054821115610e065760405162461bcd60e51b8152600401610c1390612f8b565b610e11848484611a35565b610e6f84610e1d61197d565b6001600160a01b0387166000908152600d602052604081208691610e3f61197d565b6001600160a01b03166001600160a01b0316815260200190815260200160002054610e6a91906131bd565b611981565b5060019392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b610ea561197d565b6001600160a01b0316610eb66112b8565b6001600160a01b031614610edc5760405162461bcd60e51b8152600401610c1390612fd3565b6024805460ff1916911515919091179055565b60035460ff1690565b602c5490565b602e5490565b610f0c61197d565b6001600160a01b0316610f1d6112b8565b6001600160a01b031614610f435760405162461bcd60e51b8152600401610c1390612fd3565b601d55565b600a5490565b6039546001600160a01b031681565b610f6561197d565b6001600160a01b0316610f766112b8565b6001600160a01b031614610f9c5760405162461bcd60e51b8152600401610c1390612fd3565b6001600160a01b03166000908152600c60205260409020805460ff19166001179055565b603254610100900460ff1681565b60195490565b602454610100900460ff1681565b602a5490565b610ff061197d565b6001600160a01b03166110016112b8565b6001600160a01b0316146110275760405162461bcd60e51b8152600401610c1390612fd3565b60405147906001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561105f573d6000803e3d6000fd5b505050565b60355490565b61107261197d565b6001600160a01b03166110836112b8565b6001600160a01b0316146110a95760405162461bcd60e51b8152600401610c1390612fd3565b60058190556009546064906110bf90839061319e565b6110c9919061317e565b60135550565b6110d761197d565b6001600160a01b03166110e86112b8565b6001600160a01b03161461110e5760405162461bcd60e51b8152600401610c1390612fd3565b602354421161112f5760405162461bcd60e51b8152600401610c1390613008565b601b8054601c5560198054601a55601d8054601e55601f8054602055600092839055928290558190559055565b60075490565b6001600160a01b03166000908152600b602052604090205490565b61118561197d565b6001600160a01b03166111966112b8565b6001600160a01b0316146111bc5760405162461bcd60e51b8152600401610c1390612fd3565b6111c66000612169565b565b6111d061197d565b6001600160a01b03166111e16112b8565b6001600160a01b0316146112075760405162461bcd60e51b8152600401610c1390612fd3565b603280549115156101000261ff0019909216919091179055565b61122961197d565b6001600160a01b031661123a6112b8565b6001600160a01b0316146112605760405162461bcd60e51b8152600401610c1390612fd3565b602a55565b600061126f6112b8565b905090565b61127c61197d565b6001600160a01b031661128d6112b8565b6001600160a01b0316146112b35760405162461bcd60e51b8152600401610c1390612fd3565b602855565b6000546001600160a01b031690565b60285490565b606060028054610b51906131d4565b6112e461197d565b6001600160a01b03166112f56112b8565b6001600160a01b03161461131b5760405162461bcd60e51b8152600401610c1390612fd3565b6039546001600160a01b03838116911614156113495760405162461bcd60e51b8152600401610c1390612e17565b61135382826121b9565b5050565b601b5490565b600a5481565b6012546001600160a01b031681565b6010546001600160a01b031681565b61138961197d565b6001600160a01b031661139a6112b8565b6001600160a01b0316146113c05760405162461bcd60e51b8152600401610c1390612fd3565b6001600160a01b03919091166000908152601560205260409020805460ff1916911515919091179055565b6113f361197d565b6001600160a01b03166114046112b8565b6001600160a01b03161461142a5760405162461bcd60e51b8152600401610c1390612fd3565b600681905560095460649061144090839061319e565b61144a919061317e565b60145550565b6000610c3561145d61197d565b8484611a35565b61146c61197d565b6001600160a01b031661147d6112b8565b6001600160a01b0316146114a35760405162461bcd60e51b8152600401610c1390612fd3565b6000601b819055602a81905560198190556028819055601d819055602c8190556111c6906111c8565b6114d461197d565b6001600160a01b03166114e56112b8565b6001600160a01b03161461150b5760405162461bcd60e51b8152600401610c1390612fd3565b6001600160a01b03166000908152600c60205260409020805460ff19169055565b600e6020526000908152604090205460ff1681565b60145490565b61154f61197d565b6001600160a01b03166115606112b8565b6001600160a01b0316146115865760405162461bcd60e51b8152600401610c1390612fd3565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b601d5490565b6115b661197d565b6001600160a01b03166115c76112b8565b6001600160a01b0316146115ed5760405162461bcd60e51b8152600401610c1390612fd3565b6001600160a01b03166000908152601760205260409020805460ff19166001179055565b6001600160a01b03166000908152600c602052604090205460ff1690565b600061126f43426131bd565b61164361197d565b6001600160a01b03166116546112b8565b6001600160a01b03161461167a5760405162461bcd60e51b8152600401610c1390612fd3565b60078190556009546103e89061169190839061319e565b61169b919061317e565b600a5550565b60245460ff1690565b6116b261197d565b6001600160a01b03166116c36112b8565b6001600160a01b0316146116e95760405162461bcd60e51b8152600401610c1390612fd3565b600855565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b60335490565b60135490565b60275481565b61173361197d565b6001600160a01b03166117446112b8565b6001600160a01b03161461176a5760405162461bcd60e51b8152600401610c1390612fd3565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b61179461197d565b6001600160a01b03166117a56112b8565b6001600160a01b0316146117cb5760405162461bcd60e51b8152600401610c1390612fd3565b601b55565b6117d861197d565b6001600160a01b03166117e96112b8565b6001600160a01b03161461180f5760405162461bcd60e51b8152600401610c1390612fd3565b6001600160a01b0381166118355760405162461bcd60e51b8152600401610c1390612d4c565b61183e81612169565b50565b61184961197d565b6001600160a01b031661185a6112b8565b6001600160a01b0316146118805760405162461bcd60e51b8152600401610c1390612fd3565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb906118ae9085908590600401612c57565b602060405180830381600087803b1580156118c857600080fd5b505af11580156118dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119009190612b8b565b50505050565b61190e61197d565b6001600160a01b031661191f6112b8565b6001600160a01b0316146119455760405162461bcd60e51b8152600401610c1390612fd3565b6004601b55600a6019556001601d8190556005602a55600d6028556002602c556111c6906111c8565b6011546001600160a01b031681565b3390565b6001600160a01b0383166119a75760405162461bcd60e51b8152600401610c139061309c565b6001600160a01b0382166119cd5760405162461bcd60e51b8152600401610c1390612d92565b6001600160a01b038084166000818152600d602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590611a2890859061310b565b60405180910390a3505050565b6001600160a01b038316611a5b5760405162461bcd60e51b8152600401610c1390613057565b6001600160a01b038216611a815760405162461bcd60e51b8152600401610c1390612d09565b60008111611aa15760405162461bcd60e51b8152600401610c1390612f02565b6001600160a01b0383166000908152600b602052604090205481811015611ada5760405162461bcd60e51b8152600401610c1390612e74565b60245460ff16611b3f576001600160a01b03831660009081526017602052604090205460ff1680611b2357506001600160a01b03841660009081526017602052604090205460ff165b611b3f5760405162461bcd60e51b8152600401610c1390612f54565b6001600160a01b03831660009081526017602052604090205460ff16158015611b8157506001600160a01b03841660009081526017602052604090205460ff16155b15611be057601454821115611ba85760405162461bcd60e51b8152600401610c1390612eba565b6039546001600160a01b0385811691161415611be05760135482611bcb85611162565b611bd59190613166565b1115611be057600080fd5b6000611beb30611162565b9050600a548110158015611c02575060325460ff16155b8015611c1c57506039546001600160a01b03868116911614155b8015611c2f5750603254610100900460ff165b15611c4a57600a548110611c4a5750600a54611c4a8161220d565b6001600160a01b0385166000908152600c602052604090205460019060ff1680611c8c57506001600160a01b0385166000908152600c602052604090205460ff165b15611c9a5750600060048190555b60008060008060008515611f8d57602454610100900460ff16611cc157611cc18b8b6122b6565b6001600160a01b038b1660009081526015602052604090205460ff16151560011480611d0a57506001600160a01b038a1660009081526015602052604090205460ff1615156001145b15611d275760405162461bcd60e51b8152600401610c13906130e0565b6001600160a01b038a166000908152600e602052604090205460ff168015611d5d57506038546001600160a01b038b8116911614155b15611e26576000600455602a54606490611d77908b61319e565b611d81919061317e565b945060646028548a611d93919061319e565b611d9d919061317e565b92506064602c548a611daf919061319e565b611db9919061317e565b93506064602e548a611dcb919061319e565b611dd5919061317e565b915060646030548a611de7919061319e565b611df1919061317e565b9050808285611e008689613166565b611e0a9190613166565b611e149190613166565b611e1e9190613166565b600455611f8d565b6001600160a01b038b166000908152600e602052604090205460ff168015611e5c57506038546001600160a01b038c8116911614155b15611f8d577f000000000000000000000000000000000000000000000000000000000000000660255443611e9091906131bd565b1015611ecd576001600160a01b038a166000908152601560205260408120805460ff191660011790556027805491611ec78361320f565b91905055505b6000600455601b54606490611ee2908b61319e565b611eec919061317e565b945060646019548a611efe919061319e565b611f08919061317e565b92506064601d548a611f1a919061319e565b611f24919061317e565b93506064601f548a611f36919061319e565b611f40919061317e565b915060646021548a611f52919061319e565b611f5c919061317e565b9050808285611f6b8689613166565b611f759190613166565b611f7f9190613166565b611f899190613166565b6004555b611f9789896131bd565b6001600160a01b038c166000908152600b602052604090205580828486611fbe898e6131bd565b611fc891906131bd565b611fd291906131bd565b611fdc91906131bd565b611fe691906131bd565b6001600160a01b038b166000908152600b60205260408120805490919061200e908490613166565b9091555050821561210457600454306000908152600b60205260408120805490919061203b908490613166565b9250508190555082603560008282546120549190613166565b92505081905550836034600082825461206d9190613166565b9250508190555084603360008282546120869190613166565b92505081905550816036600082825461209f9190613166565b9250508190555080603760008282546120b89190613166565b909155505060045460405130916001600160a01b038e16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916120fb9161310b565b60405180910390a35b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004548c61214791906131bd565b604051612154919061310b565b60405180910390a35050505050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166000818152600e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6032805460ff1916600117905560375460335460009161222c91613166565b9050612239603554612354565b612242816123d5565b61224d60345461255e565b61225860365461270c565b7f4596ef7337c1c88bb740707471cfc0ec6d0212036b05ab1bdbb09cf3e3f0190482604051612287919061310b565b60405180910390a15050600060338190556034819055603581905560368190556037556032805460ff19169055565b602454610100900460ff16156122de5760405162461bcd60e51b8152600401610c1390612dd4565b6122e88282612724565b15801561230257506039546001600160a01b038281169116145b1561135357506001600160a01b03166000908152601760205260409020805460ff191660011790556024805461ff00199081166101009081179092554360255542602655603280549091169091179055565b600061236160028361317e565b9050600061236f82846131bd565b90504761237b83612820565b600061238782476131bd565b9050612393838261296f565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618482856040516123c693929190613150565b60405180910390a15050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061241857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152603854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561246c57600080fd5b505afa158015612480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a49190612a71565b816001815181106124c557634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526038546124eb9130911684611981565b60385460105460405163791ac94760e01b81526001600160a01b039283169263791ac9479261252892879260009288929116904290600401613114565b600060405180830381600087803b15801561254257600080fd5b505af1158015612556573d6000803e3d6000fd5b505050505050565b600061256b60028361317e565b9050600061257982846131bd565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106125c157634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152603854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561261557600080fd5b505afa158015612629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061264d9190612a71565b8160018151811061266e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526038546126949130911686611981565b60385460105460405163791ac94760e01b81526001600160a01b039283169263791ac947926126d192889260009288929116904290600401613114565b600060405180830381600087803b1580156126eb57600080fd5b505af11580156126ff573d6000803e3d6000fd5b5050505061190082612a3d565b60125461183e9030906001600160a01b031683611a35565b600061272e6112b8565b6001600160a01b0316836001600160a01b03161415801561276857506127526112b8565b6001600160a01b0316826001600160a01b031614155b801561278d57506001600160a01b03821660009081526017602052604090205460ff16155b80156127b257506001600160a01b03831660009081526017602052604090205460ff16155b80156127f057507f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316826001600160a01b031614155b801561280457506001600160a01b03821615155b801561281957506001600160a01b0383163014155b9392505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061286357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152603854604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156128b757600080fd5b505afa1580156128cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ef9190612a71565b8160018151811061291057634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526038546129369130911684611981565b60385460405163791ac94760e01b81526001600160a01b039091169063791ac94790612528908590600090869030904290600401613114565b6038546129879030906001600160a01b031684611981565b60385460405163f305d71960e01b81526001600160a01b039091169063f305d7199083906129e4903090879060009081907f000000000000000000000000000000000000000000000000000000000000dead904290600401612c70565b6060604051808303818588803b1580156129fd57600080fd5b505af1158015612a11573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612a369190612bd3565b5050505050565b60115461183e9030906001600160a01b031683611a35565b600060208284031215612a66578081fd5b813561281981613240565b600060208284031215612a82578081fd5b815161281981613240565b60008060408385031215612a9f578081fd5b8235612aaa81613240565b91506020830135612aba81613255565b809150509250929050565b60008060408385031215612ad7578182fd5b8235612ae281613240565b91506020830135612aba81613240565b600080600060608486031215612b06578081fd5b8335612b1181613240565b92506020840135612b2181613240565b929592945050506040919091013590565b60008060408385031215612a9f578182fd5b60008060408385031215612b56578182fd5b8235612b6181613240565b946020939093013593505050565b600060208284031215612b80578081fd5b813561281981613255565b600060208284031215612b9c578081fd5b815161281981613255565b600080600060608486031215612b06578283fd5b600060208284031215612bcc578081fd5b5035919050565b600080600060608486031215612be7578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b83811015612c385781516001600160a01b031687529582019590820190600101612c13565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b81811015612ce257858101830151858201604001528201612cc6565b81811115612cf35783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526023908201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60408201526232b21760e91b606082015260800190565b60208082526039908201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060408201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526028908201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546040820152673c20b6b7bab73a1760c11b606082015260800190565b60208082526032908201527f45524332303a207472616e73666572656420616d6f756e74206d7573742062656040820152712067726561746572207468616e207a65726f60701b606082015260800190565b6020808252601d908201527f43616e742074726164652c2074726164652069732064697361626c6564000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602f908201527f596f752063616e742063616c6c20676f6c64656e20446179206d6f726520746860408201526e616e206f6e6365207065722064617960881b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601190820152704e6f20626f74732063616e20747261646560781b604082015260600190565b90815260200190565b600086825285602083015260a0604083015261313360a0830186612c00565b6001600160a01b0394909416606083015250608001529392505050565b9283526020830191909152604082015260600190565b600082198211156131795761317961322a565b500190565b60008261319957634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156131b8576131b861322a565b500290565b6000828210156131cf576131cf61322a565b500390565b6002810460018216806131e857607f821691505b6020821081141561320957634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156132235761322361322a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461183e57600080fd5b801515811461183e57600080fdfea2646970667358221220aaf3209b77763e4da956adb25f881d7ea2d1487354b680baaab8e2f35097d00864736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000006
-----Decoded View---------------
Arg [0] : _snipeBlockAmt (uint256): 6
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000006
Deployed Bytecode Sourcemap
5421:21464:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13862:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11732:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;25452:111::-;;;;;;;;;;-1:-1:-1;25452:111:0;;;;;:::i;:::-;;:::i;:::-;;11466:168;;;;;;;;;;-1:-1:-1;11466:168:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;26063:124::-;;;;;;;;;;-1:-1:-1;26063:124:0;;;;;:::i;:::-;;:::i;23548:302::-;;;;;;;;;;-1:-1:-1;23548:302:0;;;;;:::i;:::-;;:::i;10657:104::-;;;;;;;;;;;;;:::i;10876:106::-;;;;;;;;;;;;;:::i;8194:28::-;;;;;;;;;;;;;:::i;14395:101::-;;;;;;;;;;;;;:::i;13142:260::-;;;;;;;;;;;;;:::i;12272:388::-;;;;;;;;;;-1:-1:-1;12272:388:0;;;;;:::i;:::-;;:::i;8276:81::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;21335:90::-;;;;;;;;;;-1:-1:-1;21335:90:0;;;;;:::i;:::-;;:::i;11642:84::-;;;;;;;;;;;;;:::i;14175:108::-;;;;;;;;;;;;;:::i;14290:99::-;;;;;;;;;;;;;:::i;25687:121::-;;;;;;;;;;-1:-1:-1;25687:121:0;;;;;:::i;:::-;;:::i;26777:105::-;;;;;;;;;;;;;:::i;8899:28::-;;;;;;;;;;;;;:::i;23302:114::-;;;;;;;;;;-1:-1:-1;23302:114:0;;;;;:::i;:::-;;:::i;8229:40::-;;;;;;;;;;;;;:::i;13546:96::-;;;;;;;;;;;;;:::i;7576:36::-;;;;;;;;;;;;;:::i;14071:98::-;;;;;;;;;;;;;:::i;21149:178::-;;;;;;;;;;-1:-1:-1;21149:178:0;;;;;:::i;:::-;;:::i;10768:99::-;;;;;;;;;;;;;:::i;12083:175::-;;;;;;;;;;-1:-1:-1;12083:175:0;;;;;:::i;:::-;;:::i;12714:422::-;;;;;;;;;;;;;:::i;26674:97::-;;;;;;;;;;;;;:::i;10993:118::-;;;;;;;;;;-1:-1:-1;10993:118:0;;;;;:::i;:::-;;:::i;4790:94::-;;;;;;;;;;;;;:::i;24484:113::-;;;;;;;;;;-1:-1:-1;24484:113:0;;;;;:::i;:::-;;:::i;25938:::-;;;;;;;;;;-1:-1:-1;25938:113:0;;;;;:::i;:::-;;:::i;10459:86::-;;;;;;;;;;;;;:::i;25818:114::-;;;;;;;;;;-1:-1:-1;25818:114:0;;;;;:::i;:::-;;:::i;4139:87::-;;;;;;;;;;;;;:::i;13967:98::-;;;;;;;;;;;;;:::i;11814:88::-;;;;;;;;;;;;;:::i;25008:242::-;;;;;;;;;;-1:-1:-1;25008:242:0;;;;;:::i;:::-;;:::i;13648:96::-;;;;;;;;;;;;;:::i;5977:48::-;;;;;;;;;;;;;:::i;6558:97::-;;;;;;;;;;;;;:::i;6314:93::-;;;;;;;;;;;;;:::i;13410:130::-;;;;;;;;;;-1:-1:-1;13410:130:0;;;;;:::i;:::-;;:::i;11912:164::-;;;;;;;;;;-1:-1:-1;11912:164:0;;;;;:::i;:::-;;:::i;11122:176::-;;;;;;;;;;-1:-1:-1;11122:176:0;;;;;:::i;:::-;;:::i;23858:249::-;;;;;;;;;;;;;:::i;23424:116::-;;;;;;;;;;-1:-1:-1;23424:116:0;;;;;:::i;:::-;;:::i;6226:58::-;;;;;;;;;;-1:-1:-1;6226:58:0;;;;;:::i;:::-;;:::i;26296:89::-;;;;;;;;;;;;;:::i;24635:118::-;;;;;;;;;;-1:-1:-1;24635:118:0;;;;;:::i;:::-;;:::i;13750:105::-;;;;;;;;;;;;;:::i;19594:123::-;;;;;;;;;;-1:-1:-1;19594:123:0;;;;;:::i;:::-;;:::i;14508:118::-;;;;;;;;;;-1:-1:-1;14508:118:0;;;;;:::i;:::-;;:::i;14634:107::-;;;;;;;;;;;;;:::i;26391:174::-;;;;;;;;;;-1:-1:-1;26391:174:0;;;;;:::i;:::-;;:::i;26571:97::-;;;;;;;;;;;;;:::i;24364:112::-;;;;;;;;;;-1:-1:-1;24364:112:0;;;;;:::i;:::-;;:::i;11309:148::-;;;;;;;;;;-1:-1:-1;11309:148:0;;;;;:::i;:::-;;:::i;10551:99::-;;;;;;;;;;;;;:::i;26193:97::-;;;;;;;;;;;;;:::i;7743:32::-;;;;;;;;;;;;;:::i;24878:124::-;;;;;;;;;;-1:-1:-1;24878:124:0;;;;;:::i;:::-;;:::i;25569:112::-;;;;;;;;;;-1:-1:-1;25569:112:0;;;;;:::i;:::-;;:::i;5039:192::-;;;;;;;;;;-1:-1:-1;5039:192:0;;;;;:::i;:::-;;:::i;20898:243::-;;;;;;;;;;-1:-1:-1;20898:243:0;;;;;:::i;:::-;;:::i;24113:::-;;;;;;;;;;;;;:::i;6414:93::-;;;;;;;;;;;;;:::i;13862:97::-;13941:10;;13862:97;:::o;11732:76::-;11771:13;11798:5;11791:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11732:76;:::o;25452:111::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;;;;;;;;;25534:9:::1;:21:::0;25452:111::o;11466:168::-;11543:4;11563:37;11572:12;:10;:12::i;:::-;11585:7;11593:6;11563:8;:37::i;:::-;-1:-1:-1;11622:4:0;11466:168;;;;:::o;26063:124::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;26154:13:::1;:25:::0;26063:124::o;23548:302::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23654:34:0;;::::1;;::::0;;;:17:::1;:34;::::0;;;;;;;:41;;23691:4:::1;-1:-1:-1::0;;23654:41:0;;::::1;::::0;::::1;::::0;;;23706:26;;;::::1;::::0;;;;;;:33;;;::::1;::::0;::::1;::::0;;23750;;;:16:::1;:33:::0;;;;;;:40;;;::::1;::::0;::::1;::::0;;23801:25;;;;:32;;;;::::1;::::0;;::::1;::::0;;23548:302::o;10657:104::-;10737:15;;10657:104;:::o;10876:106::-;10961:12;;10876:106;:::o;8194:28::-;;;;;;:::o;14395:101::-;14472:16;;14395:101;:::o;13142:260::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;13207:13:::1;::::0;13195:9:::1;:25:::0;13244:13:::1;::::0;13232:9:::1;:25:::0;13284:16:::1;::::0;13269:12:::1;:31:::0;13325:14:::1;::::0;13312:10:::1;:27:::0;13371:23:::1;:15;13389:5;13371:23;:::i;:::-;13351:17;:43:::0;13142:260::o;12272:388::-;-1:-1:-1;;;;;12438:19:0;;12404:4;12438:19;;;:11;:19;;;;;12404:4;12458:12;:10;:12::i;:::-;-1:-1:-1;;;;;12438:33:0;-1:-1:-1;;;;;12438:33:0;;;;;;;;;;;;;12428:6;:43;;12420:96;;;;-1:-1:-1;;;12420:96:0;;;;;;;:::i;:::-;12521:36;12531:6;12539:9;12550:6;12521:9;:36::i;:::-;12562:74;12571:6;12579:12;:10;:12::i;:::-;-1:-1:-1;;;;;12593:19:0;;;;;;:11;:19;;;;;12629:6;;12613:12;:10;:12::i;:::-;-1:-1:-1;;;;;12593:33:0;-1:-1:-1;;;;;12593:33:0;;;;;;;;;;;;;:42;;;;:::i;:::-;12562:8;:74::i;:::-;-1:-1:-1;12648:4:0;12272:388;;;;;:::o;8276:81::-;;;:::o;21335:90::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;21396:12:::1;:21:::0;;-1:-1:-1;;21396:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21335:90::o;11642:84::-;11709:9;;;;11642:84;:::o;14175:108::-;14262:13;;14175:108;:::o;14290:99::-;14370:11;;14290:99;:::o;25687:121::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;25776:12:::1;:24:::0;25687:121::o;26777:105::-;26854:20;;26777:105;:::o;8899:28::-;;;-1:-1:-1;;;;;8899:28:0;;:::o;23302:114::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23373:28:0::1;;::::0;;;:17:::1;:28;::::0;;;;:35;;-1:-1:-1;;23373:35:0::1;23404:4;23373:35;::::0;;23302:114::o;8229:40::-;;;;;;;;;:::o;13546:96::-;13625:9;;13546:96;:::o;7576:36::-;;;;;;;;;:::o;14071:98::-;14151:10;;14071:98;:::o;21149:178::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;21278:41:::1;::::0;21246:21:::1;::::0;-1:-1:-1;;;;;21278:29:0;::::1;::::0;:41;::::1;;;::::0;21246:21;;21225:18:::1;21278:41:::0;21225:18;21278:41;21246:21;21278:29;:41;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;4430:1;21149:178:::0;:::o;10768:99::-;10849:9;;10768:99;:::o;12083:175::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;12159:17:::1;:26:::0;;;12214:12:::1;::::0;12245:3:::1;::::0;12214:30:::1;::::0;12179:6;;12214:30:::1;:::i;:::-;:34;;;;:::i;:::-;12196:15;:52:::0;-1:-1:-1;12083:175:0:o;12714:422::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;12789:17:::1;;12771:15;:35;12763:95;;;;-1:-1:-1::0;;;12763:95:0::1;;;;;;;:::i;:::-;12886:9;::::0;;12870:13:::1;:25:::0;12923:9:::1;::::0;;12907:13:::1;:25:::0;12963:12:::1;::::0;;12944:16:::1;:31:::0;13004:10:::1;::::0;;12987:14:::1;:27:::0;-1:-1:-1;13037:13:0;;;;13062;;;;13087:16;;;13115:13;;12714:422::o;26674:97::-;26751:12;;26674:97;:::o;10993:118::-;-1:-1:-1;;;;;11085:18:0;11059:7;11085:18;;;:9;:18;;;;;;;10993:118::o;4790:94::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;4855:21:::1;4873:1;4855:9;:21::i;:::-;4790:94::o:0;24484:113::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;24557:21:::1;:32:::0;;;::::1;;;;-1:-1:-1::0;;24557:32:0;;::::1;::::0;;;::::1;::::0;;24484:113::o;25938:::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;26021:10:::1;:22:::0;25938:113::o;10459:86::-;10500:7;10530;:5;:7::i;:::-;10523:14;;10459:86;:::o;25818:114::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;25902:10:::1;:22:::0;25818:114::o;4139:87::-;4185:7;4212:6;-1:-1:-1;;;;;4212:6:0;4139:87;:::o;13967:98::-;14047:10;;13967:98;:::o;11814:88::-;11855:13;11887:7;11880:14;;;;;:::i;25008:242::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;25115:13:::1;::::0;-1:-1:-1;;;;;25107:21:0;;::::1;25115:13:::0;::::1;25107:21;;25099:91;;;;-1:-1:-1::0;;;25099:91:0::1;;;;;;;:::i;:::-;25201:41;25230:4;25236:5;25201:28;:41::i;:::-;25008:242:::0;;:::o;13648:96::-;13727:9;;13648:96;:::o;5977:48::-;;;;:::o;6558:97::-;;;-1:-1:-1;;;;;6558:97:0;;:::o;6314:93::-;;;-1:-1:-1;;;;;6314:93:0;;:::o;13410:130::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13501:23:0;;;::::1;;::::0;;;:10:::1;:23;::::0;;;;:31;;-1:-1:-1;;13501:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13410:130::o;11912:164::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;11984:13:::1;:22:::0;;;12031:12:::1;::::0;12058:3:::1;::::0;12031:26:::1;::::0;12000:6;;12031:26:::1;:::i;:::-;:30;;;;:::i;:::-;12017:11;:44:::0;-1:-1:-1;11912:164:0:o;11122:176::-;11202:4;11222:40;11232:12;:10;:12::i;:::-;11245:9;11255:6;11222:9;:40::i;23858:249::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;23936:1:::1;23924:9;:13:::0;;;23948:10:::1;:13:::0;;;23972:9:::1;:12:::0;;;23995:10:::1;:13:::0;;;24019:12:::1;:15:::0;;;24045:13:::1;:17:::0;;;24073:24:::1;::::0;:17:::1;:24::i;23424:116::-:0;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23497:27:0::1;23527:5;23497:27:::0;;;:17:::1;:27;::::0;;;;:35;;-1:-1:-1;;23497:35:0::1;::::0;;23424:116::o;6226:58::-;;;;;;;;;;;;;;;:::o;26296:89::-;26366:11;;26296:89;:::o;24635:118::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;24707:16:::1;:38:::0;;-1:-1:-1;;;;;;24707:38:0::1;-1:-1:-1::0;;;;;24707:38:0;;;::::1;::::0;;;::::1;::::0;;24635:118::o;13750:105::-;13835:12;;13750:105;:::o;19594:123::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19666:29:0::1;;::::0;;;:17:::1;:29;::::0;;;;:36;;-1:-1:-1;;19666:36:0::1;19698:4;19666:36;::::0;;19594:123::o;14508:118::-;-1:-1:-1;;;;;14592:26:0;14565:4;14592:26;;;:17;:26;;;;;;;;;14508:118::o;14634:107::-;14679:7;14705:28;14721:12;14705:15;:28;:::i;26391:174::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;26462:12:::1;:21:::0;;;26517:12:::1;::::0;26543:4:::1;::::0;26517:25:::1;::::0;26477:6;;26517:25:::1;:::i;:::-;:30;;;;:::i;:::-;26494:20;:53:::0;-1:-1:-1;26391:174:0:o;26571:97::-;26645:12;;;;26571:97;:::o;24364:112::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;24435:16:::1;:31:::0;24364:112::o;11309:148::-;-1:-1:-1;;;;;11422:18:0;;;11392:7;11422:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11309:148::o;10551:99::-;10632:9;;10551:99;:::o;26193:97::-;26267:15;;26193:97;:::o;7743:32::-;;;;:::o;24878:124::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;24956:16:::1;:38:::0;;-1:-1:-1;;;;;;24956:38:0::1;-1:-1:-1::0;;;;;24956:38:0;;;::::1;::::0;;;::::1;::::0;;24878:124::o;25569:112::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;25652:9:::1;:21:::0;25569:112::o;5039:192::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5128:22:0;::::1;5120:73;;;;-1:-1:-1::0;;;5120:73:0::1;;;;;;;:::i;:::-;5204:19;5214:8;5204:9;:19::i;:::-;5039:192:::0;:::o;20898:243::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;21091:42:::1;::::0;-1:-1:-1;;;21091:42:0;;-1:-1:-1;;;;;21091:21:0;::::1;::::0;::::1;::::0;:42:::1;::::0;21113:11;;21126:6;;21091:42:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20898:243:::0;;;:::o;24113:::-;4370:12;:10;:12::i;:::-;-1:-1:-1;;;;;4359:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4359:23:0;;4351:68;;;;-1:-1:-1;;;4351:68:0;;;;;;;:::i;:::-;24180:1:::1;24168:9;:13:::0;24204:2:::1;24192:9;:14:::0;24232:1:::1;24217:12;:16:::0;;;24259:1:::1;24246:10;:14:::0;24284:2:::1;24271:10;:15:::0;-1:-1:-1;24297:13:0::1;:17:::0;24325:23:::1;::::0;:17:::1;:23::i;6414:93::-:0;;;-1:-1:-1;;;;;6414:93:0;;:::o;99:98::-;179:10;99:98;:::o;22934:322::-;-1:-1:-1;;;;;23026:19:0;;23018:68;;;;-1:-1:-1;;;23018:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23099:21:0;;23091:68;;;;-1:-1:-1;;;23091:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23166:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;23212:32;;;;;23196:6;;23212:32;:::i;:::-;;;;;;;;22934:322;;;:::o;14757:4210::-;-1:-1:-1;;;;;14855:18:0;;14847:68;;;;-1:-1:-1;;;14847:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14928:16:0;;14920:64;;;;-1:-1:-1;;;14920:64:0;;;;;;;:::i;:::-;15012:1;15003:6;:10;14995:72;;;;-1:-1:-1;;;14995:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15102:15:0;;15078:21;15102:15;;;:9;:15;;;;;;15136:23;;;;15128:74;;;;-1:-1:-1;;;15128:74:0;;;;;;;:::i;:::-;15216:12;;;;15213:141;;-1:-1:-1;;;;;15261:21:0;;;;;;:17;:21;;;;;;;;;:48;;-1:-1:-1;;;;;;15286:23:0;;;;;;:17;:23;;;;;;;;15261:48;15253:89;;;;-1:-1:-1;;;15253:89:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15367:21:0;;;;;;:17;:21;;;;;;;;:28;;;:62;;-1:-1:-1;;;;;;15399:23:0;;;;;;:17;:23;;;;;;;;:30;15367:62;15364:285;;;15459:11;;15449:6;:21;;15441:74;;;;-1:-1:-1;;;15441:74:0;;;;;;;:::i;:::-;15541:13;;-1:-1:-1;;;;;15533:21:0;;;15541:13;;15533:21;15530:108;;;15606:15;;15596:6;15582:13;15592:2;15582:9;:13::i;:::-;:20;;;;:::i;:::-;:39;;15574:48;;;;;;15659:25;15687:24;15705:4;15687:9;:24::i;:::-;15659:52;;15745:20;;15725:17;:40;;:66;;;;-1:-1:-1;15775:16:0;;;;15774:17;15725:66;:96;;;;-1:-1:-1;15808:13:0;;-1:-1:-1;;;;;15800:21:0;;;15808:13;;15800:21;;15725:96;:126;;;;-1:-1:-1;15830:21:0;;;;;;;15725:126;15722:352;;;15895:20;;15874:17;:41;15871:188;;-1:-1:-1;15960:20:0;;16003:36;15960:20;16003:17;:36::i;:::-;-1:-1:-1;;;;;16170:23:0;;16104:13;16170:23;;;:17;:23;;;;;;16120:4;;16170:23;;;:48;;-1:-1:-1;;;;;;16197:21:0;;;;;;:17;:21;;;;;;;;16170:48;16167:159;;;-1:-1:-1;16255:1:0;16239:13;:17;;;16167:159;16340:17;16376:23;16449:17;16522:18;16558:21;16603:8;16600:1715;;;16635:16;;;;;;;16631:92;;16675:28;16694:4;16700:2;16675:18;:28::i;:::-;-1:-1:-1;;;;;16790:16:0;;;;;;:10;:16;;;;;;;;:24;;:16;:24;;:46;;-1:-1:-1;;;;;;16816:14:0;;;;;;:10;:14;;;;;;;;:20;;:14;:20;16790:46;16787:119;;;16859:27;;-1:-1:-1;;;16859:27:0;;;;;;;:::i;16787:119::-;-1:-1:-1;;;;;16960:29:0;;;;;;:25;:29;;;;;;;;:55;;;;-1:-1:-1;17007:7:0;;-1:-1:-1;;;;;16993:22:0;;;17007:7;;16993:22;;16960:55;16956:1324;;;17060:1;17044:13;:17;17109:10;;17120:3;;17100:19;;:6;:19;:::i;:::-;:23;;;;:::i;:::-;17088:35;;17182:3;17171:10;;17162:6;:19;;;;:::i;:::-;:23;;;;:::i;:::-;17150:35;;17253:3;17239:13;;17230:6;:22;;;;:::i;:::-;:26;;;;:::i;:::-;17212:44;;17316:3;17304:11;;17296:6;:19;;;;:::i;:::-;:23;;;;:::i;:::-;17283:36;;17382:3;17370:11;;17362:6;:19;;;;:::i;:::-;:23;;;;:::i;:::-;17346:39;-1:-1:-1;17346:39:0;17470:10;17452:15;17428:21;17440:9;17428;:21;:::i;:::-;:39;;;;:::i;:::-;:52;;;;:::i;:::-;:68;;;;:::i;:::-;17412:13;:84;16956:1324;;;-1:-1:-1;;;;;17570:31:0;;;;;;:25;:31;;;;;;;;:59;;;;-1:-1:-1;17621:7:0;;-1:-1:-1;;;;;17605:24:0;;;17621:7;;17605:24;;17570:59;17567:713;;;17687:13;17672:12;;17657;:27;;;;:::i;:::-;:43;17654:161;;;-1:-1:-1;;;;;17728:14:0;;;;;;:10;:14;;;;;:21;;-1:-1:-1;;17728:21:0;17745:4;17728:21;;;17776:13;:15;;;;;;:::i;:::-;;;;;;17654:161;17853:1;17837:13;:17;17898:9;;17908:3;;17889:18;;:6;:18;:::i;:::-;:22;;;;:::i;:::-;17877:34;;17965:3;17955:9;;17946:6;:18;;;;:::i;:::-;:22;;;;:::i;:::-;17934:34;;18031:3;18018:12;;18009:6;:21;;;;:::i;:::-;:25;;;;:::i;:::-;17991:43;;18089:3;18078:10;;18070:6;:18;;;;:::i;:::-;:22;;;;:::i;:::-;18057:35;;18150:3;18139:10;;18131:6;:18;;;;:::i;:::-;:22;;;;:::i;:::-;18115:38;-1:-1:-1;18115:38:0;18234:10;18216:15;18192:21;18204:9;18192;:21;:::i;:::-;:39;;;;:::i;:::-;:52;;;;:::i;:::-;:68;;;;:::i;:::-;18176:13;:84;17567:713;18349:22;18365:6;18349:13;:22;:::i;:::-;-1:-1:-1;;;;;18331:15:0;;;;;;:9;:15;;;;;:40;18467:13;18454:10;18442:9;18424:15;18403:18;18412:9;18403:6;:18;:::i;:::-;:36;;;;:::i;:::-;:48;;;;:::i;:::-;:61;;;;:::i;:::-;:77;;;;:::i;:::-;-1:-1:-1;;;;;18386:13:0;;;;;;:9;:13;;;;;:94;;:13;;;:94;;;;;:::i;:::-;;;;-1:-1:-1;;18498:14:0;;18495:382;;18548:13;;18538:4;18520:24;;;;:9;:24;;;;;:41;;:24;;;:41;;18548:13;;18520:41;:::i;:::-;;;;;;;;18619:9;18606;;:22;;;;;;;:::i;:::-;;;;;;;;18662:15;18643;;:34;;;;;;;:::i;:::-;;;;;;;;18705:9;18692;;:22;;;;;;;:::i;:::-;;;;;;;;18743:10;18729;;:24;;;;;;;:::i;:::-;;;;;;;;18785:13;18768;;:30;;;;;;;:::i;:::-;;;;-1:-1:-1;;18839:13:0;;18809:44;;18832:4;;-1:-1:-1;;;;;18809:44:0;;;;;;;;:::i;:::-;;;;;;;;18495:382;18911:2;-1:-1:-1;;;;;18896:39:0;18905:4;-1:-1:-1;;;;;18896:39:0;;18921:13;;18914:6;:20;;;;:::i;:::-;18896:39;;;;;;:::i;:::-;;;;;;;;14757:4210;;;;;;;;;;;:::o;5239:173::-;5295:16;5314:6;;-1:-1:-1;;;;;5331:17:0;;;-1:-1:-1;;;;;;5331:17:0;;;;;;5364:40;;5314:6;;;;;;;5364:40;;5295:16;5364:40;5239:173;;:::o;25256:188::-;-1:-1:-1;;;;;25339:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;25339:39:0;;;;;;;;;;25396:40;;25339:39;;:31;25396:40;;;25256:188;;:::o;18973:614::-;8987:16;:23;;-1:-1:-1;;8987:23:0;9006:4;8987:23;;;19085:13:::1;::::0;19075:9:::1;::::0;8987:16;;19075:23:::1;::::0;::::1;:::i;:::-;19053:45;;19109:25;19124:9;;19109:14;:25::i;:::-;19145:32;19165:11;19145:19;:32::i;:::-;19220:31;19235:15;;19220:14;:31::i;:::-;19330;19350:10;;19330:19;:31::i;:::-;19407:44;19437:13;19407:44;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;19474:1:0::1;19462:9;:13:::0;;;19486:15:::1;:19:::0;;;19516:9:::1;:13:::0;;;19540:10:::1;:13:::0;;;19564::::1;:15:::0;9021:16;:24;;-1:-1:-1;;9021:24:0;;;18973:614::o;21433:401::-;21511:16;;;;;;;21510:17;21502:65;;;;-1:-1:-1;;;21502:65:0;;;;;;;:::i;:::-;21579:20;21590:4;21596:2;21579:10;:20::i;:::-;21578:21;:44;;;;-1:-1:-1;21609:13:0;;-1:-1:-1;;;;;21603:19:0;;;21609:13;;21603:19;21578:44;21574:253;;;-1:-1:-1;;;;;;21635:23:0;;;;;:17;:23;;;;;:30;;-1:-1:-1;;21635:30:0;21661:4;21635:30;;;21676:16;:23;;-1:-1:-1;;21676:23:0;;;21635:30;21676:23;;;;;;21725:12;21710;:27;21763:15;21748:12;:30;21791:21;:28;;;;;;;;;;21433:401::o;21844:388::-;21906:12;21921:19;21939:1;21921:15;:19;:::i;:::-;21906:34;-1:-1:-1;21945:17:0;21965:22;21906:34;21965:15;:22;:::i;:::-;21945:42;-1:-1:-1;22017:21:0;22045:22;22062:4;22045:16;:22::i;:::-;22072:18;22093:40;22118:14;22093:21;:40;:::i;:::-;22072:61;;22141:35;22154:9;22165:10;22141:12;:35::i;:::-;22186:41;22201:4;22206:10;22217:9;22186:41;;;;;;;;:::i;:::-;;;;;;;;21844:388;;;;;:::o;19723:399::-;19810:16;;;19824:1;19810:16;;;;;;;;19786:21;;19810:16;;;;;;;;;;-1:-1:-1;19810:16:0;19786:40;;19849:4;19831;19836:1;19831:7;;;;;;-1:-1:-1;;;19831:7:0;;;;;;;;;-1:-1:-1;;;;;19831:23:0;;;:7;;;;;;;;;;:23;;;;19869:7;;:14;;;-1:-1:-1;;;19869:14:0;;;;:7;;;;;:12;;:14;;;;;19831:7;;19869:14;;;;;:7;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19859:4;19864:1;19859:7;;;;;;-1:-1:-1;;;19859:7:0;;;;;;;;;-1:-1:-1;;;;;19859:24:0;;;:7;;;;;;;;;:24;19920:7;;19888:49;;19905:4;;19920:7;19930:6;19888:8;:49::i;:::-;19948:7;;20070:16;;19948:164;;-1:-1:-1;;;19948:164:0;;-1:-1:-1;;;;;19948:7:0;;;;:58;;:164;;20012:6;;19948:7;;20060:4;;20070:16;;;20092:15;;19948:164;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19723:399;;:::o;20385:502::-;20442:12;20457:10;20466:1;20457:6;:10;:::i;:::-;20442:25;-1:-1:-1;20472:17:0;20492:13;20442:25;20492:6;:13;:::i;:::-;20540:16;;;20554:1;20540:16;;;;;;;;20472:33;;-1:-1:-1;20516:21:0;;20540:16;;;;;;;;;;;;-1:-1:-1;20540:16:0;20516:40;;20579:4;20561;20566:1;20561:7;;;;;;-1:-1:-1;;;20561:7:0;;;;;;;;;-1:-1:-1;;;;;20561:23:0;;;:7;;;;;;;;;;:23;;;;20599:7;;:14;;;-1:-1:-1;;;20599:14:0;;;;:7;;;;;:12;;:14;;;;;20561:7;;20599:14;;;;;:7;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20589:4;20594:1;20589:7;;;;;;-1:-1:-1;;;20589:7:0;;;;;;;;;-1:-1:-1;;;;;20589:24:0;;;:7;;;;;;;;;:24;20650:7;;20618:49;;20635:4;;20650:7;20660:6;20618:8;:49::i;:::-;20678:7;;20798:16;;20678:162;;-1:-1:-1;;;20678:162:0;;-1:-1:-1;;;;;20678:7:0;;;;:58;;:162;;20742:4;;20678:7;;20788:4;;20798:16;;;20820:15;;20678:162;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20853:26;20869:9;20853:15;:26::i;20252:127::-;20340:20;;20315:54;;20333:4;;-1:-1:-1;;;;;20340:20:0;20362:6;20315:9;:54::i;10057:330::-;10125:4;10157:7;:5;:7::i;:::-;-1:-1:-1;;;;;10149:15:0;:4;-1:-1:-1;;;;;10149:15:0;;;:45;;;;;10187:7;:5;:7::i;:::-;-1:-1:-1;;;;;10181:13:0;:2;-1:-1:-1;;;;;10181:13:0;;;10149:45;:84;;;;-1:-1:-1;;;;;;10212:21:0;;;;;;:17;:21;;;;;;;;10211:22;10149:84;:125;;;;-1:-1:-1;;;;;;10251:23:0;;;;;;:17;:23;;;;;;;;10250:24;10149:125;:159;;;;;10297:11;-1:-1:-1;;;;;10291:17:0;:2;-1:-1:-1;;;;;10291:17:0;;;10149:159;:192;;;;-1:-1:-1;;;;;;10325:16:0;;;;10149:192;:230;;;;-1:-1:-1;;;;;;10358:21:0;;10374:4;10358:21;;10149:230;10142:237;10057:330;-1:-1:-1;;;10057:330:0:o;22240:397::-;22323:16;;;22337:1;22323:16;;;;;;;;22299:21;;22323:16;;;;;;;;;;-1:-1:-1;22323:16:0;22299:40;;22362:4;22344;22349:1;22344:7;;;;;;-1:-1:-1;;;22344:7:0;;;;;;;;;-1:-1:-1;;;;;22344:23:0;;;:7;;;;;;;;;;:23;;;;22382:7;;:14;;;-1:-1:-1;;;22382:14:0;;;;:7;;;;;:12;;:14;;;;;22344:7;;22382:14;;;;;:7;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22372:4;22377:1;22372:7;;;;;;-1:-1:-1;;;22372:7:0;;;;;;;;;-1:-1:-1;;;;;22372:24:0;;;:7;;;;;;;;;:24;22433:7;;22401:54;;22418:4;;22433:7;22443:11;22401:8;:54::i;:::-;22466:7;;:166;;-1:-1:-1;;;22466:166:0;;-1:-1:-1;;;;;22466:7:0;;;;:58;;:166;;22530:11;;22466:7;;22583:4;;22601;;22612:15;;22466:166;;;:::i;22649:277::-;22754:7;;22722:54;;22739:4;;-1:-1:-1;;;;;22754:7:0;22764:11;22722:8;:54::i;:::-;22783:7;;:138;;-1:-1:-1;;;22783:138:0;;-1:-1:-1;;;;;22783:7:0;;;;:23;;22813:9;;22783:138;;22837:4;;22848:11;;22783:7;;;;22879:11;;22901:15;;22783:138;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22649:277;;:::o;20130:116::-;20213:16;;20188:50;;20206:4;;-1:-1:-1;;;;;20213:16:0;20231:6;20188:9;:50::i;14:259:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:33;237:5;210:33;:::i;278:263::-;;401:2;389:9;380:7;376:23;372:32;369:2;;;422:6;414;407:22;369:2;459:9;453:16;478:33;505:5;478:33;:::i;818:404::-;;;952:2;940:9;931:7;927:23;923:32;920:2;;;973:6;965;958:22;920:2;1017:9;1004:23;1036:33;1063:5;1036:33;:::i;:::-;1088:5;-1:-1:-1;1145:2:1;1130:18;;1117:32;1158;1117;1158;:::i;:::-;1209:7;1199:17;;;910:312;;;;;:::o;1227:402::-;;;1356:2;1344:9;1335:7;1331:23;1327:32;1324:2;;;1377:6;1369;1362:22;1324:2;1421:9;1408:23;1440:33;1467:5;1440:33;:::i;:::-;1492:5;-1:-1:-1;1549:2:1;1534:18;;1521:32;1562:35;1521:32;1562:35;:::i;1634:470::-;;;;1780:2;1768:9;1759:7;1755:23;1751:32;1748:2;;;1801:6;1793;1786:22;1748:2;1845:9;1832:23;1864:33;1891:5;1864:33;:::i;:::-;1916:5;-1:-1:-1;1973:2:1;1958:18;;1945:32;1986:35;1945:32;1986:35;:::i;:::-;1738:366;;2040:7;;-1:-1:-1;;;2094:2:1;2079:18;;;;2066:32;;1738:366::o;2109:396::-;;;2235:2;2223:9;2214:7;2210:23;2206:32;2203:2;;;2256:6;2248;2241:22;2510:327;;;2639:2;2627:9;2618:7;2614:23;2610:32;2607:2;;;2660:6;2652;2645:22;2607:2;2704:9;2691:23;2723:33;2750:5;2723:33;:::i;:::-;2775:5;2827:2;2812:18;;;;2799:32;;-1:-1:-1;;;2597:240:1:o;2842:253::-;;2951:2;2939:9;2930:7;2926:23;2922:32;2919:2;;;2972:6;2964;2957:22;2919:2;3016:9;3003:23;3035:30;3059:5;3035:30;:::i;3100:257::-;;3220:2;3208:9;3199:7;3195:23;3191:32;3188:2;;;3241:6;3233;3226:22;3188:2;3278:9;3272:16;3297:30;3321:5;3297:30;:::i;3362:491::-;;;;3529:2;3517:9;3508:7;3504:23;3500:32;3497:2;;;3550:6;3542;3535:22;3858:190;;3970:2;3958:9;3949:7;3945:23;3941:32;3938:2;;;3991:6;3983;3976:22;3938:2;-1:-1:-1;4019:23:1;;3928:120;-1:-1:-1;3928:120:1:o;4053:316::-;;;;4210:2;4198:9;4189:7;4185:23;4181:32;4178:2;;;4231:6;4223;4216:22;4178:2;4265:9;4259:16;4249:26;;4315:2;4304:9;4300:18;4294:25;4284:35;;4359:2;4348:9;4344:18;4338:25;4328:35;;4168:201;;;;;:::o;4374:469::-;;4471:5;4465:12;4498:6;4493:3;4486:19;4524:4;4553:2;4548:3;4544:12;4537:19;;4590:2;4583:5;4579:14;4611:3;4623:195;4637:6;4634:1;4631:13;4623:195;;;4702:13;;-1:-1:-1;;;;;4698:39:1;4686:52;;4758:12;;;;4793:15;;;;4734:1;4652:9;4623:195;;;-1:-1:-1;4834:3:1;;4441:402;-1:-1:-1;;;;;4441:402:1:o;4848:203::-;-1:-1:-1;;;;;5012:32:1;;;;4994:51;;4982:2;4967:18;;4949:102::o;5280:282::-;-1:-1:-1;;;;;5480:32:1;;;;5462:51;;5544:2;5529:18;;5522:34;5450:2;5435:18;;5417:145::o;5567:607::-;-1:-1:-1;;;;;5926:15:1;;;5908:34;;5973:2;5958:18;;5951:34;;;;6016:2;6001:18;;5994:34;;;;6059:2;6044:18;;6037:34;;;;6108:15;;;6102:3;6087:19;;6080:44;5888:3;6140:19;;6133:35;;;;5857:3;5842:19;;5824:350::o;6179:187::-;6344:14;;6337:22;6319:41;;6307:2;6292:18;;6274:92::o;6371:603::-;;6512:2;6541;6530:9;6523:21;6573:6;6567:13;6616:6;6611:2;6600:9;6596:18;6589:34;6641:4;6654:140;6668:6;6665:1;6662:13;6654:140;;;6763:14;;;6759:23;;6753:30;6729:17;;;6748:2;6725:26;6718:66;6683:10;;6654:140;;;6812:6;6809:1;6806:13;6803:2;;;6882:4;6877:2;6868:6;6857:9;6853:22;6849:31;6842:45;6803:2;-1:-1:-1;6958:2:1;6937:15;-1:-1:-1;;6933:29:1;6918:45;;;;6965:2;6914:54;;6492:482;-1:-1:-1;;;6492:482:1:o;6979:399::-;7181:2;7163:21;;;7220:2;7200:18;;;7193:30;7259:34;7254:2;7239:18;;7232:62;-1:-1:-1;;;7325:2:1;7310:18;;7303:33;7368:3;7353:19;;7153:225::o;7383:402::-;7585:2;7567:21;;;7624:2;7604:18;;;7597:30;7663:34;7658:2;7643:18;;7636:62;-1:-1:-1;;;7729:2:1;7714:18;;7707:36;7775:3;7760:19;;7557:228::o;7790:398::-;7992:2;7974:21;;;8031:2;8011:18;;;8004:30;8070:34;8065:2;8050:18;;8043:62;-1:-1:-1;;;8136:2:1;8121:18;;8114:32;8178:3;8163:19;;7964:224::o;8193:399::-;8395:2;8377:21;;;8434:2;8414:18;;;8407:30;8473:34;8468:2;8453:18;;8446:62;-1:-1:-1;;;8539:2:1;8524:18;;8517:33;8582:3;8567:19;;8367:225::o;8597:421::-;8799:2;8781:21;;;8838:2;8818:18;;;8811:30;8877:34;8872:2;8857:18;;8850:62;8948:27;8943:2;8928:18;;8921:55;9008:3;8993:19;;8771:247::o;9023:402::-;9225:2;9207:21;;;9264:2;9244:18;;;9237:30;9303:34;9298:2;9283:18;;9276:62;-1:-1:-1;;;9369:2:1;9354:18;;9347:36;9415:3;9400:19;;9197:228::o;9430:404::-;9632:2;9614:21;;;9671:2;9651:18;;;9644:30;9710:34;9705:2;9690:18;;9683:62;-1:-1:-1;;;9776:2:1;9761:18;;9754:38;9824:3;9809:19;;9604:230::o;9839:414::-;10041:2;10023:21;;;10080:2;10060:18;;;10053:30;10119:34;10114:2;10099:18;;10092:62;-1:-1:-1;;;10185:2:1;10170:18;;10163:48;10243:3;10228:19;;10013:240::o;10258:353::-;10460:2;10442:21;;;10499:2;10479:18;;;10472:30;10538:31;10533:2;10518:18;;10511:59;10602:2;10587:18;;10432:179::o;10616:404::-;10818:2;10800:21;;;10857:2;10837:18;;;10830:30;10896:34;10891:2;10876:18;;10869:62;-1:-1:-1;;;10962:2:1;10947:18;;10940:38;11010:3;10995:19;;10790:230::o;11025:356::-;11227:2;11209:21;;;11246:18;;;11239:30;11305:34;11300:2;11285:18;;11278:62;11372:2;11357:18;;11199:182::o;11386:411::-;11588:2;11570:21;;;11627:2;11607:18;;;11600:30;11666:34;11661:2;11646:18;;11639:62;-1:-1:-1;;;11732:2:1;11717:18;;11710:45;11787:3;11772:19;;11560:237::o;11802:401::-;12004:2;11986:21;;;12043:2;12023:18;;;12016:30;12082:34;12077:2;12062:18;;12055:62;-1:-1:-1;;;12148:2:1;12133:18;;12126:35;12193:3;12178:19;;11976:227::o;12208:400::-;12410:2;12392:21;;;12449:2;12429:18;;;12422:30;12488:34;12483:2;12468:18;;12461:62;-1:-1:-1;;;12554:2:1;12539:18;;12532:34;12598:3;12583:19;;12382:226::o;12613:341::-;12815:2;12797:21;;;12854:2;12834:18;;;12827:30;-1:-1:-1;;;12888:2:1;12873:18;;12866:47;12945:2;12930:18;;12787:167::o;12959:177::-;13105:25;;;13093:2;13078:18;;13060:76::o;13141:596::-;;13448:6;13437:9;13430:25;13491:6;13486:2;13475:9;13471:18;13464:34;13534:3;13529:2;13518:9;13514:18;13507:31;13555:63;13613:3;13602:9;13598:19;13590:6;13555:63;:::i;:::-;-1:-1:-1;;;;;13654:32:1;;;;13649:2;13634:18;;13627:60;-1:-1:-1;13718:3:1;13703:19;13696:35;13547:71;13420:317;-1:-1:-1;;;13420:317:1:o;14335:319::-;14537:25;;;14593:2;14578:18;;14571:34;;;;14636:2;14621:18;;14614:34;14525:2;14510:18;;14492:162::o;14659:128::-;;14730:1;14726:6;14723:1;14720:13;14717:2;;;14736:18;;:::i;:::-;-1:-1:-1;14772:9:1;;14707:80::o;14792:217::-;;14858:1;14848:2;;-1:-1:-1;;;14883:31:1;;14937:4;14934:1;14927:15;14965:4;14890:1;14955:15;14848:2;-1:-1:-1;14994:9:1;;14838:171::o;15014:168::-;;15120:1;15116;15112:6;15108:14;15105:1;15102:21;15097:1;15090:9;15083:17;15079:45;15076:2;;;15127:18;;:::i;:::-;-1:-1:-1;15167:9:1;;15066:116::o;15187:125::-;;15255:1;15252;15249:8;15246:2;;;15260:18;;:::i;:::-;-1:-1:-1;15297:9:1;;15236:76::o;15317:380::-;15402:1;15392:12;;15449:1;15439:12;;;15460:2;;15514:4;15506:6;15502:17;15492:27;;15460:2;15567;15559:6;15556:14;15536:18;15533:38;15530:2;;;15613:10;15608:3;15604:20;15601:1;15594:31;15648:4;15645:1;15638:15;15676:4;15673:1;15666:15;15530:2;;15372:325;;;:::o;15702:135::-;;-1:-1:-1;;15762:17:1;;15759:2;;;15782:18;;:::i;:::-;-1:-1:-1;15829:1:1;15818:13;;15749:88::o;15842:127::-;15903:10;15898:3;15894:20;15891:1;15884:31;15934:4;15931:1;15924:15;15958:4;15955:1;15948:15;15974:133;-1:-1:-1;;;;;16051:31:1;;16041:42;;16031:2;;16097:1;16094;16087:12;16112:120;16200:5;16193:13;16186:21;16179:5;16176:32;16166:2;;16222:1;16219;16212:12
Swarm Source
ipfs://aaf3209b77763e4da956adb25f881d7ea2d1487354b680baaab8e2f35097d008
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.