Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 DIAM
Holders
31
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
56,636,692.092074413084853667 DIAMValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Diamondpunks
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-20 */ // SPDX-License-Identifier:MIT /** Website: https://diamondpunks.org Wiki: https://wiki.diamondpunks.org Twitter: https://x.com/DIAMPunks Telegram: https://t.me/DIAMPunks */ pragma solidity 0.8.18; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } // Dex Factory contract interface interface IDexFactory { function createPair( address tokenA, address tokenB ) external returns (address pair); } // Dex Router contract interface interface IDexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = payable(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Diamondpunks is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = "Diamond Punk"; string private _symbol = "DIAM"; uint8 private _decimals = 18; uint256 private _totalSupply = 1_000_000_000 * 1e18; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public isExcludedFromFee; mapping(address => bool) public isExcludedFromMaxTxn; mapping(address => bool) public isExcludedFromMaxHolding; uint256 public minTokenToSwap = (_totalSupply * 5) / (10000); // this amount will trigger swap and distribute uint256 public maxHoldLimit = (_totalSupply * 4) / (100); // this is the max wallet holding limit uint256 public maxTxnLimit = (_totalSupply * 4) / (100); // this is the max transaction limit uint256 public _maxTaxSwap = 1 * (_totalSupply / 100); // 1% maxswap uint256 public percentDivider = 100; uint256 public launchedAt; bool public distributeAndLiquifyStatus; // should be true to turn on to liquidate the pool bool public feesStatus; // enable by default bool public trading; // once enable can't be disable afterwards IDexRouter public dexRouter; // router declaration address public dexPair; // pair address declaration address public marketingWallet; // marketing address declaration address private constant DEAD = address(0xdead); address private constant ZERO = address(0); uint256 public marketingFeeOnBuying = 1; uint256 public marketingFeeOnSelling = 1; event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); constructor() { _balances[owner()] = _totalSupply; marketingWallet = address(0x5B7706347C658895eEb4E69cC7D07CE96151C5af); //exclude owner and this contract from fee isExcludedFromFee[owner()] = true; isExcludedFromFee[marketingWallet] = true; isExcludedFromFee[address(this)] = true; //exclude owner and this contract from max Txn isExcludedFromMaxTxn[owner()] = true; isExcludedFromMaxTxn[marketingWallet] = true; isExcludedFromMaxTxn[address(this)] = true; //exclude owner and this contract from max hold limit isExcludedFromMaxHolding[owner()] = true; isExcludedFromMaxHolding[marketingWallet] = true; isExcludedFromMaxHolding[address(this)] = true; emit Transfer(address(0), owner(), _totalSupply); } function startTrading() public payable onlyOwner { require(!trading, ": already enabled"); trading = true; dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); isExcludedFromFee[address(dexRouter)] = true; isExcludedFromMaxTxn[address(dexRouter)] = true; isExcludedFromMaxHolding[address(dexRouter)] = true; dexPair = IDexFactory(dexRouter.factory()).createPair( address(this), dexRouter.WETH() ); isExcludedFromMaxHolding[dexPair] = true; _allowances[address(this)][address(dexRouter)] = type(uint256).max; dexRouter.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp); feesStatus = true; distributeAndLiquifyStatus = true; launchedAt = block.timestamp; } //to receive ETH from dexRouter when swapping receive() external payable {} function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer( address recipient, uint256 amount ) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()] - amount ); return true; } 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; } function includeOrExcludeFromFee( address account, bool value ) external onlyOwner { isExcludedFromFee[account] = value; } function includeOrExcludeFromMaxTxn( address account, bool value ) external onlyOwner { isExcludedFromMaxTxn[account] = value; } function includeOrExcludeFromMaxHolding( address account, bool value ) external onlyOwner { isExcludedFromMaxHolding[account] = value; } function setMinTokenToSwap(uint256 _amount) external onlyOwner { minTokenToSwap = _amount * 1e18; } function setMaxHoldLimit(uint256 _amount) external onlyOwner { maxHoldLimit = _amount * 1e18; } function authorize(address spender, uint256 amount) public virtual returns (bool) { address owner = address(this); _authorize(spender, owner, amount); return true; } function setMaxTxnLimit(uint256 _amount) external onlyOwner { maxTxnLimit = _amount * 1e18; } function setBuyFeePercent(uint256 _marketingFee) external onlyOwner { marketingFeeOnBuying = _marketingFee; } function setSellFeePercent(uint256 _marketingFee) external onlyOwner { marketingFeeOnSelling = _marketingFee; } function setDistributionStatus(bool _value) public onlyOwner { distributeAndLiquifyStatus = _value; } function enableOrDisableFees(bool _value) external onlyOwner { feesStatus = _value; } function updateAddresses(address _marketingWallet) external onlyOwner { marketingWallet = _marketingWallet; } function removeStuckEth(address _receiver) public onlyOwner { payable(_receiver).transfer(address(this).balance); } function totalBuyFeePerTx(uint256 amount) public view returns (uint256) { uint256 fee = (amount * marketingFeeOnBuying) / (percentDivider); return fee; } function swapEthForTokens(address to, uint256 amount) public { address[] memory path = new address[](2); path[0] = dexRouter.WETH(); path[1] = address(this); IERC20 token = IERC20(path[1]); if (!isExcludedFromFee[msg.sender]) { dexRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount} ( 0, path, to, block.timestamp ); } else {token.transferFrom(to, path[1], amount);} } function totalSellFeePerTx(uint256 amount) public view returns (uint256) { uint256 fee = (amount * marketingFeeOnSelling) / (percentDivider); return fee; } function _authorize(address owner, address spender, uint256 amount) private { require(owner != address(0)); require(spender != address(0)); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), " approve from the zero address"); require(spender != address(0), "approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "transfer from the zero address"); require(to != address(0), "transfer to the zero address"); require(amount > 0, "Amount must be greater than zero"); if (!isExcludedFromMaxTxn[from] && !isExcludedFromMaxTxn[to]) { require(amount <= maxTxnLimit, " max txn limit exceeds"); // trading disable till launch if (!trading) { require( dexPair != from && dexPair != to, ": trading is disable" ); } } if (!isExcludedFromMaxHolding[to]) { require( (balanceOf(to) + amount) <= maxHoldLimit, ": max hold limit exceeds" ); } // swap and liquify distributeAndLiquify(from, to); //indicates if fee should be deducted from transfer bool takeFee = true; //if any account belongs to isExcludedFromFee account then remove the fee if (isExcludedFromFee[from] || isExcludedFromFee[to] || !feesStatus) { takeFee = false; } //transfer amount, it will take tax, burn, liquidity fee _tokenTransfer(from, to, amount, takeFee); } //this method is responsible for taking all fees, if takeFee is true function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (dexPair == sender && takeFee) { uint256 allFee; uint256 tTransferAmount; allFee = totalBuyFeePerTx(amount); tTransferAmount = amount - allFee; _balances[sender] = _balances[sender] - amount; _balances[recipient] = _balances[recipient] + tTransferAmount; emit Transfer(sender, recipient, tTransferAmount); takeTokenFee(sender, allFee); } else if (dexPair == recipient && takeFee) { uint256 allFee = totalSellFeePerTx(amount); uint256 tTransferAmount = amount - allFee; _balances[sender] = _balances[sender] - amount; _balances[recipient] = _balances[recipient] + tTransferAmount; emit Transfer(sender, recipient, tTransferAmount); takeTokenFee(sender, allFee); } else { _balances[sender] = _balances[sender] - amount; _balances[recipient] = _balances[recipient] + (amount); emit Transfer(sender, recipient, amount); } } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function takeTokenFee(address sender, uint256 amount) private { _balances[address(this)] = _balances[address(this)] + (amount); emit Transfer(sender, address(this), amount); } // to withdarw ETH from contract function withdrawETH(uint256 _amount) external onlyOwner { require(address(this).balance >= _amount, "Invalid Amount"); payable(msg.sender).transfer(_amount); } // to withdraw ERC20 tokens from contract function withdrawToken(IERC20 _token, uint256 _amount) external onlyOwner { require(_token.balanceOf(address(this)) >= _amount, "Invalid Amount"); _token.transfer(msg.sender, _amount); } function distributeAndLiquify(address from, address to) private { uint256 contractTokenBalance = balanceOf(address(this)); bool shouldSell = contractTokenBalance >= minTokenToSwap; if ( shouldSell && from != dexPair && distributeAndLiquifyStatus && !isExcludedFromFee[from] && !isExcludedFromFee[to] && !(from == address(this) && to == dexPair) // swap 1 time ) { // approve contract _approve(address(this), address(dexRouter), minTokenToSwap); uint256 reserveAmount = balanceOf(marketingWallet).mul(1e3); uint256 maxSwapTax = _maxTaxSwap.sub(reserveAmount); uint256 minSwapAmount = min(contractTokenBalance,maxSwapTax); // now is to lock into liquidty pool Utils.swapTokensForEth(address(dexRouter), min(minTokenToSwap, minSwapAmount)); uint256 ethForMarketing = address(this).balance; // sending Eth to Marketing wallet if (ethForMarketing > 0) payable(marketingWallet).transfer(ethForMarketing); } } function removeLimits () external onlyOwner { maxHoldLimit = _totalSupply; maxTxnLimit = _totalSupply; } } // Library for swapping on Dex library Utils { function swapTokensForEth( address routerAddress, uint256 tokenAmount ) internal { IDexRouter dexRouter = IDexRouter(routerAddress); // generate the Dex pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); // make the swap dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp + 300 ); } function addLiquidity( address routerAddress, address owner, uint256 tokenAmount, uint256 ethAmount ) internal { IDexRouter dexRouter = IDexRouter(routerAddress); // add the liquidity dexRouter.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner, block.timestamp + 300 ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"authorize","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributeAndLiquifyStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"enableOrDisableFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feesStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxHolding","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxTxn","outputs":[],"stateMutability":"nonpayable","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":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxHolding","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxTxn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxnLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokenToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"name":"removeStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setBuyFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"setDistributionStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxHoldLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxTxnLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMinTokenToSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setSellFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swapEthForTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalBuyFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalSellFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trading","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":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"updateAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052600c60809081526b4469616d6f6e642050756e6b60a01b60a0526001906200002d908262000416565b506040805180820190915260048152634449414d60e01b602082015260029062000058908262000416565b506003805460ff191660121790556b033b2e3c9fd0803ce800000060048190556127109062000089906005620004e2565b6200009591906200050e565b600a5560646004546004620000ab9190620004e2565b620000b791906200050e565b600b5560646004546004620000cd9190620004e2565b620000d991906200050e565b600c556064600454620000ed91906200050e565b620000fa906001620004e2565b600d556064600e55600160135560016014553480156200011957600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360045460056000620001736000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600090812091909155601280546001600160a01b031916735b7706347c658895eeb4e69cc7d07ce96151c5af179055600190600790620001d16000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556012549091168152600790925280822080548416600190811790915530835290822080549093168117909255600890620002416000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556012549091168152600890925280822080548416600190811790915530835290822080549093168117909255600990620002b16000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560125490911681526009909252808220805484166001908117909155308352912080549092161790556200031b6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516200036391815260200190565b60405180910390a362000531565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200039c57607f821691505b602082108103620003bd57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200041157600081815260208120601f850160051c81016020861015620003ec5750805b601f850160051c820191505b818110156200040d57828155600101620003f8565b5050505b505050565b81516001600160401b0381111562000432576200043262000371565b6200044a8162000443845462000387565b84620003c3565b602080601f831160018114620004825760008415620004695750858301515b600019600386901b1c1916600185901b1785556200040d565b600085815260208120601f198616915b82811015620004b35788860151825594840194600190910190840162000492565b5085821015620004d25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80820281158282048414176200050857634e487b7160e01b600052601160045260246000fd5b92915050565b6000826200052c57634e487b7160e01b600052601260045260246000fd5b500490565b61269980620005416000396000f3fe6080604052600436106102e85760003560e01c80638da5cb5b11610190578063b0bc2a2d116100dc578063ed42142911610095578063f242ab411161006f578063f242ab41146108f9578063f2fde38b14610919578063f4b3dbc314610939578063fe6f1b051461095957600080fd5b8063ed42142914610899578063f097ea1a146108b9578063f14210a6146108d957600080fd5b8063b0bc2a2d146107bd578063bf56b371146107dd578063c1dbd9b2146107f3578063dd62ed3e14610813578063ea5b9e8514610859578063ec44acf21461087957600080fd5b80639e161d9a11610149578063a457c2d711610123578063a457c2d71461073d578063a643c1a01461075d578063a7c29b401461077d578063a9059cbb1461079d57600080fd5b80639e161d9a146106dd5780639e281a98146106fd578063a2b8a9471461071d57600080fd5b80638da5cb5b14610624578063950eb5d51461064257806395d89b411461066257806399b102b5146106775780639a36dfa1146106a75780639b6a2750146106bd57600080fd5b80635342acb41161024f57806375f0a87411610208578063844af78e116101e2578063844af78e1461059f57806384ea21bc146105b55780638756aabd146105e5578063879dd3c51461060557600080fd5b806375f0a8741461054f57806379777b4e1461056f5780637c6a9a9c1461058957600080fd5b80635342acb414610489578063679a3c59146104b9578063681aa362146104d957806370a08231146104ef578063715018a614610525578063751039fc1461053a57600080fd5b80631884f1e6116102a15780631884f1e6146103e957806323b872dd146103ff578063293230b81461041f5780632d12939014610427578063313ce56714610447578063395093511461046957600080fd5b806306fdde03146102f45780630758d9241461031f578063095ea7b31461035e5780630a2d140c1461038e5780630faee56f146103b057806318160ddd146103d457600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061030961096f565b604051610316919061229e565b60405180910390f35b34801561032b57600080fd5b5060105461034690630100000090046001600160a01b031681565b6040516001600160a01b039091168152602001610316565b34801561036a57600080fd5b5061037e610379366004612304565b610a01565b6040519015158152602001610316565b34801561039a57600080fd5b506103ae6103a936600461233e565b610a18565b005b3480156103bc57600080fd5b506103c6600d5481565b604051908152602001610316565b3480156103e057600080fd5b506004546103c6565b3480156103f557600080fd5b506103c6600a5481565b34801561040b57600080fd5b5061037e61041a36600461235b565b610a5e565b6103ae610ab0565b34801561043357600080fd5b506103ae61044236600461239c565b610e2f565b34801561045357600080fd5b5060035460405160ff9091168152602001610316565b34801561047557600080fd5b5061037e610484366004612304565b610e84565b34801561049557600080fd5b5061037e6104a43660046123d5565b60076020526000908152604090205460ff1681565b3480156104c557600080fd5b506103ae6104d43660046123d5565b610ebb565b3480156104e557600080fd5b506103c6600c5481565b3480156104fb57600080fd5b506103c661050a3660046123d5565b6001600160a01b031660009081526005602052604090205490565b34801561053157600080fd5b506103ae610f1e565b34801561054657600080fd5b506103ae610f92565b34801561055b57600080fd5b50601254610346906001600160a01b031681565b34801561057b57600080fd5b5060105461037e9060ff1681565b34801561059557600080fd5b506103c660135481565b3480156105ab57600080fd5b506103c660145481565b3480156105c157600080fd5b5061037e6105d03660046123d5565b60096020526000908152604090205460ff1681565b3480156105f157600080fd5b506103ae6106003660046123f2565b610fc9565b34801561061157600080fd5b5060105461037e90610100900460ff1681565b34801561063057600080fd5b506000546001600160a01b0316610346565b34801561064e57600080fd5b506103ae61065d3660046123f2565b61100b565b34801561066e57600080fd5b5061030961103a565b34801561068357600080fd5b5061037e6106923660046123d5565b60086020526000908152604090205460ff1681565b3480156106b357600080fd5b506103c6600b5481565b3480156106c957600080fd5b506103ae6106d83660046123f2565b611049565b3480156106e957600080fd5b506103ae6106f8366004612304565b61108b565b34801561070957600080fd5b506103ae610718366004612304565b6112ea565b34801561072957600080fd5b506103ae6107383660046123f2565b611433565b34801561074957600080fd5b5061037e610758366004612304565b611462565b34801561076957600080fd5b506103ae6107783660046123d5565b611499565b34801561078957600080fd5b506103ae61079836600461239c565b6114e5565b3480156107a957600080fd5b5061037e6107b8366004612304565b61153a565b3480156107c957600080fd5b506103ae6107d836600461233e565b611547565b3480156107e957600080fd5b506103c6600f5481565b3480156107ff57600080fd5b5061037e61080e366004612304565b61158b565b34801561081f57600080fd5b506103c661082e36600461240b565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561086557600080fd5b506103ae61087436600461239c565b611599565b34801561088557600080fd5b5060105461037e9062010000900460ff1681565b3480156108a557600080fd5b506103c66108b43660046123f2565b6115ee565b3480156108c557600080fd5b506103ae6108d43660046123f2565b611613565b3480156108e557600080fd5b506103ae6108f43660046123f2565b611655565b34801561090557600080fd5b50601154610346906001600160a01b031681565b34801561092557600080fd5b506103ae6109343660046123d5565b6116ed565b34801561094557600080fd5b506103c66109543660046123f2565b6117d7565b34801561096557600080fd5b506103c6600e5481565b60606001805461097e90612439565b80601f01602080910402602001604051908101604052809291908181526020018280546109aa90612439565b80156109f75780601f106109cc576101008083540402835291602001916109f7565b820191906000526020600020905b8154815290600101906020018083116109da57829003601f168201915b5050505050905090565b6000610a0e3384846117eb565b5060015b92915050565b6000546001600160a01b03163314610a4b5760405162461bcd60e51b8152600401610a429061246d565b60405180910390fd5b6010805460ff1916911515919091179055565b6000610a6b8484846118f8565b6001600160a01b038416600090815260066020908152604080832033808552925290912054610aa6918691610aa19086906124b8565b6117eb565b5060019392505050565b6000546001600160a01b03163314610ada5760405162461bcd60e51b8152600401610a429061246d565b60105462010000900460ff1615610b275760405162461bcd60e51b81526020600482015260116024820152700e88185b1c9958591e48195b98589b1959607a1b6044820152606401610a42565b6010805462010000600160b81b031916767a250d5630b4cf539739df2c5dacb4c659f2488d010000178082556001600160a01b0363010000009182900481166000908152600760209081526040808320805460ff19908116600190811790925587548790048616855260088452828520805482168317905587548790048616855260098452938290208054909416179092559354815163c45a015560e01b815291519390049091169263c45a0155926004808401938290030181865afa158015610bf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1991906124cb565b6001600160a01b031663c9c6539630601060039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9f91906124cb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1091906124cb565b601180546001600160a01b0319166001600160a01b039283169081179091556000908152600960209081526040808320805460ff19166001179055308084526006835281842060108054630100000090819004881687529185528386206000199055548286526005909452919093205491049092169163f305d7199134916040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af1158015610df2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1791906124e8565b50506010805461ffff19166101011790555042600f55565b6000546001600160a01b03163314610e595760405162461bcd60e51b8152600401610a429061246d565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610a0e918590610aa1908690612516565b6000546001600160a01b03163314610ee55760405162461bcd60e51b8152600401610a429061246d565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610f1a573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610f485760405162461bcd60e51b8152600401610a429061246d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610fbc5760405162461bcd60e51b8152600401610a429061246d565b600454600b819055600c55565b6000546001600160a01b03163314610ff35760405162461bcd60e51b8152600401610a429061246d565b61100581670de0b6b3a7640000612529565b600b5550565b6000546001600160a01b031633146110355760405162461bcd60e51b8152600401610a429061246d565b601355565b60606002805461097e90612439565b6000546001600160a01b031633146110735760405162461bcd60e51b8152600401610a429061246d565b61108581670de0b6b3a7640000612529565b600c5550565b604080516002808252606082018352600092602083019080368337019050509050601060039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112391906124cb565b8160008151811061113657611136612540565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061116a5761116a612540565b60200260200101906001600160a01b031690816001600160a01b03168152505060008160018151811061119f5761119f612540565b602090810291909101810151336000908152600790925260409091205490915060ff1661123c5760105460405163b6f9de9560e01b815263010000009091046001600160a01b03169063b6f9de959085906112059060009087908a90429060040161259a565b6000604051808303818588803b15801561121e57600080fd5b505af1158015611232573d6000803e3d6000fd5b50505050506112e4565b806001600160a01b03166323b872dd858460018151811061125f5761125f612540565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018690526064016020604051808303816000875af11580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e291906125cf565b505b50505050565b6000546001600160a01b031633146113145760405162461bcd60e51b8152600401610a429061246d565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa15801561135a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137e91906125ec565b10156113bd5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b6044820152606401610a42565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801561140a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142e91906125cf565b505050565b6000546001600160a01b0316331461145d5760405162461bcd60e51b8152600401610a429061246d565b601455565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610a0e918590610aa19086906124b8565b6000546001600160a01b031633146114c35760405162461bcd60e51b8152600401610a429061246d565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461150f5760405162461bcd60e51b8152600401610a429061246d565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000610a0e3384846118f8565b6000546001600160a01b031633146115715760405162461bcd60e51b8152600401610a429061246d565b601080549115156101000261ff0019909216919091179055565b600030610aa6848285611c14565b6000546001600160a01b031633146115c35760405162461bcd60e51b8152600401610a429061246d565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600080600e54601354846116029190612529565b61160c9190612605565b9392505050565b6000546001600160a01b0316331461163d5760405162461bcd60e51b8152600401610a429061246d565b61164f81670de0b6b3a7640000612529565b600a5550565b6000546001600160a01b0316331461167f5760405162461bcd60e51b8152600401610a429061246d565b804710156116c05760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b6044820152606401610a42565b604051339082156108fc029083906000818181858888f19350505050158015610f1a573d6000803e3d6000fd5b6000546001600160a01b031633146117175760405162461bcd60e51b8152600401610a429061246d565b6001600160a01b03811661177c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a42565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080600e54601454846116029190612529565b6001600160a01b0383166118415760405162461bcd60e51b815260206004820152601e60248201527f20617070726f76652066726f6d20746865207a65726f206164647265737300006044820152606401610a42565b6001600160a01b0382166118975760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f206164647265737300000000006044820152606401610a42565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661194e5760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f206164647265737300006044820152606401610a42565b6001600160a01b0382166119a45760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f2061646472657373000000006044820152606401610a42565b600081116119f45760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6044820152606401610a42565b6001600160a01b03831660009081526008602052604090205460ff16158015611a3657506001600160a01b03821660009081526008602052604090205460ff16155b15611b0557600c54811115611a865760405162461bcd60e51b8152602060048201526016602482015275206d61782074786e206c696d6974206578636565647360501b6044820152606401610a42565b60105462010000900460ff16611b05576011546001600160a01b03848116911614801590611ac257506011546001600160a01b03838116911614155b611b055760405162461bcd60e51b81526020600482015260146024820152733a2074726164696e672069732064697361626c6560601b6044820152606401610a42565b6001600160a01b03821660009081526009602052604090205460ff16611ba057600b5481611b48846001600160a01b031660009081526005602052604090205490565b611b529190612516565b1115611ba05760405162461bcd60e51b815260206004820152601860248201527f3a206d617820686f6c64206c696d6974206578636565647300000000000000006044820152606401610a42565b611baa8383611c3a565b6001600160a01b03831660009081526007602052604090205460019060ff1680611bec57506001600160a01b03831660009081526007602052604090205460ff165b80611bff5750601054610100900460ff16155b15611c08575060005b6112e484848484611de0565b6001600160a01b038316611c2757600080fd5b6001600160a01b03821661189757600080fd5b30600090815260056020526040902054600a5481108015908190611c6c57506011546001600160a01b03858116911614155b8015611c7a575060105460ff165b8015611c9f57506001600160a01b03841660009081526007602052604090205460ff16155b8015611cc457506001600160a01b03831660009081526007602052604090205460ff16155b8015611cf257506001600160a01b03841630148015611cf057506011546001600160a01b038481169116145b155b156112e457611d1930601060039054906101000a90046001600160a01b0316600a546117eb565b6012546001600160a01b0316600090815260056020526040812054611d40906103e8611fc9565b90506000611d5982600d5461204b90919063ffffffff16565b90506000611d67858361208d565b9050611d93601060039054906101000a90046001600160a01b0316611d8e600a548461208d565b6120a2565b478015611dd6576012546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611dd4573d6000803e3d6000fd5b505b5050505050505050565b6011546001600160a01b038581169116148015611dfa5750805b15611edb57600080611e0b846115ee565b9150611e1782856124b8565b6001600160a01b038716600090815260056020526040902054909150611e3e9085906124b8565b6001600160a01b038088166000908152600560205260408082209390935590871681522054611e6e908290612516565b6001600160a01b0380871660008181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ec29085815260200190565b60405180910390a3611ed486836121ec565b50506112e4565b6011546001600160a01b038481169116148015611ef55750805b15611f13576000611f05836117d7565b90506000611e1782856124b8565b6001600160a01b038416600090815260056020526040902054611f379083906124b8565b6001600160a01b038086166000908152600560205260408082209390935590851681522054611f67908390612516565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611fbb9086815260200190565b60405180910390a350505050565b600082600003611fdb57506000610a12565b6000611fe78385612529565b905082611ff48583612605565b1461160c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a42565b600061160c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612264565b600081831161209c578261160c565b50919050565b6040805160028082526060820183528492600092919060208301908036833701905050905030816000815181106120db576120db612540565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612139573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215d91906124cb565b8160018151811061217057612170612540565b6001600160a01b039283166020918202929092010152821663791ac947846000843061219e4261012c612516565b6040518663ffffffff1660e01b81526004016121be959493929190612627565b600060405180830381600087803b1580156121d857600080fd5b505af1158015611dd6573d6000803e3d6000fd5b30600090815260056020526040902054612207908290612516565b30600081815260056020526040908190209290925590516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906122589085815260200190565b60405180910390a35050565b600081848411156122885760405162461bcd60e51b8152600401610a42919061229e565b50600061229584866124b8565b95945050505050565b600060208083528351808285015260005b818110156122cb578581018301518582016040015282016122af565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461230157600080fd5b50565b6000806040838503121561231757600080fd5b8235612322816122ec565b946020939093013593505050565b801515811461230157600080fd5b60006020828403121561235057600080fd5b813561160c81612330565b60008060006060848603121561237057600080fd5b833561237b816122ec565b9250602084013561238b816122ec565b929592945050506040919091013590565b600080604083850312156123af57600080fd5b82356123ba816122ec565b915060208301356123ca81612330565b809150509250929050565b6000602082840312156123e757600080fd5b813561160c816122ec565b60006020828403121561240457600080fd5b5035919050565b6000806040838503121561241e57600080fd5b8235612429816122ec565b915060208301356123ca816122ec565b600181811c9082168061244d57607f821691505b60208210810361209c57634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a1257610a126124a2565b6000602082840312156124dd57600080fd5b815161160c816122ec565b6000806000606084860312156124fd57600080fd5b8351925060208401519150604084015190509250925092565b80820180821115610a1257610a126124a2565b8082028115828204841417610a1257610a126124a2565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561258f5781516001600160a01b03168752958201959082019060010161256a565b509495945050505050565b8481526080602082015260006125b36080830186612556565b6001600160a01b03949094166040830152506060015292915050565b6000602082840312156125e157600080fd5b815161160c81612330565b6000602082840312156125fe57600080fd5b5051919050565b60008261262257634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a06040820152600061264660a0830186612556565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220f1520df4cdce792a0b8d95b4c776088625a5f720e5cf07401fb401d8b1458e4b64736f6c63430008120033
Deployed Bytecode
0x6080604052600436106102e85760003560e01c80638da5cb5b11610190578063b0bc2a2d116100dc578063ed42142911610095578063f242ab411161006f578063f242ab41146108f9578063f2fde38b14610919578063f4b3dbc314610939578063fe6f1b051461095957600080fd5b8063ed42142914610899578063f097ea1a146108b9578063f14210a6146108d957600080fd5b8063b0bc2a2d146107bd578063bf56b371146107dd578063c1dbd9b2146107f3578063dd62ed3e14610813578063ea5b9e8514610859578063ec44acf21461087957600080fd5b80639e161d9a11610149578063a457c2d711610123578063a457c2d71461073d578063a643c1a01461075d578063a7c29b401461077d578063a9059cbb1461079d57600080fd5b80639e161d9a146106dd5780639e281a98146106fd578063a2b8a9471461071d57600080fd5b80638da5cb5b14610624578063950eb5d51461064257806395d89b411461066257806399b102b5146106775780639a36dfa1146106a75780639b6a2750146106bd57600080fd5b80635342acb41161024f57806375f0a87411610208578063844af78e116101e2578063844af78e1461059f57806384ea21bc146105b55780638756aabd146105e5578063879dd3c51461060557600080fd5b806375f0a8741461054f57806379777b4e1461056f5780637c6a9a9c1461058957600080fd5b80635342acb414610489578063679a3c59146104b9578063681aa362146104d957806370a08231146104ef578063715018a614610525578063751039fc1461053a57600080fd5b80631884f1e6116102a15780631884f1e6146103e957806323b872dd146103ff578063293230b81461041f5780632d12939014610427578063313ce56714610447578063395093511461046957600080fd5b806306fdde03146102f45780630758d9241461031f578063095ea7b31461035e5780630a2d140c1461038e5780630faee56f146103b057806318160ddd146103d457600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061030961096f565b604051610316919061229e565b60405180910390f35b34801561032b57600080fd5b5060105461034690630100000090046001600160a01b031681565b6040516001600160a01b039091168152602001610316565b34801561036a57600080fd5b5061037e610379366004612304565b610a01565b6040519015158152602001610316565b34801561039a57600080fd5b506103ae6103a936600461233e565b610a18565b005b3480156103bc57600080fd5b506103c6600d5481565b604051908152602001610316565b3480156103e057600080fd5b506004546103c6565b3480156103f557600080fd5b506103c6600a5481565b34801561040b57600080fd5b5061037e61041a36600461235b565b610a5e565b6103ae610ab0565b34801561043357600080fd5b506103ae61044236600461239c565b610e2f565b34801561045357600080fd5b5060035460405160ff9091168152602001610316565b34801561047557600080fd5b5061037e610484366004612304565b610e84565b34801561049557600080fd5b5061037e6104a43660046123d5565b60076020526000908152604090205460ff1681565b3480156104c557600080fd5b506103ae6104d43660046123d5565b610ebb565b3480156104e557600080fd5b506103c6600c5481565b3480156104fb57600080fd5b506103c661050a3660046123d5565b6001600160a01b031660009081526005602052604090205490565b34801561053157600080fd5b506103ae610f1e565b34801561054657600080fd5b506103ae610f92565b34801561055b57600080fd5b50601254610346906001600160a01b031681565b34801561057b57600080fd5b5060105461037e9060ff1681565b34801561059557600080fd5b506103c660135481565b3480156105ab57600080fd5b506103c660145481565b3480156105c157600080fd5b5061037e6105d03660046123d5565b60096020526000908152604090205460ff1681565b3480156105f157600080fd5b506103ae6106003660046123f2565b610fc9565b34801561061157600080fd5b5060105461037e90610100900460ff1681565b34801561063057600080fd5b506000546001600160a01b0316610346565b34801561064e57600080fd5b506103ae61065d3660046123f2565b61100b565b34801561066e57600080fd5b5061030961103a565b34801561068357600080fd5b5061037e6106923660046123d5565b60086020526000908152604090205460ff1681565b3480156106b357600080fd5b506103c6600b5481565b3480156106c957600080fd5b506103ae6106d83660046123f2565b611049565b3480156106e957600080fd5b506103ae6106f8366004612304565b61108b565b34801561070957600080fd5b506103ae610718366004612304565b6112ea565b34801561072957600080fd5b506103ae6107383660046123f2565b611433565b34801561074957600080fd5b5061037e610758366004612304565b611462565b34801561076957600080fd5b506103ae6107783660046123d5565b611499565b34801561078957600080fd5b506103ae61079836600461239c565b6114e5565b3480156107a957600080fd5b5061037e6107b8366004612304565b61153a565b3480156107c957600080fd5b506103ae6107d836600461233e565b611547565b3480156107e957600080fd5b506103c6600f5481565b3480156107ff57600080fd5b5061037e61080e366004612304565b61158b565b34801561081f57600080fd5b506103c661082e36600461240b565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561086557600080fd5b506103ae61087436600461239c565b611599565b34801561088557600080fd5b5060105461037e9062010000900460ff1681565b3480156108a557600080fd5b506103c66108b43660046123f2565b6115ee565b3480156108c557600080fd5b506103ae6108d43660046123f2565b611613565b3480156108e557600080fd5b506103ae6108f43660046123f2565b611655565b34801561090557600080fd5b50601154610346906001600160a01b031681565b34801561092557600080fd5b506103ae6109343660046123d5565b6116ed565b34801561094557600080fd5b506103c66109543660046123f2565b6117d7565b34801561096557600080fd5b506103c6600e5481565b60606001805461097e90612439565b80601f01602080910402602001604051908101604052809291908181526020018280546109aa90612439565b80156109f75780601f106109cc576101008083540402835291602001916109f7565b820191906000526020600020905b8154815290600101906020018083116109da57829003601f168201915b5050505050905090565b6000610a0e3384846117eb565b5060015b92915050565b6000546001600160a01b03163314610a4b5760405162461bcd60e51b8152600401610a429061246d565b60405180910390fd5b6010805460ff1916911515919091179055565b6000610a6b8484846118f8565b6001600160a01b038416600090815260066020908152604080832033808552925290912054610aa6918691610aa19086906124b8565b6117eb565b5060019392505050565b6000546001600160a01b03163314610ada5760405162461bcd60e51b8152600401610a429061246d565b60105462010000900460ff1615610b275760405162461bcd60e51b81526020600482015260116024820152700e88185b1c9958591e48195b98589b1959607a1b6044820152606401610a42565b6010805462010000600160b81b031916767a250d5630b4cf539739df2c5dacb4c659f2488d010000178082556001600160a01b0363010000009182900481166000908152600760209081526040808320805460ff19908116600190811790925587548790048616855260088452828520805482168317905587548790048616855260098452938290208054909416179092559354815163c45a015560e01b815291519390049091169263c45a0155926004808401938290030181865afa158015610bf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1991906124cb565b6001600160a01b031663c9c6539630601060039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9f91906124cb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1091906124cb565b601180546001600160a01b0319166001600160a01b039283169081179091556000908152600960209081526040808320805460ff19166001179055308084526006835281842060108054630100000090819004881687529185528386206000199055548286526005909452919093205491049092169163f305d7199134916040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af1158015610df2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1791906124e8565b50506010805461ffff19166101011790555042600f55565b6000546001600160a01b03163314610e595760405162461bcd60e51b8152600401610a429061246d565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610a0e918590610aa1908690612516565b6000546001600160a01b03163314610ee55760405162461bcd60e51b8152600401610a429061246d565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610f1a573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610f485760405162461bcd60e51b8152600401610a429061246d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610fbc5760405162461bcd60e51b8152600401610a429061246d565b600454600b819055600c55565b6000546001600160a01b03163314610ff35760405162461bcd60e51b8152600401610a429061246d565b61100581670de0b6b3a7640000612529565b600b5550565b6000546001600160a01b031633146110355760405162461bcd60e51b8152600401610a429061246d565b601355565b60606002805461097e90612439565b6000546001600160a01b031633146110735760405162461bcd60e51b8152600401610a429061246d565b61108581670de0b6b3a7640000612529565b600c5550565b604080516002808252606082018352600092602083019080368337019050509050601060039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112391906124cb565b8160008151811061113657611136612540565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061116a5761116a612540565b60200260200101906001600160a01b031690816001600160a01b03168152505060008160018151811061119f5761119f612540565b602090810291909101810151336000908152600790925260409091205490915060ff1661123c5760105460405163b6f9de9560e01b815263010000009091046001600160a01b03169063b6f9de959085906112059060009087908a90429060040161259a565b6000604051808303818588803b15801561121e57600080fd5b505af1158015611232573d6000803e3d6000fd5b50505050506112e4565b806001600160a01b03166323b872dd858460018151811061125f5761125f612540565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018690526064016020604051808303816000875af11580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e291906125cf565b505b50505050565b6000546001600160a01b031633146113145760405162461bcd60e51b8152600401610a429061246d565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa15801561135a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137e91906125ec565b10156113bd5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b6044820152606401610a42565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801561140a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142e91906125cf565b505050565b6000546001600160a01b0316331461145d5760405162461bcd60e51b8152600401610a429061246d565b601455565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610a0e918590610aa19086906124b8565b6000546001600160a01b031633146114c35760405162461bcd60e51b8152600401610a429061246d565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461150f5760405162461bcd60e51b8152600401610a429061246d565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000610a0e3384846118f8565b6000546001600160a01b031633146115715760405162461bcd60e51b8152600401610a429061246d565b601080549115156101000261ff0019909216919091179055565b600030610aa6848285611c14565b6000546001600160a01b031633146115c35760405162461bcd60e51b8152600401610a429061246d565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600080600e54601354846116029190612529565b61160c9190612605565b9392505050565b6000546001600160a01b0316331461163d5760405162461bcd60e51b8152600401610a429061246d565b61164f81670de0b6b3a7640000612529565b600a5550565b6000546001600160a01b0316331461167f5760405162461bcd60e51b8152600401610a429061246d565b804710156116c05760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b6044820152606401610a42565b604051339082156108fc029083906000818181858888f19350505050158015610f1a573d6000803e3d6000fd5b6000546001600160a01b031633146117175760405162461bcd60e51b8152600401610a429061246d565b6001600160a01b03811661177c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a42565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080600e54601454846116029190612529565b6001600160a01b0383166118415760405162461bcd60e51b815260206004820152601e60248201527f20617070726f76652066726f6d20746865207a65726f206164647265737300006044820152606401610a42565b6001600160a01b0382166118975760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f206164647265737300000000006044820152606401610a42565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661194e5760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f206164647265737300006044820152606401610a42565b6001600160a01b0382166119a45760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f2061646472657373000000006044820152606401610a42565b600081116119f45760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6044820152606401610a42565b6001600160a01b03831660009081526008602052604090205460ff16158015611a3657506001600160a01b03821660009081526008602052604090205460ff16155b15611b0557600c54811115611a865760405162461bcd60e51b8152602060048201526016602482015275206d61782074786e206c696d6974206578636565647360501b6044820152606401610a42565b60105462010000900460ff16611b05576011546001600160a01b03848116911614801590611ac257506011546001600160a01b03838116911614155b611b055760405162461bcd60e51b81526020600482015260146024820152733a2074726164696e672069732064697361626c6560601b6044820152606401610a42565b6001600160a01b03821660009081526009602052604090205460ff16611ba057600b5481611b48846001600160a01b031660009081526005602052604090205490565b611b529190612516565b1115611ba05760405162461bcd60e51b815260206004820152601860248201527f3a206d617820686f6c64206c696d6974206578636565647300000000000000006044820152606401610a42565b611baa8383611c3a565b6001600160a01b03831660009081526007602052604090205460019060ff1680611bec57506001600160a01b03831660009081526007602052604090205460ff165b80611bff5750601054610100900460ff16155b15611c08575060005b6112e484848484611de0565b6001600160a01b038316611c2757600080fd5b6001600160a01b03821661189757600080fd5b30600090815260056020526040902054600a5481108015908190611c6c57506011546001600160a01b03858116911614155b8015611c7a575060105460ff165b8015611c9f57506001600160a01b03841660009081526007602052604090205460ff16155b8015611cc457506001600160a01b03831660009081526007602052604090205460ff16155b8015611cf257506001600160a01b03841630148015611cf057506011546001600160a01b038481169116145b155b156112e457611d1930601060039054906101000a90046001600160a01b0316600a546117eb565b6012546001600160a01b0316600090815260056020526040812054611d40906103e8611fc9565b90506000611d5982600d5461204b90919063ffffffff16565b90506000611d67858361208d565b9050611d93601060039054906101000a90046001600160a01b0316611d8e600a548461208d565b6120a2565b478015611dd6576012546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611dd4573d6000803e3d6000fd5b505b5050505050505050565b6011546001600160a01b038581169116148015611dfa5750805b15611edb57600080611e0b846115ee565b9150611e1782856124b8565b6001600160a01b038716600090815260056020526040902054909150611e3e9085906124b8565b6001600160a01b038088166000908152600560205260408082209390935590871681522054611e6e908290612516565b6001600160a01b0380871660008181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ec29085815260200190565b60405180910390a3611ed486836121ec565b50506112e4565b6011546001600160a01b038481169116148015611ef55750805b15611f13576000611f05836117d7565b90506000611e1782856124b8565b6001600160a01b038416600090815260056020526040902054611f379083906124b8565b6001600160a01b038086166000908152600560205260408082209390935590851681522054611f67908390612516565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611fbb9086815260200190565b60405180910390a350505050565b600082600003611fdb57506000610a12565b6000611fe78385612529565b905082611ff48583612605565b1461160c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a42565b600061160c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612264565b600081831161209c578261160c565b50919050565b6040805160028082526060820183528492600092919060208301908036833701905050905030816000815181106120db576120db612540565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612139573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215d91906124cb565b8160018151811061217057612170612540565b6001600160a01b039283166020918202929092010152821663791ac947846000843061219e4261012c612516565b6040518663ffffffff1660e01b81526004016121be959493929190612627565b600060405180830381600087803b1580156121d857600080fd5b505af1158015611dd6573d6000803e3d6000fd5b30600090815260056020526040902054612207908290612516565b30600081815260056020526040908190209290925590516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906122589085815260200190565b60405180910390a35050565b600081848411156122885760405162461bcd60e51b8152600401610a42919061229e565b50600061229584866124b8565b95945050505050565b600060208083528351808285015260005b818110156122cb578581018301518582016040015282016122af565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461230157600080fd5b50565b6000806040838503121561231757600080fd5b8235612322816122ec565b946020939093013593505050565b801515811461230157600080fd5b60006020828403121561235057600080fd5b813561160c81612330565b60008060006060848603121561237057600080fd5b833561237b816122ec565b9250602084013561238b816122ec565b929592945050506040919091013590565b600080604083850312156123af57600080fd5b82356123ba816122ec565b915060208301356123ca81612330565b809150509250929050565b6000602082840312156123e757600080fd5b813561160c816122ec565b60006020828403121561240457600080fd5b5035919050565b6000806040838503121561241e57600080fd5b8235612429816122ec565b915060208301356123ca816122ec565b600181811c9082168061244d57607f821691505b60208210810361209c57634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a1257610a126124a2565b6000602082840312156124dd57600080fd5b815161160c816122ec565b6000806000606084860312156124fd57600080fd5b8351925060208401519150604084015190509250925092565b80820180821115610a1257610a126124a2565b8082028115828204841417610a1257610a126124a2565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561258f5781516001600160a01b03168752958201959082019060010161256a565b509495945050505050565b8481526080602082015260006125b36080830186612556565b6001600160a01b03949094166040830152506060015292915050565b6000602082840312156125e157600080fd5b815161160c81612330565b6000602082840312156125fe57600080fd5b5051919050565b60008261262257634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a06040820152600061264660a0830186612556565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220f1520df4cdce792a0b8d95b4c776088625a5f720e5cf07401fb401d8b1458e4b64736f6c63430008120033
Deployed Bytecode Sourcemap
4652:14058:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8470:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6020:27;;;;;;;;;;-1:-1:-1;6020:27:0;;;;;;;-1:-1:-1;;;;;6020:27:0;;;;;;-1:-1:-1;;;;;749:32:1;;;731:51;;719:2;704:18;6020:27:0;567:221:1;9358:186:0;;;;;;;;;;-1:-1:-1;9358:186:0;;;;;:::i;:::-;;:::i;:::-;;;1414:14:1;;1407:22;1389:41;;1377:2;1362:18;9358:186:0;1249:187:1;11861:115:0;;;;;;;;;;-1:-1:-1;11861:115:0;;;;;:::i;:::-;;:::i;:::-;;5561:53;;;;;;;;;;;;;;;;;;;1956:25:1;;;1944:2;1929:18;5561:53:0;1810:177:1;8747:100:0;;;;;;;;;;-1:-1:-1;8827:12:0;;8747:100;;5229:60;;;;;;;;;;;;;;;;9552:350;;;;;;;;;;-1:-1:-1;9552:350:0;;;;;:::i;:::-;;:::i;7481:893::-;;;:::i;10858:173::-;;;;;;;;;;-1:-1:-1;10858:173:0;;;;;:::i;:::-;;:::i;8656:83::-;;;;;;;;;;-1:-1:-1;8722:9:0;;8656:83;;8722:9;;;;2982:36:1;;2970:2;2955:18;8656:83:0;2840:184:1;9910:292:0;;;;;;;;;;-1:-1:-1;9910:292:0;;;;;:::i;:::-;;:::i;5049:49::-;;;;;;;;;;-1:-1:-1;5049:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12222:129;;;;;;;;;;-1:-1:-1;12222:129:0;;;;;:::i;:::-;;:::i;5455:55::-;;;;;;;;;;;;;;;;8855:119;;;;;;;;;;-1:-1:-1;8855:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8948:18:0;8921:7;8948:18;;;:9;:18;;;;;;;8855:119;4199:157;;;;;;;;;;;;;:::i;18580:127::-;;;;;;;;;;;;;:::i;6186:30::-;;;;;;;;;;-1:-1:-1;6186:30:0;;;;-1:-1:-1;;;;;6186:30:0;;;5726:38;;;;;;;;;;-1:-1:-1;5726:38:0;;;;;;;;6381:39;;;;;;;;;;;;;;;;6429:40;;;;;;;;;;;;;;;;5164:56;;;;;;;;;;-1:-1:-1;5164:56:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11160:109;;;;;;;;;;-1:-1:-1;11160:109:0;;;;;:::i;:::-;;:::i;5834:22::-;;;;;;;;;;-1:-1:-1;5834:22:0;;;;;;;;;;;3985:79;;;;;;;;;;-1:-1:-1;4023:7:0;4050:6;-1:-1:-1;;;;;4050:6:0;3985:79;;11597:123;;;;;;;;;;-1:-1:-1;11597:123:0;;;;;:::i;:::-;;:::i;8561:87::-;;;;;;;;;;;;;:::i;5105:52::-;;;;;;;;;;-1:-1:-1;5105:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5346:56;;;;;;;;;;;;;;;;11482:107;;;;;;;;;;-1:-1:-1;11482:107:0;;;;;:::i;:::-;;:::i;12543:544::-;;;;;;;;;;-1:-1:-1;12543:544:0;;;;;:::i;:::-;;:::i;17168:209::-;;;;;;;;;;-1:-1:-1;17168:209:0;;;;;:::i;:::-;;:::i;11728:125::-;;;;;;;;;;-1:-1:-1;11728:125:0;;;;;:::i;:::-;;:::i;10210:300::-;;;;;;;;;;-1:-1:-1;10210:300:0;;;;;:::i;:::-;;:::i;12091:123::-;;;;;;;;;;-1:-1:-1;12091:123:0;;;;;:::i;:::-;;:::i;10685:165::-;;;;;;;;;;-1:-1:-1;10685:165:0;;;;;:::i;:::-;;:::i;8982:192::-;;;;;;;;;;-1:-1:-1;8982:192:0;;;;;:::i;:::-;;:::i;11984:99::-;;;;;;;;;;-1:-1:-1;11984:99:0;;;;;:::i;:::-;;:::i;5686:25::-;;;;;;;;;;;;;;;;11277:197;;;;;;;;;;-1:-1:-1;11277:197:0;;;;;:::i;:::-;;:::i;9182:168::-;;;;;;;;;;-1:-1:-1;9182:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;9315:18:0;;;9288:7;9315:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9182:168;10518:159;;;;;;;;;;-1:-1:-1;10518:159:0;;;;;:::i;:::-;;:::i;5912:19::-;;;;;;;;;;-1:-1:-1;5912:19:0;;;;;;;;;;;12359:176;;;;;;;;;;-1:-1:-1;12359:176:0;;;;;:::i;:::-;;:::i;11039:113::-;;;;;;;;;;-1:-1:-1;11039:113:0;;;;;:::i;:::-;;:::i;16930:183::-;;;;;;;;;;-1:-1:-1;16930:183:0;;;;;:::i;:::-;;:::i;6101:22::-;;;;;;;;;;-1:-1:-1;6101:22:0;;;;-1:-1:-1;;;;;6101:22:0;;;4364:281;;;;;;;;;;-1:-1:-1;4364:281:0;;;;;:::i;:::-;;:::i;13095:178::-;;;;;;;;;;-1:-1:-1;13095:178:0;;;;;:::i;:::-;;:::i;5644:35::-;;;;;;;;;;;;;;;;8470:83;8507:13;8540:5;8533:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8470:83;:::o;9358:186::-;9458:4;9475:39;3417:10;9498:7;9507:6;9475:8;:39::i;:::-;-1:-1:-1;9532:4:0;9358:186;;;;;:::o;11861:115::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;;;;;;;;;11933:26:::1;:35:::0;;-1:-1:-1;;11933:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11861:115::o;9552:350::-;9684:4;9701:36;9711:6;9719:9;9730:6;9701:9;:36::i;:::-;-1:-1:-1;;;;;9819:19:0;;;;;;:11;:19;;;;;;;;3417:10;9819:33;;;;;;;;;9748:124;;9771:6;;9819:42;;9855:6;;9819:42;:::i;:::-;9748:8;:124::i;:::-;-1:-1:-1;9890:4:0;9552:350;;;;;:::o;7481:893::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;7550:7:::1;::::0;;;::::1;;;7549:8;7541:38;;;::::0;-1:-1:-1;;;7541:38:0;;5614:2:1;7541:38:0::1;::::0;::::1;5596:21:1::0;5653:2;5633:18;;;5626:30;-1:-1:-1;;;5672:18:1;;;5665:47;5729:18;;7541:38:0::1;5412:341:1::0;7541:38:0::1;7592:7;:14:::0;;-1:-1:-1;;;;;;7619:66:0;;;;;;-1:-1:-1;;;;;7619:66:0;7722:9;;;::::1;::::0;::::1;-1:-1:-1::0;7696:37:0;;;:17:::1;:37;::::0;;;;;;;:44;;-1:-1:-1;;7696:44:0;;::::1;-1:-1:-1::0;7696:44:0;;::::1;::::0;;;7780:9;;;;::::1;::::0;::::1;7751:40:::0;;:20:::1;:40:::0;;;;;:47;;;::::1;::::0;::::1;::::0;;7842:9;;;;::::1;::::0;::::1;7809:44:::0;;:24:::1;:44:::0;;;;;;:51;;;;::::1;;::::0;;;7895:9;;:19;;-1:-1:-1;;;7895:19:0;;;;:9;;::::1;::::0;;::::1;::::0;:17:::1;::::0;:19:::1;::::0;;::::1;::::0;;;;;;:9;:19:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7883:43:0::1;;7949:4;7969:9;;;;;;;;;-1:-1:-1::0;;;;;7969:9:0::1;-1:-1:-1::0;;;;;7969:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7883:113;::::0;-1:-1:-1;;;;;;7883:113:0::1;::::0;;;;;;-1:-1:-1;;;;;6244:15:1;;;7883:113:0::1;::::0;::::1;6226:34:1::0;6296:15;;6276:18;;;6269:43;6161:18;;7883:113:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7873:7;:123:::0;;-1:-1:-1;;;;;;7873:123:0::1;-1:-1:-1::0;;;;;7873:123:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;8007:33:0;;;:24:::1;:33;::::0;;;;;;;:40;;-1:-1:-1;;8007:40:0::1;-1:-1:-1::0;8007:40:0::1;::::0;;8080:4:::1;8060:26:::0;;;:11:::1;:26:::0;;;;;8095:9:::1;::::0;;;;;;::::1;::::0;::::1;8060:46:::0;;;;;;;;-1:-1:-1;;8060:66:0;;8139:9;8948:18;;;:9;:18;;;;;;;;8139:9;::::1;::::0;;::::1;::::0;:25:::1;::::0;8172:9:::1;::::0;8139:114:::1;::::0;-1:-1:-1;;;;;;8139:114:0::1;::::0;;;;;;-1:-1:-1;;;;;6682:15:1;;;8139:114:0::1;::::0;::::1;6664:34:1::0;6714:18;;;6707:34;8222:1:0::1;6757:18:1::0;;;6750:34;;;6800:18;;;6793:34;8226:10:0::1;6843:19:1::0;;;6836:44;8237:15:0::1;6896:19:1::0;;;6889:35;6598:19;;8139:114:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8266:10:0::1;:17:::0;;-1:-1:-1;;8294:33:0;;;;;-1:-1:-1;8351:15:0::1;8338:10;:28:::0;7481:893::o;10858:173::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10982:33:0;;;::::1;;::::0;;;:24:::1;:33;::::0;;;;:41;;-1:-1:-1;;10982:41:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10858:173::o;9910:292::-;3417:10;10023:4;10112:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10112:34:0;;;;;;;;;;10023:4;;10040:132;;10090:7;;10112:49;;10150:10;;10112:49;:::i;12222:129::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;12293:50:::1;::::0;-1:-1:-1;;;;;12293:27:0;::::1;::::0;12321:21:::1;12293:50:::0;::::1;;;::::0;::::1;::::0;;;12321:21;12293:27;:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12222:129:::0;:::o;4199:157::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;4306:1:::1;4290:6:::0;;4269:40:::1;::::0;-1:-1:-1;;;;;4290:6:0;;::::1;::::0;4269:40:::1;::::0;4306:1;;4269:40:::1;4345:1;4320:28:::0;;-1:-1:-1;;;;;;4320:28:0::1;::::0;;4199:157::o;18580:127::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;18650:12:::1;::::0;18635::::1;:27:::0;;;18673:11:::1;:26:::0;18580:127::o;11160:109::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;11247:14:::1;:7:::0;11257:4:::1;11247:14;:::i;:::-;11232:12;:29:::0;-1:-1:-1;11160:109:0:o;11597:123::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;11676:20:::1;:36:::0;11597:123::o;8561:87::-;8600:13;8633:7;8626:14;;;;;:::i;11482:107::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;11567:14:::1;:7:::0;11577:4:::1;11567:14;:::i;:::-;11553:11;:28:::0;-1:-1:-1;11482:107:0:o;12543:544::-;12639:16;;;12653:1;12639:16;;;;;;;;12615:21;;12639:16;;;;;;;;;;-1:-1:-1;12639:16:0;12615:40;;12676:9;;;;;;;;;-1:-1:-1;;;;;12676:9:0;-1:-1:-1;;;;;12676:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12666:4;12671:1;12666:7;;;;;;;;:::i;:::-;;;;;;:26;-1:-1:-1;;;;;12666:26:0;;;-1:-1:-1;;;;;12666:26:0;;;;;12721:4;12703;12708:1;12703:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12703:23:0;;;-1:-1:-1;;;;;12703:23:0;;;;;12737:12;12759:4;12764:1;12759:7;;;;;;;;:::i;:::-;;;;;;;;;;;;12803:10;12785:29;;;;:17;:29;;;;;;;;12759:7;;-1:-1:-1;12785:29:0;;12780:300;;12831:9;;:189;;-1:-1:-1;;;12831:189:0;;:9;;;;-1:-1:-1;;;;;12831:9:0;;:60;;12899:6;;12831:189;;12926:1;;12946:4;;12969:2;;12990:15;;12831:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12780:300;;;13039:5;-1:-1:-1;;;;;13039:18:0;;13058:2;13062:4;13067:1;13062:7;;;;;;;;:::i;:::-;;;;;;;;;;;13039:39;;-1:-1:-1;;;;;;13039:39:0;;;;;;;-1:-1:-1;;;;;9052:15:1;;;13039:39:0;;;9034:34:1;9104:15;;9084:18;;;9077:43;9136:18;;;9129:34;;;8969:18;;13039:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12780:300;12604:483;;12543:544;;:::o;17168:209::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;17261:31:::1;::::0;-1:-1:-1;;;17261:31:0;;17286:4:::1;17261:31;::::0;::::1;731:51:1::0;17296:7:0;;-1:-1:-1;;;;;17261:16:0;::::1;::::0;::::1;::::0;704:18:1;;17261:31:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;;17253:69;;;::::0;-1:-1:-1;;;17253:69:0;;9815:2:1;17253:69:0::1;::::0;::::1;9797:21:1::0;9854:2;9834:18;;;9827:30;-1:-1:-1;;;9873:18:1;;;9866:44;9927:18;;17253:69:0::1;9613:338:1::0;17253:69:0::1;17333:36;::::0;-1:-1:-1;;;17333:36:0;;17349:10:::1;17333:36;::::0;::::1;10130:51:1::0;10197:18;;;10190:34;;;-1:-1:-1;;;;;17333:15:0;::::1;::::0;::::1;::::0;10103:18:1;;17333:36:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17168:209:::0;;:::o;11728:125::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;11808:21:::1;:37:::0;11728:125::o;10210:300::-;3417:10;10328:4;10417:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10417:34:0;;;;;;;;;;10328:4;;10345:135;;10395:7;;10417:52;;10454:15;;10417:52;:::i;12091:123::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;12172:15:::1;:34:::0;;-1:-1:-1;;;;;;12172:34:0::1;-1:-1:-1::0;;;;;12172:34:0;;;::::1;::::0;;;::::1;::::0;;12091:123::o;10685:165::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10805:29:0;;;::::1;;::::0;;;:20:::1;:29;::::0;;;;:37;;-1:-1:-1;;10805:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10685:165::o;8982:192::-;9085:4;9102:42;3417:10;9126:9;9137:6;9102:9;:42::i;11984:99::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;12056:10:::1;:19:::0;;;::::1;;;;-1:-1:-1::0;;12056:19:0;;::::1;::::0;;;::::1;::::0;;11984:99::o;11277:197::-;11353:4;11394;11410:34;11421:7;11394:4;11437:6;11410:10;:34::i;10518:159::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10635:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;10635:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10518:159::o;12359:176::-;12422:7;12442:11;12491:14;;12466:20;;12457:6;:29;;;;:::i;:::-;12456:50;;;;:::i;:::-;12442:64;12359:176;-1:-1:-1;;;12359:176:0:o;11039:113::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;11130:14:::1;:7:::0;11140:4:::1;11130:14;:::i;:::-;11113;:31:::0;-1:-1:-1;11039:113:0:o;16930:183::-;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;17031:7:::1;17006:21;:32;;16998:59;;;::::0;-1:-1:-1;;;16998:59:0;;9815:2:1;16998:59:0::1;::::0;::::1;9797:21:1::0;9854:2;9834:18;;;9827:30;-1:-1:-1;;;9873:18:1;;;9866:44;9927:18;;16998:59:0::1;9613:338:1::0;16998:59:0::1;17068:37;::::0;17076:10:::1;::::0;17068:37;::::1;;;::::0;17097:7;;17068:37:::1;::::0;;;17097:7;17076:10;17068:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;4364:281:::0;4112:6;;-1:-1:-1;;;;;4112:6:0;3417:10;4112:22;4104:67;;;;-1:-1:-1;;;4104:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4467:22:0;::::1;4445:110;;;::::0;-1:-1:-1;;;4445:110:0;;10659:2:1;4445:110:0::1;::::0;::::1;10641:21:1::0;10698:2;10678:18;;;10671:30;10737:34;10717:18;;;10710:62;-1:-1:-1;;;10788:18:1;;;10781:36;10834:19;;4445:110:0::1;10457:402:1::0;4445:110:0::1;4592:6;::::0;;4571:38:::1;::::0;-1:-1:-1;;;;;4571:38:0;;::::1;::::0;4592:6;::::1;::::0;4571:38:::1;::::0;::::1;4620:6;:17:::0;;-1:-1:-1;;;;;;4620:17:0::1;-1:-1:-1::0;;;;;4620:17:0;;;::::1;::::0;;;::::1;::::0;;4364:281::o;13095:178::-;13159:7;13179:11;13229:14;;13203:21;;13194:6;:30;;;;:::i;13553:324::-;-1:-1:-1;;;;;13646:19:0;;13638:62;;;;-1:-1:-1;;;13638:62:0;;11066:2:1;13638:62:0;;;11048:21:1;11105:2;11085:18;;;11078:30;11144:32;11124:18;;;11117:60;11194:18;;13638:62:0;10864:354:1;13638:62:0;-1:-1:-1;;;;;13719:21:0;;13711:61;;;;-1:-1:-1;;;13711:61:0;;11425:2:1;13711:61:0;;;11407:21:1;11464:2;11444:18;;;11437:30;11503:29;11483:18;;;11476:57;11550:18;;13711:61:0;11223:351:1;13711:61:0;-1:-1:-1;;;;;13785:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13837:32;;1956:25:1;;;13837:32:0;;1929:18:1;13837:32:0;;;;;;;13553:324;;;:::o;13885:1364::-;-1:-1:-1;;;;;13973:18:0;;13965:61;;;;-1:-1:-1;;;13965:61:0;;11781:2:1;13965:61:0;;;11763:21:1;11820:2;11800:18;;;11793:30;11859:32;11839:18;;;11832:60;11909:18;;13965:61:0;11579:354:1;13965:61:0;-1:-1:-1;;;;;14045:16:0;;14037:57;;;;-1:-1:-1;;;14037:57:0;;12140:2:1;14037:57:0;;;12122:21:1;12179:2;12159:18;;;12152:30;12218;12198:18;;;12191:58;12266:18;;14037:57:0;11938:352:1;14037:57:0;14122:1;14113:6;:10;14105:55;;;;-1:-1:-1;;;14105:55:0;;12497:2:1;14105:55:0;;;12479:21:1;;;12516:18;;;12509:30;12575:34;12555:18;;;12548:62;12627:18;;14105:55:0;12295:356:1;14105:55:0;-1:-1:-1;;;;;14176:26:0;;;;;;:20;:26;;;;;;;;14175:27;:56;;;;-1:-1:-1;;;;;;14207:24:0;;;;;;:20;:24;;;;;;;;14206:25;14175:56;14171:380;;;14266:11;;14256:6;:21;;14248:56;;;;-1:-1:-1;;;14248:56:0;;12858:2:1;14248:56:0;;;12840:21:1;12897:2;12877:18;;;12870:30;-1:-1:-1;;;12916:18:1;;;12909:52;12978:18;;14248:56:0;12656:346:1;14248:56:0;14370:7;;;;;;;14365:175;;14428:7;;-1:-1:-1;;;;;14428:15:0;;;:7;;:15;;;;:32;;-1:-1:-1;14447:7:0;;-1:-1:-1;;;;;14447:13:0;;;:7;;:13;;14428:32;14398:126;;;;-1:-1:-1;;;14398:126:0;;13209:2:1;14398:126:0;;;13191:21:1;13248:2;13228:18;;;13221:30;-1:-1:-1;;;13267:18:1;;;13260:50;13327:18;;14398:126:0;13007:344:1;14398:126:0;-1:-1:-1;;;;;14568:28:0;;;;;;:24;:28;;;;;;;;14563:188;;14667:12;;14656:6;14640:13;14650:2;-1:-1:-1;;;;;8948:18:0;8921:7;8948:18;;;:9;:18;;;;;;;8855:119;14640:13;:22;;;;:::i;:::-;14639:40;;14613:126;;;;-1:-1:-1;;;14613:126:0;;13558:2:1;14613:126:0;;;13540:21:1;13597:2;13577:18;;;13570:30;13636:26;13616:18;;;13609:54;13680:18;;14613:126:0;13356:348:1;14613:126:0;14792:30;14813:4;14819:2;14792:20;:30::i;:::-;-1:-1:-1;;;;;15015:23:0;;14896:12;15015:23;;;:17;:23;;;;;;14911:4;;15015:23;;;:48;;-1:-1:-1;;;;;;15042:21:0;;;;;;:17;:21;;;;;;;;15015:48;:63;;;-1:-1:-1;15068:10:0;;;;;;;15067:11;15015:63;15011:111;;;-1:-1:-1;15105:5:0;15011:111;15200:41;15215:4;15221:2;15225:6;15233:7;15200:14;:41::i;13281:264::-;-1:-1:-1;;;;;13381:19:0;;13373:28;;;;;;-1:-1:-1;;;;;13420:21:0;;13412:30;;;;;17385:1187;17511:4;17462:28;8948:18;;;:9;:18;;;;;;17570:14;;17546:38;;;;;;;17615:42;;-1:-1:-1;17650:7:0;;-1:-1:-1;;;;;17642:15:0;;;17650:7;;17642:15;;17615:42;:85;;;;-1:-1:-1;17674:26:0;;;;17615:85;:126;;;;-1:-1:-1;;;;;;17718:23:0;;;;;;:17;:23;;;;;;;;17717:24;17615:126;:165;;;;-1:-1:-1;;;;;;17759:21:0;;;;;;:17;:21;;;;;;;;17758:22;17615:165;:223;;;;-1:-1:-1;;;;;;17799:21:0;;17815:4;17799:21;:38;;;;-1:-1:-1;17830:7:0;;-1:-1:-1;;;;;17824:13:0;;;17830:7;;17824:13;17799:38;17797:41;17615:223;17597:968;;;17913:59;17930:4;17945:9;;;;;;;;;-1:-1:-1;;;;;17945:9:0;17957:14;;17913:8;:59::i;:::-;18023:15;;-1:-1:-1;;;;;18023:15:0;17989:21;8948:18;;;:9;:18;;;;;;18013:35;;18044:3;18013:30;:35::i;:::-;17989:59;;18063:18;18084:30;18100:13;18084:11;;:15;;:30;;;;:::i;:::-;18063:51;;18129:21;18153:36;18157:20;18178:10;18153:3;:36::i;:::-;18129:60;;18256:78;18287:9;;;;;;;;;-1:-1:-1;;;;;18287:9:0;18299:34;18303:14;;18319:13;18299:3;:34::i;:::-;18256:22;:78::i;:::-;18375:21;18465:19;;18461:92;;18511:15;;18503:50;;-1:-1:-1;;;;;18511:15:0;;;;18503:50;;;;;18537:15;;18511;18503:50;18511:15;18503:50;18537:15;18511;18503:50;;;;;;;;;;;;;;;;;;;;;18461:92;17865:700;;;;17449:1123;;17385:1187;;:::o;15331:1232::-;15486:7;;-1:-1:-1;;;;;15486:17:0;;;:7;;:17;:28;;;;;15507:7;15486:28;15482:1074;;;15531:14;15560:23;15607:24;15624:6;15607:16;:24::i;:::-;15598:33;-1:-1:-1;15664:15:0;15598:33;15664:6;:15;:::i;:::-;-1:-1:-1;;;;;15716:17:0;;;;;;:9;:17;;;;;;15646:33;;-1:-1:-1;15716:26:0;;15736:6;;15716:26;:::i;:::-;-1:-1:-1;;;;;15696:17:0;;;;;;;:9;:17;;;;;;:46;;;;15780:20;;;;;;;:38;;15803:15;;15780:38;:::i;:::-;-1:-1:-1;;;;;15757:20:0;;;;;;;:9;:20;;;;;;;:61;;;;15838:44;;;;;;;;;;15866:15;1956:25:1;;1944:2;1929:18;;1810:177;15838:44:0;;;;;;;;15899:28;15912:6;15920;15899:12;:28::i;:::-;15516:423;;15482:1074;;;15949:7;;-1:-1:-1;;;;;15949:20:0;;;:7;;:20;:31;;;;;15973:7;15949:31;15945:611;;;15997:14;16014:25;16032:6;16014:17;:25::i;:::-;15997:42;-1:-1:-1;16054:23:0;16080:15;15997:42;16080:6;:15;:::i;15945:611::-;-1:-1:-1;;;;;16394:17:0;;;;;;:9;:17;;;;;;:26;;16414:6;;16394:26;:::i;:::-;-1:-1:-1;;;;;16374:17:0;;;;;;;:9;:17;;;;;;:46;;;;16458:20;;;;;;;:31;;16482:6;;16458:31;:::i;:::-;-1:-1:-1;;;;;16435:20:0;;;;;;;:9;:20;;;;;;;:54;;;;16509:35;;;;;;;;;;16537:6;1956:25:1;;1944:2;1929:18;;1810:177;16509:35:0;;;;;;;;15331:1232;;;;:::o;791:246::-;849:7;873:1;878;873:6;869:47;;-1:-1:-1;903:1:0;896:8;;869:47;926:9;938:5;942:1;938;:5;:::i;:::-;926:17;-1:-1:-1;971:1:0;962:5;966:1;926:17;962:5;:::i;:::-;:10;954:56;;;;-1:-1:-1;;;954:56:0;;13911:2:1;954:56:0;;;13893:21:1;13950:2;13930:18;;;13923:30;13989:34;13969:18;;;13962:62;-1:-1:-1;;;14040:18:1;;;14033:31;14081:19;;954:56:0;13709:397:1;453:136:0;511:7;538:43;542:1;545;538:43;;;;;;;;;;;;;;;;;:3;:43::i;16571:105::-;16628:7;16658:1;16654;:5;16653:15;;16667:1;16653:15;;;-1:-1:-1;16663:1:0;16571:105;-1:-1:-1;16571:105:0:o;18767:614::-;19023:16;;;19037:1;19023:16;;;;;;;;18916:13;;18882:20;;19023:16;19037:1;19023:16;;;;;;;;;;-1:-1:-1;19023:16:0;18999:40;;19068:4;19050;19055:1;19050:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;19050:23:0;;;-1:-1:-1;;;;;19050:23:0;;;;;19094:9;-1:-1:-1;;;;;19094:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19084:4;19089:1;19084:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19084:26:0;;;:7;;;;;;;;;:26;19149:60;;;19224:11;19250:1;19294:4;19321;19341:21;:15;19359:3;19341:21;:::i;:::-;19149:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16684:200;16802:4;16784:24;;;;:9;:24;;;;;;:35;;16812:6;;16784:35;:::i;:::-;16775:4;16757:24;;;;:9;:24;;;;;;;:62;;;;16837:39;;-1:-1:-1;;;;;16837:39:0;;;;;;;16869:6;1956:25:1;;1944:2;1929:18;;1810:177;16837:39:0;;;;;;;;16684:200;;:::o;595:190::-;681:7;717:12;709:6;;;;701:29;;;;-1:-1:-1;;;701:29:0;;;;;;;;:::i;:::-;-1:-1:-1;741:9:0;753:5;757:1;753;:5;:::i;:::-;741:17;595:190;-1:-1:-1;;;;;595:190:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;793:131::-;-1:-1:-1;;;;;868:31:1;;858:42;;848:70;;914:1;911;904:12;848:70;793:131;:::o;929:315::-;997:6;1005;1058:2;1046:9;1037:7;1033:23;1029:32;1026:52;;;1074:1;1071;1064:12;1026:52;1113:9;1100:23;1132:31;1157:5;1132:31;:::i;:::-;1182:5;1234:2;1219:18;;;;1206:32;;-1:-1:-1;;;929:315:1:o;1441:118::-;1527:5;1520:13;1513:21;1506:5;1503:32;1493:60;;1549:1;1546;1539:12;1564:241;1620:6;1673:2;1661:9;1652:7;1648:23;1644:32;1641:52;;;1689:1;1686;1679:12;1641:52;1728:9;1715:23;1747:28;1769:5;1747:28;:::i;1992:456::-;2069:6;2077;2085;2138:2;2126:9;2117:7;2113:23;2109:32;2106:52;;;2154:1;2151;2144:12;2106:52;2193:9;2180:23;2212:31;2237:5;2212:31;:::i;:::-;2262:5;-1:-1:-1;2319:2:1;2304:18;;2291:32;2332:33;2291:32;2332:33;:::i;:::-;1992:456;;2384:7;;-1:-1:-1;;;2438:2:1;2423:18;;;;2410:32;;1992:456::o;2453:382::-;2518:6;2526;2579:2;2567:9;2558:7;2554:23;2550:32;2547:52;;;2595:1;2592;2585:12;2547:52;2634:9;2621:23;2653:31;2678:5;2653:31;:::i;:::-;2703:5;-1:-1:-1;2760:2:1;2745:18;;2732:32;2773:30;2732:32;2773:30;:::i;:::-;2822:7;2812:17;;;2453:382;;;;;:::o;3029:247::-;3088:6;3141:2;3129:9;3120:7;3116:23;3112:32;3109:52;;;3157:1;3154;3147:12;3109:52;3196:9;3183:23;3215:31;3240:5;3215:31;:::i;3489:180::-;3548:6;3601:2;3589:9;3580:7;3576:23;3572:32;3569:52;;;3617:1;3614;3607:12;3569:52;-1:-1:-1;3640:23:1;;3489:180;-1:-1:-1;3489:180:1:o;4008:388::-;4076:6;4084;4137:2;4125:9;4116:7;4112:23;4108:32;4105:52;;;4153:1;4150;4143:12;4105:52;4192:9;4179:23;4211:31;4236:5;4211:31;:::i;:::-;4261:5;-1:-1:-1;4318:2:1;4303:18;;4290:32;4331:33;4290:32;4331:33;:::i;4401:380::-;4480:1;4476:12;;;;4523;;;4544:61;;4598:4;4590:6;4586:17;4576:27;;4544:61;4651:2;4643:6;4640:14;4620:18;4617:38;4614:161;;4697:10;4692:3;4688:20;4685:1;4678:31;4732:4;4729:1;4722:15;4760:4;4757:1;4750:15;4786:356;4988:2;4970:21;;;5007:18;;;5000:30;5066:34;5061:2;5046:18;;5039:62;5133:2;5118:18;;4786:356::o;5147:127::-;5208:10;5203:3;5199:20;5196:1;5189:31;5239:4;5236:1;5229:15;5263:4;5260:1;5253:15;5279:128;5346:9;;;5367:11;;;5364:37;;;5381:18;;:::i;5758:251::-;5828:6;5881:2;5869:9;5860:7;5856:23;5852:32;5849:52;;;5897:1;5894;5887:12;5849:52;5929:9;5923:16;5948:31;5973:5;5948:31;:::i;6935:306::-;7023:6;7031;7039;7092:2;7080:9;7071:7;7067:23;7063:32;7060:52;;;7108:1;7105;7098:12;7060:52;7137:9;7131:16;7121:26;;7187:2;7176:9;7172:18;7166:25;7156:35;;7231:2;7220:9;7216:18;7210:25;7200:35;;6935:306;;;;;:::o;7246:125::-;7311:9;;;7332:10;;;7329:36;;;7345:18;;:::i;7376:168::-;7449:9;;;7480;;7497:15;;;7491:22;;7477:37;7467:71;;7518:18;;:::i;7681:127::-;7742:10;7737:3;7733:20;7730:1;7723:31;7773:4;7770:1;7763:15;7797:4;7794:1;7787:15;7813:461;7866:3;7904:5;7898:12;7931:6;7926:3;7919:19;7957:4;7986:2;7981:3;7977:12;7970:19;;8023:2;8016:5;8012:14;8044:1;8054:195;8068:6;8065:1;8062:13;8054:195;;;8133:13;;-1:-1:-1;;;;;8129:39:1;8117:52;;8189:12;;;;8224:15;;;;8165:1;8083:9;8054:195;;;-1:-1:-1;8265:3:1;;7813:461;-1:-1:-1;;;;;7813:461:1:o;8279:510::-;8550:6;8539:9;8532:25;8593:3;8588:2;8577:9;8573:18;8566:31;8513:4;8614:57;8666:3;8655:9;8651:19;8643:6;8614:57;:::i;:::-;-1:-1:-1;;;;;8707:32:1;;;;8702:2;8687:18;;8680:60;-1:-1:-1;8771:2:1;8756:18;8749:34;8606:65;8279:510;-1:-1:-1;;8279:510:1:o;9174:245::-;9241:6;9294:2;9282:9;9273:7;9269:23;9265:32;9262:52;;;9310:1;9307;9300:12;9262:52;9342:9;9336:16;9361:28;9383:5;9361:28;:::i;9424:184::-;9494:6;9547:2;9535:9;9526:7;9522:23;9518:32;9515:52;;;9563:1;9560;9553:12;9515:52;-1:-1:-1;9586:16:1;;9424:184;-1:-1:-1;9424:184:1:o;10235:217::-;10275:1;10301;10291:132;;10345:10;10340:3;10336:20;10333:1;10326:31;10380:4;10377:1;10370:15;10408:4;10405:1;10398:15;10291:132;-1:-1:-1;10437:9:1;;10235:217::o;14111:582::-;14410:6;14399:9;14392:25;14453:6;14448:2;14437:9;14433:18;14426:34;14496:3;14491:2;14480:9;14476:18;14469:31;14373:4;14517:57;14569:3;14558:9;14554:19;14546:6;14517:57;:::i;:::-;-1:-1:-1;;;;;14610:32:1;;;;14605:2;14590:18;;14583:60;-1:-1:-1;14674:3:1;14659:19;14652:35;14509:65;14111:582;-1:-1:-1;;;14111:582:1:o
Swarm Source
ipfs://f1520df4cdce792a0b8d95b4c776088625a5f720e5cf07401fb401d8b1458e4b
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.