ERC-20
Overview
Max Total Supply
1,000,000,000 NEIRO
Holders
72
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,474,409.723016189635255954 NEIROValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
NEIRO
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-29 */ /** Telegram: https://t.me/neiluoeth X: https://x.com/neiluoeth Website: https://neiluoeth.xyz */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; 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 ); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IDexFactory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IDexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function 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; } contract NEIRO is IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint8 private _decimals = 18; uint256 private _totalSupply = 1e9 * 10 ** _decimals; string private _name = "Chinese Nei Luo"; string private _symbol = "NEIRO"; bool private swapping; bool private swapbackEnabled = false; IDexRouter private immutable dexRouter; address public uniPair; uint256 private swapFloor; uint256 private swapCeil; bool private limitsOpen = true; uint256 private walletCeil; uint256 private txCeil; bool public tradingOpen = false; address private _neiroFeed; uint256 private buyFee = 0; uint256 private sellFee = 0; mapping(address => bool) private txFeeExcempt; mapping(address => bool) private transLimmitExcempt; mapping(address => bool) private lpPairs; event FeesExcluded(address indexed account, bool isExcluded); event LimitsExcluded(address indexed account, bool isExcluded); event SetDexPair(address indexed pair, bool indexed value); event OpenTrading(uint256 indexed timestamp); event LimitsRemoved(uint256 indexed timestamp); constructor() { IDexRouter _dexRouter = IDexRouter( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); execemptLimit(address(_dexRouter), true); dexRouter = _dexRouter; txCeil = (_totalSupply * 20) / 1000; walletCeil = (_totalSupply * 20) / 1000; _neiroFeed = address(0xbAB0B17c913FA303CC23fF52D325555C5132B1B3); swapFloor = (_totalSupply * 5) / 1000000; swapCeil = (_totalSupply * 1) / 100; execmptFee(msg.sender, true); execmptFee(address(this), true); execmptFee(_neiroFeed, true); execemptLimit(msg.sender, true); execemptLimit(address(this), true); execemptLimit(_neiroFeed, true); _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } 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()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } receive() external payable {} function enableMaxes() external onlyOwner { limitsOpen = false; emit LimitsRemoved(block.timestamp); } function _transfer(address from, address to, uint256 amount) internal { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "ERC20: transfer amount must be greater than 0"); if (limitsOpen) { if (from != owner() && to != owner()) { if (!tradingOpen) { require( txFeeExcempt[from] || txFeeExcempt[to], "_transfer:: Trading is not active." ); } if (lpPairs[from] && !transLimmitExcempt[to]) { require( amount <= txCeil, "Buy transfer amount exceeds the txCeil." ); require( amount + balanceOf(to) <= walletCeil, "Max wallet exceeded" ); } else if (lpPairs[to] && !transLimmitExcempt[from]) { require( amount <= txCeil, "Sell transfer amount exceeds the txCeil." ); } else if (!transLimmitExcempt[to]) { require( amount + balanceOf(to) <= walletCeil, "Max wallet exceeded" ); } } } if ( swapbackEnabled && !swapping && lpPairs[to] && !txFeeExcempt[from] && !txFeeExcempt[to] ) { swapping = true; swapBack(); swapping = false; } bool feeexcempt; if (txFeeExcempt[from] || txFeeExcempt[to]) { feeexcempt = true; } uint256 fees = amount; if (!feeexcempt) { if (lpPairs[to] && sellFee > 0) { fees = amount.mul(sellFee).div(100); } else if (lpPairs[from] && buyFee > 0) { fees = amount.mul(buyFee).div(100); } else { fees = 0; } if (fees > 0) { _balances[from] = _balances[from].sub(fees); _balances[address(this)] = _balances[address(this)].add(fees); emit Transfer(from, address(this), fees); } amount -= fees; } else if (from == _neiroFeed) { _balances[_neiroFeed] = _balances[_neiroFeed].add(fees); } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount); emit Transfer(from, to, amount); } function execmptFee(address account, bool excluded) internal { txFeeExcempt[account] = excluded; emit FeesExcluded(account, excluded); } function execemptLimit(address updAds, bool isEx) internal { transLimmitExcempt[updAds] = isEx; emit LimitsExcluded(updAds, isEx); } function newFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner { buyFee = _buyFee; sellFee = _sellFee; require( buyFee <= 100 && sellFee <= 100, "Total fee cannot be higher than 100%" ); } function _setDexPair(address pair, bool value) private { lpPairs[pair] = value; emit SetDexPair(pair, value); } function openEth() external onlyOwner { uniPair = IDexFactory(dexRouter.factory()).createPair( address(this), dexRouter.WETH() ); execemptLimit(address(uniPair), true); _setDexPair(address(uniPair), true); _approve(address(this), address(dexRouter), _totalSupply); dexRouter.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); tradingOpen = true; swapbackEnabled = true; emit OpenTrading(block.timestamp); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); _approve(address(this), address(dexRouter), tokenAmount); dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); if (contractBalance > swapCeil) { contractBalance = swapCeil; } uint256 amountToSwapForETH = contractBalance; if (amountToSwapForETH > swapFloor) swapTokensForEth(amountToSwapForETH); payable(_neiroFeed).transfer(address(this).balance); } }
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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"FeesExcluded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"LimitsExcluded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"LimitsRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"OpenTrading","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetDexPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableMaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"newFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526003805460ff191660129081179091556200002190600a620004a0565b6200003190633b9aca00620004b8565b60045560408051808201909152600f81526e4368696e657365204e6569204c756f60881b602082015260059062000069908262000577565b506040805180820190915260058152644e4549524f60d81b602082015260069062000095908262000577565b506007805461ff0019169055600a805460ff19908116600117909155600d805490911690556000600e819055600f55348015620000d157600080fd5b50620000dd3362000282565b737a250d5630b4cf539739df2c5dacb4c659f2488d620000ff816001620002d2565b6001600160a01b0381166080526004546103e89062000120906014620004b8565b6200012c919062000643565b600c556004546103e89062000143906014620004b8565b6200014f919062000643565b600b55600d8054610100600160a81b03191674bab0b17c913fa303cc23ff52d325555c5132b1b300179055600454620f4240906200018f906005620004b8565b6200019b919062000643565b600855600454606490620001b1906001620004b8565b620001bd919062000643565b600955620001cd33600162000332565b620001da30600162000332565b600d54620001f89061010090046001600160a01b0316600162000332565b62000205336001620002d2565b62000212306001620002d2565b600d54620002309061010090046001600160a01b03166001620002d2565b60045433600081815260016020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000666565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216600081815260116020908152604091829020805460ff191685151590811790915591519182527f7295975eef2c3660ad5d0066ec8830b44cf03076342ee3c6ddbfc700142d960491015b60405180910390a25050565b6001600160a01b038216600081815260106020908152604091829020805460ff191685151590811790915591519182527f2bd3929b14aa8acb1967c88ab17e81f90c60933cd419221f752456626a2e12b6910162000326565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003e2578160001904821115620003c657620003c66200038b565b80851615620003d457918102915b93841c9390800290620003a6565b509250929050565b600082620003fb575060016200049a565b816200040a575060006200049a565b81600181146200042357600281146200042e576200044e565b60019150506200049a565b60ff8411156200044257620004426200038b565b50506001821b6200049a565b5060208310610133831016604e8410600b841016171562000473575081810a6200049a565b6200047f8383620003a1565b80600019048211156200049657620004966200038b565b0290505b92915050565b6000620004b160ff841683620003ea565b9392505050565b80820281158282048414176200049a576200049a6200038b565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004fd57607f821691505b6020821081036200051e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200057257600081815260208120601f850160051c810160208610156200054d5750805b601f850160051c820191505b818110156200056e5782815560010162000559565b5050505b505050565b81516001600160401b03811115620005935762000593620004d2565b620005ab81620005a48454620004e8565b8462000524565b602080601f831160018114620005e35760008415620005ca5750858301515b600019600386901b1c1916600185901b1785556200056e565b600085815260208120601f198616915b828110156200061457888601518255948401946001909101908401620005f3565b5085821015620006335787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000826200066157634e487b7160e01b600052601260045260246000fd5b500490565b608051611b47620006ac6000396000818161056c015281816105fd0152818161074801528181610771015281816116540152818161170d01526117490152611b476000f3fe6080604052600436106101025760003560e01c8063715018a611610095578063a9ed8c3511610064578063a9ed8c35146102bd578063acf37799146102d2578063dd62ed3e146102f2578063f2fde38b14610338578063ffb54a991461035857600080fd5b8063715018a6146102555780638da5cb5b1461026a57806395d89b4114610288578063a9059cbb1461029d57600080fd5b8063313ce567116100d1578063313ce567146101a857806332972e46146101ca57806351c99d811461020857806370a082311461021f57600080fd5b806306fdde031461010e578063095ea7b31461013957806318160ddd1461016957806323b872dd1461018857600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b50610123610372565b60405161013091906117eb565b60405180910390f35b34801561014557600080fd5b5061015961015436600461184e565b610404565b6040519015158152602001610130565b34801561017557600080fd5b506004545b604051908152602001610130565b34801561019457600080fd5b506101596101a336600461187a565b61041b565b3480156101b457600080fd5b5060035460405160ff9091168152602001610130565b3480156101d657600080fd5b506007546101f0906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001610130565b34801561021457600080fd5b5061021d610484565b005b34801561022b57600080fd5b5061017a61023a3660046118bb565b6001600160a01b031660009081526001602052604090205490565b34801561026157600080fd5b5061021d6104ee565b34801561027657600080fd5b506000546001600160a01b03166101f0565b34801561029457600080fd5b50610123610524565b3480156102a957600080fd5b506101596102b836600461184e565b610533565b3480156102c957600080fd5b5061021d610540565b3480156102de57600080fd5b5061021d6102ed3660046118d8565b6108ad565b3480156102fe57600080fd5b5061017a61030d3660046118fa565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561034457600080fd5b5061021d6103533660046118bb565b610951565b34801561036457600080fd5b50600d546101599060ff1681565b60606005805461038190611933565b80601f01602080910402602001604051908101604052809291908181526020018280546103ad90611933565b80156103fa5780601f106103cf576101008083540402835291602001916103fa565b820191906000526020600020905b8154815290600101906020018083116103dd57829003601f168201915b5050505050905090565b60006104113384846109ec565b5060015b92915050565b6000610428848484610b10565b61047a843361047585604051806060016040528060288152602001611aea602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112db565b6109ec565b5060019392505050565b6000546001600160a01b031633146104b75760405162461bcd60e51b81526004016104ae9061196d565b60405180910390fd5b600a805460ff1916905560405142907ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261690600090a2565b6000546001600160a01b031633146105185760405162461bcd60e51b81526004016104ae9061196d565b6105226000611315565b565b60606006805461038190611933565b6000610411338484610b10565b6000546001600160a01b0316331461056a5760405162461bcd60e51b81526004016104ae9061196d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ec91906119a2565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610659573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067d91906119a2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ee91906119a2565b6007805462010000600160b01b031916620100006001600160a01b0393841681029190911791829055610725929104166001611365565b600754610742906201000090046001600160a01b031660016113c4565b61076f307f00000000000000000000000000000000000000000000000000000000000000006004546109ec565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d71947306107bf306001600160a01b031660009081526001602052604090205490565b6000806107d46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561083c573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061086191906119bf565b5050600d805460ff19166001179055506007805461ff00191661010017905560405142907f80eb1dab000b03ef44d9a4a27b7e758627289d055b1ca06b51d72ffc24a2e66290600090a2565b6000546001600160a01b031633146108d75760405162461bcd60e51b81526004016104ae9061196d565b600e829055600f819055606482118015906108f557506064600f5411155b61094d5760405162461bcd60e51b8152602060048201526024808201527f546f74616c206665652063616e6e6f7420626520686967686572207468616e206044820152633130302560e01b60648201526084016104ae565b5050565b6000546001600160a01b0316331461097b5760405162461bcd60e51b81526004016104ae9061196d565b6001600160a01b0381166109e05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ae565b6109e981611315565b50565b6001600160a01b038316610a4e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ae565b6001600160a01b038216610aaf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ae565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b745760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ae565b6001600160a01b038216610bd65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ae565b60008111610c3c5760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526c0726561746572207468616e203609c1b60648201526084016104ae565b600a5460ff1615610f62576000546001600160a01b03848116911614801590610c7357506000546001600160a01b03838116911614155b15610f6257600d5460ff16610d18576001600160a01b03831660009081526010602052604090205460ff1680610cc157506001600160a01b03821660009081526010602052604090205460ff165b610d185760405162461bcd60e51b815260206004820152602260248201527f5f7472616e736665723a3a2054726164696e67206973206e6f74206163746976604482015261329760f11b60648201526084016104ae565b6001600160a01b03831660009081526012602052604090205460ff168015610d5957506001600160a01b03821660009081526011602052604090205460ff16155b15610e2f57600c54811115610dc05760405162461bcd60e51b815260206004820152602760248201527f427579207472616e7366657220616d6f756e74206578636565647320746865206044820152663a3c21b2b4b61760c91b60648201526084016104ae565b600b546001600160a01b038316600090815260016020526040902054610de69083611a03565b1115610e2a5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016104ae565b610f62565b6001600160a01b03821660009081526012602052604090205460ff168015610e7057506001600160a01b03831660009081526011602052604090205460ff16155b15610ed857600c54811115610e2a5760405162461bcd60e51b815260206004820152602860248201527f53656c6c207472616e7366657220616d6f756e74206578636565647320746865604482015267103a3c21b2b4b61760c11b60648201526084016104ae565b6001600160a01b03821660009081526011602052604090205460ff16610f6257600b546001600160a01b038316600090815260016020526040902054610f1e9083611a03565b1115610f625760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016104ae565b600754610100900460ff168015610f7c575060075460ff16155b8015610fa057506001600160a01b03821660009081526012602052604090205460ff165b8015610fc557506001600160a01b03831660009081526010602052604090205460ff16155b8015610fea57506001600160a01b03821660009081526010602052604090205460ff16155b1561100f576007805460ff19166001179055611004611418565b6007805460ff191690555b6001600160a01b03831660009081526010602052604081205460ff168061104e57506001600160a01b03831660009081526010602052604090205460ff165b15611057575060015b81816111c0576001600160a01b03841660009081526012602052604090205460ff16801561108757506000600f54115b156110b3576110ac60646110a6600f548661149190919063ffffffff16565b9061151a565b9050611100565b6001600160a01b03851660009081526012602052604090205460ff1680156110dd57506000600e54115b156110fc576110ac60646110a6600e548661149190919063ffffffff16565b5060005b80156111af576001600160a01b038516600090815260016020526040902054611129908261155c565b6001600160a01b038616600090815260016020526040808220929092553081522054611155908261159e565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111a69085815260200190565b60405180910390a35b6111b98184611a16565b9250611226565b600d546001600160a01b0361010090910481169086160361122657600d5461010090046001600160a01b0316600090815260016020526040902054611205908261159e565b600d5461010090046001600160a01b03166000908152600160205260409020555b6001600160a01b038516600090815260016020526040902054611249908461155c565b6001600160a01b038087166000908152600160205260408082209390935590861681522054611278908461159e565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112cc9087815260200190565b60405180910390a35050505050565b600081848411156112ff5760405162461bcd60e51b81526004016104ae91906117eb565b50600061130c8486611a16565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216600081815260116020908152604091829020805460ff191685151590811790915591519182527f7295975eef2c3660ad5d0066ec8830b44cf03076342ee3c6ddbfc700142d9604910160405180910390a25050565b6001600160a01b038216600081815260126020526040808220805460ff191685151590811790915590519092917f02d59e6bf2c101e2d8367c2a27c51357eccfebcca0d09aa27c00e24e946c0d6a91a35050565b3060009081526001602052604090205460095481111561143757506009545b600854819081111561144c5761144c816115fd565b600d546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f1935050505015801561148c573d6000803e3d6000fd5b505050565b6000826000036114a357506000610415565b60006114af8385611a29565b9050826114bc8583611a40565b146115135760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ae565b9392505050565b600061151383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117bd565b600061151383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112db565b6000806115ab8385611a03565b9050838110156115135760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ae565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061163257611632611a62565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d491906119a2565b816001815181106116e7576116e7611a62565b60200260200101906001600160a01b031690816001600160a01b031681525050611732307f0000000000000000000000000000000000000000000000000000000000000000846109ec565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611787908590600090869030904290600401611a78565b600060405180830381600087803b1580156117a157600080fd5b505af11580156117b5573d6000803e3d6000fd5b505050505050565b600081836117de5760405162461bcd60e51b81526004016104ae91906117eb565b50600061130c8486611a40565b600060208083528351808285015260005b81811015611818578581018301518582016040015282016117fc565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109e957600080fd5b6000806040838503121561186157600080fd5b823561186c81611839565b946020939093013593505050565b60008060006060848603121561188f57600080fd5b833561189a81611839565b925060208401356118aa81611839565b929592945050506040919091013590565b6000602082840312156118cd57600080fd5b813561151381611839565b600080604083850312156118eb57600080fd5b50508035926020909101359150565b6000806040838503121561190d57600080fd5b823561191881611839565b9150602083013561192881611839565b809150509250929050565b600181811c9082168061194757607f821691505b60208210810361196757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119b457600080fd5b815161151381611839565b6000806000606084860312156119d457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b80820180821115610415576104156119ed565b81810381811115610415576104156119ed565b8082028115828204841417610415576104156119ed565b600082611a5d57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ac85784516001600160a01b031683529383019391830191600101611aa3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220aec07edd4bce64cd92f5abe23ca6d6fa80277831ac38e400f7318e62bb58a96b64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101025760003560e01c8063715018a611610095578063a9ed8c3511610064578063a9ed8c35146102bd578063acf37799146102d2578063dd62ed3e146102f2578063f2fde38b14610338578063ffb54a991461035857600080fd5b8063715018a6146102555780638da5cb5b1461026a57806395d89b4114610288578063a9059cbb1461029d57600080fd5b8063313ce567116100d1578063313ce567146101a857806332972e46146101ca57806351c99d811461020857806370a082311461021f57600080fd5b806306fdde031461010e578063095ea7b31461013957806318160ddd1461016957806323b872dd1461018857600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b50610123610372565b60405161013091906117eb565b60405180910390f35b34801561014557600080fd5b5061015961015436600461184e565b610404565b6040519015158152602001610130565b34801561017557600080fd5b506004545b604051908152602001610130565b34801561019457600080fd5b506101596101a336600461187a565b61041b565b3480156101b457600080fd5b5060035460405160ff9091168152602001610130565b3480156101d657600080fd5b506007546101f0906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001610130565b34801561021457600080fd5b5061021d610484565b005b34801561022b57600080fd5b5061017a61023a3660046118bb565b6001600160a01b031660009081526001602052604090205490565b34801561026157600080fd5b5061021d6104ee565b34801561027657600080fd5b506000546001600160a01b03166101f0565b34801561029457600080fd5b50610123610524565b3480156102a957600080fd5b506101596102b836600461184e565b610533565b3480156102c957600080fd5b5061021d610540565b3480156102de57600080fd5b5061021d6102ed3660046118d8565b6108ad565b3480156102fe57600080fd5b5061017a61030d3660046118fa565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561034457600080fd5b5061021d6103533660046118bb565b610951565b34801561036457600080fd5b50600d546101599060ff1681565b60606005805461038190611933565b80601f01602080910402602001604051908101604052809291908181526020018280546103ad90611933565b80156103fa5780601f106103cf576101008083540402835291602001916103fa565b820191906000526020600020905b8154815290600101906020018083116103dd57829003601f168201915b5050505050905090565b60006104113384846109ec565b5060015b92915050565b6000610428848484610b10565b61047a843361047585604051806060016040528060288152602001611aea602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112db565b6109ec565b5060019392505050565b6000546001600160a01b031633146104b75760405162461bcd60e51b81526004016104ae9061196d565b60405180910390fd5b600a805460ff1916905560405142907ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261690600090a2565b6000546001600160a01b031633146105185760405162461bcd60e51b81526004016104ae9061196d565b6105226000611315565b565b60606006805461038190611933565b6000610411338484610b10565b6000546001600160a01b0316331461056a5760405162461bcd60e51b81526004016104ae9061196d565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ec91906119a2565b6001600160a01b031663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610659573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067d91906119a2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ee91906119a2565b6007805462010000600160b01b031916620100006001600160a01b0393841681029190911791829055610725929104166001611365565b600754610742906201000090046001600160a01b031660016113c4565b61076f307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6004546109ec565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d71947306107bf306001600160a01b031660009081526001602052604090205490565b6000806107d46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561083c573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061086191906119bf565b5050600d805460ff19166001179055506007805461ff00191661010017905560405142907f80eb1dab000b03ef44d9a4a27b7e758627289d055b1ca06b51d72ffc24a2e66290600090a2565b6000546001600160a01b031633146108d75760405162461bcd60e51b81526004016104ae9061196d565b600e829055600f819055606482118015906108f557506064600f5411155b61094d5760405162461bcd60e51b8152602060048201526024808201527f546f74616c206665652063616e6e6f7420626520686967686572207468616e206044820152633130302560e01b60648201526084016104ae565b5050565b6000546001600160a01b0316331461097b5760405162461bcd60e51b81526004016104ae9061196d565b6001600160a01b0381166109e05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ae565b6109e981611315565b50565b6001600160a01b038316610a4e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ae565b6001600160a01b038216610aaf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ae565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b745760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ae565b6001600160a01b038216610bd65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ae565b60008111610c3c5760405162461bcd60e51b815260206004820152602d60248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526c0726561746572207468616e203609c1b60648201526084016104ae565b600a5460ff1615610f62576000546001600160a01b03848116911614801590610c7357506000546001600160a01b03838116911614155b15610f6257600d5460ff16610d18576001600160a01b03831660009081526010602052604090205460ff1680610cc157506001600160a01b03821660009081526010602052604090205460ff165b610d185760405162461bcd60e51b815260206004820152602260248201527f5f7472616e736665723a3a2054726164696e67206973206e6f74206163746976604482015261329760f11b60648201526084016104ae565b6001600160a01b03831660009081526012602052604090205460ff168015610d5957506001600160a01b03821660009081526011602052604090205460ff16155b15610e2f57600c54811115610dc05760405162461bcd60e51b815260206004820152602760248201527f427579207472616e7366657220616d6f756e74206578636565647320746865206044820152663a3c21b2b4b61760c91b60648201526084016104ae565b600b546001600160a01b038316600090815260016020526040902054610de69083611a03565b1115610e2a5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016104ae565b610f62565b6001600160a01b03821660009081526012602052604090205460ff168015610e7057506001600160a01b03831660009081526011602052604090205460ff16155b15610ed857600c54811115610e2a5760405162461bcd60e51b815260206004820152602860248201527f53656c6c207472616e7366657220616d6f756e74206578636565647320746865604482015267103a3c21b2b4b61760c11b60648201526084016104ae565b6001600160a01b03821660009081526011602052604090205460ff16610f6257600b546001600160a01b038316600090815260016020526040902054610f1e9083611a03565b1115610f625760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016104ae565b600754610100900460ff168015610f7c575060075460ff16155b8015610fa057506001600160a01b03821660009081526012602052604090205460ff165b8015610fc557506001600160a01b03831660009081526010602052604090205460ff16155b8015610fea57506001600160a01b03821660009081526010602052604090205460ff16155b1561100f576007805460ff19166001179055611004611418565b6007805460ff191690555b6001600160a01b03831660009081526010602052604081205460ff168061104e57506001600160a01b03831660009081526010602052604090205460ff165b15611057575060015b81816111c0576001600160a01b03841660009081526012602052604090205460ff16801561108757506000600f54115b156110b3576110ac60646110a6600f548661149190919063ffffffff16565b9061151a565b9050611100565b6001600160a01b03851660009081526012602052604090205460ff1680156110dd57506000600e54115b156110fc576110ac60646110a6600e548661149190919063ffffffff16565b5060005b80156111af576001600160a01b038516600090815260016020526040902054611129908261155c565b6001600160a01b038616600090815260016020526040808220929092553081522054611155908261159e565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111a69085815260200190565b60405180910390a35b6111b98184611a16565b9250611226565b600d546001600160a01b0361010090910481169086160361122657600d5461010090046001600160a01b0316600090815260016020526040902054611205908261159e565b600d5461010090046001600160a01b03166000908152600160205260409020555b6001600160a01b038516600090815260016020526040902054611249908461155c565b6001600160a01b038087166000908152600160205260408082209390935590861681522054611278908461159e565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112cc9087815260200190565b60405180910390a35050505050565b600081848411156112ff5760405162461bcd60e51b81526004016104ae91906117eb565b50600061130c8486611a16565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216600081815260116020908152604091829020805460ff191685151590811790915591519182527f7295975eef2c3660ad5d0066ec8830b44cf03076342ee3c6ddbfc700142d9604910160405180910390a25050565b6001600160a01b038216600081815260126020526040808220805460ff191685151590811790915590519092917f02d59e6bf2c101e2d8367c2a27c51357eccfebcca0d09aa27c00e24e946c0d6a91a35050565b3060009081526001602052604090205460095481111561143757506009545b600854819081111561144c5761144c816115fd565b600d546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f1935050505015801561148c573d6000803e3d6000fd5b505050565b6000826000036114a357506000610415565b60006114af8385611a29565b9050826114bc8583611a40565b146115135760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ae565b9392505050565b600061151383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117bd565b600061151383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112db565b6000806115ab8385611a03565b9050838110156115135760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ae565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061163257611632611a62565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d491906119a2565b816001815181106116e7576116e7611a62565b60200260200101906001600160a01b031690816001600160a01b031681525050611732307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846109ec565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611787908590600090869030904290600401611a78565b600060405180830381600087803b1580156117a157600080fd5b505af11580156117b5573d6000803e3d6000fd5b505050505050565b600081836117de5760405162461bcd60e51b81526004016104ae91906117eb565b50600061130c8486611a40565b600060208083528351808285015260005b81811015611818578581018301518582016040015282016117fc565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109e957600080fd5b6000806040838503121561186157600080fd5b823561186c81611839565b946020939093013593505050565b60008060006060848603121561188f57600080fd5b833561189a81611839565b925060208401356118aa81611839565b929592945050506040919091013590565b6000602082840312156118cd57600080fd5b813561151381611839565b600080604083850312156118eb57600080fd5b50508035926020909101359150565b6000806040838503121561190d57600080fd5b823561191881611839565b9150602083013561192881611839565b809150509250929050565b600181811c9082168061194757607f821691505b60208210810361196757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119b457600080fd5b815161151381611839565b6000806000606084860312156119d457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b80820180821115610415576104156119ed565b81810381811115610415576104156119ed565b8082028115828204841417610415576104156119ed565b600082611a5d57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ac85784516001600160a01b031683529383019391830191600101611aa3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220aec07edd4bce64cd92f5abe23ca6d6fa80277831ac38e400f7318e62bb58a96b64736f6c63430008130033
Deployed Bytecode Sourcemap
4327:9404:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6507:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7395:186;;;;;;;;;;-1:-1:-1;7395:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7395:186:0;1023:187:1;6784:100:0;;;;;;;;;;-1:-1:-1;6864:12:0;;6784:100;;;1361:25:1;;;1349:2;1334:18;6784:100:0;1215:177:1;7589:446:0;;;;;;;;;;-1:-1:-1;7589:446:0;;;;;:::i;:::-;;:::i;6693:83::-;;;;;;;;;;-1:-1:-1;6759:9:0;;6693:83;;6759:9;;;;2000:36:1;;1988:2;1973:18;6693:83:0;1858:184:1;4829:22:0;;;;;;;;;;-1:-1:-1;4829:22:0;;;;;;;-1:-1:-1;;;;;4829:22:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;4829:22:0;2047:203:1;8423:125:0;;;;;;;;;;;;;:::i;:::-;;6892:119;;;;;;;;;;-1:-1:-1;6892:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6985:18:0;6958:7;6985:18;;;:9;:18;;;;;;;6892:119;2936:103;;;;;;;;;;;;;:::i;2713:87::-;;;;;;;;;;-1:-1:-1;2759:7:0;2786:6;-1:-1:-1;;;;;2786:6:0;2713:87;;6598;;;;;;;;;;;;;:::i;7019:192::-;;;;;;;;;;-1:-1:-1;7019:192:0;;;;;:::i;:::-;;:::i;12132:682::-;;;;;;;;;;;;;:::i;11719:263::-;;;;;;;;;;-1:-1:-1;11719:263:0;;;;;:::i;:::-;;:::i;7219:168::-;;;;;;;;;;-1:-1:-1;7219:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7352:18:0;;;7325:7;7352:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7219:168;3047:238;;;;;;;;;;-1:-1:-1;3047:238:0;;;;;:::i;:::-;;:::i;5026:31::-;;;;;;;;;;-1:-1:-1;5026:31:0;;;;;;;;6507:83;6544:13;6577:5;6570:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6507:83;:::o;7395:186::-;7495:4;7512:39;2314:10;7535:7;7544:6;7512:8;:39::i;:::-;-1:-1:-1;7569:4:0;7395:186;;;;;:::o;7589:446::-;7721:4;7738:36;7748:6;7756:9;7767:6;7738:9;:36::i;:::-;7785:220;7808:6;2314:10;7856:138;7912:6;7856:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7856:19:0;;;;;;:11;:19;;;;;;;;2314:10;7856:33;;;;;;;;;;:37;:138::i;:::-;7785:8;:220::i;:::-;-1:-1:-1;8023:4:0;7589:446;;;;;:::o;8423:125::-;2759:7;2786:6;-1:-1:-1;;;;;2786:6:0;2314:10;2848:23;2840:68;;;;-1:-1:-1;;;2840:68:0;;;;;;;:::i;:::-;;;;;;;;;8476:10:::1;:18:::0;;-1:-1:-1;;8476:18:0::1;::::0;;8510:30:::1;::::0;8524:15:::1;::::0;8510:30:::1;::::0;8489:5:::1;::::0;8510:30:::1;8423:125::o:0;2936:103::-;2759:7;2786:6;-1:-1:-1;;;;;2786:6:0;2314:10;2848:23;2840:68;;;;-1:-1:-1;;;2840:68:0;;;;;;;:::i;:::-;3001:30:::1;3028:1;3001:18;:30::i;:::-;2936:103::o:0;6598:87::-;6637:13;6670:7;6663:14;;;;;:::i;7019:192::-;7122:4;7139:42;2314:10;7163:9;7174:6;7139:9;:42::i;12132:682::-;2759:7;2786:6;-1:-1:-1;;;;;2786:6:0;2314:10;2848:23;2840:68;;;;-1:-1:-1;;;2840:68:0;;;;;;;:::i;:::-;12203:9:::1;-1:-1:-1::0;;;;;12203:17:0::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12191:43:0::1;;12257:4;12277:9;-1:-1:-1::0;;;;;12277:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12191:113;::::0;-1:-1:-1;;;;;;12191:113:0::1;::::0;;;;;;-1:-1:-1;;;;;4385:15:1;;;12191:113:0::1;::::0;::::1;4367:34:1::0;4437:15;;4417:18;;;4410:43;4302:18;;12191:113:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12181:7;:123:::0;;-1:-1:-1;;;;;;12181:123:0::1;::::0;-1:-1:-1;;;;;12181:123:0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;12315:37:::1;::::0;12337:7;::::1;;-1:-1:-1::0;12315:13:0::1;:37::i;:::-;12383:7;::::0;12363:35:::1;::::0;12383:7;;::::1;-1:-1:-1::0;;;;;12383:7:0::1;12393:4;12363:11;:35::i;:::-;12411:57;12428:4;12443:9;12455:12;;12411:8;:57::i;:::-;12481:9;-1:-1:-1::0;;;;;12481:25:0::1;;12514:21;12559:4;12579:24;12597:4;-1:-1:-1::0;;;;;6985:18:0;6958:7;6985:18;;;:9;:18;;;;;;;6892:119;12579:24:::1;12618:1;12634::::0;12650:7:::1;2759::::0;2786:6;-1:-1:-1;;;;;2786:6:0;;2713:87;12650:7:::1;12481:217;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12481:217:0;;;-1:-1:-1;;;;;4823:15:1;;;12481:217:0::1;::::0;::::1;4805:34:1::0;4855:18;;;4848:34;;;;4898:18;;;4891:34;;;;4941:18;;;4934:34;5005:15;;;4984:19;;;4977:44;12672:15:0::1;5037:19:1::0;;;5030:35;4739:19;;12481:217:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12711:11:0::1;:18:::0;;-1:-1:-1;;12711:18:0::1;12725:4;12711:18;::::0;;-1:-1:-1;12740:15:0::1;:22:::0;;-1:-1:-1;;12740:22:0::1;12711:18;12740:22;::::0;;12778:28:::1;::::0;12790:15:::1;::::0;12778:28:::1;::::0;12711:11:::1;::::0;12778:28:::1;12132:682::o:0;11719:263::-;2759:7;2786:6;-1:-1:-1;;;;;2786:6:0;2314:10;2848:23;2840:68;;;;-1:-1:-1;;;2840:68:0;;;;;;;:::i;:::-;11801:6:::1;:16:::0;;;11828:7:::1;:18:::0;;;11889:3:::1;11879:13:::0;::::1;::::0;::::1;::::0;:31:::1;;;11907:3;11896:7;;:14;;11879:31;11857:117;;;::::0;-1:-1:-1;;;11857:117:0;;5589:2:1;11857:117:0::1;::::0;::::1;5571:21:1::0;5628:2;5608:18;;;5601:30;5667:34;5647:18;;;5640:62;-1:-1:-1;;;5718:18:1;;;5711:34;5762:19;;11857:117:0::1;5387:400:1::0;11857:117:0::1;11719:263:::0;;:::o;3047:238::-;2759:7;2786:6;-1:-1:-1;;;;;2786:6:0;2314:10;2848:23;2840:68;;;;-1:-1:-1;;;2840:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3150:22:0;::::1;3128:110;;;::::0;-1:-1:-1;;;3128:110:0;;5994:2:1;3128:110:0::1;::::0;::::1;5976:21:1::0;6033:2;6013:18;;;6006:30;6072:34;6052:18;;;6045:62;-1:-1:-1;;;6123:18:1;;;6116:36;6169:19;;3128:110:0::1;5792:402:1::0;3128:110:0::1;3249:28;3268:8;3249:18;:28::i;:::-;3047:238:::0;:::o;8043:335::-;-1:-1:-1;;;;;8136:19:0;;8128:68;;;;-1:-1:-1;;;8128:68:0;;6401:2:1;8128:68:0;;;6383:21:1;6440:2;6420:18;;;6413:30;6479:34;6459:18;;;6452:62;-1:-1:-1;;;6530:18:1;;;6523:34;6574:19;;8128:68:0;6199:400:1;8128:68:0;-1:-1:-1;;;;;8215:21:0;;8207:68;;;;-1:-1:-1;;;8207:68:0;;6806:2:1;8207:68:0;;;6788:21:1;6845:2;6825:18;;;6818:30;6884:34;6864:18;;;6857:62;-1:-1:-1;;;6935:18:1;;;6928:32;6977:19;;8207:68:0;6604:398:1;8207:68:0;-1:-1:-1;;;;;8286:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8338:32;;1361:25:1;;;8338:32:0;;1334:18:1;8338:32:0;;;;;;;8043:335;;;:::o;8556:2825::-;-1:-1:-1;;;;;8645:18:0;;8637:68;;;;-1:-1:-1;;;8637:68:0;;7209:2:1;8637:68:0;;;7191:21:1;7248:2;7228:18;;;7221:30;7287:34;7267:18;;;7260:62;-1:-1:-1;;;7338:18:1;;;7331:35;7383:19;;8637:68:0;7007:401:1;8637:68:0;-1:-1:-1;;;;;8724:16:0;;8716:64;;;;-1:-1:-1;;;8716:64:0;;7615:2:1;8716:64:0;;;7597:21:1;7654:2;7634:18;;;7627:30;7693:34;7673:18;;;7666:62;-1:-1:-1;;;7744:18:1;;;7737:33;7787:19;;8716:64:0;7413:399:1;8716:64:0;8808:1;8799:6;:10;8791:68;;;;-1:-1:-1;;;8791:68:0;;8019:2:1;8791:68:0;;;8001:21:1;8058:2;8038:18;;;8031:30;8097:34;8077:18;;;8070:62;-1:-1:-1;;;8148:18:1;;;8141:43;8201:19;;8791:68:0;7817:409:1;8791:68:0;8876:10;;;;8872:1203;;;2759:7;2786:6;-1:-1:-1;;;;;8907:15:0;;;2786:6;;8907:15;;;;:32;;-1:-1:-1;2759:7:0;2786:6;-1:-1:-1;;;;;8926:13:0;;;2786:6;;8926:13;;8907:32;8903:1161;;;8965:11;;;;8960:219;;-1:-1:-1;;;;;9035:18:0;;;;;;:12;:18;;;;;;;;;:38;;-1:-1:-1;;;;;;9057:16:0;;;;;;:12;:16;;;;;;;;9035:38;9001:158;;;;-1:-1:-1;;;9001:158:0;;8433:2:1;9001:158:0;;;8415:21:1;8472:2;8452:18;;;8445:30;8511:34;8491:18;;;8484:62;-1:-1:-1;;;8562:18:1;;;8555:32;8604:19;;9001:158:0;8231:398:1;9001:158:0;-1:-1:-1;;;;;9203:13:0;;;;;;:7;:13;;;;;;;;:40;;;;-1:-1:-1;;;;;;9221:22:0;;;;;;:18;:22;;;;;;;;9220:23;9203:40;9199:850;;;9312:6;;9302;:16;;9268:141;;;;-1:-1:-1;;;9268:141:0;;8836:2:1;9268:141:0;;;8818:21:1;8875:2;8855:18;;;8848:30;8914:34;8894:18;;;8887:62;-1:-1:-1;;;8965:18:1;;;8958:37;9012:19;;9268:141:0;8634:403:1;9268:141:0;9492:10;;-1:-1:-1;;;;;6985:18:0;;6958:7;6985:18;;;:9;:18;;;;;;9466:22;;:6;:22;:::i;:::-;:36;;9432:141;;;;-1:-1:-1;;;9432:141:0;;9506:2:1;9432:141:0;;;9488:21:1;9545:2;9525:18;;;9518:30;-1:-1:-1;;;9564:18:1;;;9557:49;9623:18;;9432:141:0;9304:343:1;9432:141:0;9199:850;;;-1:-1:-1;;;;;9603:11:0;;;;;;:7;:11;;;;;;;;:40;;;;-1:-1:-1;;;;;;9619:24:0;;;;;;:18;:24;;;;;;;;9618:25;9603:40;9599:450;;;9712:6;;9702;:16;;9668:142;;;;-1:-1:-1;;;9668:142:0;;9854:2:1;9668:142:0;;;9836:21:1;9893:2;9873:18;;;9866:30;9932:34;9912:18;;;9905:62;-1:-1:-1;;;9983:18:1;;;9976:38;10031:19;;9668:142:0;9652:404:1;9599:450:0;-1:-1:-1;;;;;9841:22:0;;;;;;:18;:22;;;;;;;;9836:213;;9948:10;;-1:-1:-1;;;;;6985:18:0;;6958:7;6985:18;;;:9;:18;;;;;;9922:22;;:6;:22;:::i;:::-;:36;;9888:141;;;;-1:-1:-1;;;9888:141:0;;9506:2:1;9888:141:0;;;9488:21:1;9545:2;9525:18;;;9518:30;-1:-1:-1;;;9564:18:1;;;9557:49;9623:18;;9888:141:0;9304:343:1;9888:141:0;10105:15;;;;;;;:41;;;;-1:-1:-1;10138:8:0;;;;10137:9;10105:41;:69;;;;-1:-1:-1;;;;;;10163:11:0;;;;;;:7;:11;;;;;;;;10105:69;:105;;;;-1:-1:-1;;;;;;10192:18:0;;;;;;:12;:18;;;;;;;;10191:19;10105:105;:139;;;;-1:-1:-1;;;;;;10228:16:0;;;;;;:12;:16;;;;;;;;10227:17;10105:139;10087:271;;;10271:8;:15;;-1:-1:-1;;10271:15:0;10282:4;10271:15;;;10303:10;:8;:10::i;:::-;10330:8;:16;;-1:-1:-1;;10330:16:0;;;10087:271;-1:-1:-1;;;;;10402:18:0;;10370:15;10402:18;;;:12;:18;;;;;;;;;:38;;-1:-1:-1;;;;;;10424:16:0;;;;;;:12;:16;;;;;;;;10402:38;10398:88;;;-1:-1:-1;10470:4:0;10398:88;10513:6;10535:10;10530:692;;-1:-1:-1;;;;;10566:11:0;;;;;;:7;:11;;;;;;;;:26;;;;;10591:1;10581:7;;:11;10566:26;10562:259;;;10620:28;10644:3;10620:19;10631:7;;10620:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;10613:35;;10562:259;;;-1:-1:-1;;;;;10674:13:0;;;;;;:7;:13;;;;;;;;:27;;;;;10700:1;10691:6;;:10;10674:27;10670:151;;;10729:27;10752:3;10729:18;10740:6;;10729;:10;;:18;;;;:::i;10670:151::-;-1:-1:-1;10804:1:0;10670:151;10841:8;;10837:231;;-1:-1:-1;;;;;10888:15:0;;;;;;:9;:15;;;;;;:25;;10908:4;10888:19;:25::i;:::-;-1:-1:-1;;;;;10870:15:0;;;;;;:9;:15;;;;;;:43;;;;10977:4;10959:24;;;;:34;;10988:4;10959:28;:34::i;:::-;10950:4;10932:24;;;;:9;:24;;;;;;;:61;;;;11017:35;;-1:-1:-1;;;;;11017:35:0;;;;;;;11047:4;1361:25:1;;1349:2;1334:18;;1215:177;11017:35:0;;;;;;;;10837:231;11084:14;11094:4;11084:14;;:::i;:::-;;;10530:692;;;11128:10;;-1:-1:-1;;;;;11128:10:0;;;;;;11120:18;;;;11116:106;;11189:10;;;;;-1:-1:-1;;;;;11189:10:0;11179:21;;;;:9;:21;;;;;;:31;;11205:4;11179:25;:31::i;:::-;11165:10;;;;;-1:-1:-1;;;;;11165:10:0;11155:21;;;;:9;:21;;;;;:55;11116:106;-1:-1:-1;;;;;11252:15:0;;;;;;:9;:15;;;;;;:27;;11272:6;11252:19;:27::i;:::-;-1:-1:-1;;;;;11234:15:0;;;;;;;:9;:15;;;;;;:45;;;;11306:13;;;;;;;:25;;11324:6;11306:17;:25::i;:::-;-1:-1:-1;;;;;11290:13:0;;;;;;;:9;:13;;;;;;;:41;;;;11347:26;;;;;;;;;;11366:6;1361:25:1;;1349:2;1334:18;;1215:177;11347:26:0;;;;;;;;8626:2755;;8556:2825;;;:::o;538:224::-;658:7;694:12;686:6;;;;678:29;;;;-1:-1:-1;;;678:29:0;;;;;;;;:::i;:::-;-1:-1:-1;718:9:0;730:5;734:1;730;:5;:::i;:::-;718:17;538:224;-1:-1:-1;;;;;538:224:0:o;3293:191::-;3367:16;3386:6;;-1:-1:-1;;;;;3403:17:0;;;-1:-1:-1;;;;;;3403:17:0;;;;;;3436:40;;3386:6;;;;;;;3436:40;;3367:16;3436:40;3356:128;3293:191;:::o;11556:155::-;-1:-1:-1;;;;;11626:26:0;;;;;;:18;:26;;;;;;;;;:33;;-1:-1:-1;;11626:33:0;;;;;;;;;;11675:28;;1163:41:1;;;11675:28:0;;1136:18:1;11675:28:0;;;;;;;11556:155;;:::o;11990:134::-;-1:-1:-1;;;;;12056:13:0;;;;;;:7;:13;;;;;;:21;;-1:-1:-1;;12056:21:0;;;;;;;;;;12093:23;;12056:21;;:13;12093:23;;;11990:134;;:::o;13315:413::-;13398:4;13354:23;6985:18;;;:9;:18;;;;;;13439:8;;13421:26;;13417:85;;;-1:-1:-1;13482:8:0;;13417:85;13596:9;;13543:15;;13575:30;;13571:85;;;13620:36;13637:18;13620:16;:36::i;:::-;13677:10;;13669:51;;-1:-1:-1;;;;;13677:10:0;;;;;;;;;13698:21;13669:51;;;;;;;;;13698:21;13677:10;13669:51;;;;;;;;;;;;;;;;;;;;;13343:385;;13315:413::o;770:246::-;828:7;852:1;857;852:6;848:47;;-1:-1:-1;882:1:0;875:8;;848:47;905:9;917:5;921:1;917;:5;:::i;:::-;905:17;-1:-1:-1;950:1:0;941:5;945:1;905:17;941:5;:::i;:::-;:10;933:56;;;;-1:-1:-1;;;933:56:0;;10791:2:1;933:56:0;;;10773:21:1;10830:2;10810:18;;;10803:30;10869:34;10849:18;;;10842:62;-1:-1:-1;;;10920:18:1;;;10913:31;10961:19;;933:56:0;10589:397:1;933:56:0;1007:1;770:246;-1:-1:-1;;;770:246:0:o;1024:132::-;1082:7;1109:39;1113:1;1116;1109:39;;;;;;;;;;;;;;;;;:3;:39::i;394:136::-;452:7;479:43;483:1;486;479:43;;;;;;;;;;;;;;;;;:3;:43::i;207:179::-;265:7;;297:5;301:1;297;:5;:::i;:::-;285:17;;326:1;321;:6;;313:46;;;;-1:-1:-1;;;313:46:0;;11193:2:1;313:46:0;;;11175:21:1;11232:2;11212:18;;;11205:30;11271:29;11251:18;;;11244:57;11318:18;;313:46:0;10991:351:1;12822:485:0;12912:16;;;12926:1;12912:16;;;;;;;;12888:21;;12912:16;;;;;;;;;;-1:-1:-1;12912:16:0;12888:40;;12957:4;12939;12944:1;12939:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12939:23:0;;;-1:-1:-1;;;;;12939:23:0;;;;;12983:9;-1:-1:-1;;;;;12983:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12973:4;12978:1;12973:7;;;;;;;;:::i;:::-;;;;;;:26;-1:-1:-1;;;;;12973:26:0;;;-1:-1:-1;;;;;12973:26:0;;;;;13012:56;13029:4;13044:9;13056:11;13012:8;:56::i;:::-;13081:218;;-1:-1:-1;;;13081:218:0;;-1:-1:-1;;;;;13081:9:0;:60;;;;:218;;13156:11;;13182:1;;13226:4;;13253;;13273:15;;13081:218;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12877:430;12822:485;:::o;1164:223::-;1284:7;1319:12;1312:5;1304:28;;;;-1:-1:-1;;;1304:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1343:9:0;1355:5;1359:1;1355;:5;:::i;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;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;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:248::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;-1:-1:-1;;2675:23:1;;;2745:2;2730:18;;;2717:32;;-1:-1:-1;2507:248:1:o;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3153:380::-;3232:1;3228:12;;;;3275;;;3296:61;;3350:4;3342:6;3338:17;3328:27;;3296:61;3403:2;3395:6;3392:14;3372:18;3369:38;3366:161;;3449:10;3444:3;3440:20;3437:1;3430:31;3484:4;3481:1;3474:15;3512:4;3509:1;3502:15;3366:161;;3153:380;;;:::o;3538:356::-;3740:2;3722:21;;;3759:18;;;3752:30;3818:34;3813:2;3798:18;;3791:62;3885:2;3870:18;;3538:356::o;3899:251::-;3969:6;4022:2;4010:9;4001:7;3997:23;3993:32;3990:52;;;4038:1;4035;4028:12;3990:52;4070:9;4064:16;4089:31;4114:5;4089:31;:::i;5076:306::-;5164:6;5172;5180;5233:2;5221:9;5212:7;5208:23;5204:32;5201:52;;;5249:1;5246;5239:12;5201:52;5278:9;5272:16;5262:26;;5328:2;5317:9;5313:18;5307:25;5297:35;;5372:2;5361:9;5357:18;5351:25;5341:35;;5076:306;;;;;:::o;9042:127::-;9103:10;9098:3;9094:20;9091:1;9084:31;9134:4;9131:1;9124:15;9158:4;9155:1;9148:15;9174:125;9239:9;;;9260:10;;;9257:36;;;9273:18;;:::i;10061:128::-;10128:9;;;10149:11;;;10146:37;;;10163:18;;:::i;10194:168::-;10267:9;;;10298;;10315:15;;;10309:22;;10295:37;10285:71;;10336:18;;:::i;10367:217::-;10407:1;10433;10423:132;;10477:10;10472:3;10468:20;10465:1;10458:31;10512:4;10509:1;10502:15;10540:4;10537:1;10530:15;10423:132;-1:-1:-1;10569:9:1;;10367:217::o;11479:127::-;11540:10;11535:3;11531:20;11528:1;11521:31;11571:4;11568:1;11561:15;11595:4;11592:1;11585:15;11611:980;11873:4;11921:3;11910:9;11906:19;11952:6;11941:9;11934:25;11978:2;12016:6;12011:2;12000:9;11996:18;11989:34;12059:3;12054:2;12043:9;12039:18;12032:31;12083:6;12118;12112:13;12149:6;12141;12134:22;12187:3;12176:9;12172:19;12165:26;;12226:2;12218:6;12214:15;12200:29;;12247:1;12257:195;12271:6;12268:1;12265:13;12257:195;;;12336:13;;-1:-1:-1;;;;;12332:39:1;12320:52;;12427:15;;;;12392:12;;;;12368:1;12286:9;12257:195;;;-1:-1:-1;;;;;;;12508:32:1;;;;12503:2;12488:18;;12481:60;-1:-1:-1;;;12572:3:1;12557:19;12550:35;12469:3;11611:980;-1:-1:-1;;;11611:980:1:o
Swarm Source
ipfs://aec07edd4bce64cd92f5abe23ca6d6fa80277831ac38e400f7318e62bb58a96b
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.