Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 DBEAR
Holders
11
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.991621577015522715 DBEARValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DRAGONBEAR
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-23 */ /** _____ ____ | __ \ | _ \ | | | |_ __ __ _ __ _ ___ _ __ | |_) | ___ __ _ _ __ | | | | '__/ _` |/ _` |/ _ \| '_ \| _ < / _ \/ _` | '__| | |__| | | | (_| | (_| | (_) | | | | |_) | __/ (_| | | |_____/|_| \__,_|\__, |\___/|_| |_|____/ \___|\__,_|_| __/ | |___/ The Dragon is here to burn Bears! Learn more at https://www.bearbucks.capital/dragonbear Telegram: https://t.me/DragonBearPortal */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.10; /** * ERC20 standard interface */ interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * Basic access control mechanism */ abstract contract Ownable { address internal owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!YOU ARE NOT THE OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(owner, address(0)); owner = address(0); } } /** * Router Interfaces */ interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } /** * Token Contract Code */ contract DRAGONBEAR is ERC20, Ownable { // -- Mappings -- mapping(address => bool) public _blacklisted; mapping(address => bool) private _whitelisted; mapping(address => bool) public _automatedMarketMakers; mapping(address => bool) private _isLimitless; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; // -- Basic Token Information -- string constant _name = "DragonBear"; string constant _symbol = "DBEAR"; uint8 constant _decimals = 18; uint256 private _totalSupply = 1_000_000_000 * 10 ** _decimals; // -- Transaction & Wallet Limits -- uint256 public maxBuyPercentage; uint256 public maxSellPercentage; uint256 public maxWalletPercentage; uint256 private maxBuyAmount; uint256 private maxSellAmount; uint256 private maxWalletAmount; // -- Contract Variables -- address[] private sniperList; uint256 tokenTax; uint256 transferFee; uint256 private targetLiquidity = 50; // -- Fee Structs -- struct BuyFee { uint256 liquidityFee; uint256 developerFee; uint256 burningFee; uint256 total; } struct SellFee { uint256 liquidityFee; uint256 developerFee; uint256 burningFee; uint256 total; } BuyFee public buyFee; SellFee public sellFee; // -- Addresses -- address public _exchangeRouterAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address private constant DEAD = 0x000000000000000000000000000000000000dEaD; address private constant ZERO = 0x0000000000000000000000000000000000000000; address public developerReceiver = msg.sender; address public burningReceiver = msg.sender; IDEXRouter public router; address public pair; // -- Misc Variables -- bool public antiSniperMode = true; // AntiSniper active at launch by default bool private _addingLP; bool private inSwap; bool private _initialDistributionFinished; // -- Swap Variables -- bool public swapEnabled = true; uint256 private swapThreshold = _totalSupply / 1000; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Ownable(msg.sender) { // Initialize Uniswap Pair router = IDEXRouter(_exchangeRouterAddress); pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = type(uint256).max; _automatedMarketMakers[pair]=true; // Set Initial Buy Fees -- Base 1000 Set 10 for 1% buyFee.liquidityFee = 10; buyFee.developerFee = 0; buyFee.burningFee = 50; buyFee.total = buyFee.liquidityFee + buyFee.developerFee + buyFee.burningFee; // Set Initial Sell Fees -- Base 1000 Set 10 for 1% sellFee.liquidityFee = 10; sellFee.developerFee = 0; sellFee.burningFee = 50; sellFee.total = sellFee.liquidityFee + sellFee.developerFee + sellFee.burningFee; // Set Initial Buy, Sell & Wallet Limits -- Base 1000 Set 10 for 1% maxBuyPercentage = 60; maxBuyAmount = _totalSupply /1000 * maxBuyPercentage; maxSellPercentage = 60; maxSellAmount = _totalSupply /1000 * maxSellPercentage; maxWalletPercentage = 60; maxWalletAmount = _totalSupply /1000 * maxWalletPercentage; // Exclude from fees & limits _isLimitless[owner] = _isLimitless[address(this)] = true; // Mint _totalSupply to owner address _balances[owner] = _totalSupply; emit Transfer(address(0x0), owner, _totalSupply); } ///////////////////////////////////////// -- Setter Functions -- ///////////////////////////////////////// // Use 10 to set 1% -- Base 1000 for easier fine adjust function ownerSetLimits(uint256 _maxBuyPercentage, uint256 _maxSellPercentage, uint256 _maxWalletPercentage) external onlyOwner { maxBuyPercentage = _maxBuyPercentage; maxBuyAmount = _totalSupply /1000 * maxBuyPercentage; maxSellPercentage = _maxSellPercentage; maxSellAmount = _totalSupply /1000 * maxSellPercentage; maxWalletPercentage= _maxWalletPercentage; maxWalletAmount = _totalSupply /1000 * maxWalletPercentage; } function ownerSetInitialDistributionFinished() external onlyOwner { _initialDistributionFinished = true; } function ownerSetLimitlessAddress(address _addr, bool _status) external onlyOwner { _isLimitless[_addr] = _status; } function ownerSetSwapBackSettings(bool _enabled, uint256 _percentageBase1000) external onlyOwner { swapEnabled = _enabled; swapThreshold = _totalSupply / 1000 * _percentageBase1000; } function ownerSetTargetLiquidity(uint256 target) external onlyOwner { targetLiquidity = target; } // Use 10 to set 1% -- Base 1000 for easier fine adjust function ownerUpdateBuyFees (uint256 _liquidityFee, uint256 _developerFee, uint256 _burningFee) external onlyOwner { buyFee.liquidityFee = _liquidityFee; buyFee.developerFee = _developerFee; buyFee.burningFee = _burningFee; buyFee.total = buyFee.liquidityFee + buyFee.developerFee + buyFee.burningFee; } // Use 10 to set 1% -- Base 1000 for easier fine adjust function ownerUpdateSellFees (uint256 _liquidityFee, uint256 _developerFee, uint256 _burningFee) external onlyOwner { sellFee.liquidityFee = _liquidityFee; sellFee.developerFee = _developerFee; sellFee.burningFee = _burningFee; sellFee.total = sellFee.liquidityFee + sellFee.developerFee + sellFee.burningFee; } // Use 10 to set 1% -- Base 1000 for easier fine adjust function ownerUpdateTransferFee (uint256 _transferFee) external onlyOwner { transferFee = _transferFee; } function ownerSetReceivers (address _developer, address _burning) external onlyOwner { developerReceiver = _developer; burningReceiver = _burning; } function reverseSniper(address sniper) external onlyOwner { _blacklisted[sniper] = false; } function addNewMarketMaker(address newAMM) external onlyOwner { _automatedMarketMakers[newAMM]=true; _isLimitless[newAMM]=true; } function controlAntiSniperMode(bool value) external onlyOwner { antiSniperMode = value; } function clearStuckBalance() external onlyOwner { uint256 contractETHBalance = address(this).balance; payable(owner).transfer(contractETHBalance); } function clearStuckToken(address _token) public onlyOwner { uint256 _contractBalance = ERC20(_token).balanceOf(address(this)); payable(developerReceiver).transfer(_contractBalance); } ///////////////////////////////////////// -- Getter Functions -- ///////////////////////////////////////// function getCirculatingSupply() public view returns (uint256) { return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO); } function showSniperList() public view returns(address[] memory){ return sniperList; } function showSniperListLength() public view returns(uint256){ return sniperList.length; } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy * (balanceOf(pair) * (2)) / (getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } ///////////////////////////////////////// -- Internal Functions -- ///////////////////////////////////////// function _transfer(address sender,address recipient,uint256 amount) private { require(sender!=address(0)&&recipient!=address(0),"Cannot be address(0)."); bool isBuy=_automatedMarketMakers[sender]; bool isSell=_automatedMarketMakers[recipient]; bool isExcluded=_isLimitless[sender]||_isLimitless[recipient]||_addingLP; if(isExcluded)_transferExcluded(sender,recipient,amount); else { require(_initialDistributionFinished); // Punish for Snipers if(antiSniperMode)_punishSnipers(sender,recipient,amount); // Buy Tokens else if(isBuy)_buyTokens(sender,recipient,amount); // Sell Tokens else if(isSell) { // Swap & Liquify if (shouldSwapBack()) {swapBack();} _sellTokens(sender,recipient,amount); } else { // P2P Transfer require(!_blacklisted[sender]&&!_blacklisted[recipient]); require(balanceOf(recipient)+amount<=maxWalletAmount, "Total amount exceed wallet limit"); _P2PTransfer(sender,recipient,amount); } } } function _punishSnipers(address sender,address recipient,uint256 amount) private { require(!_blacklisted[recipient]); require(amount <= maxBuyAmount, "Buy exceeds limit"); tokenTax = amount*90/100; _blacklisted[recipient]=true; sniperList.push(address(recipient)); _transferIncluded(sender,recipient,amount,tokenTax); } function _buyTokens(address sender,address recipient,uint256 amount) private { require(!_blacklisted[recipient]); require(amount <= maxBuyAmount, "Buy exceeds limit"); require(balanceOf(recipient)+amount<=maxWalletAmount, "Total amount exceed wallet limit"); if(!_whitelisted[recipient]){ tokenTax = amount*buyFee.total/1000;} else tokenTax = 0; _transferIncluded(sender,recipient,amount,tokenTax); } function _sellTokens(address sender,address recipient,uint256 amount) private { require(!_blacklisted[sender]); require(amount <= maxSellAmount); if(!_whitelisted[sender]){ tokenTax = amount*sellFee.total/1000;} else tokenTax = 0; _transferIncluded(sender,recipient,amount,tokenTax); } function _P2PTransfer(address sender,address recipient,uint256 amount) private { tokenTax = amount * transferFee/1000; if( tokenTax > 0) {_transferIncluded(sender,recipient,amount,tokenTax);} else {_transferExcluded(sender,recipient,amount);} } function _transferExcluded(address sender,address recipient,uint256 amount) private { _updateBalance(sender,_balances[sender]-amount); _updateBalance(recipient,_balances[recipient]+amount); emit Transfer(sender,recipient,amount); } function _transferIncluded(address sender,address recipient,uint256 amount,uint256 taxAmount) private { uint256 newAmount = amount-tokenTax; _updateBalance(sender,_balances[sender]-amount); _updateBalance(address(this),_balances[address(this)]+taxAmount); _updateBalance(recipient,_balances[recipient]+newAmount); emit Transfer(sender,recipient,newAmount); emit Transfer(sender,address(this),taxAmount); } function _updateBalance(address account,uint256 newBalance) private { _balances[account] = newBalance; } function shouldSwapBack() private view returns (bool) { return !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() private swapping { uint256 toSwap = balanceOf(address(this)); uint256 totalLPTokens=toSwap*(sellFee.liquidityFee + buyFee.liquidityFee)/(sellFee.total + buyFee.total); uint256 tokensLeft=toSwap-totalLPTokens; uint256 LPTokens=totalLPTokens/2; uint256 LPETHTokens=totalLPTokens-LPTokens; toSwap=tokensLeft+LPETHTokens; uint256 oldETH=address(this).balance; _swapTokensForETH(toSwap); uint256 newETH=address(this).balance-oldETH; uint256 LPETH=(newETH*LPETHTokens)/toSwap; _addLiquidity(LPTokens,LPETH); uint256 remainingETH=address(this).balance-oldETH; _distributeETH(remainingETH); } function _distributeETH(uint256 remainingETH) private { uint256 burningFee = (buyFee.burningFee + sellFee.burningFee); uint256 developerFee = (buyFee.developerFee + sellFee.developerFee); uint256 totalFee = (burningFee + developerFee); uint256 amountETHburning = remainingETH * (burningFee) / (totalFee); uint256 amountETHdeveloper = remainingETH * (developerFee) / (totalFee); if(amountETHdeveloper > 0){ (bool developerSuccess, /* bytes memory data */) = payable(developerReceiver).call{value: amountETHdeveloper, gas: 30000}(""); require(developerSuccess, "receiver rejected ETH transfer"); } if(amountETHburning > 0){ (bool burningSuccess, /* bytes memory data */) = payable(burningReceiver).call{value: amountETHburning, gas: 30000}(""); require(burningSuccess, "receiver rejected ETH transfer"); } } function _swapTokensForETH(uint256 amount) private { address[] memory path=new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amount, 0, path, address(this), block.timestamp ); } function _addLiquidity(uint256 amountTokens,uint256 amountETH) private { _addingLP=true; router.addLiquidityETH{value: amountETH}( address(this), amountTokens, 0, 0, developerReceiver, block.timestamp ); _addingLP=false; } /** * IERC20 */ receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account];} function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender];} function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { uint256 allowance_ = _allowances[sender][msg.sender]; require(allowance_ >= amount); if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } _transfer(sender, recipient, amount); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_automatedMarketMakers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_blacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_exchangeRouterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAMM","type":"address"}],"name":"addNewMarketMaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antiSniperMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burningReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"developerFee","type":"uint256"},{"internalType":"uint256","name":"burningFee","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"clearStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"controlAntiSniperMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"developerReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"ownerSetInitialDistributionFinished","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"ownerSetLimitlessAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxBuyPercentage","type":"uint256"},{"internalType":"uint256","name":"_maxSellPercentage","type":"uint256"},{"internalType":"uint256","name":"_maxWalletPercentage","type":"uint256"}],"name":"ownerSetLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_developer","type":"address"},{"internalType":"address","name":"_burning","type":"address"}],"name":"ownerSetReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_percentageBase1000","type":"uint256"}],"name":"ownerSetSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"}],"name":"ownerSetTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_developerFee","type":"uint256"},{"internalType":"uint256","name":"_burningFee","type":"uint256"}],"name":"ownerUpdateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_developerFee","type":"uint256"},{"internalType":"uint256","name":"_burningFee","type":"uint256"}],"name":"ownerUpdateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_transferFee","type":"uint256"}],"name":"ownerUpdateTransferFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"reverseSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"developerFee","type":"uint256"},{"internalType":"uint256","name":"burningFee","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSniperList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSniperListLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526012600a620000149190620009bc565b633b9aca0062000025919062000a0d565b6008556032601255737a250d5630b4cf539739df2c5dacb4c659f2488d601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601f60146101000a81548160ff0219169083151502179055506001601f60186101000a81548160ff0219169083151502179055506103e86008546200014c919062000a9d565b6020553480156200015c57600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000270573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000296919062000b3f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200031f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000345919062000b3f565b306040518363ffffffff1660e01b81526004016200036592919062000b82565b6020604051808303816000875af115801562000385573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ab919062000b3f565b601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600a6013600001819055506000601360010181905550603260136002018190555060136002015460136001015460136000015462000567919062000baf565b62000573919062000baf565b601360030181905550600a60176000018190555060006017600101819055506032601760020181905550601760020154601760010154601760000154620005bb919062000baf565b620005c7919062000baf565b601760030181905550603c6009819055506009546103e8600854620005ed919062000a9d565b620005f9919062000a0d565b600c81905550603c600a81905550600a546103e86008546200061c919062000a9d565b62000628919062000a0d565b600d81905550603c600b81905550600b546103e86008546200064b919062000a9d565b62000657919062000a0d565b600e819055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055600560008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600854600660008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60085460405162000814919062000c1d565b60405180910390a362000c3a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620008b05780860481111562000888576200088762000822565b5b6001851615620008985780820291505b8081029050620008a88562000851565b945062000868565b94509492505050565b600082620008cb57600190506200099e565b81620008db57600090506200099e565b8160018114620008f45760028114620008ff5762000935565b60019150506200099e565b60ff84111562000914576200091362000822565b5b8360020a9150848211156200092e576200092d62000822565b5b506200099e565b5060208310610133831016604e8410600b84101617156200096f5782820a90508381111562000969576200096862000822565b5b6200099e565b6200097e84848460016200085e565b9250905081840481111562000998576200099762000822565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620009c982620009a5565b9150620009d683620009af565b925062000a057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620008b9565b905092915050565b600062000a1a82620009a5565b915062000a2783620009a5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a635762000a6262000822565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000aaa82620009a5565b915062000ab783620009a5565b92508262000aca5762000ac962000a6e565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b078262000ada565b9050919050565b62000b198162000afa565b811462000b2557600080fd5b50565b60008151905062000b398162000b0e565b92915050565b60006020828403121562000b585762000b5762000ad5565b5b600062000b688482850162000b28565b91505092915050565b62000b7c8162000afa565b82525050565b600060408201905062000b99600083018562000b71565b62000ba8602083018462000b71565b9392505050565b600062000bbc82620009a5565b915062000bc983620009a5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c015762000c0062000822565b5b828201905092915050565b62000c1781620009a5565b82525050565b600060208201905062000c34600083018462000c0c565b92915050565b613d6d8062000c4a6000396000f3fe6080604052600436106102815760003560e01c80636ddd17131161014f5780639be953b3116100c1578063dca3cef11161007a578063dca3cef11461099d578063dd62ed3e146109c6578063e065099714610a03578063e5a772d214610a2e578063f2fde38b14610a57578063f887ea4014610a8057610288565b80639be953b31461087b578063a8aa1b31146108a4578063a9059cbb146108cf578063b46ba24b1461090c578063b704a9f614610935578063d51ed1c81461096057610288565b806387cfc4931161011357806387cfc4931461077f578063893d20e8146107a85780638ca42e4e146107d35780638ee41ca8146107fc57806391c10f071461082557806395d89b411461085057610288565b80636ddd17131461069a57806370a08231146106c5578063715018a6146107025780637a6d69b41461071957806383bd84851461075657610288565b80632f54bf6e116101f357806352aae9dd116101ac57806352aae9dd1461059c57806353cd6210146105c5578063599ca397146105f057806359d3cac21461061b5780636390aeeb146106445780636dc53a0a1461066f57610288565b80632f54bf6e146104af578063313ce567146104ec578063364333f414610517578063470624021461052e57806347375a371461055c5780634c5d87101461057357610288565b806318160ddd1161024557806318160ddd146103985780631ca0b1d0146103c357806323b872dd146103ee5780632b112e491461042b5780632b14ca56146104565780632d3b40471461048457610288565b806306fdde031461028d578063095ea7b3146102b85780630c5b1d93146102f55780630cb23d861461031e5780631161ae391461035b57610288565b3661028857005b600080fd5b34801561029957600080fd5b506102a2610aab565b6040516102af91906130f1565b60405180910390f35b3480156102c457600080fd5b506102df60048036038101906102da91906131ac565b610ae8565b6040516102ec9190613207565b60405180910390f35b34801561030157600080fd5b5061031c6004803603810190610317919061324e565b610bda565b005b34801561032a57600080fd5b506103456004803603810190610340919061328e565b610c7d565b6040516103529190613207565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906132bb565b610c9d565b60405161038f9190613207565b60405180910390f35b3480156103a457600080fd5b506103ad610cb2565b6040516103ba919061330a565b60405180910390f35b3480156103cf57600080fd5b506103d8610cbc565b6040516103e591906133e3565b60405180910390f35b3480156103fa57600080fd5b5061041560048036038101906104109190613405565b610d4a565b6040516104229190613207565b60405180910390f35b34801561043757600080fd5b50610440610f9c565b60405161044d919061330a565b60405180910390f35b34801561046257600080fd5b5061046b610fcf565b60405161047b9493929190613458565b60405180910390f35b34801561049057600080fd5b50610499610fed565b6040516104a691906134ac565b60405180910390f35b3480156104bb57600080fd5b506104d660048036038101906104d1919061328e565b611013565b6040516104e39190613207565b60405180910390f35b3480156104f857600080fd5b5061050161106c565b60405161050e91906134e3565b60405180910390f35b34801561052357600080fd5b5061052c611075565b005b34801561053a57600080fd5b5061054361112c565b6040516105539493929190613458565b60405180910390f35b34801561056857600080fd5b5061057161114a565b005b34801561057f57600080fd5b5061059a600480360381019061059591906134fe565b6111af565b005b3480156105a857600080fd5b506105c360048036038101906105be9190613551565b61127a565b005b3480156105d157600080fd5b506105da6112cc565b6040516105e79190613207565b60405180910390f35b3480156105fc57600080fd5b506106056112df565b604051610612919061330a565b60405180910390f35b34801561062757600080fd5b50610642600480360381019061063d91906134fe565b6112e5565b005b34801561065057600080fd5b5061065961137f565b604051610666919061330a565b60405180910390f35b34801561067b57600080fd5b5061068461138c565b60405161069191906134ac565b60405180910390f35b3480156106a657600080fd5b506106af6113b2565b6040516106bc9190613207565b60405180910390f35b3480156106d157600080fd5b506106ec60048036038101906106e7919061328e565b6113c5565b6040516106f9919061330a565b60405180910390f35b34801561070e57600080fd5b5061071761140e565b005b34801561072557600080fd5b50610740600480360381019061073b919061328e565b611514565b60405161074d9190613207565b60405180910390f35b34801561076257600080fd5b5061077d6004803603810190610778919061357e565b611534565b005b34801561078b57600080fd5b506107a660048036038101906107a1919061328e565b611599565b005b3480156107b457600080fd5b506107bd61163c565b6040516107ca91906134ac565b60405180910390f35b3480156107df57600080fd5b506107fa60048036038101906107f59190613551565b611665565b005b34801561080857600080fd5b50610823600480360381019061081e91906135ab565b6116b7565b005b34801561083157600080fd5b5061083a61173e565b60405161084791906134ac565b60405180910390f35b34801561085c57600080fd5b50610865611764565b60405161087291906130f1565b60405180910390f35b34801561088757600080fd5b506108a2600480360381019061089d919061328e565b6117a1565b005b3480156108b057600080fd5b506108b96118d4565b6040516108c691906134ac565b60405180910390f35b3480156108db57600080fd5b506108f660048036038101906108f191906131ac565b6118fa565b6040516109039190613207565b60405180910390f35b34801561091857600080fd5b50610933600480360381019061092e91906134fe565b611911565b005b34801561094157600080fd5b5061094a6119ab565b604051610957919061330a565b60405180910390f35b34801561096c57600080fd5b5061098760048036038101906109829190613551565b6119b1565b604051610994919061330a565b60405180910390f35b3480156109a957600080fd5b506109c460048036038101906109bf91906135eb565b611a0e565b005b3480156109d257600080fd5b506109ed60048036038101906109e891906135eb565b611adc565b6040516109fa919061330a565b60405180910390f35b348015610a0f57600080fd5b50610a18611b63565b604051610a25919061330a565b60405180910390f35b348015610a3a57600080fd5b50610a556004803603810190610a50919061328e565b611b69565b005b348015610a6357600080fd5b50610a7e6004803603810190610a79919061328e565b611c64565b005b348015610a8c57600080fd5b50610a95611dd9565b604051610aa2919061368a565b60405180910390f35b60606040518060400160405280600a81526020017f447261676f6e4265617200000000000000000000000000000000000000000000815250905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610bc8919061330a565b60405180910390a36001905092915050565b610be333611013565b610c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c19906136f1565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60046020528060005260406000206000915054906101000a900460ff1681565b600082610ca9836119b1565b11905092915050565b6000600854905090565b6060600f805480602002602001604051908101604052809291908181526020018280548015610d4057602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610cf6575b5050505050905090565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610dd957600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610f855782600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f049190613740565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610f90858585611dff565b60019150509392505050565b6000610fa860006113c5565b610fb361dead6113c5565b600854610fc09190613740565b610fca9190613740565b905090565b60178060000154908060010154908060020154908060030154905084565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b61107e33611013565b6110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b4906136f1565b60405180910390fd5b600047905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611128573d6000803e3d6000fd5b5050565b60138060000154908060010154908060020154908060030154905084565b61115333611013565b611192576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611189906136f1565b60405180910390fd5b6001601f60176101000a81548160ff021916908315150217905550565b6111b833611013565b6111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee906136f1565b60405180910390fd5b826009819055506009546103e860085461121191906137a3565b61121b91906137d4565b600c8190555081600a81905550600a546103e860085461123b91906137a3565b61124591906137d4565b600d8190555080600b81905550600b546103e860085461126591906137a3565b61126f91906137d4565b600e81905550505050565b61128333611013565b6112c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b9906136f1565b60405180910390fd5b8060128190555050565b601f60149054906101000a900460ff1681565b600b5481565b6112ee33611013565b61132d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611324906136f1565b60405180910390fd5b826017600001819055508160176001018190555080601760020181905550601760020154601760010154601760000154611367919061382e565b611371919061382e565b601760030181905550505050565b6000600f80549050905090565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601f60189054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61141733611013565b611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d906136f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60026020528060005260406000206000915054906101000a900460ff1681565b61153d33611013565b61157c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611573906136f1565b60405180910390fd5b80601f60146101000a81548160ff02191690831515021790555050565b6115a233611013565b6115e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d8906136f1565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61166e33611013565b6116ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a4906136f1565b60405180910390fd5b8060118190555050565b6116c033611013565b6116ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f6906136f1565b60405180910390fd5b81601f60186101000a81548160ff021916908315150217905550806103e860085461172a91906137a3565b61173491906137d4565b6020819055505050565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600581526020017f4442454152000000000000000000000000000000000000000000000000000000815250905090565b6117aa33611013565b6117e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e0906136f1565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161182491906134ac565b602060405180830381865afa158015611841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118659190613899565b9050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156118cf573d6000803e3d6000fd5b505050565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611907338484611dff565b6001905092915050565b61191a33611013565b611959576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611950906136f1565b60405180910390fd5b826013600001819055508160136001018190555080601360020181905550601360020154601360010154601360000154611993919061382e565b61199d919061382e565b601360030181905550505050565b600a5481565b60006119bb610f9c565b60026119e8601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166113c5565b6119f291906137d4565b836119fd91906137d4565b611a0791906137a3565b9050919050565b611a1733611013565b611a56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4d906136f1565b60405180910390fd5b81601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b611b7233611013565b611bb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba8906136f1565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611c6d33611013565b611cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca3906136f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1390613938565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e695750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611ea8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9f906139a4565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611fed5750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806120045750601f60159054906101000a900460ff165b9050801561201c576120178686866121b8565b6121b0565b601f60179054906101000a900460ff1661203557600080fd5b601f60149054906101000a900460ff161561205a576120558686866122ca565b6121af565b82156120705761206b868686612453565b6121ae565b811561209c5761207e6125dd565b1561208c5761208b61265a565b5b612097868686612788565b6121ad565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121405750600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61214957600080fd5b600e5484612156876113c5565b612160919061382e565b11156121a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219890613a10565b60405180910390fd5b6121ac868686612884565b5b5b5b5b505050505050565b61220c8382600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122079190613740565b6128d4565b6122608282600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225b919061382e565b6128d4565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122bd919061330a565b60405180910390a3505050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561232157600080fd5b600c54811115612366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235d90613a7c565b60405180910390fd5b6064605a8261237591906137d4565b61237f91906137a3565b6010819055506001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600f829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061244e83838360105461291c565b505050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156124aa57600080fd5b600c548111156124ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e690613a7c565b60405180910390fd5b600e54816124fc846113c5565b612506919061382e565b1115612547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253e90613a10565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166125c1576103e8601360030154826125ac91906137d4565b6125b691906137a3565b6010819055506125ca565b60006010819055505b6125d883838360105461291c565b505050565b6000601f60169054906101000a900460ff161580156126085750601f60189054906101000a900460ff165b80156126555750602054600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601f60166101000a81548160ff0219169083151502179055506000612680306113c5565b9050600060136003015460176003015461269a919061382e565b6013600001546017600001546126b0919061382e565b836126bb91906137d4565b6126c591906137a3565b9050600081836126d59190613740565b905060006002836126e691906137a3565b9050600081846126f69190613740565b90508083612704919061382e565b9450600047905061271486612afb565b600081476127229190613740565b9050600087848361273391906137d4565b61273d91906137a3565b90506127498582612d11565b600083476127579190613740565b905061276281612e1a565b5050505050505050506000601f60166101000a81548160ff021916908315150217905550565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156127df57600080fd5b600d548111156127ee57600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612868576103e86017600301548261285391906137d4565b61285d91906137a3565b601081905550612871565b60006010819055505b61287f83838360105461291c565b505050565b6103e86011548261289591906137d4565b61289f91906137a3565b601081905550600060105411156128c3576128be83838360105461291c565b6128cf565b6128ce8383836121b8565b5b505050565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60006010548361292c9190613740565b90506129828584600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461297d9190613740565b6128d4565b6129d63083600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129d1919061382e565b6128d4565b612a2a8482600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a25919061382e565b6128d4565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a87919061330a565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612aec919061330a565b60405180910390a35050505050565b6000600267ffffffffffffffff811115612b1857612b17613a9c565b5b604051908082528060200260200182016040528015612b465781602001602082028036833780820191505090505b5090503081600081518110612b5e57612b5d613acb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c299190613b0f565b81600181518110612c3d57612c3c613acb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612cdb959493929190613b77565b600060405180830381600087803b158015612cf557600080fd5b505af1158015612d09573d6000803e3d6000fd5b505050505050565b6001601f60156101000a81548160ff021916908315150217905550601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612db596959493929190613bd1565b60606040518083038185885af1158015612dd3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612df89190613c32565b5050506000601f60156101000a81548160ff0219169083151502179055505050565b6000601760020154601360020154612e32919061382e565b90506000601760010154601360010154612e4c919061382e565b905060008183612e5c919061382e565b90506000818486612e6d91906137d4565b612e7791906137a3565b90506000828487612e8891906137d4565b612e9291906137a3565b90506000811115612f72576000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051612ee990613cb6565b600060405180830381858888f193505050503d8060008114612f27576040519150601f19603f3d011682016040523d82523d6000602084013e612f2c565b606091505b5050905080612f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f6790613d17565b60405180910390fd5b505b6000821115613050576000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051612fc790613cb6565b600060405180830381858888f193505050503d8060008114613005576040519150601f19603f3d011682016040523d82523d6000602084013e61300a565b606091505b505090508061304e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161304590613d17565b60405180910390fd5b505b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613092578082015181840152602081019050613077565b838111156130a1576000848401525b50505050565b6000601f19601f8301169050919050565b60006130c382613058565b6130cd8185613063565b93506130dd818560208601613074565b6130e6816130a7565b840191505092915050565b6000602082019050818103600083015261310b81846130b8565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061314382613118565b9050919050565b61315381613138565b811461315e57600080fd5b50565b6000813590506131708161314a565b92915050565b6000819050919050565b61318981613176565b811461319457600080fd5b50565b6000813590506131a681613180565b92915050565b600080604083850312156131c3576131c2613113565b5b60006131d185828601613161565b92505060206131e285828601613197565b9150509250929050565b60008115159050919050565b613201816131ec565b82525050565b600060208201905061321c60008301846131f8565b92915050565b61322b816131ec565b811461323657600080fd5b50565b60008135905061324881613222565b92915050565b6000806040838503121561326557613264613113565b5b600061327385828601613161565b925050602061328485828601613239565b9150509250929050565b6000602082840312156132a4576132a3613113565b5b60006132b284828501613161565b91505092915050565b600080604083850312156132d2576132d1613113565b5b60006132e085828601613197565b92505060206132f185828601613197565b9150509250929050565b61330481613176565b82525050565b600060208201905061331f60008301846132fb565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61335a81613138565b82525050565b600061336c8383613351565b60208301905092915050565b6000602082019050919050565b600061339082613325565b61339a8185613330565b93506133a583613341565b8060005b838110156133d65781516133bd8882613360565b97506133c883613378565b9250506001810190506133a9565b5085935050505092915050565b600060208201905081810360008301526133fd8184613385565b905092915050565b60008060006060848603121561341e5761341d613113565b5b600061342c86828701613161565b935050602061343d86828701613161565b925050604061344e86828701613197565b9150509250925092565b600060808201905061346d60008301876132fb565b61347a60208301866132fb565b61348760408301856132fb565b61349460608301846132fb565b95945050505050565b6134a681613138565b82525050565b60006020820190506134c1600083018461349d565b92915050565b600060ff82169050919050565b6134dd816134c7565b82525050565b60006020820190506134f860008301846134d4565b92915050565b60008060006060848603121561351757613516613113565b5b600061352586828701613197565b935050602061353686828701613197565b925050604061354786828701613197565b9150509250925092565b60006020828403121561356757613566613113565b5b600061357584828501613197565b91505092915050565b60006020828403121561359457613593613113565b5b60006135a284828501613239565b91505092915050565b600080604083850312156135c2576135c1613113565b5b60006135d085828601613239565b92505060206135e185828601613197565b9150509250929050565b6000806040838503121561360257613601613113565b5b600061361085828601613161565b925050602061362185828601613161565b9150509250929050565b6000819050919050565b600061365061364b61364684613118565b61362b565b613118565b9050919050565b600061366282613635565b9050919050565b600061367482613657565b9050919050565b61368481613669565b82525050565b600060208201905061369f600083018461367b565b92915050565b7f21594f5520415245204e4f5420544845204f574e455200000000000000000000600082015250565b60006136db601683613063565b91506136e6826136a5565b602082019050919050565b6000602082019050818103600083015261370a816136ce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061374b82613176565b915061375683613176565b92508282101561376957613768613711565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006137ae82613176565b91506137b983613176565b9250826137c9576137c8613774565b5b828204905092915050565b60006137df82613176565b91506137ea83613176565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561382357613822613711565b5b828202905092915050565b600061383982613176565b915061384483613176565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561387957613878613711565b5b828201905092915050565b60008151905061389381613180565b92915050565b6000602082840312156138af576138ae613113565b5b60006138bd84828501613884565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613922602683613063565b915061392d826138c6565b604082019050919050565b6000602082019050818103600083015261395181613915565b9050919050565b7f43616e6e6f7420626520616464726573732830292e0000000000000000000000600082015250565b600061398e601583613063565b915061399982613958565b602082019050919050565b600060208201905081810360008301526139bd81613981565b9050919050565b7f546f74616c20616d6f756e74206578636565642077616c6c6574206c696d6974600082015250565b60006139fa602083613063565b9150613a05826139c4565b602082019050919050565b60006020820190508181036000830152613a29816139ed565b9050919050565b7f4275792065786365656473206c696d6974000000000000000000000000000000600082015250565b6000613a66601183613063565b9150613a7182613a30565b602082019050919050565b60006020820190508181036000830152613a9581613a59565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613b098161314a565b92915050565b600060208284031215613b2557613b24613113565b5b6000613b3384828501613afa565b91505092915050565b6000819050919050565b6000613b61613b5c613b5784613b3c565b61362b565b613176565b9050919050565b613b7181613b46565b82525050565b600060a082019050613b8c60008301886132fb565b613b996020830187613b68565b8181036040830152613bab8186613385565b9050613bba606083018561349d565b613bc760808301846132fb565b9695505050505050565b600060c082019050613be6600083018961349d565b613bf360208301886132fb565b613c006040830187613b68565b613c0d6060830186613b68565b613c1a608083018561349d565b613c2760a08301846132fb565b979650505050505050565b600080600060608486031215613c4b57613c4a613113565b5b6000613c5986828701613884565b9350506020613c6a86828701613884565b9250506040613c7b86828701613884565b9150509250925092565b600081905092915050565b50565b6000613ca0600083613c85565b9150613cab82613c90565b600082019050919050565b6000613cc182613c93565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b6000613d01601e83613063565b9150613d0c82613ccb565b602082019050919050565b60006020820190508181036000830152613d3081613cf4565b905091905056fea2646970667358221220f32ccc0d99a96ec2be67df8f233a427959f8e9483a175d7a6273e9bbdbc6f7bd64736f6c634300080a0033
Deployed Bytecode
0x6080604052600436106102815760003560e01c80636ddd17131161014f5780639be953b3116100c1578063dca3cef11161007a578063dca3cef11461099d578063dd62ed3e146109c6578063e065099714610a03578063e5a772d214610a2e578063f2fde38b14610a57578063f887ea4014610a8057610288565b80639be953b31461087b578063a8aa1b31146108a4578063a9059cbb146108cf578063b46ba24b1461090c578063b704a9f614610935578063d51ed1c81461096057610288565b806387cfc4931161011357806387cfc4931461077f578063893d20e8146107a85780638ca42e4e146107d35780638ee41ca8146107fc57806391c10f071461082557806395d89b411461085057610288565b80636ddd17131461069a57806370a08231146106c5578063715018a6146107025780637a6d69b41461071957806383bd84851461075657610288565b80632f54bf6e116101f357806352aae9dd116101ac57806352aae9dd1461059c57806353cd6210146105c5578063599ca397146105f057806359d3cac21461061b5780636390aeeb146106445780636dc53a0a1461066f57610288565b80632f54bf6e146104af578063313ce567146104ec578063364333f414610517578063470624021461052e57806347375a371461055c5780634c5d87101461057357610288565b806318160ddd1161024557806318160ddd146103985780631ca0b1d0146103c357806323b872dd146103ee5780632b112e491461042b5780632b14ca56146104565780632d3b40471461048457610288565b806306fdde031461028d578063095ea7b3146102b85780630c5b1d93146102f55780630cb23d861461031e5780631161ae391461035b57610288565b3661028857005b600080fd5b34801561029957600080fd5b506102a2610aab565b6040516102af91906130f1565b60405180910390f35b3480156102c457600080fd5b506102df60048036038101906102da91906131ac565b610ae8565b6040516102ec9190613207565b60405180910390f35b34801561030157600080fd5b5061031c6004803603810190610317919061324e565b610bda565b005b34801561032a57600080fd5b506103456004803603810190610340919061328e565b610c7d565b6040516103529190613207565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906132bb565b610c9d565b60405161038f9190613207565b60405180910390f35b3480156103a457600080fd5b506103ad610cb2565b6040516103ba919061330a565b60405180910390f35b3480156103cf57600080fd5b506103d8610cbc565b6040516103e591906133e3565b60405180910390f35b3480156103fa57600080fd5b5061041560048036038101906104109190613405565b610d4a565b6040516104229190613207565b60405180910390f35b34801561043757600080fd5b50610440610f9c565b60405161044d919061330a565b60405180910390f35b34801561046257600080fd5b5061046b610fcf565b60405161047b9493929190613458565b60405180910390f35b34801561049057600080fd5b50610499610fed565b6040516104a691906134ac565b60405180910390f35b3480156104bb57600080fd5b506104d660048036038101906104d1919061328e565b611013565b6040516104e39190613207565b60405180910390f35b3480156104f857600080fd5b5061050161106c565b60405161050e91906134e3565b60405180910390f35b34801561052357600080fd5b5061052c611075565b005b34801561053a57600080fd5b5061054361112c565b6040516105539493929190613458565b60405180910390f35b34801561056857600080fd5b5061057161114a565b005b34801561057f57600080fd5b5061059a600480360381019061059591906134fe565b6111af565b005b3480156105a857600080fd5b506105c360048036038101906105be9190613551565b61127a565b005b3480156105d157600080fd5b506105da6112cc565b6040516105e79190613207565b60405180910390f35b3480156105fc57600080fd5b506106056112df565b604051610612919061330a565b60405180910390f35b34801561062757600080fd5b50610642600480360381019061063d91906134fe565b6112e5565b005b34801561065057600080fd5b5061065961137f565b604051610666919061330a565b60405180910390f35b34801561067b57600080fd5b5061068461138c565b60405161069191906134ac565b60405180910390f35b3480156106a657600080fd5b506106af6113b2565b6040516106bc9190613207565b60405180910390f35b3480156106d157600080fd5b506106ec60048036038101906106e7919061328e565b6113c5565b6040516106f9919061330a565b60405180910390f35b34801561070e57600080fd5b5061071761140e565b005b34801561072557600080fd5b50610740600480360381019061073b919061328e565b611514565b60405161074d9190613207565b60405180910390f35b34801561076257600080fd5b5061077d6004803603810190610778919061357e565b611534565b005b34801561078b57600080fd5b506107a660048036038101906107a1919061328e565b611599565b005b3480156107b457600080fd5b506107bd61163c565b6040516107ca91906134ac565b60405180910390f35b3480156107df57600080fd5b506107fa60048036038101906107f59190613551565b611665565b005b34801561080857600080fd5b50610823600480360381019061081e91906135ab565b6116b7565b005b34801561083157600080fd5b5061083a61173e565b60405161084791906134ac565b60405180910390f35b34801561085c57600080fd5b50610865611764565b60405161087291906130f1565b60405180910390f35b34801561088757600080fd5b506108a2600480360381019061089d919061328e565b6117a1565b005b3480156108b057600080fd5b506108b96118d4565b6040516108c691906134ac565b60405180910390f35b3480156108db57600080fd5b506108f660048036038101906108f191906131ac565b6118fa565b6040516109039190613207565b60405180910390f35b34801561091857600080fd5b50610933600480360381019061092e91906134fe565b611911565b005b34801561094157600080fd5b5061094a6119ab565b604051610957919061330a565b60405180910390f35b34801561096c57600080fd5b5061098760048036038101906109829190613551565b6119b1565b604051610994919061330a565b60405180910390f35b3480156109a957600080fd5b506109c460048036038101906109bf91906135eb565b611a0e565b005b3480156109d257600080fd5b506109ed60048036038101906109e891906135eb565b611adc565b6040516109fa919061330a565b60405180910390f35b348015610a0f57600080fd5b50610a18611b63565b604051610a25919061330a565b60405180910390f35b348015610a3a57600080fd5b50610a556004803603810190610a50919061328e565b611b69565b005b348015610a6357600080fd5b50610a7e6004803603810190610a79919061328e565b611c64565b005b348015610a8c57600080fd5b50610a95611dd9565b604051610aa2919061368a565b60405180910390f35b60606040518060400160405280600a81526020017f447261676f6e4265617200000000000000000000000000000000000000000000815250905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610bc8919061330a565b60405180910390a36001905092915050565b610be333611013565b610c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c19906136f1565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60046020528060005260406000206000915054906101000a900460ff1681565b600082610ca9836119b1565b11905092915050565b6000600854905090565b6060600f805480602002602001604051908101604052809291908181526020018280548015610d4057602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610cf6575b5050505050905090565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610dd957600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610f855782600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f049190613740565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610f90858585611dff565b60019150509392505050565b6000610fa860006113c5565b610fb361dead6113c5565b600854610fc09190613740565b610fca9190613740565b905090565b60178060000154908060010154908060020154908060030154905084565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b61107e33611013565b6110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b4906136f1565b60405180910390fd5b600047905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611128573d6000803e3d6000fd5b5050565b60138060000154908060010154908060020154908060030154905084565b61115333611013565b611192576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611189906136f1565b60405180910390fd5b6001601f60176101000a81548160ff021916908315150217905550565b6111b833611013565b6111f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ee906136f1565b60405180910390fd5b826009819055506009546103e860085461121191906137a3565b61121b91906137d4565b600c8190555081600a81905550600a546103e860085461123b91906137a3565b61124591906137d4565b600d8190555080600b81905550600b546103e860085461126591906137a3565b61126f91906137d4565b600e81905550505050565b61128333611013565b6112c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b9906136f1565b60405180910390fd5b8060128190555050565b601f60149054906101000a900460ff1681565b600b5481565b6112ee33611013565b61132d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611324906136f1565b60405180910390fd5b826017600001819055508160176001018190555080601760020181905550601760020154601760010154601760000154611367919061382e565b611371919061382e565b601760030181905550505050565b6000600f80549050905090565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601f60189054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61141733611013565b611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d906136f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60026020528060005260406000206000915054906101000a900460ff1681565b61153d33611013565b61157c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611573906136f1565b60405180910390fd5b80601f60146101000a81548160ff02191690831515021790555050565b6115a233611013565b6115e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d8906136f1565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61166e33611013565b6116ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a4906136f1565b60405180910390fd5b8060118190555050565b6116c033611013565b6116ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f6906136f1565b60405180910390fd5b81601f60186101000a81548160ff021916908315150217905550806103e860085461172a91906137a3565b61173491906137d4565b6020819055505050565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600581526020017f4442454152000000000000000000000000000000000000000000000000000000815250905090565b6117aa33611013565b6117e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e0906136f1565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161182491906134ac565b602060405180830381865afa158015611841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118659190613899565b9050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156118cf573d6000803e3d6000fd5b505050565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611907338484611dff565b6001905092915050565b61191a33611013565b611959576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611950906136f1565b60405180910390fd5b826013600001819055508160136001018190555080601360020181905550601360020154601360010154601360000154611993919061382e565b61199d919061382e565b601360030181905550505050565b600a5481565b60006119bb610f9c565b60026119e8601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166113c5565b6119f291906137d4565b836119fd91906137d4565b611a0791906137a3565b9050919050565b611a1733611013565b611a56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4d906136f1565b60405180910390fd5b81601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b611b7233611013565b611bb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba8906136f1565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611c6d33611013565b611cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca3906136f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1390613938565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e695750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611ea8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9f906139a4565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611fed5750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806120045750601f60159054906101000a900460ff165b9050801561201c576120178686866121b8565b6121b0565b601f60179054906101000a900460ff1661203557600080fd5b601f60149054906101000a900460ff161561205a576120558686866122ca565b6121af565b82156120705761206b868686612453565b6121ae565b811561209c5761207e6125dd565b1561208c5761208b61265a565b5b612097868686612788565b6121ad565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121405750600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61214957600080fd5b600e5484612156876113c5565b612160919061382e565b11156121a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219890613a10565b60405180910390fd5b6121ac868686612884565b5b5b5b5b505050505050565b61220c8382600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122079190613740565b6128d4565b6122608282600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461225b919061382e565b6128d4565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122bd919061330a565b60405180910390a3505050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561232157600080fd5b600c54811115612366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235d90613a7c565b60405180910390fd5b6064605a8261237591906137d4565b61237f91906137a3565b6010819055506001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600f829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061244e83838360105461291c565b505050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156124aa57600080fd5b600c548111156124ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e690613a7c565b60405180910390fd5b600e54816124fc846113c5565b612506919061382e565b1115612547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253e90613a10565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166125c1576103e8601360030154826125ac91906137d4565b6125b691906137a3565b6010819055506125ca565b60006010819055505b6125d883838360105461291c565b505050565b6000601f60169054906101000a900460ff161580156126085750601f60189054906101000a900460ff165b80156126555750602054600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601f60166101000a81548160ff0219169083151502179055506000612680306113c5565b9050600060136003015460176003015461269a919061382e565b6013600001546017600001546126b0919061382e565b836126bb91906137d4565b6126c591906137a3565b9050600081836126d59190613740565b905060006002836126e691906137a3565b9050600081846126f69190613740565b90508083612704919061382e565b9450600047905061271486612afb565b600081476127229190613740565b9050600087848361273391906137d4565b61273d91906137a3565b90506127498582612d11565b600083476127579190613740565b905061276281612e1a565b5050505050505050506000601f60166101000a81548160ff021916908315150217905550565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156127df57600080fd5b600d548111156127ee57600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612868576103e86017600301548261285391906137d4565b61285d91906137a3565b601081905550612871565b60006010819055505b61287f83838360105461291c565b505050565b6103e86011548261289591906137d4565b61289f91906137a3565b601081905550600060105411156128c3576128be83838360105461291c565b6128cf565b6128ce8383836121b8565b5b505050565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60006010548361292c9190613740565b90506129828584600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461297d9190613740565b6128d4565b6129d63083600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129d1919061382e565b6128d4565b612a2a8482600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a25919061382e565b6128d4565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a87919061330a565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612aec919061330a565b60405180910390a35050505050565b6000600267ffffffffffffffff811115612b1857612b17613a9c565b5b604051908082528060200260200182016040528015612b465781602001602082028036833780820191505090505b5090503081600081518110612b5e57612b5d613acb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c299190613b0f565b81600181518110612c3d57612c3c613acb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612cdb959493929190613b77565b600060405180830381600087803b158015612cf557600080fd5b505af1158015612d09573d6000803e3d6000fd5b505050505050565b6001601f60156101000a81548160ff021916908315150217905550601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612db596959493929190613bd1565b60606040518083038185885af1158015612dd3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612df89190613c32565b5050506000601f60156101000a81548160ff0219169083151502179055505050565b6000601760020154601360020154612e32919061382e565b90506000601760010154601360010154612e4c919061382e565b905060008183612e5c919061382e565b90506000818486612e6d91906137d4565b612e7791906137a3565b90506000828487612e8891906137d4565b612e9291906137a3565b90506000811115612f72576000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051612ee990613cb6565b600060405180830381858888f193505050503d8060008114612f27576040519150601f19603f3d011682016040523d82523d6000602084013e612f2c565b606091505b5050905080612f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f6790613d17565b60405180910390fd5b505b6000821115613050576000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051612fc790613cb6565b600060405180830381858888f193505050503d8060008114613005576040519150601f19603f3d011682016040523d82523d6000602084013e61300a565b606091505b505090508061304e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161304590613d17565b60405180910390fd5b505b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613092578082015181840152602081019050613077565b838111156130a1576000848401525b50505050565b6000601f19601f8301169050919050565b60006130c382613058565b6130cd8185613063565b93506130dd818560208601613074565b6130e6816130a7565b840191505092915050565b6000602082019050818103600083015261310b81846130b8565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061314382613118565b9050919050565b61315381613138565b811461315e57600080fd5b50565b6000813590506131708161314a565b92915050565b6000819050919050565b61318981613176565b811461319457600080fd5b50565b6000813590506131a681613180565b92915050565b600080604083850312156131c3576131c2613113565b5b60006131d185828601613161565b92505060206131e285828601613197565b9150509250929050565b60008115159050919050565b613201816131ec565b82525050565b600060208201905061321c60008301846131f8565b92915050565b61322b816131ec565b811461323657600080fd5b50565b60008135905061324881613222565b92915050565b6000806040838503121561326557613264613113565b5b600061327385828601613161565b925050602061328485828601613239565b9150509250929050565b6000602082840312156132a4576132a3613113565b5b60006132b284828501613161565b91505092915050565b600080604083850312156132d2576132d1613113565b5b60006132e085828601613197565b92505060206132f185828601613197565b9150509250929050565b61330481613176565b82525050565b600060208201905061331f60008301846132fb565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61335a81613138565b82525050565b600061336c8383613351565b60208301905092915050565b6000602082019050919050565b600061339082613325565b61339a8185613330565b93506133a583613341565b8060005b838110156133d65781516133bd8882613360565b97506133c883613378565b9250506001810190506133a9565b5085935050505092915050565b600060208201905081810360008301526133fd8184613385565b905092915050565b60008060006060848603121561341e5761341d613113565b5b600061342c86828701613161565b935050602061343d86828701613161565b925050604061344e86828701613197565b9150509250925092565b600060808201905061346d60008301876132fb565b61347a60208301866132fb565b61348760408301856132fb565b61349460608301846132fb565b95945050505050565b6134a681613138565b82525050565b60006020820190506134c1600083018461349d565b92915050565b600060ff82169050919050565b6134dd816134c7565b82525050565b60006020820190506134f860008301846134d4565b92915050565b60008060006060848603121561351757613516613113565b5b600061352586828701613197565b935050602061353686828701613197565b925050604061354786828701613197565b9150509250925092565b60006020828403121561356757613566613113565b5b600061357584828501613197565b91505092915050565b60006020828403121561359457613593613113565b5b60006135a284828501613239565b91505092915050565b600080604083850312156135c2576135c1613113565b5b60006135d085828601613239565b92505060206135e185828601613197565b9150509250929050565b6000806040838503121561360257613601613113565b5b600061361085828601613161565b925050602061362185828601613161565b9150509250929050565b6000819050919050565b600061365061364b61364684613118565b61362b565b613118565b9050919050565b600061366282613635565b9050919050565b600061367482613657565b9050919050565b61368481613669565b82525050565b600060208201905061369f600083018461367b565b92915050565b7f21594f5520415245204e4f5420544845204f574e455200000000000000000000600082015250565b60006136db601683613063565b91506136e6826136a5565b602082019050919050565b6000602082019050818103600083015261370a816136ce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061374b82613176565b915061375683613176565b92508282101561376957613768613711565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006137ae82613176565b91506137b983613176565b9250826137c9576137c8613774565b5b828204905092915050565b60006137df82613176565b91506137ea83613176565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561382357613822613711565b5b828202905092915050565b600061383982613176565b915061384483613176565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561387957613878613711565b5b828201905092915050565b60008151905061389381613180565b92915050565b6000602082840312156138af576138ae613113565b5b60006138bd84828501613884565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613922602683613063565b915061392d826138c6565b604082019050919050565b6000602082019050818103600083015261395181613915565b9050919050565b7f43616e6e6f7420626520616464726573732830292e0000000000000000000000600082015250565b600061398e601583613063565b915061399982613958565b602082019050919050565b600060208201905081810360008301526139bd81613981565b9050919050565b7f546f74616c20616d6f756e74206578636565642077616c6c6574206c696d6974600082015250565b60006139fa602083613063565b9150613a05826139c4565b602082019050919050565b60006020820190508181036000830152613a29816139ed565b9050919050565b7f4275792065786365656473206c696d6974000000000000000000000000000000600082015250565b6000613a66601183613063565b9150613a7182613a30565b602082019050919050565b60006020820190508181036000830152613a9581613a59565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613b098161314a565b92915050565b600060208284031215613b2557613b24613113565b5b6000613b3384828501613afa565b91505092915050565b6000819050919050565b6000613b61613b5c613b5784613b3c565b61362b565b613176565b9050919050565b613b7181613b46565b82525050565b600060a082019050613b8c60008301886132fb565b613b996020830187613b68565b8181036040830152613bab8186613385565b9050613bba606083018561349d565b613bc760808301846132fb565b9695505050505050565b600060c082019050613be6600083018961349d565b613bf360208301886132fb565b613c006040830187613b68565b613c0d6060830186613b68565b613c1a608083018561349d565b613c2760a08301846132fb565b979650505050505050565b600080600060608486031215613c4b57613c4a613113565b5b6000613c5986828701613884565b9350506020613c6a86828701613884565b9250506040613c7b86828701613884565b9150509250925092565b600081905092915050565b50565b6000613ca0600083613c85565b9150613cab82613c90565b600082019050919050565b6000613cc182613c93565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b6000613d01601e83613063565b9150613d0c82613ccb565b602082019050919050565b60006020820190508181036000830152613d3081613cf4565b905091905056fea2646970667358221220f32ccc0d99a96ec2be67df8f233a427959f8e9483a175d7a6273e9bbdbc6f7bd64736f6c634300080a0033
Deployed Bytecode Sourcemap
4462:15874:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19057:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19478:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9159:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4633:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12272:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18787:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11879:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19877:456;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11734:136;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5891:22;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;5947:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2391:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18881:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11227:171;;;;;;;;;;;;;:::i;:::-;;5864:20;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;9030:120;;;;;;;;;;;;;:::i;:::-;;8510:511;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9513:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6398:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5226:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10109:352;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11987:103;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6204:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6616:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19227:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2754:146;;;;;;;;;;;;;:::i;:::-;;4530:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11115:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10840:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19143:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10532:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9298:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6256:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18967:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11407:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6340:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19703:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9694:344;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5187:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12099:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10660:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19337:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5149:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10954:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2503:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6309:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19057:80;19105:13;19129:5;;;;;;;;;;;;;;;;;19122:12;;19057:80;:::o;19478:216::-;19553:4;19605:6;19570:11;:23;19582:10;19570:23;;;;;;;;;;;;;;;:32;19594:7;19570:32;;;;;;;;;;;;;;;:41;;;;19648:7;19627:37;;19636:10;19627:37;;;19657:6;19627:37;;;;;;:::i;:::-;;;;;;;;19682:4;19675:11;;19478:216;;;;:::o;9159:130::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9274:7:::1;9252:12;:19;9265:5;9252:19;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;9159:130:::0;;:::o;4633:54::-;;;;;;;;;;;;;;;;;;;;;;:::o;12272:150::-;12352:4;12408:6;12376:29;12396:8;12376:19;:29::i;:::-;:38;12369:45;;12272:150;;;;:::o;18787:88::-;18842:7;18860:12;;18853:19;;18787:88;:::o;11879:99::-;11925:16;11960:10;11953:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11879:99;:::o;19877:456::-;19975:4;19992:18;20013:11;:19;20025:6;20013:19;;;;;;;;;;;;;;;:31;20033:10;20013:31;;;;;;;;;;;;;;;;19992:52;;20077:6;20063:10;:20;;20055:29;;;;;;20137:17;20102:11;:19;20114:6;20102:19;;;;;;;;;;;;;;;:31;20122:10;20102:31;;;;;;;;;;;;;;;;:52;20098:159;;20239:6;20205:11;:19;20217:6;20205:19;;;;;;;;;;;;;;;:31;20225:10;20205:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;20171:11;:19;20183:6;20171:19;;;;;;;;;;;;;;;:31;20191:10;20171:31;;;;;;;;;;;;;;;:74;;;;20098:159;20267:36;20277:6;20285:9;20296:6;20267:9;:36::i;:::-;20321:4;20314:11;;;19877:456;;;;;:::o;11734:136::-;11787:7;11847:15;6152:42;11847:9;:15::i;:::-;11829;6071:42;11829:9;:15::i;:::-;11814:12;;:30;;;;:::i;:::-;:48;;;;:::i;:::-;11807:55;;11734:136;:::o;5891:22::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;5947:82::-;;;;;;;;;;;;;:::o;2391:103::-;2446:4;2481:5;;;;;;;;;;;2470:16;;:7;:16;;;2463:23;;2391:103;;;:::o;18881:80::-;18933:5;5023:2;18942:16;;18881:80;:::o;11227:171::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11286:26:::1;11315:21;11286:50;;11355:5;::::0;::::1;;;;;;;;11347:23;;:43;11371:18;11347:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11275:123;11227:171::o:0;5864:20::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;9030:120::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9138:4:::1;9107:28;;:35;;;;;;;;;;;;;;;;;;9030:120::o:0;8510:511::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;8668:17:::1;8649:16;:36;;;;8743:16;;8736:4;8722:12;;:18;;;;:::i;:::-;:37;;;;:::i;:::-;8707:12;:52;;;;8792:18;8772:17;:38;;;;8867:17;;8860:4;8846:12;;:18;;;;:::i;:::-;:38;;;;:::i;:::-;8830:13;:54;;;;8918:20;8897:19;:41;;;;8994:19;;8987:4;8973:12;;:18;;;;:::i;:::-;:40;;;;:::i;:::-;8955:15;:58;;;;8510:511:::0;;;:::o;9513:111::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9610:6:::1;9592:15;:24;;;;9513:111:::0;:::o;6398:33::-;;;;;;;;;;;;;:::o;5226:34::-;;;;:::o;10109:352::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10259:13:::1;10236:7;:20;;:36;;;;10306:13;10283:7;:20;;:36;;;;10351:11;10330:7;:18;;:32;;;;10435:7;:18;;;10412:7;:20;;;10389:7;:20;;;:43;;;;:::i;:::-;:64;;;;:::i;:::-;10373:7;:13;;:80;;;;10109:352:::0;;;:::o;11987:103::-;12039:7;12065:10;:17;;;;12058:24;;11987:103;:::o;6204:45::-;;;;;;;;;;;;;:::o;6616:30::-;;;;;;;;;;;;;:::o;19227:104::-;19293:7;19311:9;:18;19321:7;19311:18;;;;;;;;;;;;;;;;19304:25;;19227:104;;;:::o;2754:146::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;2860:1:::1;2824:39;;2845:5;::::0;::::1;;;;;;;;2824:39;;;;;;;;;;;;2890:1;2874:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2754:146::o:0;4530:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;11115:103::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11205:5:::1;11188:14;;:22;;;;;;;;;;;;;;;;;;11115:103:::0;:::o;10840:105::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10932:5:::1;10909:12;:20;10922:6;10909:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;10840:105:::0;:::o;19143:78::-;19195:7;19213:5;;;;;;;;;;;19206:12;;19143:78;:::o;10532:119::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10631:12:::1;10617:11;:26;;;;10532:119:::0;:::o;9298:206::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9420:8:::1;9406:11;;:22;;;;;;;;;;;;;;;;;;9477:19;9470:4;9455:12;;:19;;;;:::i;:::-;:41;;;;:::i;:::-;9439:13;:57;;;;9298:206:::0;;:::o;6256:43::-;;;;;;;;;;;;;:::o;18967:84::-;19017:13;19041:7;;;;;;;;;;;;;;;;;19034:14;;18967:84;:::o;11407:206::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11476:24:::1;11509:6;11503:23;;;11535:4;11503:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11476:65;;11560:17;;;;;;;;;;;11552:35;;:53;11588:16;11552:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11465:148;11407:206:::0;:::o;6340:19::-;;;;;;;;;;;;;:::o;19703:165::-;19781:4;19798:40;19808:10;19820:9;19831:6;19798:9;:40::i;:::-;19856:4;19849:11;;19703:165;;;;:::o;9694:344::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9842:13:::1;9820:6;:19;;:35;;;;9888:13;9866:6;:19;;:35;;;;9932:11;9912:6;:17;;:31;;;;10013:6;:17;;;9991:6;:19;;;9969:6;:19;;;:41;;;;:::i;:::-;:61;;;;:::i;:::-;9954:6;:12;;:76;;;;9694:344:::0;;;:::o;5187:32::-;;;;:::o;12099:164::-;12167:7;12232:22;:20;:22::i;:::-;12225:1;12206:15;12216:4;;;;;;;;;;;12206:9;:15::i;:::-;:21;;;;:::i;:::-;12194:8;:34;;;;:::i;:::-;:61;;;;:::i;:::-;12187:68;;12099:164;;;:::o;10660:171::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10776:10:::1;10756:17;;:30;;;;;;;;;;;;;;;;;;10815:8;10797:15;;:26;;;;;;;;;;;;;;;;;;10660:171:::0;;:::o;19337:132::-;19421:7;19439:11;:19;19451:6;19439:19;;;;;;;;;;;;;;;:28;19459:7;19439:28;;;;;;;;;;;;;;;;19432:35;;19337:132;;;;:::o;5149:31::-;;;;:::o;10954:152::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11058:4:::1;11027:22;:30;11050:6;11027:30;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;11094:4;11073:12;:20;11086:6;11073:20;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;10954:152:::0;:::o;2503:242::-;2325:19;2333:10;2325:7;:19::i;:::-;2317:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;2612:1:::1;2592:22;;:8;:22;;;;2584:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2701:8;2673:37;;2694:5;::::0;::::1;;;;;;;;2673:37;;;;;;;;;;;;2729:8;2721:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;2503:242:::0;:::o;6309:24::-;;;;;;;;;;;;;:::o;12548:1205::-;12659:1;12643:18;;:6;:18;;;;:41;;;;;12682:1;12663:21;;:9;:21;;;;12643:41;12635:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12720:10;12731:22;:30;12754:6;12731:30;;;;;;;;;;;;;;;;;;;;;;;;;12720:41;;12772:11;12784:22;:33;12807:9;12784:33;;;;;;;;;;;;;;;;;;;;;;;;;12772:45;;12828:15;12844:12;:20;12857:6;12844:20;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;12866:12;:23;12879:9;12866:23;;;;;;;;;;;;;;;;;;;;;;;;;12844:45;:56;;;;12891:9;;;;;;;;;;;12844:56;12828:72;;12917:10;12914:832;;;12928:42;12946:6;12953:9;12963:6;12928:17;:42::i;:::-;12914:832;;;12996:28;;;;;;;;;;;12988:37;;;;;;13078:14;;;;;;;;;;;13075:660;;;13093:39;13108:6;13115:9;13125:6;13093:14;:39::i;:::-;13075:660;;;13182:5;13179:556;;;13188:35;13199:6;13206:9;13216:6;13188:10;:35::i;:::-;13179:556;;;13274:6;13271:464;;;13340:16;:14;:16::i;:::-;13336:35;;;13359:10;:8;:10::i;:::-;13336:35;13389:36;13401:6;13408:9;13418:6;13389:11;:36::i;:::-;13271:464;;;13508:12;:20;13521:6;13508:20;;;;;;;;;;;;;;;;;;;;;;;;;13507:21;:47;;;;;13531:12;:23;13544:9;13531:23;;;;;;;;;;;;;;;;;;;;;;;;;13530:24;13507:47;13499:56;;;;;;13611:15;;13603:6;13582:20;13592:9;13582;:20::i;:::-;:27;;;;:::i;:::-;:44;;13574:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;13682:37;13695:6;13702:9;13712:6;13682:12;:37::i;:::-;13271:464;13179:556;13075:660;12914:832;12624:1129;;;12548:1205;;;:::o;15261:263::-;15356:47;15371:6;15396;15378:9;:17;15388:6;15378:17;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;15356:14;:47::i;:::-;15414:53;15429:9;15460:6;15439:9;:20;15449:9;15439:20;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;15414:14;:53::i;:::-;15499:9;15483:33;;15492:6;15483:33;;;15509:6;15483:33;;;;;;:::i;:::-;;;;;;;;15261:263;;;:::o;13762:378::-;13863:12;:23;13876:9;13863:23;;;;;;;;;;;;;;;;;;;;;;;;;13862:24;13854:33;;;;;;13916:12;;13906:6;:22;;13898:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;13982:3;13979:2;13972:6;:9;;;;:::i;:::-;:13;;;;:::i;:::-;13961:8;:24;;;;14020:4;13996:12;:23;14009:9;13996:23;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;14035:10;14059:9;14035:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14081:51;14099:6;14106:9;14116:6;14123:8;;14081:17;:51::i;:::-;13762:378;;;:::o;14149:468::-;14246:12;:23;14259:9;14246:23;;;;;;;;;;;;;;;;;;;;;;;;;14245:24;14237:33;;;;;;14299:12;;14289:6;:22;;14281:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;14381:15;;14373:6;14352:20;14362:9;14352;:20::i;:::-;:27;;;;:::i;:::-;:44;;14344:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;14448:12;:23;14461:9;14448:23;;;;;;;;;;;;;;;;;;;;;;;;;14444:103;;14514:4;14501:6;:12;;;14494:6;:19;;;;:::i;:::-;:24;;;;:::i;:::-;14483:8;:35;;;;14444:103;;;14546:1;14535:8;:12;;;;14444:103;14558:51;14576:6;14583:9;14593:6;14600:8;;14558:17;:51::i;:::-;14149:468;;;:::o;16133:186::-;16181:4;16219:6;;;;;;;;;;;16218:7;:35;;;;;16242:11;;;;;;;;;;;16218:35;:93;;;;;16298:13;;16270:9;:24;16288:4;16270:24;;;;;;;;;;;;;;;;:41;;16218:93;16198:113;;16133:186;:::o;16331:729::-;6754:4;6745:6;;:13;;;;;;;;;;;;;;;;;;16379:14:::1;16396:24;16414:4;16396:9;:24::i;:::-;16379:41;;16434:21;16525:6;:12;;;16509:7;:13;;;:28;;;;:::i;:::-;16487:6;:19;;;16464:7;:20;;;:42;;;;:::i;:::-;16456:6;:51;;;;:::i;:::-;:82;;;;:::i;:::-;16434:104;;16549:18;16575:13;16568:6;:20;;;;:::i;:::-;16549:39;;16599:16;16630:1;16616:13;:15;;;;:::i;:::-;16599:32;;16642:19;16676:8;16662:13;:22;;;;:::i;:::-;16642:42;;16713:11;16702:10;:22;;;;:::i;:::-;16695:29;;16735:14;16750:21;16735:36;;16782:25;16800:6;16782:17;:25::i;:::-;16818:14;16855:6;16833:21;:28;;;;:::i;:::-;16818:43;;16872:13;16907:6;16894:11;16887:6;:18;;;;:::i;:::-;16886:27;;;;:::i;:::-;16872:41;;16924:29;16938:8;16947:5;16924:13;:29::i;:::-;16964:20;17007:6;16985:21;:28;;;;:::i;:::-;16964:49;;17024:28;17039:12;17024:14;:28::i;:::-;16368:692;;;;;;;;;6790:5:::0;6781:6;;:14;;;;;;;;;;;;;;;;;;16331:729::o;14623:344::-;14721:12;:20;14734:6;14721:20;;;;;;;;;;;;;;;;;;;;;;;;;14720:21;14712:30;;;;;;14771:13;;14761:6;:23;;14753:32;;;;;;14800:12;:20;14813:6;14800:20;;;;;;;;;;;;;;;;;;;;;;;;;14796:101;;14864:4;14850:7;:13;;;14843:6;:20;;;;:::i;:::-;:25;;;;:::i;:::-;14832:8;:36;;;;14796:101;;;14896:1;14885:8;:12;;;;14796:101;14908:51;14926:6;14933:9;14943:6;14950:8;;14908:17;:51::i;:::-;14623:344;;;:::o;14976:276::-;15098:4;15086:11;;15077:6;:20;;;;:::i;:::-;:25;;;;:::i;:::-;15066:8;:36;;;;15128:1;15117:8;;:12;15113:132;;;15132:51;15150:6;15157:9;15167:6;15174:8;;15132:17;:51::i;:::-;15113:132;;;15201:42;15219:6;15226:9;15236:6;15201:17;:42::i;:::-;15113:132;14976:276;;;:::o;16006:118::-;16106:10;16085:9;:18;16095:7;16085:18;;;;;;;;;;;;;;;:31;;;;16006:118;;:::o;15533:464::-;15646:17;15673:8;;15666:6;:15;;;;:::i;:::-;15646:35;;15692:47;15707:6;15732;15714:9;:17;15724:6;15714:17;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;15692:14;:47::i;:::-;15750:64;15773:4;15804:9;15779;:24;15797:4;15779:24;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;15750:14;:64::i;:::-;15825:56;15840:9;15871;15850;:20;15860:9;15850:20;;;;;;;;;;;;;;;;:30;;;;:::i;:::-;15825:14;:56::i;:::-;15913:9;15897:36;;15906:6;15897:36;;;15923:9;15897:36;;;;;;:::i;:::-;;;;;;;;15973:4;15949:40;;15958:6;15949:40;;;15979:9;15949:40;;;;;;:::i;:::-;;;;;;;;15635:362;15533:464;;;;:::o;17996:369::-;18058:21;18094:1;18080:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18058:38;;18125:4;18107;18112:1;18107:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18151:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18141:4;18146:1;18141:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18175:6;;;;;;;;;;;:57;;;18247:6;18268:1;18284:4;18311;18331:15;18175:182;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18047:318;17996:369;:::o;18374:341::-;18466:4;18456:9;;:14;;;;;;;;;;;;;;;;;;18481:6;;;;;;;;;;;:22;;;18511:9;18544:4;18564:12;18591:1;18607;18623:17;;;;;;;;;;;18655:15;18481:200;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18702:5;18692:9;;:15;;;;;;;;;;;;;;;;;;18374:341;;:::o;17069:918::-;17134:18;17176:7;:18;;;17156:6;:17;;;:38;;;;:::i;:::-;17134:61;;17206:20;17252:7;:20;;;17230:6;:19;;;:42;;;;:::i;:::-;17206:67;;17284:16;17317:12;17304:10;:25;;;;:::i;:::-;17284:46;;17344:24;17402:8;17387:10;17371:12;:27;;;;:::i;:::-;:40;;;;:::i;:::-;17344:67;;17422:26;17484:8;17467:12;17451;:29;;;;:::i;:::-;:42;;;;:::i;:::-;17422:71;;17531:1;17510:18;:22;17507:235;;;17545:21;17603:17;;;;;;;;;;;17595:31;;17634:18;17659:5;17595:74;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17544:125;;;17688:16;17680:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;17533:209;17507:235;17777:1;17758:16;:20;17755:225;;;17791:19;17847:15;;;;;;;;;;;17839:29;;17876:16;17899:5;17839:70;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17790:119;;;17928:14;17920:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;17779:201;17755:225;17123:864;;;;;17069:918;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:116::-;3564:21;3579:5;3564:21;:::i;:::-;3557:5;3554:32;3544:60;;3600:1;3597;3590:12;3544:60;3494:116;:::o;3616:133::-;3659:5;3697:6;3684:20;3675:29;;3713:30;3737:5;3713:30;:::i;:::-;3616:133;;;;:::o;3755:468::-;3820:6;3828;3877:2;3865:9;3856:7;3852:23;3848:32;3845:119;;;3883:79;;:::i;:::-;3845:119;4003:1;4028:53;4073:7;4064:6;4053:9;4049:22;4028:53;:::i;:::-;4018:63;;3974:117;4130:2;4156:50;4198:7;4189:6;4178:9;4174:22;4156:50;:::i;:::-;4146:60;;4101:115;3755:468;;;;;:::o;4229:329::-;4288:6;4337:2;4325:9;4316:7;4312:23;4308:32;4305:119;;;4343:79;;:::i;:::-;4305:119;4463:1;4488:53;4533:7;4524:6;4513:9;4509:22;4488:53;:::i;:::-;4478:63;;4434:117;4229:329;;;;:::o;4564:474::-;4632:6;4640;4689:2;4677:9;4668:7;4664:23;4660:32;4657:119;;;4695:79;;:::i;:::-;4657:119;4815:1;4840:53;4885:7;4876:6;4865:9;4861:22;4840:53;:::i;:::-;4830:63;;4786:117;4942:2;4968:53;5013:7;5004:6;4993:9;4989:22;4968:53;:::i;:::-;4958:63;;4913:118;4564:474;;;;;:::o;5044:118::-;5131:24;5149:5;5131:24;:::i;:::-;5126:3;5119:37;5044:118;;:::o;5168:222::-;5261:4;5299:2;5288:9;5284:18;5276:26;;5312:71;5380:1;5369:9;5365:17;5356:6;5312:71;:::i;:::-;5168:222;;;;:::o;5396:114::-;5463:6;5497:5;5491:12;5481:22;;5396:114;;;:::o;5516:184::-;5615:11;5649:6;5644:3;5637:19;5689:4;5684:3;5680:14;5665:29;;5516:184;;;;:::o;5706:132::-;5773:4;5796:3;5788:11;;5826:4;5821:3;5817:14;5809:22;;5706:132;;;:::o;5844:108::-;5921:24;5939:5;5921:24;:::i;:::-;5916:3;5909:37;5844:108;;:::o;5958:179::-;6027:10;6048:46;6090:3;6082:6;6048:46;:::i;:::-;6126:4;6121:3;6117:14;6103:28;;5958:179;;;;:::o;6143:113::-;6213:4;6245;6240:3;6236:14;6228:22;;6143:113;;;:::o;6292:732::-;6411:3;6440:54;6488:5;6440:54;:::i;:::-;6510:86;6589:6;6584:3;6510:86;:::i;:::-;6503:93;;6620:56;6670:5;6620:56;:::i;:::-;6699:7;6730:1;6715:284;6740:6;6737:1;6734:13;6715:284;;;6816:6;6810:13;6843:63;6902:3;6887:13;6843:63;:::i;:::-;6836:70;;6929:60;6982:6;6929:60;:::i;:::-;6919:70;;6775:224;6762:1;6759;6755:9;6750:14;;6715:284;;;6719:14;7015:3;7008:10;;6416:608;;;6292:732;;;;:::o;7030:373::-;7173:4;7211:2;7200:9;7196:18;7188:26;;7260:9;7254:4;7250:20;7246:1;7235:9;7231:17;7224:47;7288:108;7391:4;7382:6;7288:108;:::i;:::-;7280:116;;7030:373;;;;:::o;7409:619::-;7486:6;7494;7502;7551:2;7539:9;7530:7;7526:23;7522:32;7519:119;;;7557:79;;:::i;:::-;7519:119;7677:1;7702:53;7747:7;7738:6;7727:9;7723:22;7702:53;:::i;:::-;7692:63;;7648:117;7804:2;7830:53;7875:7;7866:6;7855:9;7851:22;7830:53;:::i;:::-;7820:63;;7775:118;7932:2;7958:53;8003:7;7994:6;7983:9;7979:22;7958:53;:::i;:::-;7948:63;;7903:118;7409:619;;;;;:::o;8034:553::-;8211:4;8249:3;8238:9;8234:19;8226:27;;8263:71;8331:1;8320:9;8316:17;8307:6;8263:71;:::i;:::-;8344:72;8412:2;8401:9;8397:18;8388:6;8344:72;:::i;:::-;8426;8494:2;8483:9;8479:18;8470:6;8426:72;:::i;:::-;8508;8576:2;8565:9;8561:18;8552:6;8508:72;:::i;:::-;8034:553;;;;;;;:::o;8593:118::-;8680:24;8698:5;8680:24;:::i;:::-;8675:3;8668:37;8593:118;;:::o;8717:222::-;8810:4;8848:2;8837:9;8833:18;8825:26;;8861:71;8929:1;8918:9;8914:17;8905:6;8861:71;:::i;:::-;8717:222;;;;:::o;8945:86::-;8980:7;9020:4;9013:5;9009:16;8998:27;;8945:86;;;:::o;9037:112::-;9120:22;9136:5;9120:22;:::i;:::-;9115:3;9108:35;9037:112;;:::o;9155:214::-;9244:4;9282:2;9271:9;9267:18;9259:26;;9295:67;9359:1;9348:9;9344:17;9335:6;9295:67;:::i;:::-;9155:214;;;;:::o;9375:619::-;9452:6;9460;9468;9517:2;9505:9;9496:7;9492:23;9488:32;9485:119;;;9523:79;;:::i;:::-;9485:119;9643:1;9668:53;9713:7;9704:6;9693:9;9689:22;9668:53;:::i;:::-;9658:63;;9614:117;9770:2;9796:53;9841:7;9832:6;9821:9;9817:22;9796:53;:::i;:::-;9786:63;;9741:118;9898:2;9924:53;9969:7;9960:6;9949:9;9945:22;9924:53;:::i;:::-;9914:63;;9869:118;9375:619;;;;;:::o;10000:329::-;10059:6;10108:2;10096:9;10087:7;10083:23;10079:32;10076:119;;;10114:79;;:::i;:::-;10076:119;10234:1;10259:53;10304:7;10295:6;10284:9;10280:22;10259:53;:::i;:::-;10249:63;;10205:117;10000:329;;;;:::o;10335:323::-;10391:6;10440:2;10428:9;10419:7;10415:23;10411:32;10408:119;;;10446:79;;:::i;:::-;10408:119;10566:1;10591:50;10633:7;10624:6;10613:9;10609:22;10591:50;:::i;:::-;10581:60;;10537:114;10335:323;;;;:::o;10664:468::-;10729:6;10737;10786:2;10774:9;10765:7;10761:23;10757:32;10754:119;;;10792:79;;:::i;:::-;10754:119;10912:1;10937:50;10979:7;10970:6;10959:9;10955:22;10937:50;:::i;:::-;10927:60;;10883:114;11036:2;11062:53;11107:7;11098:6;11087:9;11083:22;11062:53;:::i;:::-;11052:63;;11007:118;10664:468;;;;;:::o;11138:474::-;11206:6;11214;11263:2;11251:9;11242:7;11238:23;11234:32;11231:119;;;11269:79;;:::i;:::-;11231:119;11389:1;11414:53;11459:7;11450:6;11439:9;11435:22;11414:53;:::i;:::-;11404:63;;11360:117;11516:2;11542:53;11587:7;11578:6;11567:9;11563:22;11542:53;:::i;:::-;11532:63;;11487:118;11138:474;;;;;:::o;11618:60::-;11646:3;11667:5;11660:12;;11618:60;;;:::o;11684:142::-;11734:9;11767:53;11785:34;11794:24;11812:5;11794:24;:::i;:::-;11785:34;:::i;:::-;11767:53;:::i;:::-;11754:66;;11684:142;;;:::o;11832:126::-;11882:9;11915:37;11946:5;11915:37;:::i;:::-;11902:50;;11832:126;;;:::o;11964:144::-;12032:9;12065:37;12096:5;12065:37;:::i;:::-;12052:50;;11964:144;;;:::o;12114:167::-;12219:55;12268:5;12219:55;:::i;:::-;12214:3;12207:68;12114:167;;:::o;12287:258::-;12398:4;12436:2;12425:9;12421:18;12413:26;;12449:89;12535:1;12524:9;12520:17;12511:6;12449:89;:::i;:::-;12287:258;;;;:::o;12551:172::-;12691:24;12687:1;12679:6;12675:14;12668:48;12551:172;:::o;12729:366::-;12871:3;12892:67;12956:2;12951:3;12892:67;:::i;:::-;12885:74;;12968:93;13057:3;12968:93;:::i;:::-;13086:2;13081:3;13077:12;13070:19;;12729:366;;;:::o;13101:419::-;13267:4;13305:2;13294:9;13290:18;13282:26;;13354:9;13348:4;13344:20;13340:1;13329:9;13325:17;13318:47;13382:131;13508:4;13382:131;:::i;:::-;13374:139;;13101:419;;;:::o;13526:180::-;13574:77;13571:1;13564:88;13671:4;13668:1;13661:15;13695:4;13692:1;13685:15;13712:191;13752:4;13772:20;13790:1;13772:20;:::i;:::-;13767:25;;13806:20;13824:1;13806:20;:::i;:::-;13801:25;;13845:1;13842;13839:8;13836:34;;;13850:18;;:::i;:::-;13836:34;13895:1;13892;13888:9;13880:17;;13712:191;;;;:::o;13909:180::-;13957:77;13954:1;13947:88;14054:4;14051:1;14044:15;14078:4;14075:1;14068:15;14095:185;14135:1;14152:20;14170:1;14152:20;:::i;:::-;14147:25;;14186:20;14204:1;14186:20;:::i;:::-;14181:25;;14225:1;14215:35;;14230:18;;:::i;:::-;14215:35;14272:1;14269;14265:9;14260:14;;14095:185;;;;:::o;14286:348::-;14326:7;14349:20;14367:1;14349:20;:::i;:::-;14344:25;;14383:20;14401:1;14383:20;:::i;:::-;14378:25;;14571:1;14503:66;14499:74;14496:1;14493:81;14488:1;14481:9;14474:17;14470:105;14467:131;;;14578:18;;:::i;:::-;14467:131;14626:1;14623;14619:9;14608:20;;14286:348;;;;:::o;14640:305::-;14680:3;14699:20;14717:1;14699:20;:::i;:::-;14694:25;;14733:20;14751:1;14733:20;:::i;:::-;14728:25;;14887:1;14819:66;14815:74;14812:1;14809:81;14806:107;;;14893:18;;:::i;:::-;14806:107;14937:1;14934;14930:9;14923:16;;14640:305;;;;:::o;14951:143::-;15008:5;15039:6;15033:13;15024:22;;15055:33;15082:5;15055:33;:::i;:::-;14951:143;;;;:::o;15100:351::-;15170:6;15219:2;15207:9;15198:7;15194:23;15190:32;15187:119;;;15225:79;;:::i;:::-;15187:119;15345:1;15370:64;15426:7;15417:6;15406:9;15402:22;15370:64;:::i;:::-;15360:74;;15316:128;15100:351;;;;:::o;15457:225::-;15597:34;15593:1;15585:6;15581:14;15574:58;15666:8;15661:2;15653:6;15649:15;15642:33;15457:225;:::o;15688:366::-;15830:3;15851:67;15915:2;15910:3;15851:67;:::i;:::-;15844:74;;15927:93;16016:3;15927:93;:::i;:::-;16045:2;16040:3;16036:12;16029:19;;15688:366;;;:::o;16060:419::-;16226:4;16264:2;16253:9;16249:18;16241:26;;16313:9;16307:4;16303:20;16299:1;16288:9;16284:17;16277:47;16341:131;16467:4;16341:131;:::i;:::-;16333:139;;16060:419;;;:::o;16485:171::-;16625:23;16621:1;16613:6;16609:14;16602:47;16485:171;:::o;16662:366::-;16804:3;16825:67;16889:2;16884:3;16825:67;:::i;:::-;16818:74;;16901:93;16990:3;16901:93;:::i;:::-;17019:2;17014:3;17010:12;17003:19;;16662:366;;;:::o;17034:419::-;17200:4;17238:2;17227:9;17223:18;17215:26;;17287:9;17281:4;17277:20;17273:1;17262:9;17258:17;17251:47;17315:131;17441:4;17315:131;:::i;:::-;17307:139;;17034:419;;;:::o;17459:182::-;17599:34;17595:1;17587:6;17583:14;17576:58;17459:182;:::o;17647:366::-;17789:3;17810:67;17874:2;17869:3;17810:67;:::i;:::-;17803:74;;17886:93;17975:3;17886:93;:::i;:::-;18004:2;17999:3;17995:12;17988:19;;17647:366;;;:::o;18019:419::-;18185:4;18223:2;18212:9;18208:18;18200:26;;18272:9;18266:4;18262:20;18258:1;18247:9;18243:17;18236:47;18300:131;18426:4;18300:131;:::i;:::-;18292:139;;18019:419;;;:::o;18444:167::-;18584:19;18580:1;18572:6;18568:14;18561:43;18444:167;:::o;18617:366::-;18759:3;18780:67;18844:2;18839:3;18780:67;:::i;:::-;18773:74;;18856:93;18945:3;18856:93;:::i;:::-;18974:2;18969:3;18965:12;18958:19;;18617:366;;;:::o;18989:419::-;19155:4;19193:2;19182:9;19178:18;19170:26;;19242:9;19236:4;19232:20;19228:1;19217:9;19213:17;19206:47;19270:131;19396:4;19270:131;:::i;:::-;19262:139;;18989:419;;;:::o;19414:180::-;19462:77;19459:1;19452:88;19559:4;19556:1;19549:15;19583:4;19580:1;19573:15;19600:180;19648:77;19645:1;19638:88;19745:4;19742:1;19735:15;19769:4;19766:1;19759:15;19786:143;19843:5;19874:6;19868:13;19859:22;;19890:33;19917:5;19890:33;:::i;:::-;19786:143;;;;:::o;19935:351::-;20005:6;20054:2;20042:9;20033:7;20029:23;20025:32;20022:119;;;20060:79;;:::i;:::-;20022:119;20180:1;20205:64;20261:7;20252:6;20241:9;20237:22;20205:64;:::i;:::-;20195:74;;20151:128;19935:351;;;;:::o;20292:85::-;20337:7;20366:5;20355:16;;20292:85;;;:::o;20383:158::-;20441:9;20474:61;20492:42;20501:32;20527:5;20501:32;:::i;:::-;20492:42;:::i;:::-;20474:61;:::i;:::-;20461:74;;20383:158;;;:::o;20547:147::-;20642:45;20681:5;20642:45;:::i;:::-;20637:3;20630:58;20547:147;;:::o;20700:831::-;20963:4;21001:3;20990:9;20986:19;20978:27;;21015:71;21083:1;21072:9;21068:17;21059:6;21015:71;:::i;:::-;21096:80;21172:2;21161:9;21157:18;21148:6;21096:80;:::i;:::-;21223:9;21217:4;21213:20;21208:2;21197:9;21193:18;21186:48;21251:108;21354:4;21345:6;21251:108;:::i;:::-;21243:116;;21369:72;21437:2;21426:9;21422:18;21413:6;21369:72;:::i;:::-;21451:73;21519:3;21508:9;21504:19;21495:6;21451:73;:::i;:::-;20700:831;;;;;;;;:::o;21537:807::-;21786:4;21824:3;21813:9;21809:19;21801:27;;21838:71;21906:1;21895:9;21891:17;21882:6;21838:71;:::i;:::-;21919:72;21987:2;21976:9;21972:18;21963:6;21919:72;:::i;:::-;22001:80;22077:2;22066:9;22062:18;22053:6;22001:80;:::i;:::-;22091;22167:2;22156:9;22152:18;22143:6;22091:80;:::i;:::-;22181:73;22249:3;22238:9;22234:19;22225:6;22181:73;:::i;:::-;22264;22332:3;22321:9;22317:19;22308:6;22264:73;:::i;:::-;21537:807;;;;;;;;;:::o;22350:663::-;22438:6;22446;22454;22503:2;22491:9;22482:7;22478:23;22474:32;22471:119;;;22509:79;;:::i;:::-;22471:119;22629:1;22654:64;22710:7;22701:6;22690:9;22686:22;22654:64;:::i;:::-;22644:74;;22600:128;22767:2;22793:64;22849:7;22840:6;22829:9;22825:22;22793:64;:::i;:::-;22783:74;;22738:129;22906:2;22932:64;22988:7;22979:6;22968:9;22964:22;22932:64;:::i;:::-;22922:74;;22877:129;22350:663;;;;;:::o;23019:147::-;23120:11;23157:3;23142:18;;23019:147;;;;:::o;23172:114::-;;:::o;23292:398::-;23451:3;23472:83;23553:1;23548:3;23472:83;:::i;:::-;23465:90;;23564:93;23653:3;23564:93;:::i;:::-;23682:1;23677:3;23673:11;23666:18;;23292:398;;;:::o;23696:379::-;23880:3;23902:147;24045:3;23902:147;:::i;:::-;23895:154;;24066:3;24059:10;;23696:379;;;:::o;24081:180::-;24221:32;24217:1;24209:6;24205:14;24198:56;24081:180;:::o;24267:366::-;24409:3;24430:67;24494:2;24489:3;24430:67;:::i;:::-;24423:74;;24506:93;24595:3;24506:93;:::i;:::-;24624:2;24619:3;24615:12;24608:19;;24267:366;;;:::o;24639:419::-;24805:4;24843:2;24832:9;24828:18;24820:26;;24892:9;24886:4;24882:20;24878:1;24867:9;24863:17;24856:47;24920:131;25046:4;24920:131;:::i;:::-;24912:139;;24639:419;;;:::o
Swarm Source
ipfs://f32ccc0d99a96ec2be67df8f233a427959f8e9483a175d7a6273e9bbdbc6f7bd
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.