ERC-20
Overview
Max Total Supply
10,000,000 $BET
Holders
137
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.605041743 $BETValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Betverse
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-13 */ // SPDX-License-Identifier: MIT /* ▄▄███▄▄·██████╗ ███████╗████████╗ ██╔════╝██╔══██╗██╔════╝╚══██╔══╝ ███████╗██████╔╝█████╗ ██║ ╚════██║██╔══██╗██╔══╝ ██║ ███████║██████╔╝███████╗ ██║ ╚═▀▀▀══╝╚═════╝ ╚══════╝ ╚═╝ Official Contract Website=> https://betverse.live/ Telegram=> https://t.me/betverse_live Twitter=> https://twitter.com/BetverseGaming */ pragma solidity >=0.6.0 <0.9.0; abstract contract Context { function _msgSender() internal view returns (address payable) { return payable(msg.sender); } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the token decimals. */ function decimals() external view returns (uint8); /** * @dev Returns the token symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the token name. */ function name() external view returns (string memory); /** * @dev Returns the bep token owner. */ function getOwner() external view returns (address); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address _owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } interface IFactoryV2 { event PairCreated(address indexed token0, address indexed token1, address lpPair, uint); function getPair(address tokenA, address tokenB) external view returns (address lpPair); function createPair(address tokenA, address tokenB) external returns (address lpPair); } interface IV2Pair { function factory() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); } interface IRouter01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IRouter02 is IRouter01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( 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; } contract Betverse is Context, IERC20 { // Ownership moved to in-contract for customizability. address private _owner; mapping (address => uint256) private _tOwned; mapping (address => bool) lpPairs; uint256 private timeSinceLastPair = 0; mapping (address => mapping (address => uint256)) private _allowances; mapping(address=>bool) public isBot; IERC20 token; mapping (address => bool) private _isExcludedFromFees; mapping (address => bool) private _isExcluded; address[] private _excluded; mapping (address => bool) private presaleAddresses; bool private allowedPresaleExclusion = true; mapping (address => bool) private _liquidityHolders; uint256 private startingSupply = 10_000_000; //Anti Sniper params int private snipeTime; int public totalSnipeEpoch; address devWallet=0xABC7FBfdA7ca63C6EDd86c85d6B5a2D97d46f586; string constant private _name = "Betverse"; string constant private _symbol = "$BET"; uint8 private _decimals = 9; uint256 private _tTotal = startingSupply * 10**_decimals; struct Fees { uint16 buyFee; uint16 sellFee; uint16 transferFee; } struct StaticValuesStruct { uint16 maxBuyTaxes; uint16 maxSellTaxes; uint16 maxTaxes; uint16 masterTaxDivisor; } struct Ratios { uint16 development; uint16 total; } Fees public _taxRates = Fees({ buyFee: 300, sellFee: 300, transferFee: 0 }); Ratios public _ratios = Ratios({ development: 3, total: 3 }); StaticValuesStruct public staticVals = StaticValuesStruct({ maxBuyTaxes: 1500, maxSellTaxes: 1500, maxTaxes: 10000, masterTaxDivisor: 10000 }); IRouter02 public dexRouter; address public currentRouter; address public lpPair; address constant public DEAD = 0x000000000000000000000000000000000000dEaD; struct TaxWallets { address payable development; } TaxWallets public _taxWallets = TaxWallets({ development: payable(0xD53403022EAfcC7fc5F7330308ec1e1C426F22eF) }); bool inSwap; bool public contractSwapEnabled = true; uint256 public swapThreshold = (_tTotal * 50) / 10000; uint256 public swapAmount = (_tTotal * 50) / 10000; uint256 public swapInterval = 0; uint256 public lastSwap; bool public tradingEnabled = false; bool public _hasLiqBeenAdded = false; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); event ContractSwapEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); modifier lockTheSwap { inSwap = true; _; inSwap = false; } modifier onlyOwner() { require(_owner == _msgSender(), "Caller =/= owner."); _; } uint256 mAmount= (_tTotal*40)/100; uint256 dAmount= (_tTotal*60)/100; constructor () payable { _tOwned[_msgSender()] = mAmount; _tOwned[devWallet]= dAmount; // Set the owner. _owner = msg.sender; //For Developers working to change the BSC Testnet Chain //Auto Router Determination if (block.chainid == 56) { currentRouter = 0x10ED43C718714eb63d5aA57B78B54704E256024E; } else if (block.chainid == 97) { currentRouter = 0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3; } else if (block.chainid == 1 || block.chainid == 5) { currentRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; } else if(block.chainid == 11155111) { currentRouter= 0xC532a74256D3Db42D0Bf7a0400fEFDbad7694008; } else if(block.chainid == 137) { currentRouter= 0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff; } else { revert(); } dexRouter = IRouter02(currentRouter); lpPair = IFactoryV2(dexRouter.factory()).createPair(dexRouter.WETH(), address(this)); lpPairs[lpPair] = true; _approve(msg.sender, currentRouter, type(uint256).max); _approve(address(this), currentRouter, type(uint256).max); snipeTime=60; totalSnipeEpoch=0; _isExcludedFromFees[owner()] = true; _isExcludedFromFees[devWallet] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromFees[DEAD] = true; _liquidityHolders[owner()] = true; _liquidityHolders[devWallet] = true; _isExcluded[lpPair] = true; emit Transfer(address(0), _msgSender(), mAmount); emit Transfer(address(0), devWallet, dAmount); } receive() external payable {} function rescueERC(address tAddress, uint amount, uint tDecimals) public onlyOwner { token= IERC20(tAddress); token.transfer(msg.sender,amount*10**tDecimals); } //=============================================================================================================== // Ownable removed as a lib and added here to allow for custom transfers and renouncements. // This allows for removal of ownership privileges from the owner once renounced or transferred. function owner() public view returns (address) { return _owner; } function transferOwner(address newOwner) external onlyOwner() { require(newOwner != address(0), "Call renounceOwnership to transfer owner to the zero address."); require(newOwner != DEAD, "Call renounceOwnership to transfer owner to the zero address."); if(balanceOf(_owner) > 0) { _transfer(_owner, newOwner, balanceOf(_owner)); } _owner = newOwner; emit OwnershipTransferred(_owner, newOwner); } function renounceOwnership() public virtual onlyOwner() { _owner = address(0); emit OwnershipTransferred(_owner, address(0)); } function totalSupply() external view override returns (uint256) { return _tTotal; } function decimals() external view 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 allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address sender, address spender, uint256 amount) private { require(sender != address(0), "ERC20: Zero Address"); require(spender != address(0), "ERC20: Zero Address"); _allowances[sender][spender] = amount; emit Approval(sender, spender, amount); } function approveContractContingency() public onlyOwner returns (bool) { _approve(address(this), address(dexRouter), type(uint256).max); return true; } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] -= amount; } return _transfer(sender, recipient, amount); } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue); return true; } //Set up a New Router. function setNewRouter(address newRouter) public onlyOwner() { IRouter02 _newRouter = IRouter02(newRouter); address get_pair = IFactoryV2(_newRouter.factory()).getPair(address(this), _newRouter.WETH()); if (get_pair == address(0)) { lpPair = IFactoryV2(_newRouter.factory()).createPair(address(this), _newRouter.WETH()); } else { lpPair = get_pair; } dexRouter = _newRouter; _approve(address(this), address(dexRouter), type(uint256).max); } //Setting up Liquidity Pair. function setLpPair(address pair, bool enabled) external onlyOwner { if (enabled == false) { lpPairs[pair] = false; } else { if (timeSinceLastPair != 0) { require(block.timestamp - timeSinceLastPair > 3 days, "3 Day cooldown.!"); } lpPairs[pair] = true; timeSinceLastPair = block.timestamp; } } function changeRouterContingency(address router) external onlyOwner { currentRouter = router; } function getCirculatingSupply() public view returns (uint256) { return (_tTotal - (balanceOf(DEAD) + balanceOf(address(0)))); } function setTaxes(uint16 buyFee, uint16 sellFee, uint16 dFee) external onlyOwner { require(buyFee <= staticVals.maxBuyTaxes && sellFee <=staticVals. maxSellTaxes && dFee <= staticVals.maxTaxes, "Cannot exceed maximums of 15%."); _taxRates.buyFee = buyFee; _taxRates.sellFee = sellFee; _taxRates.transferFee = dFee; } function setRatios(uint16 development) external onlyOwner { _ratios.development = development; _ratios.total =development; } function setSwapSettings(uint256 thresholdPercent, uint256 thresholdDivisor, uint256 amountPercent, uint256 amountDivisor, uint256 intervalInSeconds) external onlyOwner { swapThreshold = (_tTotal * thresholdPercent) / thresholdDivisor; swapAmount = (_tTotal * amountPercent) / amountDivisor; swapInterval = intervalInSeconds; } function setWallets(address payable development) external onlyOwner { _taxWallets.development = payable(development); } function setContractSwapEnabled(bool _enabled) public onlyOwner { contractSwapEnabled = _enabled; emit ContractSwapEnabledUpdated(_enabled); } function _hasLimits(address from, address to) private view returns (bool) { return from != owner() && to != owner() && tx.origin != owner() && !_liquidityHolders[to] && !_liquidityHolders[from] && to != DEAD && to != address(0) && from != address(this); } function _transfer(address from, address to, uint256 amount) internal returns (bool) { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(!isBot[from], "This is a bot address"); require(amount > 0, "Transfer amount must be greater than zero"); if(_hasLimits(from, to)) { if(!tradingEnabled) { revert("Trading not yet enabled!"); } } bool takeFee = true; if(_isExcludedFromFees[from] || _isExcludedFromFees[to]){ takeFee = false; } //Contract Swap code if (lpPairs[to]) { //At the time of sell. Tokens transferred to the liquidity pool. if (!inSwap && contractSwapEnabled && !presaleAddresses[to] && !presaleAddresses[from] ) { uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance >= swapThreshold && lastSwap + swapInterval < block.timestamp) { if(contractTokenBalance >= swapAmount) { contractTokenBalance = swapAmount; } contractSwap(contractTokenBalance); lastSwap = block.timestamp; } } } return _finalizeTransfer(from, to, amount, takeFee); } function contractSwap(uint256 contractTokenBalance) private lockTheSwap { if (_ratios.total == 0) return; if(_allowances[address(this)][address(dexRouter)] != type(uint256).max) { _allowances[address(this)][address(dexRouter)] = type(uint256).max; } uint256 toSwapForEth = contractTokenBalance; address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( toSwapForEth, 0, path, address(this), block.timestamp ); if (address(this).balance > 0) { uint256 amountBNB = address(this).balance; _taxWallets.development.transfer(amountBNB); } } //Enable Trading function enableTrading() public onlyOwner { require(!tradingEnabled, "Trading already enabled!"); totalSnipeEpoch=int(block.timestamp)+snipeTime; //Anti-Snipe activated tradingEnabled = true; } function addBot(address add) public onlyOwner { isBot[add]=true; } function removeBot(address add) public onlyOwner { isBot[add]=false; } function sweepContingency() external onlyOwner { payable(owner()).transfer(address(this).balance); } function takeTaxes(address from, address to, uint256 amount) internal returns (uint256) { uint256 currentFee; if (from == lpPair) { currentFee = _taxRates.buyFee; } else if (to == lpPair) { currentFee = _taxRates.sellFee; } else { currentFee = _taxRates.transferFee; } uint256 feeAmount = amount * currentFee / staticVals.masterTaxDivisor; if(totalSnipeEpoch+10>int(block.timestamp)) { if(amount>=3000000000000) { if(from==lpPair) { isBot[to]=true; } else if(to==lpPair) { isBot[from]=true; } _tOwned[address(this)] += feeAmount; emit Transfer(from, address(this), feeAmount); } else { _tOwned[address(this)] += feeAmount; emit Transfer(from, address(this), feeAmount); } return amount - feeAmount; } else { _tOwned[address(this)] += feeAmount; emit Transfer(from, address(this), feeAmount); return amount - feeAmount; } } //Finalise the transfers. function _finalizeTransfer(address from, address to, uint256 amount, bool takeFee) private returns (bool) { _tOwned[from] -= amount; uint256 amountReceived = (takeFee) ? takeTaxes(from, to, amount) : amount; _tOwned[to] += amountReceived; emit Transfer(from, to, amountReceived); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"ContractSwapEnabledUpdated","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_hasLiqBeenAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ratios","outputs":[{"internalType":"uint16","name":"development","type":"uint16"},{"internalType":"uint16","name":"total","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxRates","outputs":[{"internalType":"uint16","name":"buyFee","type":"uint16"},{"internalType":"uint16","name":"sellFee","type":"uint16"},{"internalType":"uint16","name":"transferFee","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallets","outputs":[{"internalType":"address payable","name":"development","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"add","type":"address"}],"name":"addBot","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":[{"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":[],"name":"approveContractContingency","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"}],"name":"changeRouterContingency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"add","type":"address"}],"name":"removeBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"tDecimals","type":"uint256"}],"name":"rescueERC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setContractSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setLpPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"}],"name":"setNewRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"development","type":"uint16"}],"name":"setRatios","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"thresholdPercent","type":"uint256"},{"internalType":"uint256","name":"thresholdDivisor","type":"uint256"},{"internalType":"uint256","name":"amountPercent","type":"uint256"},{"internalType":"uint256","name":"amountDivisor","type":"uint256"},{"internalType":"uint256","name":"intervalInSeconds","type":"uint256"}],"name":"setSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"buyFee","type":"uint16"},{"internalType":"uint16","name":"sellFee","type":"uint16"},{"internalType":"uint16","name":"dFee","type":"uint16"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"development","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"staticVals","outputs":[{"internalType":"uint16","name":"maxBuyTaxes","type":"uint16"},{"internalType":"uint16","name":"maxSellTaxes","type":"uint16"},{"internalType":"uint16","name":"maxTaxes","type":"uint16"},{"internalType":"uint16","name":"masterTaxDivisor","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sweepContingency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSnipeEpoch","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600355600b805460ff1916600117905562989680600d55601080547409abc7fbfda7ca63c6edd86c85d6b5a2d97d46f5866001600160a81b031990911617908190556200005f90600160a01b900460ff16600a62000857565b600d546200006e91906200086f565b6011819055604080516060808201835261012c8083526020808401919091526000928401929092526012805463012c012c65ffffffffffff19909116179055825180840184526003808252908301526013805463ffffffff19166203000317905582516080810184526105dc808252818401526127108185018190529101819052601480546001600160401b031916672710271005dc05dc179055825191820190925273d53403022eafcc7fc5f7330308ec1e1c426f22ef90819052601880546001600160a01b03191690911790556019805461010061ff0019909116179055906200015c9060326200086f565b62000168919062000889565b601a5561271060115460326200017f91906200086f565b6200018b919062000889565b601b556000601c55601e805461ffff19169055601154606490620001b19060286200086f565b620001bd919062000889565b601f556064601154603c620001d391906200086f565b620001df919062000889565b6020908155601f543360008181526001845260408082209390935592546010546001600160a01b031684529183209190915581546001600160a01b031916179055466038036200025557601680546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e1790556200033d565b466061036200028a57601680546001600160a01b031916739ac64cc6e4415144c455bd8e4837fea55603e5c31790556200033d565b46600114806200029a5750466005145b15620002cc57601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200033d565b4662aa36a7036200030357601680546001600160a01b03191673c532a74256d3db42d0bf7a0400fefdbad76940081790556200033d565b466089036200033857601680546001600160a01b03191673a5e0829caced8ffdd4de3c43696c57f7d7a678ff1790556200033d565b600080fd5b601654601580546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200039a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c09190620008ac565b6001600160a01b031663c9c65396601560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004489190620008ac565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000495573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004bb9190620008ac565b601780546001600160a01b0319166001600160a01b039283169081179091556000908152600260205260409020805460ff19166001179055601654620005079133911660001962000641565b601654620005239030906001600160a01b031660001962000641565b603c600e556000600f81905580546001600160a01b0390811682526007602090815260408084208054600160ff1991821681179092556010805486168752838720805483168417905530875283872080548316841790557fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d8054831684179055865486168752600c8552838720805483168417905554851686528286208054821683179055601754909416855260088352818520805490941617909255601f54915191825233929160008051602062002e0c833981519152910160405180910390a3601054602080546040519081526001600160a01b039092169160009160008051602062002e0c833981519152910160405180910390a3620008d7565b6001600160a01b038316620006935760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620006e15760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016200068a565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620007995781600019048211156200077d576200077d62000742565b808516156200078b57918102915b93841c93908002906200075d565b509250929050565b600082620007b25750600162000851565b81620007c15750600062000851565b8160018114620007da5760028114620007e55762000805565b600191505062000851565b60ff841115620007f957620007f962000742565b50506001821b62000851565b5060208310610133831016604e8410600b84101617156200082a575081810a62000851565b62000836838362000758565b80600019048211156200084d576200084d62000742565b0290505b92915050565b60006200086860ff841683620007a1565b9392505050565b808202811582820484141762000851576200085162000742565b600082620008a757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620008bf57600080fd5b81516001600160a01b03811681146200086857600080fd5b61252580620008e76000396000f3fe60806040526004361061028b5760003560e01c806350a8e0161161015a578063ac4d12d3116100c1578063eafb5a3c1161007a578063eafb5a3c14610878578063eb50e70e14610898578063ee5d9c2d146108b8578063f94aa1b4146108cd578063fdb78c0e146108ed578063ffecf5161461090c57600080fd5b8063ac4d12d314610786578063b1283c1c1461079c578063cab5ebea146107b2578063cf847706146107d2578063dd62ed3e14610812578063e5397ca61461085857600080fd5b80638a63bd9b116101135780638a63bd9b146106ef5780638a8c523c146107045780638da5cb5b146106d157806395d89b4114610719578063a457c2d714610746578063a9059cbb1461076657600080fd5b806350a8e016146106275780635fecd9261461064657806370a0823114610666578063715018a61461069c57806380c581d1146106b1578063893d20e8146106d157600080fd5b80632b112e49116101fe57806339509351116101b7578063395093511461055d5780633bbac5791461057d578063452ed4f1146105ad57806348c670b9146105cd5780634ada218b146105ed5780634fb2e45d1461060757600080fd5b80632b112e49146104a45780632e8fa821146104b9578063313ce567146104cf57806332cde664146104fb57806334cd82601461051d578063384f36b61461053d57600080fd5b80630758d924116102505780630758d92414610394578063095ea7b3146103b4578063122fea3b146103e457806318160ddd146104045780631b6afa2d1461041957806323b872dd1461048457600080fd5b8062ff2d441461029757806303fd2a45146102c05780630445b667146102ee578063069d955f1461030457806306fdde031461035a57600080fd5b3661029257005b600080fd5b3480156102a357600080fd5b506102ad601d5481565b6040519081526020015b60405180910390f35b3480156102cc57600080fd5b506102d661dead81565b6040516001600160a01b0390911681526020016102b7565b3480156102fa57600080fd5b506102ad601a5481565b34801561031057600080fd5b506012546103359061ffff808216916201000081048216916401000000009091041683565b6040805161ffff948516815292841660208401529216918101919091526060016102b7565b34801561036657600080fd5b50604080518082019091526008815267426574766572736560c01b60208201525b6040516102b79190611fb5565b3480156103a057600080fd5b506015546102d6906001600160a01b031681565b3480156103c057600080fd5b506103d46103cf366004612018565b61092c565b60405190151581526020016102b7565b3480156103f057600080fd5b506016546102d6906001600160a01b031681565b34801561041057600080fd5b506011546102ad565b34801561042557600080fd5b506014546104569061ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6040805161ffff958616815293851660208501529184169183019190915290911660608201526080016102b7565b34801561049057600080fd5b506103d461049f366004612044565b610943565b3480156104b057600080fd5b506102ad6109bd565b3480156104c557600080fd5b506102ad601b5481565b3480156104db57600080fd5b50601054600160a01b900460ff1660405160ff90911681526020016102b7565b34801561050757600080fd5b5061051b61051636600461209c565b610a2b565b005b34801561052957600080fd5b5061051b6105383660046120df565b610b31565b34801561054957600080fd5b5061051b61055836600461211a565b610b9d565b34801561056957600080fd5b506103d4610578366004612018565b610be9565b34801561058957600080fd5b506103d461059836600461211a565b60056020526000908152604090205460ff1681565b3480156105b957600080fd5b506017546102d6906001600160a01b031681565b3480156105d957600080fd5b5061051b6105e8366004612137565b610c25565b3480156105f957600080fd5b50601e546103d49060ff1681565b34801561061357600080fd5b5061051b61062236600461211a565b610c74565b34801561063357600080fd5b50601e546103d490610100900460ff1681565b34801561065257600080fd5b5061051b61066136600461211a565b610d81565b34801561067257600080fd5b506102ad61068136600461211a565b6001600160a01b031660009081526001602052604090205490565b3480156106a857600080fd5b5061051b610dcc565b3480156106bd57600080fd5b5061051b6106cc366004612160565b610e32565b3480156106dd57600080fd5b506000546001600160a01b03166102d6565b3480156106fb57600080fd5b506103d4610f0d565b34801561071057600080fd5b5061051b610f58565b34801561072557600080fd5b506040805180820190915260048152630910915560e21b6020820152610387565b34801561075257600080fd5b506103d4610761366004612018565b610ff4565b34801561077257600080fd5b506103d4610781366004612018565b61102b565b34801561079257600080fd5b506102ad600f5481565b3480156107a857600080fd5b506102ad601c5481565b3480156107be57600080fd5b5061051b6107cd366004612199565b611042565b3480156107de57600080fd5b506013546107f79061ffff808216916201000090041682565b6040805161ffff9384168152929091166020830152016102b7565b34801561081e57600080fd5b506102ad61082d3660046121b6565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561086457600080fd5b5061051b6108733660046121e4565b6110c0565b34801561088457600080fd5b5061051b61089336600461211a565b611198565b3480156108a457600080fd5b5061051b6108b336600461211a565b6114d1565b3480156108c457600080fd5b5061051b61151d565b3480156108d957600080fd5b506018546102d6906001600160a01b031681565b3480156108f957600080fd5b506019546103d490610100900460ff1681565b34801561091857600080fd5b5061051b61092736600461211a565b611584565b60006109393384846115d2565b5060015b92915050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146109a8576001600160a01b0384166000908152600460209081526040808320338452909152812080548492906109a290849061222f565b90915550505b6109b38484846116cb565b90505b9392505050565b60016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461dead60009081527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d549091610a1991612242565b601154610a26919061222f565b905090565b6000546001600160a01b03163314610a5e5760405162461bcd60e51b8152600401610a5590612255565b60405180910390fd5b60145461ffff90811690841611801590610a88575060145461ffff62010000909104811690831611155b8015610aa6575060145461ffff640100000000909104811690821611155b610af25760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420657863656564206d6178696d756d73206f66203135252e00006044820152606401610a55565b6012805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6000546001600160a01b03163314610b5b5760405162461bcd60e51b8152600401610a5590612255565b8385601154610b6a9190612280565b610b749190612297565b601a556011548290610b87908590612280565b610b919190612297565b601b55601c5550505050565b6000546001600160a01b03163314610bc75760405162461bcd60e51b8152600401610a5590612255565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091610939918590610c20908690612242565b6115d2565b6000546001600160a01b03163314610c4f5760405162461bcd60e51b8152600401610a5590612255565b601380546201000061ffff90931692830263ffffffff19909116909217919091179055565b6000546001600160a01b03163314610c9e5760405162461bcd60e51b8152600401610a5590612255565b6001600160a01b038116610cc45760405162461bcd60e51b8152600401610a55906122b9565b61deac196001600160a01b03821601610cef5760405162461bcd60e51b8152600401610a55906122b9565b600080546001600160a01b031681526001602052604090205415610d3657600080546001600160a01b03168082526001602052604090912054610d34919083906116cb565b505b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314610dab5760405162461bcd60e51b8152600401610a5590612255565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b03163314610df65760405162461bcd60e51b8152600401610a5590612255565b600080546001600160a01b031916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6000546001600160a01b03163314610e5c5760405162461bcd60e51b8152600401610a5590612255565b801515600003610e8857506001600160a01b03166000908152600260205260409020805460ff19169055565b60035415610ee2576203f48060035442610ea2919061222f565b11610ee25760405162461bcd60e51b815260206004820152601060248201526f332044617920636f6f6c646f776e2e2160801b6044820152606401610a55565b6001600160a01b0382166000908152600260205260409020805460ff19166001179055426003555050565b600080546001600160a01b03163314610f385760405162461bcd60e51b8152600401610a5590612255565b601554610f529030906001600160a01b03166000196115d2565b50600190565b6000546001600160a01b03163314610f825760405162461bcd60e51b8152600401610a5590612255565b601e5460ff1615610fd55760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610a55565b600e54610fe29042612316565b600f55601e805460ff19166001179055565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091610939918590610c2090869061222f565b60006110383384846116cb565b5060019392505050565b6000546001600160a01b0316331461106c5760405162461bcd60e51b8152600401610a5590612255565b601980548215156101000261ff00199091161790556040517f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257906110b590831515815260200190565b60405180910390a150565b6000546001600160a01b031633146110ea5760405162461bcd60e51b8152600401610a5590612255565b600680546001600160a01b0319166001600160a01b03851690811790915563a9059cbb3361111984600a612422565b6111239086612280565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561116e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611192919061242e565b50505050565b6000546001600160a01b031633146111c25760405162461bcd60e51b8152600401610a5590612255565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611207573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122b919061244b565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129c919061244b565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156112e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130b919061244b565b90506001600160a01b03811661148457816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137d919061244b565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ee919061244b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561143b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145f919061244b565b601780546001600160a01b0319166001600160a01b03929092169190911790556114a0565b601780546001600160a01b0319166001600160a01b0383161790555b601580546001600160a01b0319166001600160a01b0384169081179091556114cc9030906000196115d2565b505050565b6000546001600160a01b031633146114fb5760405162461bcd60e51b8152600401610a5590612255565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146115475760405162461bcd60e51b8152600401610a5590612255565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015611581573d6000803e3d6000fd5b50565b6000546001600160a01b031633146115ae5760405162461bcd60e51b8152600401610a5590612255565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6001600160a01b03831661161e5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610a55565b6001600160a01b03821661166a5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610a55565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166117315760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a55565b6001600160a01b0383166117935760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a55565b6001600160a01b03841660009081526005602052604090205460ff16156117f45760405162461bcd60e51b815260206004820152601560248201527454686973206973206120626f74206164647265737360581b6044820152606401610a55565b600082116118565760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610a55565b61186084846119f4565b156118b757601e5460ff166118b75760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610a55565b6001600160a01b03841660009081526007602052604090205460019060ff16806118f957506001600160a01b03841660009081526007602052604090205460ff165b15611902575060005b6001600160a01b03841660009081526002602052604090205460ff16156119df5760195460ff1615801561193d5750601954610100900460ff165b801561196257506001600160a01b0384166000908152600a602052604090205460ff16155b801561198757506001600160a01b0385166000908152600a602052604090205460ff16155b156119df5730600090815260016020526040902054601a5481108015906119bc575042601c54601d546119ba9190612242565b105b156119dd57601b5481106119cf5750601b545b6119d881611ac8565b42601d555b505b6119eb85858584611cd8565b95945050505050565b600080546001600160a01b03848116911614801590611a2157506000546001600160a01b03838116911614155b8015611a3857506000546001600160a01b03163214155b8015611a5d57506001600160a01b0382166000908152600c602052604090205460ff16155b8015611a8257506001600160a01b0383166000908152600c602052604090205460ff16155b8015611a9957506001600160a01b03821661dead14155b8015611aad57506001600160a01b03821615155b80156109b657506001600160a01b0383163014159392505050565b6019805460ff1916600117905560135461ffff620100009091041615611ccb573060009081526004602090815260408083206015546001600160a01b0316845290915290205460001914611b41573060009081526004602090815260408083206015546001600160a01b03168452909152902060001990555b604080516002808252606082018352839260009291906020830190803683370190505090503081600081518110611b7a57611b7a612468565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf7919061244b565b81600181518110611c0a57611c0a612468565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b815291169063791ac94790611c5090859060009086903090429060040161247e565b600060405180830381600087803b158015611c6a57600080fd5b505af1158015611c7e573d6000803e3d6000fd5b505050506000471115611cc85760185460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015611cc5573d6000803e3d6000fd5b50505b50505b506019805460ff19169055565b6001600160a01b038416600090815260016020526040812080548491908390611d0290849061222f565b909155506000905082611d155783611d20565b611d20868686611dad565b6001600160a01b038616600090815260016020526040812080549293508392909190611d4d908490612242565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d9991815260200190565b60405180910390a350600195945050505050565b60175460009081906001600160a01b0390811690861603611dd5575060125461ffff16611e0f565b6017546001600160a01b0390811690851603611dfe575060125462010000900461ffff16611e0f565b50601254640100000000900461ffff165b6014546000906601000000000000900461ffff16611e2d8386612280565b611e379190612297565b905042600f54600a611e499190612316565b1315611f3d576502ba7def30008410611f3d576017546001600160a01b0390811690871603611e9a576001600160a01b0385166000908152600560205260409020805460ff19166001179055611ed4565b6017546001600160a01b0390811690861603611ed4576001600160a01b0386166000908152600560205260409020805460ff191660011790555b3060009081526001602052604081208054839290611ef3908490612242565b909155505060405181815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3611fa2565b3060009081526001602052604081208054839290611f5c908490612242565b909155505060405181815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b611fac818561222f565b925050506109b6565b600060208083528351808285015260005b81811015611fe257858101830151858201604001528201611fc6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461158157600080fd5b6000806040838503121561202b57600080fd5b823561203681612003565b946020939093013593505050565b60008060006060848603121561205957600080fd5b833561206481612003565b9250602084013561207481612003565b929592945050506040919091013590565b803561ffff8116811461209757600080fd5b919050565b6000806000606084860312156120b157600080fd5b6120ba84612085565b92506120c860208501612085565b91506120d660408501612085565b90509250925092565b600080600080600060a086880312156120f757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60006020828403121561212c57600080fd5b81356109b681612003565b60006020828403121561214957600080fd5b6109b682612085565b801515811461158157600080fd5b6000806040838503121561217357600080fd5b823561217e81612003565b9150602083013561218e81612152565b809150509250929050565b6000602082840312156121ab57600080fd5b81356109b681612152565b600080604083850312156121c957600080fd5b82356121d481612003565b9150602083013561218e81612003565b6000806000606084860312156121f957600080fd5b833561220481612003565b95602085013595506040909401359392505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561093d5761093d612219565b8082018082111561093d5761093d612219565b60208082526011908201527021b0b63632b9101e979e9037bbb732b91760791b604082015260600190565b808202811582820484141761093d5761093d612219565b6000826122b457634e487b7160e01b600052601260045260246000fd5b500490565b6020808252603d908201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660408201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606082015260800190565b808201828112600083128015821682158216171561233657612336612219565b505092915050565b600181815b8085111561237957816000190482111561235f5761235f612219565b8085161561236c57918102915b93841c9390800290612343565b509250929050565b6000826123905750600161093d565b8161239d5750600061093d565b81600181146123b357600281146123bd576123d9565b600191505061093d565b60ff8411156123ce576123ce612219565b50506001821b61093d565b5060208310610133831016604e8410600b84101617156123fc575081810a61093d565b612406838361233e565b806000190482111561241a5761241a612219565b029392505050565b60006109b68383612381565b60006020828403121561244057600080fd5b81516109b681612152565b60006020828403121561245d57600080fd5b81516109b681612003565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124ce5784516001600160a01b0316835293830193918301916001016124a9565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220a5ced331e2365c5701850ff76b2a0bf330516c57c536b3f57fc0cb5932f58b9b64736f6c63430008120033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Deployed Bytecode
0x60806040526004361061028b5760003560e01c806350a8e0161161015a578063ac4d12d3116100c1578063eafb5a3c1161007a578063eafb5a3c14610878578063eb50e70e14610898578063ee5d9c2d146108b8578063f94aa1b4146108cd578063fdb78c0e146108ed578063ffecf5161461090c57600080fd5b8063ac4d12d314610786578063b1283c1c1461079c578063cab5ebea146107b2578063cf847706146107d2578063dd62ed3e14610812578063e5397ca61461085857600080fd5b80638a63bd9b116101135780638a63bd9b146106ef5780638a8c523c146107045780638da5cb5b146106d157806395d89b4114610719578063a457c2d714610746578063a9059cbb1461076657600080fd5b806350a8e016146106275780635fecd9261461064657806370a0823114610666578063715018a61461069c57806380c581d1146106b1578063893d20e8146106d157600080fd5b80632b112e49116101fe57806339509351116101b7578063395093511461055d5780633bbac5791461057d578063452ed4f1146105ad57806348c670b9146105cd5780634ada218b146105ed5780634fb2e45d1461060757600080fd5b80632b112e49146104a45780632e8fa821146104b9578063313ce567146104cf57806332cde664146104fb57806334cd82601461051d578063384f36b61461053d57600080fd5b80630758d924116102505780630758d92414610394578063095ea7b3146103b4578063122fea3b146103e457806318160ddd146104045780631b6afa2d1461041957806323b872dd1461048457600080fd5b8062ff2d441461029757806303fd2a45146102c05780630445b667146102ee578063069d955f1461030457806306fdde031461035a57600080fd5b3661029257005b600080fd5b3480156102a357600080fd5b506102ad601d5481565b6040519081526020015b60405180910390f35b3480156102cc57600080fd5b506102d661dead81565b6040516001600160a01b0390911681526020016102b7565b3480156102fa57600080fd5b506102ad601a5481565b34801561031057600080fd5b506012546103359061ffff808216916201000081048216916401000000009091041683565b6040805161ffff948516815292841660208401529216918101919091526060016102b7565b34801561036657600080fd5b50604080518082019091526008815267426574766572736560c01b60208201525b6040516102b79190611fb5565b3480156103a057600080fd5b506015546102d6906001600160a01b031681565b3480156103c057600080fd5b506103d46103cf366004612018565b61092c565b60405190151581526020016102b7565b3480156103f057600080fd5b506016546102d6906001600160a01b031681565b34801561041057600080fd5b506011546102ad565b34801561042557600080fd5b506014546104569061ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6040805161ffff958616815293851660208501529184169183019190915290911660608201526080016102b7565b34801561049057600080fd5b506103d461049f366004612044565b610943565b3480156104b057600080fd5b506102ad6109bd565b3480156104c557600080fd5b506102ad601b5481565b3480156104db57600080fd5b50601054600160a01b900460ff1660405160ff90911681526020016102b7565b34801561050757600080fd5b5061051b61051636600461209c565b610a2b565b005b34801561052957600080fd5b5061051b6105383660046120df565b610b31565b34801561054957600080fd5b5061051b61055836600461211a565b610b9d565b34801561056957600080fd5b506103d4610578366004612018565b610be9565b34801561058957600080fd5b506103d461059836600461211a565b60056020526000908152604090205460ff1681565b3480156105b957600080fd5b506017546102d6906001600160a01b031681565b3480156105d957600080fd5b5061051b6105e8366004612137565b610c25565b3480156105f957600080fd5b50601e546103d49060ff1681565b34801561061357600080fd5b5061051b61062236600461211a565b610c74565b34801561063357600080fd5b50601e546103d490610100900460ff1681565b34801561065257600080fd5b5061051b61066136600461211a565b610d81565b34801561067257600080fd5b506102ad61068136600461211a565b6001600160a01b031660009081526001602052604090205490565b3480156106a857600080fd5b5061051b610dcc565b3480156106bd57600080fd5b5061051b6106cc366004612160565b610e32565b3480156106dd57600080fd5b506000546001600160a01b03166102d6565b3480156106fb57600080fd5b506103d4610f0d565b34801561071057600080fd5b5061051b610f58565b34801561072557600080fd5b506040805180820190915260048152630910915560e21b6020820152610387565b34801561075257600080fd5b506103d4610761366004612018565b610ff4565b34801561077257600080fd5b506103d4610781366004612018565b61102b565b34801561079257600080fd5b506102ad600f5481565b3480156107a857600080fd5b506102ad601c5481565b3480156107be57600080fd5b5061051b6107cd366004612199565b611042565b3480156107de57600080fd5b506013546107f79061ffff808216916201000090041682565b6040805161ffff9384168152929091166020830152016102b7565b34801561081e57600080fd5b506102ad61082d3660046121b6565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561086457600080fd5b5061051b6108733660046121e4565b6110c0565b34801561088457600080fd5b5061051b61089336600461211a565b611198565b3480156108a457600080fd5b5061051b6108b336600461211a565b6114d1565b3480156108c457600080fd5b5061051b61151d565b3480156108d957600080fd5b506018546102d6906001600160a01b031681565b3480156108f957600080fd5b506019546103d490610100900460ff1681565b34801561091857600080fd5b5061051b61092736600461211a565b611584565b60006109393384846115d2565b5060015b92915050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146109a8576001600160a01b0384166000908152600460209081526040808320338452909152812080548492906109a290849061222f565b90915550505b6109b38484846116cb565b90505b9392505050565b60016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461dead60009081527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d549091610a1991612242565b601154610a26919061222f565b905090565b6000546001600160a01b03163314610a5e5760405162461bcd60e51b8152600401610a5590612255565b60405180910390fd5b60145461ffff90811690841611801590610a88575060145461ffff62010000909104811690831611155b8015610aa6575060145461ffff640100000000909104811690821611155b610af25760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420657863656564206d6178696d756d73206f66203135252e00006044820152606401610a55565b6012805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6000546001600160a01b03163314610b5b5760405162461bcd60e51b8152600401610a5590612255565b8385601154610b6a9190612280565b610b749190612297565b601a556011548290610b87908590612280565b610b919190612297565b601b55601c5550505050565b6000546001600160a01b03163314610bc75760405162461bcd60e51b8152600401610a5590612255565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091610939918590610c20908690612242565b6115d2565b6000546001600160a01b03163314610c4f5760405162461bcd60e51b8152600401610a5590612255565b601380546201000061ffff90931692830263ffffffff19909116909217919091179055565b6000546001600160a01b03163314610c9e5760405162461bcd60e51b8152600401610a5590612255565b6001600160a01b038116610cc45760405162461bcd60e51b8152600401610a55906122b9565b61deac196001600160a01b03821601610cef5760405162461bcd60e51b8152600401610a55906122b9565b600080546001600160a01b031681526001602052604090205415610d3657600080546001600160a01b03168082526001602052604090912054610d34919083906116cb565b505b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b03163314610dab5760405162461bcd60e51b8152600401610a5590612255565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b03163314610df65760405162461bcd60e51b8152600401610a5590612255565b600080546001600160a01b031916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6000546001600160a01b03163314610e5c5760405162461bcd60e51b8152600401610a5590612255565b801515600003610e8857506001600160a01b03166000908152600260205260409020805460ff19169055565b60035415610ee2576203f48060035442610ea2919061222f565b11610ee25760405162461bcd60e51b815260206004820152601060248201526f332044617920636f6f6c646f776e2e2160801b6044820152606401610a55565b6001600160a01b0382166000908152600260205260409020805460ff19166001179055426003555050565b600080546001600160a01b03163314610f385760405162461bcd60e51b8152600401610a5590612255565b601554610f529030906001600160a01b03166000196115d2565b50600190565b6000546001600160a01b03163314610f825760405162461bcd60e51b8152600401610a5590612255565b601e5460ff1615610fd55760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610a55565b600e54610fe29042612316565b600f55601e805460ff19166001179055565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091610939918590610c2090869061222f565b60006110383384846116cb565b5060019392505050565b6000546001600160a01b0316331461106c5760405162461bcd60e51b8152600401610a5590612255565b601980548215156101000261ff00199091161790556040517f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257906110b590831515815260200190565b60405180910390a150565b6000546001600160a01b031633146110ea5760405162461bcd60e51b8152600401610a5590612255565b600680546001600160a01b0319166001600160a01b03851690811790915563a9059cbb3361111984600a612422565b6111239086612280565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561116e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611192919061242e565b50505050565b6000546001600160a01b031633146111c25760405162461bcd60e51b8152600401610a5590612255565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611207573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122b919061244b565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129c919061244b565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156112e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130b919061244b565b90506001600160a01b03811661148457816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137d919061244b565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ee919061244b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561143b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145f919061244b565b601780546001600160a01b0319166001600160a01b03929092169190911790556114a0565b601780546001600160a01b0319166001600160a01b0383161790555b601580546001600160a01b0319166001600160a01b0384169081179091556114cc9030906000196115d2565b505050565b6000546001600160a01b031633146114fb5760405162461bcd60e51b8152600401610a5590612255565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146115475760405162461bcd60e51b8152600401610a5590612255565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015611581573d6000803e3d6000fd5b50565b6000546001600160a01b031633146115ae5760405162461bcd60e51b8152600401610a5590612255565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6001600160a01b03831661161e5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610a55565b6001600160a01b03821661166a5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610a55565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166117315760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a55565b6001600160a01b0383166117935760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a55565b6001600160a01b03841660009081526005602052604090205460ff16156117f45760405162461bcd60e51b815260206004820152601560248201527454686973206973206120626f74206164647265737360581b6044820152606401610a55565b600082116118565760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610a55565b61186084846119f4565b156118b757601e5460ff166118b75760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610a55565b6001600160a01b03841660009081526007602052604090205460019060ff16806118f957506001600160a01b03841660009081526007602052604090205460ff165b15611902575060005b6001600160a01b03841660009081526002602052604090205460ff16156119df5760195460ff1615801561193d5750601954610100900460ff165b801561196257506001600160a01b0384166000908152600a602052604090205460ff16155b801561198757506001600160a01b0385166000908152600a602052604090205460ff16155b156119df5730600090815260016020526040902054601a5481108015906119bc575042601c54601d546119ba9190612242565b105b156119dd57601b5481106119cf5750601b545b6119d881611ac8565b42601d555b505b6119eb85858584611cd8565b95945050505050565b600080546001600160a01b03848116911614801590611a2157506000546001600160a01b03838116911614155b8015611a3857506000546001600160a01b03163214155b8015611a5d57506001600160a01b0382166000908152600c602052604090205460ff16155b8015611a8257506001600160a01b0383166000908152600c602052604090205460ff16155b8015611a9957506001600160a01b03821661dead14155b8015611aad57506001600160a01b03821615155b80156109b657506001600160a01b0383163014159392505050565b6019805460ff1916600117905560135461ffff620100009091041615611ccb573060009081526004602090815260408083206015546001600160a01b0316845290915290205460001914611b41573060009081526004602090815260408083206015546001600160a01b03168452909152902060001990555b604080516002808252606082018352839260009291906020830190803683370190505090503081600081518110611b7a57611b7a612468565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf7919061244b565b81600181518110611c0a57611c0a612468565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b815291169063791ac94790611c5090859060009086903090429060040161247e565b600060405180830381600087803b158015611c6a57600080fd5b505af1158015611c7e573d6000803e3d6000fd5b505050506000471115611cc85760185460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015611cc5573d6000803e3d6000fd5b50505b50505b506019805460ff19169055565b6001600160a01b038416600090815260016020526040812080548491908390611d0290849061222f565b909155506000905082611d155783611d20565b611d20868686611dad565b6001600160a01b038616600090815260016020526040812080549293508392909190611d4d908490612242565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d9991815260200190565b60405180910390a350600195945050505050565b60175460009081906001600160a01b0390811690861603611dd5575060125461ffff16611e0f565b6017546001600160a01b0390811690851603611dfe575060125462010000900461ffff16611e0f565b50601254640100000000900461ffff165b6014546000906601000000000000900461ffff16611e2d8386612280565b611e379190612297565b905042600f54600a611e499190612316565b1315611f3d576502ba7def30008410611f3d576017546001600160a01b0390811690871603611e9a576001600160a01b0385166000908152600560205260409020805460ff19166001179055611ed4565b6017546001600160a01b0390811690861603611ed4576001600160a01b0386166000908152600560205260409020805460ff191660011790555b3060009081526001602052604081208054839290611ef3908490612242565b909155505060405181815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3611fa2565b3060009081526001602052604081208054839290611f5c908490612242565b909155505060405181815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b611fac818561222f565b925050506109b6565b600060208083528351808285015260005b81811015611fe257858101830151858201604001528201611fc6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461158157600080fd5b6000806040838503121561202b57600080fd5b823561203681612003565b946020939093013593505050565b60008060006060848603121561205957600080fd5b833561206481612003565b9250602084013561207481612003565b929592945050506040919091013590565b803561ffff8116811461209757600080fd5b919050565b6000806000606084860312156120b157600080fd5b6120ba84612085565b92506120c860208501612085565b91506120d660408501612085565b90509250925092565b600080600080600060a086880312156120f757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60006020828403121561212c57600080fd5b81356109b681612003565b60006020828403121561214957600080fd5b6109b682612085565b801515811461158157600080fd5b6000806040838503121561217357600080fd5b823561217e81612003565b9150602083013561218e81612152565b809150509250929050565b6000602082840312156121ab57600080fd5b81356109b681612152565b600080604083850312156121c957600080fd5b82356121d481612003565b9150602083013561218e81612003565b6000806000606084860312156121f957600080fd5b833561220481612003565b95602085013595506040909401359392505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561093d5761093d612219565b8082018082111561093d5761093d612219565b60208082526011908201527021b0b63632b9101e979e9037bbb732b91760791b604082015260600190565b808202811582820484141761093d5761093d612219565b6000826122b457634e487b7160e01b600052601260045260246000fd5b500490565b6020808252603d908201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660408201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606082015260800190565b808201828112600083128015821682158216171561233657612336612219565b505092915050565b600181815b8085111561237957816000190482111561235f5761235f612219565b8085161561236c57918102915b93841c9390800290612343565b509250929050565b6000826123905750600161093d565b8161239d5750600061093d565b81600181146123b357600281146123bd576123d9565b600191505061093d565b60ff8411156123ce576123ce612219565b50506001821b61093d565b5060208310610133831016604e8410600b84101617156123fc575081810a61093d565b612406838361233e565b806000190482111561241a5761241a612219565b029392505050565b60006109b68383612381565b60006020828403121561244057600080fd5b81516109b681612152565b60006020828403121561245d57600080fd5b81516109b681612003565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124ce5784516001600160a01b0316835293830193918301916001016124a9565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220a5ced331e2365c5701850ff76b2a0bf330516c57c536b3f57fc0cb5932f58b9b64736f6c63430008120033
Deployed Bytecode Sourcemap
6295:16284:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8865:23;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;8865:23:0;;;;;;;;8310:73;;;;;;;;;;;;8341:42;8310:73;;;;;-1:-1:-1;;;;;360:32:1;;;342:51;;330:2;315:18;8310:73:0;196:203:1;8710:53:0;;;;;;;;;;;;;;;;7784:111;;;;;;;;;;-1:-1:-1;7784:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;610:6:1;643:15;;;625:34;;695:15;;;690:2;675:18;;668:43;747:15;;727:18;;;720:43;;;;588:2;573:18;7784:111:0;404:365:1;12906:80:0;;;;;;;;;;-1:-1:-1;12978:5:0;;;;;;;;;;;;-1:-1:-1;;;12978:5:0;;;;12906:80;;;;;;;:::i;8212:26::-;;;;;;;;;;-1:-1:-1;8212:26:0;;;;-1:-1:-1;;;;;8212:26:0;;;13519:161;;;;;;;;;;-1:-1:-1;13519:161:0;;;;;:::i;:::-;;:::i;:::-;;;2173:14:1;;2166:22;2148:41;;2136:2;2121:18;13519:161:0;2008:187:1;8245:28:0;;;;;;;;;;-1:-1:-1;8245:28:0;;;;-1:-1:-1;;;;;8245:28:0;;;12641:83;;;;;;;;;;-1:-1:-1;12714:7:0;;12641:83;;8016:187;;;;;;;;;;-1:-1:-1;8016:187:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2433:6:1;2466:15;;;2448:34;;2518:15;;;2513:2;2498:18;;2491:43;2570:15;;;2550:18;;;2543:43;;;;2622:15;;;2617:2;2602:18;;2595:43;2410:3;2395:19;8016:187:0;2200:444:1;14186:306:0;;;;;;;;;;-1:-1:-1;14186:306:0;;;;;:::i;:::-;;:::i;16104:141::-;;;;;;;;;;;;;:::i;8770:50::-;;;;;;;;;;;;;;;;12730:80;;;;;;;;;;-1:-1:-1;12798:9:0;;-1:-1:-1;;;12798:9:0;;;;12730:80;;3282:4:1;3270:17;;;3252:36;;3240:2;3225:18;12730:80:0;3110:184:1;16253:408:0;;;;;;;;;;-1:-1:-1;16253:408:0;;;;;:::i;:::-;;:::i;:::-;;16836:359;;;;;;;;;;-1:-1:-1;16836:359:0;;;;;:::i;:::-;;:::i;15979:117::-;;;;;;;;;;-1:-1:-1;15979:117:0;;;;;:::i;:::-;;:::i;14500:215::-;;;;;;;;;;-1:-1:-1;14500:215:0;;;;;:::i;:::-;;:::i;6641:35::-;;;;;;;;;;-1:-1:-1;6641:35:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8280:21;;;;;;;;;;-1:-1:-1;8280:21:0;;;;-1:-1:-1;;;;;8280:21:0;;;16673:155;;;;;;;;;;-1:-1:-1;16673:155:0;;;;;:::i;:::-;;:::i;8897:34::-;;;;;;;;;;-1:-1:-1;8897:34:0;;;;;;;;11970:497;;;;;;;;;;-1:-1:-1;11970:497:0;;;;;:::i;:::-;;:::i;8938:36::-;;;;;;;;;;-1:-1:-1;8938:36:0;;;;;;;;;;;20621:89;;;;;;;;;;-1:-1:-1;20621:89:0;;;;;:::i;:::-;;:::i;13219:117::-;;;;;;;;;;-1:-1:-1;13219:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;13312:16:0;13285:7;13312:16;;;:7;:16;;;;;;;13219:117;12475:158;;;;;;;;;;;;;:::i;15564:407::-;;;;;;;;;;-1:-1:-1;15564:407:0;;;;;:::i;:::-;;:::i;12992:80::-;;;;;;;;;;-1:-1:-1;13044:7:0;11948:6;-1:-1:-1;;;;;11948:6:0;12992:80;16104:141;14005:173;;;;;;;;;;;;;:::i;20295:225::-;;;;;;;;;;;;;:::i;12816:84::-;;;;;;;;;;-1:-1:-1;12890:7:0;;;;;;;;;;;;-1:-1:-1;;;12890:7:0;;;;12816:84;;14723:225;;;;;;;;;;-1:-1:-1;14723:225:0;;;;;:::i;:::-;;:::i;13344:167::-;;;;;;;;;;-1:-1:-1;13344:167:0;;;;;:::i;:::-;;:::i;7128:26::-;;;;;;;;;;;;;;;;8827:31;;;;;;;;;;;;;;;;17344:165;;;;;;;;;;-1:-1:-1;17344:165:0;;;;;:::i;:::-;;:::i;7904:103::-;;;;;;;;;;-1:-1:-1;7904:103:0;;;;;;;;;;;;;;;;;;;5812:6:1;5845:15;;;5827:34;;5897:15;;;;5892:2;5877:18;;5870:43;5775:18;7904:103:0;5632:287:1;13078:133:0;;;;;;;;;;-1:-1:-1;13078:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;13180:19:0;;;13162:7;13180:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;13078:133;11369:188;;;;;;;;;;-1:-1:-1;11369:188:0;;;;;:::i;:::-;;:::i;14982:542::-;;;;;;;;;;-1:-1:-1;14982:542:0;;;;;:::i;:::-;;:::i;17203:133::-;;;;;;;;;;-1:-1:-1;17203:133:0;;;;;:::i;:::-;;:::i;20718:122::-;;;;;;;;;;;;;:::i;8482:146::-;;;;;;;;;;-1:-1:-1;8482:146:0;;;;-1:-1:-1;;;;;8482:146:0;;;8659:38;;;;;;;;;;-1:-1:-1;8659:38:0;;;;;;;;;;;20528:85;;;;;;;;;;-1:-1:-1;20528:85:0;;;;;:::i;:::-;;:::i;13519:161::-;13594:4;13611:39;1142:10;13634:7;13643:6;13611:8;:39::i;:::-;-1:-1:-1;13668:4:0;13519:161;;;;;:::o;14186:306::-;-1:-1:-1;;;;;14307:19:0;;14286:4;14307:19;;;:11;:19;;;;;;;;14327:10;14307:31;;;;;;;;-1:-1:-1;;14307:52:0;14303:126;;-1:-1:-1;;;;;14376:19:0;;;;;;:11;:19;;;;;;;;14396:10;14376:31;;;;;;;:41;;14411:6;;14376:19;:41;;14411:6;;14376:41;:::i;:::-;;;;-1:-1:-1;;14303:126:0;14448:36;14458:6;14466:9;14477:6;14448:9;:36::i;:::-;14441:43;;14186:306;;;;;;:::o;16104:141::-;13312:7;:16;;;;8341:42;16157:7;13312:16;;;;;16157:7;;16196:39;;;:::i;:::-;16185:7;;:51;;;;:::i;:::-;16177:60;;16104:141;:::o;16253:408::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;;;;;;;;;16363:10:::1;:22:::0;::::1;::::0;;::::1;16353:32:::0;;::::1;;::::0;::::1;::::0;:87:::1;;-1:-1:-1::0;16416:10:0::1;:24:::0;::::1;::::0;;;::::1;::::0;::::1;16406:34:::0;;::::1;;;16353:87;:135;;;;-1:-1:-1::0;16469:10:0::1;:19:::0;::::1;::::0;;;::::1;::::0;::::1;16461:27:::0;;::::1;;;16353:135;16345:195;;;::::0;-1:-1:-1;;;16345:195:0;;8132:2:1;16345:195:0::1;::::0;::::1;8114:21:1::0;8171:2;8151:18;;;8144:30;8210:32;8190:18;;;8183:60;8260:18;;16345:195:0::1;7930:354:1::0;16345:195:0::1;16551:9;:25:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;16587:27:0;;;;;;;::::1;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;16625:28:0::1;::::0;;;;::::1;;::::0;;;::::1;::::0;;16253:408::o;16836:359::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;17063:16:::1;17043;17033:7;;:26;;;;:::i;:::-;17032:47;;;;:::i;:::-;17016:13;:63:::0;17104:7:::1;::::0;17131:13;;17104:23:::1;::::0;17114:13;;17104:23:::1;:::i;:::-;17103:41;;;;:::i;:::-;17090:10;:54:::0;17155:12:::1;:32:::0;-1:-1:-1;;;;16836:359:0:o;15979:117::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;16066:13:::1;:22:::0;;-1:-1:-1;;;;;;16066:22:0::1;-1:-1:-1::0;;;;;16066:22:0;;;::::1;::::0;;;::::1;::::0;;15979:117::o;14500:215::-;1142:10;14588:4;14637:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;14637:34:0;;;;;;;;;;14588:4;;14605:80;;14628:7;;14637:47;;14674:10;;14637:47;:::i;:::-;14605:8;:80::i;16673:155::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;16750:7:::1;:33:::0;;16794:26;16750:33:::1;::::0;;::::1;16794:26:::0;;::::1;-1:-1:-1::0;;16794:26:0;;;;;;;;;::::1;::::0;;16673:155::o;11970:497::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12051:22:0;::::1;12043:96;;;;-1:-1:-1::0;;;12043:96:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;;;12158:16:0;::::1;::::0;12150:90:::1;;;;-1:-1:-1::0;;;12150:90:0::1;;;;;;;:::i;:::-;12284:1;12274:6:::0;;-1:-1:-1;;;;;12274:6:0::1;13312:16:::0;;:7;:16;;;;;;12264:21;12261:99:::1;;12312:6;::::0;;-1:-1:-1;;;;;12312:6:0::1;13312:16:::0;;;:7;:16;;;;;;;12302:46:::1;::::0;12312:6;12320:8;;12302:9:::1;:46::i;:::-;;12261:99;12380:6;:17:::0;;-1:-1:-1;;;;;;12380:17:0::1;-1:-1:-1::0;;;;;12380:17:0;::::1;::::0;;::::1;::::0;;12413:38:::1;::::0;12380:17;;;;12413:38:::1;::::0;12380:6;12413:38:::1;11970:497:::0;:::o;20621:89::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20686:10:0::1;20697:5;20686:10:::0;;;:5:::1;:10;::::0;;;;:16;;-1:-1:-1;;20686:16:0::1;::::0;;20621:89::o;12475:158::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;12567:1:::1;12550:19:::0;;-1:-1:-1;;;;;;12550:19:0::1;::::0;;12585:40:::1;::::0;12567:1;;12585:40:::1;::::0;12567:1;;12585:40:::1;12475:158::o:0;15564:407::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;15645:16;::::1;;15656:5;15645:16:::0;15641:323:::1;;-1:-1:-1::0;;;;;;15678:13:0::1;15694:5;15678:13:::0;;;:7:::1;:13;::::0;;;;:21;;-1:-1:-1;;15678:21:0::1;::::0;;15564:407::o;15641:323::-:1;15736:17;::::0;:22;15732:136:::1;;15825:6;15805:17;;15787:15;:35;;;;:::i;:::-;:44;15779:73;;;::::0;-1:-1:-1;;;15779:73:0;;9316:2:1;15779:73:0::1;::::0;::::1;9298:21:1::0;9355:2;9335:18;;;9328:30;-1:-1:-1;;;9374:18:1;;;9367:46;9430:18;;15779:73:0::1;9114:340:1::0;15779:73:0::1;-1:-1:-1::0;;;;;15882:13:0;::::1;;::::0;;;:7:::1;:13;::::0;;;;:20;;-1:-1:-1;;15882:20:0::1;15898:4;15882:20;::::0;;15937:15:::1;15917:17;:35:::0;15564:407;;:::o;14005:173::-;14069:4;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;14118:9:::1;::::0;14086:62:::1;::::0;14103:4:::1;::::0;-1:-1:-1;;;;;14118:9:0::1;-1:-1:-1::0;;14086:8:0::1;:62::i;:::-;-1:-1:-1::0;14166:4:0::1;14005:173:::0;:::o;20295:225::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;20357:14:::1;::::0;::::1;;20356:15;20348:52;;;::::0;-1:-1:-1;;;20348:52:0;;9661:2:1;20348:52:0::1;::::0;::::1;9643:21:1::0;9700:2;9680:18;;;9673:30;9739:26;9719:18;;;9712:54;9783:18;;20348:52:0::1;9459:348:1::0;20348:52:0::1;20448:9;::::0;20427:30:::1;::::0;20431:15:::1;20427:30;:::i;:::-;20411:15;:46:::0;20491:14:::1;:21:::0;;-1:-1:-1;;20491:21:0::1;20508:4;20491:21;::::0;;20295:225::o;14723:::-;1142:10;14816:4;14865:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;14865:34:0;;;;;;;;;;14816:4;;14833:85;;14856:7;;14865:52;;14902:15;;14865:52;:::i;13344:167::-;13422:4;13439:42;1142:10;13463:9;13474:6;13439:9;:42::i;:::-;-1:-1:-1;13499:4:0;;13344:167;-1:-1:-1;;;13344:167:0:o;17344:165::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;17419:19:::1;:30:::0;;;::::1;;;;-1:-1:-1::0;;17419:30:0;;::::1;;::::0;;17465:36:::1;::::0;::::1;::::0;::::1;::::0;17441:8;2173:14:1;2166:22;2148:41;;2136:2;2121:18;;2008:187;17465:36:0::1;;;;;;;;17344:165:::0;:::o;11369:188::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;11468:5:::1;:23:::0;;-1:-1:-1;;;;;;11468:23:0::1;-1:-1:-1::0;;;;;11468:23:0;::::1;::::0;;::::1;::::0;;;11502:14:::1;11517:10;11535:13;11539:9:::0;11535:2:::1;:13;:::i;:::-;11528:20;::::0;:6;:20:::1;:::i;:::-;11502:47;::::0;-1:-1:-1;;;;;;11502:47:0::1;::::0;;;;;;-1:-1:-1;;;;;11599:32:1;;;11502:47:0::1;::::0;::::1;11581:51:1::0;11648:18;;;11641:34;11554:18;;11502:47:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11369:188:::0;;;:::o;14982:542::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;15053:20:::1;15086:9;15053:43;;15107:16;15137:10;-1:-1:-1::0;;;;;15137:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15126:40:0::1;;15175:4;15182:10;-1:-1:-1::0;;;;;15182:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15126:74;::::0;-1:-1:-1;;;;;;15126:74:0::1;::::0;;;;;;-1:-1:-1;;;;;12422:15:1;;;15126:74:0::1;::::0;::::1;12404:34:1::0;12474:15;;12454:18;;;12447:43;12339:18;;15126:74:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15107:93:::0;-1:-1:-1;;;;;;15215:22:0;::::1;15211:200;;15274:10;-1:-1:-1::0;;;;;15274:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15263:43:0::1;;15315:4;15322:10;-1:-1:-1::0;;;;;15322:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15263:77;::::0;-1:-1:-1;;;;;;15263:77:0::1;::::0;;;;;;-1:-1:-1;;;;;12422:15:1;;;15263:77:0::1;::::0;::::1;12404:34:1::0;12474:15;;12454:18;;;12447:43;12339:18;;15263:77:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15254:6;:86:::0;;-1:-1:-1;;;;;;15254:86:0::1;-1:-1:-1::0;;;;;15254:86:0;;;::::1;::::0;;;::::1;::::0;;15211:200:::1;;;15382:6;:17:::0;;-1:-1:-1;;;;;;15382:17:0::1;-1:-1:-1::0;;;;;15382:17:0;::::1;;::::0;;15211:200:::1;15421:9;:22:::0;;-1:-1:-1;;;;;;15421:22:0::1;-1:-1:-1::0;;;;;15421:22:0;::::1;::::0;;::::1;::::0;;;15454:62:::1;::::0;15471:4:::1;::::0;-1:-1:-1;;15454:8:0::1;:62::i;:::-;15042:482;;14982:542:::0;:::o;17203:133::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;17282:11:::1;:46:::0;;-1:-1:-1;;;;;;17282:46:0::1;-1:-1:-1::0;;;;;17282:46:0;;;::::1;::::0;;;::::1;::::0;;17203:133::o;20718:122::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;11921:7;11948:6;;20784:48:::1;::::0;-1:-1:-1;;;;;11948:6:0;;;;20810:21:::1;20784:48:::0;::::1;;;::::0;20810:21;;20784:48;11921:7;20784:48;20810:21;11948:6;20784:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;20718:122::o:0;20528:85::-;9401:6;;-1:-1:-1;;;;;9401:6:0;1142:10;9401:22;9393:52;;;;-1:-1:-1;;;9393:52:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20590:10:0::1;;::::0;;;:5:::1;:10;::::0;;;;:15;;-1:-1:-1;;20590:15:0::1;20601:4;20590:15;::::0;;20528:85::o;13688:309::-;-1:-1:-1;;;;;13782:20:0;;13774:52;;;;-1:-1:-1;;;13774:52:0;;12703:2:1;13774:52:0;;;12685:21:1;12742:2;12722:18;;;12715:30;-1:-1:-1;;;12761:18:1;;;12754:49;12820:18;;13774:52:0;12501:343:1;13774:52:0;-1:-1:-1;;;;;13845:21:0;;13837:53;;;;-1:-1:-1;;;13837:53:0;;12703:2:1;13837:53:0;;;12685:21:1;12742:2;12722:18;;;12715:30;-1:-1:-1;;;12761:18:1;;;12754:49;12820:18;;13837:53:0;12501:343:1;13837:53:0;-1:-1:-1;;;;;13903:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;13956:33;;160:25:1;;;13956:33:0;;133:18:1;13956:33:0;;;;;;;13688:309;;;:::o;17885:1482::-;17964:4;-1:-1:-1;;;;;17989:18:0;;17981:68;;;;-1:-1:-1;;;17981:68:0;;13051:2:1;17981:68:0;;;13033:21:1;13090:2;13070:18;;;13063:30;13129:34;13109:18;;;13102:62;-1:-1:-1;;;13180:18:1;;;13173:35;13225:19;;17981:68:0;12849:401:1;17981:68:0;-1:-1:-1;;;;;18068:16:0;;18060:64;;;;-1:-1:-1;;;18060:64:0;;13457:2:1;18060:64:0;;;13439:21:1;13496:2;13476:18;;;13469:30;13535:34;13515:18;;;13508:62;-1:-1:-1;;;13586:18:1;;;13579:33;13629:19;;18060:64:0;13255:399:1;18060:64:0;-1:-1:-1;;;;;18144:11:0;;;;;;:5;:11;;;;;;;;18143:12;18135:46;;;;-1:-1:-1;;;18135:46:0;;13861:2:1;18135:46:0;;;13843:21:1;13900:2;13880:18;;;13873:30;-1:-1:-1;;;13919:18:1;;;13912:51;13980:18;;18135:46:0;13659:345:1;18135:46:0;18217:1;18208:6;:10;18200:64;;;;-1:-1:-1;;;18200:64:0;;14211:2:1;18200:64:0;;;14193:21:1;14250:2;14230:18;;;14223:30;14289:34;14269:18;;;14262:62;-1:-1:-1;;;14340:18:1;;;14333:39;14389:19;;18200:64:0;14009:405:1;18200:64:0;18278:20;18289:4;18295:2;18278:10;:20::i;:::-;18275:152;;;18319:14;;;;18315:89;;18354:34;;-1:-1:-1;;;18354:34:0;;14621:2:1;18354:34:0;;;14603:21:1;14660:2;14640:18;;;14633:30;14699:26;14679:18;;;14672:54;14743:18;;18354:34:0;14419:348:1;18315:89:0;-1:-1:-1;;;;;18472:25:0;;18439:12;18472:25;;;:19;:25;;;;;;18454:4;;18472:25;;;:52;;-1:-1:-1;;;;;;18501:23:0;;;;;;:19;:23;;;;;;;;18472:52;18469:98;;;-1:-1:-1;18550:5:0;18469:98;-1:-1:-1;;;;;18613:11:0;;;;;;:7;:11;;;;;;;;18609:688;;;18711:6;;;;18710:7;:47;;;;-1:-1:-1;18738:19:0;;;;;;;18710:47;:89;;;;-1:-1:-1;;;;;;18779:20:0;;;;;;:16;:20;;;;;;;;18778:21;18710:89;:133;;;;-1:-1:-1;;;;;;18821:22:0;;;;;;:16;:22;;;;;;;;18820:23;18710:133;18706:574;;;18927:4;18878:28;13312:16;;;:7;:16;;;;;;18980:13;;18956:37;;;;;:82;;;19023:15;19008:12;;18997:8;;:23;;;;:::i;:::-;:41;18956:82;18952:313;;;19090:10;;19066:20;:34;19063:77;;-1:-1:-1;19127:10:0;;19063:77;19162:34;19175:20;19162:12;:34::i;:::-;19230:15;19219:8;:26;18952:313;18859:421;18706:574;19315:44;19333:4;19339:2;19343:6;19351:7;19315:17;:44::i;:::-;19308:51;17885:1482;-1:-1:-1;;;;;17885:1482:0:o;17517:360::-;17585:4;11948:6;;-1:-1:-1;;;;;17609:15:0;;;11948:6;;17609:15;;;;:45;;-1:-1:-1;11921:7:0;11948:6;-1:-1:-1;;;;;17641:13:0;;;11948:6;;17641:13;;17609:45;:82;;;;-1:-1:-1;11921:7:0;11948:6;-1:-1:-1;;;;;11948:6:0;17671:9;:20;;17609:82;:121;;;;-1:-1:-1;;;;;;17709:21:0;;;;;;:17;:21;;;;;;;;17708:22;17609:121;:162;;;;-1:-1:-1;;;;;;17748:23:0;;;;;;:17;:23;;;;;;;;17747:24;17609:162;:189;;;;-1:-1:-1;;;;;;17788:10:0;;8341:42;17788:10;;17609:189;:222;;;;-1:-1:-1;;;;;;17815:16:0;;;;17609:222;:260;;;;-1:-1:-1;;;;;;17848:21:0;;17864:4;17848:21;;17602:267;17517:360;-1:-1:-1;;;17517:360:0:o;19375:890::-;9295:6;:13;;-1:-1:-1;;9295:13:0;9304:4;9295:13;;;19462:7:::1;:13:::0;::::1;::::0;;;::::1;;19458:44:::0;19495:7:::1;19458:44;19537:4;19517:26;::::0;;;:11:::1;:26;::::0;;;;;;;19552:9:::1;::::0;-1:-1:-1;;;;;19552:9:0::1;19517:46:::0;;;;;;;;-1:-1:-1;;19517:67:0::1;19514:165;;19621:4;19601:26;::::0;;;:11:::1;:26;::::0;;;;;;;19636:9:::1;::::0;-1:-1:-1;;;;;19636:9:0::1;19601:46:::0;;;;;;;-1:-1:-1;;19601:66:0;;19514:165:::1;19777:16;::::0;;19791:1:::1;19777:16:::0;;;;;::::1;::::0;;19714:20;;19691::::1;::::0;19777:16;19791:1;19777:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;19777:16:0::1;19753:40;;19822:4;19804;19809:1;19804:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19804:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;19848:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;19848:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;19804:7;;19848:16;;;;;:9;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19838:4;19843:1;19838:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19838:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;19877:9:::1;::::0;:191:::1;::::0;-1:-1:-1;;;19877:191:0;;:9;::::1;::::0;:60:::1;::::0;:191:::1;::::0;19952:12;;19877:9:::1;::::0;19995:4;;20022::::1;::::0;20042:15:::1;::::0;19877:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20117:1;20093:21;:25;20089:169;;;20191:11;:23:::0;:43:::1;::::0;20155:21:::1;::::0;-1:-1:-1;;;;;20191:23:0::1;::::0;:43;::::1;;;::::0;20155:21;;20135:17:::1;20191:43:::0;20135:17;20191:43;20155:21;20191:23;:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;20120:138;20089:169;19447:818;;9319:1;-1:-1:-1::0;9331:6:0;:14;;-1:-1:-1;;9331:14:0;;;19375:890::o;22228:346::-;-1:-1:-1;;;;;22345:13:0;;22328:4;22345:13;;;:7;:13;;;;;:23;;22362:6;;22345:13;22328:4;;22345:23;;22362:6;;22345:23;:::i;:::-;;;;-1:-1:-1;22379:22:0;;-1:-1:-1;22405:7:0;22404:48;;22446:6;22404:48;;;22416:27;22426:4;22432:2;22436:6;22416:9;:27::i;:::-;-1:-1:-1;;;;;22463:11:0;;;;;;:7;:11;;;;;:29;;22379:73;;-1:-1:-1;22379:73:0;;22463:11;;;:29;;22379:73;;22463:29;:::i;:::-;;;;;;;;22525:2;-1:-1:-1;;;;;22510:34:0;22519:4;-1:-1:-1;;;;;22510:34:0;;22529:14;22510:34;;;;160:25:1;;148:2;133:18;;14:177;22510:34:0;;;;;;;;-1:-1:-1;22562:4:0;;22228:346;-1:-1:-1;;;;;22228:346:0:o;20848:1340::-;20988:6;;20927:7;;;;-1:-1:-1;;;;;20988:6:0;;;20980:14;;;;20976:224;;-1:-1:-1;21024:9:0;:16;;;20976:224;;;21068:6;;-1:-1:-1;;;;;21068:6:0;;;21062:12;;;;21058:142;;-1:-1:-1;21104:9:0;:17;;;;;;21058:142;;;-1:-1:-1;21167:9:0;:21;;;;;;21058:142;21254:10;:27;21212:17;;21254:27;;;;;21232:19;21241:10;21232:6;:19;:::i;:::-;:49;;;;:::i;:::-;21212:69;;21320:15;21297;;21313:2;21297:18;;;;:::i;:::-;:39;21294:887;;;21375:13;21367:6;:21;21364:536;;21427:6;;-1:-1:-1;;;;;21427:6:0;;;21421:12;;;;21418:177;;-1:-1:-1;;;;;21467:9:0;;;;;;:5;:9;;;;;:14;;-1:-1:-1;;21467:14:0;21477:4;21467:14;;;21418:177;;;21523:6;;-1:-1:-1;;;;;21523:6:0;;;21519:10;;;;21516:79;;-1:-1:-1;;;;;21563:11:0;;;;;;:5;:11;;;;;:16;;-1:-1:-1;;21563:16:0;21575:4;21563:16;;;21516:79;21625:4;21609:22;;;;:7;:22;;;;;:35;;21635:9;;21609:22;:35;;21635:9;;21609:35;:::i;:::-;;;;-1:-1:-1;;21664:40:0;;160:25:1;;;21687:4:0;;-1:-1:-1;;;;;21664:40:0;;;;;148:2:1;133:18;21664:40:0;;;;;;;21364:536;;;21805:4;21789:22;;;;:7;:22;;;;;:35;;21815:9;;21789:22;:35;;21815:9;;21789:35;:::i;:::-;;;;-1:-1:-1;;21844:40:0;;160:25:1;;;21867:4:0;;-1:-1:-1;;;;;21844:40:0;;;;;148:2:1;133:18;21844:40:0;;;;;;;21364:536;21947:18;21956:9;21947:6;:18;:::i;:::-;21940:25;;;;;;774:548:1;886:4;915:2;944;933:9;926:21;976:6;970:13;1019:6;1014:2;1003:9;999:18;992:34;1044:1;1054:140;1068:6;1065:1;1062:13;1054:140;;;1163:14;;;1159:23;;1153:30;1129:17;;;1148:2;1125:26;1118:66;1083:10;;1054:140;;;1058:3;1243:1;1238:2;1229:6;1218:9;1214:22;1210:31;1203:42;1313:2;1306;1302:7;1297:2;1289:6;1285:15;1281:29;1270:9;1266:45;1262:54;1254:62;;;;774:548;;;;:::o;1552:131::-;-1:-1:-1;;;;;1627:31:1;;1617:42;;1607:70;;1673:1;1670;1663:12;1688:315;1756:6;1764;1817:2;1805:9;1796:7;1792:23;1788:32;1785:52;;;1833:1;1830;1823:12;1785:52;1872:9;1859:23;1891:31;1916:5;1891:31;:::i;:::-;1941:5;1993:2;1978:18;;;;1965:32;;-1:-1:-1;;;1688:315:1:o;2649:456::-;2726:6;2734;2742;2795:2;2783:9;2774:7;2770:23;2766:32;2763:52;;;2811:1;2808;2801:12;2763:52;2850:9;2837:23;2869:31;2894:5;2869:31;:::i;:::-;2919:5;-1:-1:-1;2976:2:1;2961:18;;2948:32;2989:33;2948:32;2989:33;:::i;:::-;2649:456;;3041:7;;-1:-1:-1;;;3095:2:1;3080:18;;;;3067:32;;2649:456::o;3299:159::-;3366:20;;3426:6;3415:18;;3405:29;;3395:57;;3448:1;3445;3438:12;3395:57;3299:159;;;:::o;3463:328::-;3537:6;3545;3553;3606:2;3594:9;3585:7;3581:23;3577:32;3574:52;;;3622:1;3619;3612:12;3574:52;3645:28;3663:9;3645:28;:::i;:::-;3635:38;;3692:37;3725:2;3714:9;3710:18;3692:37;:::i;:::-;3682:47;;3748:37;3781:2;3770:9;3766:18;3748:37;:::i;:::-;3738:47;;3463:328;;;;;:::o;3796:454::-;3891:6;3899;3907;3915;3923;3976:3;3964:9;3955:7;3951:23;3947:33;3944:53;;;3993:1;3990;3983:12;3944:53;-1:-1:-1;;4016:23:1;;;4086:2;4071:18;;4058:32;;-1:-1:-1;4137:2:1;4122:18;;4109:32;;4188:2;4173:18;;4160:32;;-1:-1:-1;4239:3:1;4224:19;4211:33;;-1:-1:-1;3796:454:1;-1:-1:-1;3796:454:1:o;4255:247::-;4314:6;4367:2;4355:9;4346:7;4342:23;4338:32;4335:52;;;4383:1;4380;4373:12;4335:52;4422:9;4409:23;4441:31;4466:5;4441:31;:::i;4507:184::-;4565:6;4618:2;4606:9;4597:7;4593:23;4589:32;4586:52;;;4634:1;4631;4624:12;4586:52;4657:28;4675:9;4657:28;:::i;4696:118::-;4782:5;4775:13;4768:21;4761:5;4758:32;4748:60;;4804:1;4801;4794:12;4819:382;4884:6;4892;4945:2;4933:9;4924:7;4920:23;4916:32;4913:52;;;4961:1;4958;4951:12;4913:52;5000:9;4987:23;5019:31;5044:5;5019:31;:::i;:::-;5069:5;-1:-1:-1;5126:2:1;5111:18;;5098:32;5139:30;5098:32;5139:30;:::i;:::-;5188:7;5178:17;;;4819:382;;;;;:::o;5386:241::-;5442:6;5495:2;5483:9;5474:7;5470:23;5466:32;5463:52;;;5511:1;5508;5501:12;5463:52;5550:9;5537:23;5569:28;5591:5;5569:28;:::i;5924:388::-;5992:6;6000;6053:2;6041:9;6032:7;6028:23;6024:32;6021:52;;;6069:1;6066;6059:12;6021:52;6108:9;6095:23;6127:31;6152:5;6127:31;:::i;:::-;6177:5;-1:-1:-1;6234:2:1;6219:18;;6206:32;6247:33;6206:32;6247:33;:::i;6317:383::-;6394:6;6402;6410;6463:2;6451:9;6442:7;6438:23;6434:32;6431:52;;;6479:1;6476;6469:12;6431:52;6518:9;6505:23;6537:31;6562:5;6537:31;:::i;:::-;6587:5;6639:2;6624:18;;6611:32;;-1:-1:-1;6690:2:1;6675:18;;;6662:32;;6317:383;-1:-1:-1;;;6317:383:1:o;7189:127::-;7250:10;7245:3;7241:20;7238:1;7231:31;7281:4;7278:1;7271:15;7305:4;7302:1;7295:15;7321:128;7388:9;;;7409:11;;;7406:37;;;7423:18;;:::i;7454:125::-;7519:9;;;7540:10;;;7537:36;;;7553:18;;:::i;7584:341::-;7786:2;7768:21;;;7825:2;7805:18;;;7798:30;-1:-1:-1;;;7859:2:1;7844:18;;7837:47;7916:2;7901:18;;7584:341::o;8289:168::-;8362:9;;;8393;;8410:15;;;8404:22;;8390:37;8380:71;;8431:18;;:::i;8462:217::-;8502:1;8528;8518:132;;8572:10;8567:3;8563:20;8560:1;8553:31;8607:4;8604:1;8597:15;8635:4;8632:1;8625:15;8518:132;-1:-1:-1;8664:9:1;;8462:217::o;8684:425::-;8886:2;8868:21;;;8925:2;8905:18;;;8898:30;8964:34;8959:2;8944:18;;8937:62;9035:31;9030:2;9015:18;;9008:59;9099:3;9084:19;;8684:425::o;9812:216::-;9876:9;;;9904:11;;;9851:3;9934:9;;9962:10;;9958:19;;9987:10;;9979:19;;9955:44;9952:70;;;10002:18;;:::i;:::-;9952:70;;9812:216;;;;:::o;10033:422::-;10122:1;10165:5;10122:1;10179:270;10200:7;10190:8;10187:21;10179:270;;;10259:4;10255:1;10251:6;10247:17;10241:4;10238:27;10235:53;;;10268:18;;:::i;:::-;10318:7;10308:8;10304:22;10301:55;;;10338:16;;;;10301:55;10417:22;;;;10377:15;;;;10179:270;;;10183:3;10033:422;;;;;:::o;10460:806::-;10509:5;10539:8;10529:80;;-1:-1:-1;10580:1:1;10594:5;;10529:80;10628:4;10618:76;;-1:-1:-1;10665:1:1;10679:5;;10618:76;10710:4;10728:1;10723:59;;;;10796:1;10791:130;;;;10703:218;;10723:59;10753:1;10744:10;;10767:5;;;10791:130;10828:3;10818:8;10815:17;10812:43;;;10835:18;;:::i;:::-;-1:-1:-1;;10891:1:1;10877:16;;10906:5;;10703:218;;11005:2;10995:8;10992:16;10986:3;10980:4;10977:13;10973:36;10967:2;10957:8;10954:16;10949:2;10943:4;10940:12;10936:35;10933:77;10930:159;;;-1:-1:-1;11042:19:1;;;11074:5;;10930:159;11121:34;11146:8;11140:4;11121:34;:::i;:::-;11191:6;11187:1;11183:6;11179:19;11170:7;11167:32;11164:58;;;11202:18;;:::i;:::-;11240:20;;10460:806;-1:-1:-1;;;10460:806:1:o;11271:131::-;11331:5;11360:36;11387:8;11381:4;11360:36;:::i;11686:245::-;11753:6;11806:2;11794:9;11785:7;11781:23;11777:32;11774:52;;;11822:1;11819;11812:12;11774:52;11854:9;11848:16;11873:28;11895:5;11873:28;:::i;11936:251::-;12006:6;12059:2;12047:9;12038:7;12034:23;12030:32;12027:52;;;12075:1;12072;12065:12;12027:52;12107:9;12101:16;12126:31;12151:5;12126:31;:::i;14904:127::-;14965:10;14960:3;14956:20;14953:1;14946:31;14996:4;14993:1;14986:15;15020:4;15017:1;15010:15;15036:980;15298:4;15346:3;15335:9;15331:19;15377:6;15366:9;15359:25;15403:2;15441:6;15436:2;15425:9;15421:18;15414:34;15484:3;15479:2;15468:9;15464:18;15457:31;15508:6;15543;15537:13;15574:6;15566;15559:22;15612:3;15601:9;15597:19;15590:26;;15651:2;15643:6;15639:15;15625:29;;15672:1;15682:195;15696:6;15693:1;15690:13;15682:195;;;15761:13;;-1:-1:-1;;;;;15757:39:1;15745:52;;15852:15;;;;15817:12;;;;15793:1;15711:9;15682:195;;;-1:-1:-1;;;;;;;15933:32:1;;;;15928:2;15913:18;;15906:60;-1:-1:-1;;;15997:3:1;15982:19;15975:35;15894:3;15036:980;-1:-1:-1;;;15036:980:1:o
Swarm Source
ipfs://a5ced331e2365c5701850ff76b2a0bf330516c57c536b3f57fc0cb5932f58b9b
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.