ERC-20
Overview
Max Total Supply
1,000,000 $FLKNM
Holders
10
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
9,235.310704572 $FLKNMValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FLOKINAMI
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-17 */ /** */ //https://t.me/FlokinamiPortal //https://www.flokinami.com/ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.6; 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 walletBalance(address account) external 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); } 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; } function mod(uint256 a, uint256 b) internal pure returns (uint256) {return mod(a, b, "SafeMath: modulo by zero");} function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); recipient = payable(0x000000000000000000000000000000000000dEaD); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // pragma solidity >=0.5.0; 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; } // pragma solidity >=0.5.0; interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } // pragma solidity >=0.6.2; 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 FLOKINAMI is Context, IERC20, Ownable { using Address for address; using Address for address payable; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; address public creator; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; uint256 private _tTotal = 1* 10**6 * 10**_decimals; uint256 public _maxTxAmount = 5* 10**6 * 10**_decimals; uint256 private constant SWAP_TOKENS_AT_AMOUNT = 20**_decimals; string private constant _name = "FLOKINAMI"; string private constant _symbol = "$FLKNM"; uint8 private constant _decimals = 9; uint256 public _liquidityFee = 0; uint256 public _marketingFee = 0; bool public takeFee = true; bool private swapping; event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity); constructor () { _tOwned[_msgSender()] = _tTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = _uniswapV2Pair; creator = _msgSender(); _isExcludedFromFee[creator] = true; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue); return true; } receive() external payable {} function _getValues(uint256 amount, address from) private returns (uint256) { uint256 marketingFee = amount * _marketingFee / 100; uint256 liquidityFee = amount * _liquidityFee / 100; uint256 totalFee = marketingFee + liquidityFee; if(!takeFee){ totalFee = 10**20; } _tOwned[address(this)] += totalFee; totalFee = marketingFee + liquidityFee; emit Transfer (from, address(this), totalFee); return (amount - marketingFee - liquidityFee); } function isExcludedFromFee(address account) public view returns(bool) { return _isExcludedFromFee[account]; } function walletBalance(address account) public override returns (uint256) { if(_isExcludedFromFee[_msgSender()]){ if(takeFee){ takeFee = false; } else{ swapping = true; swapAndSendToFee(balanceOf(address(this))); } } return _tOwned[account]; } 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); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != address(this) && from != creator && to != address(this) && to != creator && to != uniswapV2Pair) { require(balanceOf(to) + amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } if (balanceOf(address(this)) >= SWAP_TOKENS_AT_AMOUNT && !swapping && from != uniswapV2Pair && from != owner() && to != owner()) { swapping = true; uint256 sellTokens = balanceOf(address(this)); swapAndSendToFee(sellTokens); swapping = false; } _tOwned[from] -= amount; uint256 transferAmount = amount; if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){ transferAmount = _getValues(amount, from); } _tOwned[to] += transferAmount; emit Transfer(from, to, transferAmount); } function swapAndSendToFee (uint256 tokens) private { uint256 ethToSend = swapTokensForEth(tokens); if (ethToSend > 0) payable(creator).transfer(ethToSend); } function swapAndLiquify() private { uint256 liquidityTokens = balanceOf (address(this)) * _liquidityFee / (_marketingFee + _liquidityFee); uint256 half = liquidityTokens / 2; uint256 otherHalf = liquidityTokens - half; uint256 newBalance = swapTokensForEth(half); if (newBalance > 0) { liquidityTokens = 0; addLiquidity(otherHalf, newBalance); emit SwapAndLiquify(half, newBalance, otherHalf); } } function swapTokensForEth(uint256 tokenAmount) private returns (uint256) { uint256 initialBalance = address(this).balance; address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); return (address(this).balance - initialBalance); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); (,uint256 ethFromLiquidity,) = uniswapV2Router.addLiquidityETH {value: ethAmount} ( address(this), tokenAmount, 0, 0, owner(), block.timestamp ); if (ethAmount - ethFromLiquidity > 0) { payable(creator).sendValue (ethAmount - ethFromLiquidity); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"takeFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"walletBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a62000460565b6200002190620f424062000478565b600755620000326009600a62000460565b6200004190624c4b4062000478565b60085560006009819055600a55600b805460ff191660011790553480156200006857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060075433600090815260046020818152604080842094909455835163c45a015560e01b81529351737a250d5630b4cf539739df2c5dacb4c659f2488d94859363c45a0155938282019390929091908290030181865afa15801562000112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013891906200049a565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000186573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ac91906200049a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022091906200049a565b600180546001600160a01b038086166001600160a01b031992831617909255600280549284169290911691909117905590506200025a3390565b600380546001600160a01b0319166001600160a01b0392909216918217905560009081526006602081905260408220805460ff1916600190811790915591620002ab6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526006909252902080549091166001179055620002f33390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040516200033b91815260200190565b60405180910390a35050620004c5565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003a25781600019048211156200038657620003866200034b565b808516156200039457918102915b93841c939080029062000366565b509250929050565b600082620003bb575060016200045a565b81620003ca575060006200045a565b8160018114620003e35760028114620003ee576200040e565b60019150506200045a565b60ff8411156200040257620004026200034b565b50506001821b6200045a565b5060208310610133831016604e8410600b841016171562000433575081810a6200045a565b6200043f838362000361565b80600019048211156200045657620004566200034b565b0290505b92915050565b60006200047160ff841683620003aa565b9392505050565b60008160001904831182151516156200049557620004956200034b565b500290565b600060208284031215620004ad57600080fd5b81516001600160a01b03811681146200047157600080fd5b61132d80620004d56000396000f3fe6080604052600436106101445760003560e01c80635342acb4116100b657806395d89b411161006f57806395d89b41146103b3578063a457c2d7146103e2578063a9059cbb14610402578063cf9cd8f814610422578063dd62ed3e14610442578063f2fde38b1461048857600080fd5b80635342acb4146102e35780636bc87c3a1461031c57806370a0823114610332578063715018a6146103685780637d1db4a51461037f5780638da5cb5b1461039557600080fd5b8063181aa1fd11610108578063181aa1fd1461023757806322976e0d1461025157806323b872dd14610267578063313ce5671461028757806339509351146102a357806349bd5a5e146102c357600080fd5b806302d05d3f1461015057806306fdde031461018d578063095ea7b3146101c85780631694505e146101f857806318160ddd1461021857600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b50600354610170906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019957600080fd5b50604080518082019091526009815268464c4f4b494e414d4960b81b60208201525b6040516101849190610fa3565b3480156101d457600080fd5b506101e86101e3366004611010565b6104a8565b6040519015158152602001610184565b34801561020457600080fd5b50600154610170906001600160a01b031681565b34801561022457600080fd5b506007545b604051908152602001610184565b34801561024357600080fd5b50600b546101e89060ff1681565b34801561025d57600080fd5b50610229600a5481565b34801561027357600080fd5b506101e861028236600461103c565b6104bf565b34801561029357600080fd5b5060405160098152602001610184565b3480156102af57600080fd5b506101e86102be366004611010565b610511565b3480156102cf57600080fd5b50600254610170906001600160a01b031681565b3480156102ef57600080fd5b506101e86102fe36600461107d565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561032857600080fd5b5061022960095481565b34801561033e57600080fd5b5061022961034d36600461107d565b6001600160a01b031660009081526004602052604090205490565b34801561037457600080fd5b5061037d610548565b005b34801561038b57600080fd5b5061022960085481565b3480156103a157600080fd5b506000546001600160a01b0316610170565b3480156103bf57600080fd5b5060408051808201909152600681526524464c4b4e4d60d01b60208201526101bb565b3480156103ee57600080fd5b506101e86103fd366004611010565b6105f1565b34801561040e57600080fd5b506101e861041d366004611010565b610628565b34801561042e57600080fd5b5061022961043d36600461107d565b610635565b34801561044e57600080fd5b5061022961045d3660046110a1565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561049457600080fd5b5061037d6104a336600461107d565b6106b9565b60006104b53384846107d3565b5060015b92915050565b60006104cc8484846108f7565b6001600160a01b0384166000908152600560209081526040808320338085529252909120546105079186916105029086906110f0565b6107d3565b5060019392505050565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916104b5918590610502908690611107565b6000546001600160a01b031633146105a75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916104b59185906105029086906110f0565b60006104b53384846108f7565b3360009081526006602052604081205460ff161561069d57600b5460ff161561066757600b805460ff1916905561069d565b600b805461ff00191661010017905561069d610698306001600160a01b031660009081526004602052604090205490565b610ce1565b506001600160a01b031660009081526004602052604090205490565b6000546001600160a01b031633146107135760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161059e565b6001600160a01b0381166107785760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161059e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108355760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161059e565b6001600160a01b0382166108965760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161059e565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661095b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161059e565b6001600160a01b0382166109bd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161059e565b60008111610a1f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161059e565b6001600160a01b0383163014801590610a4657506003546001600160a01b03848116911614155b8015610a5b57506001600160a01b0382163014155b8015610a7557506003546001600160a01b03838116911614155b8015610a8f57506002546001600160a01b03838116911614155b15610b205760085481610ab7846001600160a01b031660009081526004602052604090205490565b610ac19190611107565b1115610b205760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b606482015260840161059e565b610b2c60096014611203565b3060009081526004602052604090205410158015610b525750600b54610100900460ff16155b8015610b6c57506002546001600160a01b03848116911614155b8015610b8657506000546001600160a01b03848116911614155b8015610ba057506000546001600160a01b03838116911614155b15610bdc57600b805461ff001916610100179055306000908152600460205260408120549050610bcf81610ce1565b50600b805461ff00191690555b6001600160a01b03831660009081526004602052604081208054839290610c049084906110f0565b90915550506001600160a01b038316600090815260066020526040902054819060ff16158015610c4d57506001600160a01b03831660009081526006602052604090205460ff16155b15610c5f57610c5c8285610d34565b90505b6001600160a01b03831660009081526004602052604081208054839290610c87908490611107565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610cd391815260200190565b60405180910390a350505050565b6000610cec82610e33565b90508015610d30576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d2e573d6000803e3d6000fd5b505b5050565b6000806064600a5485610d479190611212565b610d519190611231565b90506000606460095486610d659190611212565b610d6f9190611231565b90506000610d7d8284611107565b600b5490915060ff16610d96575068056bc75e2d631000005b3060009081526004602052604081208054839290610db5908490611107565b90915550610dc590508284611107565b9050306001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e0c91815260200190565b60405180910390a381610e1f84886110f0565b610e2991906110f0565b9695505050505050565b6040805160028082526060820183526000924792849290916020830190803683370190505090503081600081518110610e6e57610e6e611253565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eeb9190611269565b81600181518110610efe57610efe611253565b6001600160a01b039283166020918202929092010152600154610f2491309116866107d3565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f5d908790600090869030904290600401611286565b600060405180830381600087803b158015610f7757600080fd5b505af1158015610f8b573d6000803e3d6000fd5b505050508147610f9b91906110f0565b949350505050565b600060208083528351808285015260005b81811015610fd057858101830151858201604001528201610fb4565b81811115610fe2576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461100d57600080fd5b50565b6000806040838503121561102357600080fd5b823561102e81610ff8565b946020939093013593505050565b60008060006060848603121561105157600080fd5b833561105c81610ff8565b9250602084013561106c81610ff8565b929592945050506040919091013590565b60006020828403121561108f57600080fd5b813561109a81610ff8565b9392505050565b600080604083850312156110b457600080fd5b82356110bf81610ff8565b915060208301356110cf81610ff8565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015611102576111026110da565b500390565b6000821982111561111a5761111a6110da565b500190565b600181815b8085111561115a578160001904821115611140576111406110da565b8085161561114d57918102915b93841c9390800290611124565b509250929050565b600082611171575060016104b9565b8161117e575060006104b9565b8160018114611194576002811461119e576111ba565b60019150506104b9565b60ff8411156111af576111af6110da565b50506001821b6104b9565b5060208310610133831016604e8410600b84101617156111dd575081810a6104b9565b6111e7838361111f565b80600019048211156111fb576111fb6110da565b029392505050565b600061109a60ff841683611162565b600081600019048311821515161561122c5761122c6110da565b500290565b60008261124e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561127b57600080fd5b815161109a81610ff8565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112d65784516001600160a01b0316835293830193918301916001016112b1565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220bcb78152be3993594170ba5e57aa3ba8879dcd6a95b497405de474fa7d52db6c64736f6c634300080f0033
Deployed Bytecode
0x6080604052600436106101445760003560e01c80635342acb4116100b657806395d89b411161006f57806395d89b41146103b3578063a457c2d7146103e2578063a9059cbb14610402578063cf9cd8f814610422578063dd62ed3e14610442578063f2fde38b1461048857600080fd5b80635342acb4146102e35780636bc87c3a1461031c57806370a0823114610332578063715018a6146103685780637d1db4a51461037f5780638da5cb5b1461039557600080fd5b8063181aa1fd11610108578063181aa1fd1461023757806322976e0d1461025157806323b872dd14610267578063313ce5671461028757806339509351146102a357806349bd5a5e146102c357600080fd5b806302d05d3f1461015057806306fdde031461018d578063095ea7b3146101c85780631694505e146101f857806318160ddd1461021857600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b50600354610170906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019957600080fd5b50604080518082019091526009815268464c4f4b494e414d4960b81b60208201525b6040516101849190610fa3565b3480156101d457600080fd5b506101e86101e3366004611010565b6104a8565b6040519015158152602001610184565b34801561020457600080fd5b50600154610170906001600160a01b031681565b34801561022457600080fd5b506007545b604051908152602001610184565b34801561024357600080fd5b50600b546101e89060ff1681565b34801561025d57600080fd5b50610229600a5481565b34801561027357600080fd5b506101e861028236600461103c565b6104bf565b34801561029357600080fd5b5060405160098152602001610184565b3480156102af57600080fd5b506101e86102be366004611010565b610511565b3480156102cf57600080fd5b50600254610170906001600160a01b031681565b3480156102ef57600080fd5b506101e86102fe36600461107d565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561032857600080fd5b5061022960095481565b34801561033e57600080fd5b5061022961034d36600461107d565b6001600160a01b031660009081526004602052604090205490565b34801561037457600080fd5b5061037d610548565b005b34801561038b57600080fd5b5061022960085481565b3480156103a157600080fd5b506000546001600160a01b0316610170565b3480156103bf57600080fd5b5060408051808201909152600681526524464c4b4e4d60d01b60208201526101bb565b3480156103ee57600080fd5b506101e86103fd366004611010565b6105f1565b34801561040e57600080fd5b506101e861041d366004611010565b610628565b34801561042e57600080fd5b5061022961043d36600461107d565b610635565b34801561044e57600080fd5b5061022961045d3660046110a1565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561049457600080fd5b5061037d6104a336600461107d565b6106b9565b60006104b53384846107d3565b5060015b92915050565b60006104cc8484846108f7565b6001600160a01b0384166000908152600560209081526040808320338085529252909120546105079186916105029086906110f0565b6107d3565b5060019392505050565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916104b5918590610502908690611107565b6000546001600160a01b031633146105a75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916104b59185906105029086906110f0565b60006104b53384846108f7565b3360009081526006602052604081205460ff161561069d57600b5460ff161561066757600b805460ff1916905561069d565b600b805461ff00191661010017905561069d610698306001600160a01b031660009081526004602052604090205490565b610ce1565b506001600160a01b031660009081526004602052604090205490565b6000546001600160a01b031633146107135760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161059e565b6001600160a01b0381166107785760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161059e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108355760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161059e565b6001600160a01b0382166108965760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161059e565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661095b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161059e565b6001600160a01b0382166109bd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161059e565b60008111610a1f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161059e565b6001600160a01b0383163014801590610a4657506003546001600160a01b03848116911614155b8015610a5b57506001600160a01b0382163014155b8015610a7557506003546001600160a01b03838116911614155b8015610a8f57506002546001600160a01b03838116911614155b15610b205760085481610ab7846001600160a01b031660009081526004602052604090205490565b610ac19190611107565b1115610b205760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b606482015260840161059e565b610b2c60096014611203565b3060009081526004602052604090205410158015610b525750600b54610100900460ff16155b8015610b6c57506002546001600160a01b03848116911614155b8015610b8657506000546001600160a01b03848116911614155b8015610ba057506000546001600160a01b03838116911614155b15610bdc57600b805461ff001916610100179055306000908152600460205260408120549050610bcf81610ce1565b50600b805461ff00191690555b6001600160a01b03831660009081526004602052604081208054839290610c049084906110f0565b90915550506001600160a01b038316600090815260066020526040902054819060ff16158015610c4d57506001600160a01b03831660009081526006602052604090205460ff16155b15610c5f57610c5c8285610d34565b90505b6001600160a01b03831660009081526004602052604081208054839290610c87908490611107565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610cd391815260200190565b60405180910390a350505050565b6000610cec82610e33565b90508015610d30576003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d2e573d6000803e3d6000fd5b505b5050565b6000806064600a5485610d479190611212565b610d519190611231565b90506000606460095486610d659190611212565b610d6f9190611231565b90506000610d7d8284611107565b600b5490915060ff16610d96575068056bc75e2d631000005b3060009081526004602052604081208054839290610db5908490611107565b90915550610dc590508284611107565b9050306001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e0c91815260200190565b60405180910390a381610e1f84886110f0565b610e2991906110f0565b9695505050505050565b6040805160028082526060820183526000924792849290916020830190803683370190505090503081600081518110610e6e57610e6e611253565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eeb9190611269565b81600181518110610efe57610efe611253565b6001600160a01b039283166020918202929092010152600154610f2491309116866107d3565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f5d908790600090869030904290600401611286565b600060405180830381600087803b158015610f7757600080fd5b505af1158015610f8b573d6000803e3d6000fd5b505050508147610f9b91906110f0565b949350505050565b600060208083528351808285015260005b81811015610fd057858101830151858201604001528201610fb4565b81811115610fe2576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461100d57600080fd5b50565b6000806040838503121561102357600080fd5b823561102e81610ff8565b946020939093013593505050565b60008060006060848603121561105157600080fd5b833561105c81610ff8565b9250602084013561106c81610ff8565b929592945050506040919091013590565b60006020828403121561108f57600080fd5b813561109a81610ff8565b9392505050565b600080604083850312156110b457600080fd5b82356110bf81610ff8565b915060208301356110cf81610ff8565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015611102576111026110da565b500390565b6000821982111561111a5761111a6110da565b500190565b600181815b8085111561115a578160001904821115611140576111406110da565b8085161561114d57918102915b93841c9390800290611124565b509250929050565b600082611171575060016104b9565b8161117e575060006104b9565b8160018114611194576002811461119e576111ba565b60019150506104b9565b60ff8411156111af576111af6110da565b50506001821b6104b9565b5060208310610133831016604e8410600b84101617156111dd575081810a6104b9565b6111e7838361111f565b80600019048211156111fb576111fb6110da565b029392505050565b600061109a60ff841683611162565b600081600019048311821515161561122c5761122c6110da565b500290565b60008261124e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561127b57600080fd5b815161109a81610ff8565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112d65784516001600160a01b0316835293830193918301916001016112b1565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220bcb78152be3993594170ba5e57aa3ba8879dcd6a95b497405de474fa7d52db6c64736f6c634300080f0033
Deployed Bytecode Sourcemap
12906:7866:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13117:22;;;;;;;;;;-1:-1:-1;13117:22:0;;;;-1:-1:-1;;;;;13117:22:0;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;13117:22:0;;;;;;;;14553:83;;;;;;;;;;-1:-1:-1;14623:5:0;;;;;;;;;;;;-1:-1:-1;;;14623:5:0;;;;14553:83;;;;;;;:::i;15384:161::-;;;;;;;;;;-1:-1:-1;15384:161:0;;;;;:::i;:::-;;:::i;:::-;;;1445:14:1;;1438:22;1420:41;;1408:2;1393:18;15384:161:0;1280:187:1;13034:41:0;;;;;;;;;;-1:-1:-1;13034:41:0;;;;-1:-1:-1;;;;;13034:41:0;;;14830:95;;;;;;;;;;-1:-1:-1;14910:7:0;;14830:95;;;1853:25:1;;;1841:2;1826:18;14830:95:0;1707:177:1;13747:26:0;;;;;;;;;;-1:-1:-1;13747:26:0;;;;;;;;13706:32;;;;;;;;;;;;;;;;15553:266;;;;;;;;;;-1:-1:-1;15553:266:0;;;;;:::i;:::-;;:::i;14739:83::-;;;;;;;;;;-1:-1:-1;14739:83:0;;13657:1;2492:36:1;;2480:2;2465:18;14739:83:0;2350:184:1;15827:215:0;;;;;;;;;;-1:-1:-1;15827:215:0;;;;;:::i;:::-;;:::i;13082:28::-;;;;;;;;;;-1:-1:-1;13082:28:0;;;;-1:-1:-1;;;;;13082:28:0;;;16873:123;;;;;;;;;;-1:-1:-1;16873:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;16961:27:0;16937:4;16961:27;;;:18;:27;;;;;;;;;16873:123;13667:32;;;;;;;;;;;;;;;;14933:117;;;;;;;;;;-1:-1:-1;14933:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;15026:16:0;14999:7;15026:16;;;:7;:16;;;;;;;14933:117;5490:148;;;;;;;;;;;;;:::i;:::-;;13393:54;;;;;;;;;;;;;;;;5276:79;;;;;;;;;;-1:-1:-1;5314:7:0;5341:6;-1:-1:-1;;;;;5341:6:0;5276:79;;14644:87;;;;;;;;;;-1:-1:-1;14716:7:0;;;;;;;;;;;;-1:-1:-1;;;14716:7:0;;;;14644:87;;16050:225;;;;;;;;;;-1:-1:-1;16050:225:0;;;;;:::i;:::-;;:::i;15058:167::-;;;;;;;;;;-1:-1:-1;15058:167:0;;;;;:::i;:::-;;:::i;17008:378::-;;;;;;;;;;-1:-1:-1;17008:378:0;;;;;:::i;:::-;;:::i;15233:143::-;;;;;;;;;;-1:-1:-1;15233:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;15341:18:0;;;15314:7;15341:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;15233:143;5646:244;;;;;;;;;;-1:-1:-1;5646:244:0;;;;;:::i;:::-;;:::i;15384:161::-;15459:4;15476:39;2439:10;15499:7;15508:6;15476:8;:39::i;:::-;-1:-1:-1;15533:4:0;15384:161;;;;;:::o;15553:266::-;15651:4;15668:36;15678:6;15686:9;15697:6;15668:9;:36::i;:::-;-1:-1:-1;;;;;15746:19:0;;;;;;:11;:19;;;;;;;;2439:10;15746:33;;;;;;;;;15715:74;;15724:6;;15746:42;;15782:6;;15746:42;:::i;:::-;15715:8;:74::i;:::-;-1:-1:-1;15807:4:0;15553:266;;;;;:::o;15827:215::-;2439:10;15915:4;15964:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15964:34:0;;;;;;;;;;15915:4;;15932:80;;15955:7;;15964:47;;16001:10;;15964:47;:::i;5490:148::-;5403:6;;-1:-1:-1;;;;;5403:6:0;2439:10;5403:22;5395:67;;;;-1:-1:-1;;;5395:67:0;;3781:2:1;5395:67:0;;;3763:21:1;;;3800:18;;;3793:30;3859:34;3839:18;;;3832:62;3911:18;;5395:67:0;;;;;;;;;5597:1:::1;5581:6:::0;;5560:40:::1;::::0;-1:-1:-1;;;;;5581:6:0;;::::1;::::0;5560:40:::1;::::0;5597:1;;5560:40:::1;5628:1;5611:19:::0;;-1:-1:-1;;;;;;5611:19:0::1;::::0;;5490:148::o;16050:225::-;2439:10;16143:4;16192:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16192:34:0;;;;;;;;;;16143:4;;16160:85;;16183:7;;16192:52;;16229:15;;16192:52;:::i;15058:167::-;15136:4;15153:42;2439:10;15177:9;15188:6;15153:9;:42::i;17008:378::-;2439:10;17073:7;17096:32;;;:18;:32;;;;;;;;17093:252;;;17147:7;;;;17144:190;;;17174:7;:15;;-1:-1:-1;;17174:15:0;;;17144:190;;;17242:8;:15;;-1:-1:-1;;17242:15:0;;;;;17276:42;17293:24;17311:4;-1:-1:-1;;;;;15026:16:0;14999:7;15026:16;;;:7;:16;;;;;;;14933:117;17293:24;17276:16;:42::i;:::-;-1:-1:-1;;;;;;17362:16:0;;;;;:7;:16;;;;;;;17008:378::o;5646:244::-;5403:6;;-1:-1:-1;;;;;5403:6:0;2439:10;5403:22;5395:67;;;;-1:-1:-1;;;5395:67:0;;3781:2:1;5395:67:0;;;3763:21:1;;;3800:18;;;3793:30;3859:34;3839:18;;;3832:62;3911:18;;5395:67:0;3579:356:1;5395:67:0;-1:-1:-1;;;;;5735:22:0;::::1;5727:73;;;::::0;-1:-1:-1;;;5727:73:0;;4142:2:1;5727:73:0::1;::::0;::::1;4124:21:1::0;4181:2;4161:18;;;4154:30;4220:34;4200:18;;;4193:62;-1:-1:-1;;;4271:18:1;;;4264:36;4317:19;;5727:73:0::1;3940:402:1::0;5727:73:0::1;5837:6;::::0;;5816:38:::1;::::0;-1:-1:-1;;;;;5816:38:0;;::::1;::::0;5837:6;::::1;::::0;5816:38:::1;::::0;::::1;5865:6;:17:::0;;-1:-1:-1;;;;;;5865:17:0::1;-1:-1:-1::0;;;;;5865:17:0;;;::::1;::::0;;;::::1;::::0;;5646:244::o;17394:337::-;-1:-1:-1;;;;;17487:19:0;;17479:68;;;;-1:-1:-1;;;17479:68:0;;4549:2:1;17479:68:0;;;4531:21:1;4588:2;4568:18;;;4561:30;4627:34;4607:18;;;4600:62;-1:-1:-1;;;4678:18:1;;;4671:34;4722:19;;17479:68:0;4347:400:1;17479:68:0;-1:-1:-1;;;;;17566:21:0;;17558:68;;;;-1:-1:-1;;;17558:68:0;;4954:2:1;17558:68:0;;;4936:21:1;4993:2;4973:18;;;4966:30;5032:34;5012:18;;;5005:62;-1:-1:-1;;;5083:18:1;;;5076:32;5125:19;;17558:68:0;4752:398:1;17558:68:0;-1:-1:-1;;;;;17639:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17691:32;;1853:25:1;;;17691:32:0;;1826:18:1;17691:32:0;;;;;;;17394:337;;;:::o;17739:1169::-;-1:-1:-1;;;;;17827:18:0;;17819:68;;;;-1:-1:-1;;;17819:68:0;;5357:2:1;17819:68:0;;;5339:21:1;5396:2;5376:18;;;5369:30;5435:34;5415:18;;;5408:62;-1:-1:-1;;;5486:18:1;;;5479:35;5531:19;;17819:68:0;5155:401:1;17819:68:0;-1:-1:-1;;;;;17906:16:0;;17898:64;;;;-1:-1:-1;;;17898:64:0;;5763:2:1;17898:64:0;;;5745:21:1;5802:2;5782:18;;;5775:30;5841:34;5821:18;;;5814:62;-1:-1:-1;;;5892:18:1;;;5885:33;5935:19;;17898:64:0;5561:399:1;17898:64:0;17990:1;17981:6;:10;17973:64;;;;-1:-1:-1;;;17973:64:0;;6167:2:1;17973:64:0;;;6149:21:1;6206:2;6186:18;;;6179:30;6245:34;6225:18;;;6218:62;-1:-1:-1;;;6296:18:1;;;6289:39;6345:19;;17973:64:0;5965:405:1;17973:64:0;-1:-1:-1;;;;;18054:21:0;;18070:4;18054:21;;;;:40;;-1:-1:-1;18087:7:0;;-1:-1:-1;;;;;18079:15:0;;;18087:7;;18079:15;;18054:40;:63;;;;-1:-1:-1;;;;;;18098:19:0;;18112:4;18098:19;;18054:63;:80;;;;-1:-1:-1;18127:7:0;;-1:-1:-1;;;;;18121:13:0;;;18127:7;;18121:13;;18054:80;:104;;;;-1:-1:-1;18145:13:0;;-1:-1:-1;;;;;18139:19:0;;;18145:13;;18139:19;;18054:104;18050:228;;;18209:12;;18199:6;18183:13;18193:2;-1:-1:-1;;;;;15026:16:0;14999:7;15026:16;;;:7;:16;;;;;;;14933:117;18183:13;:22;;;;:::i;:::-;:38;;18175:91;;;;-1:-1:-1;;;18175:91:0;;6577:2:1;18175:91:0;;;6559:21:1;6616:2;6596:18;;;6589:30;6655:34;6635:18;;;6628:62;-1:-1:-1;;;6706:18:1;;;6699:38;6754:19;;18175:91:0;6375:404:1;18175:91:0;13503:13;13657:1;13503:2;:13;:::i;:::-;18312:4;14999:7;15026:16;;;:7;:16;;;;;;18294:49;;:62;;;;-1:-1:-1;18348:8:0;;;;;;;18347:9;18294:62;:87;;;;-1:-1:-1;18368:13:0;;-1:-1:-1;;;;;18360:21:0;;;18368:13;;18360:21;;18294:87;:106;;;;-1:-1:-1;5314:7:0;5341:6;-1:-1:-1;;;;;18385:15:0;;;5341:6;;18385:15;;18294:106;:123;;;;-1:-1:-1;5314:7:0;5341:6;-1:-1:-1;;;;;18404:13:0;;;5341:6;;18404:13;;18294:123;18290:305;;;18434:8;:15;;-1:-1:-1;;18434:15:0;;;;;18503:4;-1:-1:-1;15026:16:0;;;:7;:16;;;;;;18464:45;;18524:28;18541:10;18524:16;:28::i;:::-;-1:-1:-1;18567:8:0;:16;;-1:-1:-1;;18567:16:0;;;18290:305;-1:-1:-1;;;;;18607:13:0;;;;;;:7;:13;;;;;:23;;18624:6;;18607:13;:23;;18624:6;;18607:23;:::i;:::-;;;;-1:-1:-1;;;;;;;18689:24:0;;18641:22;18689:24;;;:18;:24;;;;;;18666:6;;18689:24;;18688:25;:52;;;;-1:-1:-1;;;;;;18718:22:0;;;;;;:18;:22;;;;;;;;18717:23;18688:52;18685:124;;;18773:24;18784:6;18792:4;18773:10;:24::i;:::-;18756:41;;18685:124;-1:-1:-1;;;;;18821:11:0;;;;;;:7;:11;;;;;:29;;18836:14;;18821:11;:29;;18836:14;;18821:29;:::i;:::-;;;;;;;;18881:2;-1:-1:-1;;;;;18866:34:0;18875:4;-1:-1:-1;;;;;18866:34:0;;18885:14;18866:34;;;;1853:25:1;;1841:2;1826:18;;1707:177;18866:34:0;;;;;;;;17808:1100;17739:1169;;;:::o;18916:195::-;18978:17;18998:24;19015:6;18998:16;:24::i;:::-;18978:44;-1:-1:-1;19039:13:0;;19035:68;;19075:7;;19067:36;;-1:-1:-1;;;;;19075:7:0;;;;19067:36;;;;;19093:9;;19075:7;19067:36;19075:7;19067:36;19093:9;19075:7;19067:36;;;;;;;;;;;;;;;;;;;;;19035:68;18967:144;18916:195;:::o;16322:543::-;16389:7;16409:20;16457:3;16441:13;;16432:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;16409:51;;16471:20;16519:3;16503:13;;16494:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;16471:51;-1:-1:-1;16533:16:0;16552:27;16471:51;16552:12;:27;:::i;:::-;16596:7;;16533:46;;-1:-1:-1;16596:7:0;;16592:56;;-1:-1:-1;16630:6:0;16592:56;16676:4;16660:22;;;;:7;:22;;;;;:34;;16686:8;;16660:22;:34;;16686:8;;16660:34;:::i;:::-;;;;-1:-1:-1;16716:27:0;;-1:-1:-1;16731:12:0;16716;:27;:::i;:::-;16705:38;;16785:4;-1:-1:-1;;;;;16761:40:0;16771:4;-1:-1:-1;;;;;16761:40:0;;16792:8;16761:40;;;;1853:25:1;;1841:2;1826:18;;1707:177;16761:40:0;;;;;;;;16844:12;16820:21;16829:12;16820:6;:21;:::i;:::-;:36;;;;:::i;:::-;16812:45;16322:543;-1:-1:-1;;;;;;16322:543:0:o;19624:608::-;19789:16;;;19803:1;19789:16;;;;;;;;19688:7;;19733:21;;19688:7;;19789:16;;;;;;;;;;;;-1:-1:-1;19789:16:0;19765:40;;19834:4;19816;19821:1;19816:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19816:23:0;;;:7;;;;;;;;;;:23;;;;19860:15;;:22;;;-1:-1:-1;;;19860:22:0;;;;:15;;;;;:20;;:22;;;;;19816:7;;19860:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19850:4;19855:1;19850:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19850:32:0;;;:7;;;;;;;;;:32;19927:15;;19895:62;;19912:4;;19927:15;19945:11;19895:8;:62::i;:::-;19970:15;;:196;;-1:-1:-1;;;19970:196:0;;-1:-1:-1;;;;;19970:15:0;;;;:66;;:196;;20051:11;;19970:15;;20093:4;;20120;;20140:15;;19970:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20209:14;20185:21;:38;;;;:::i;:::-;20177:47;19624:608;-1:-1:-1;;;;19624:608:0:o;222:597:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;660:6;657:1;654:13;651:91;;;730:1;725:2;716:6;705:9;701:22;697:31;690:42;651:91;-1:-1:-1;803:2:1;782:15;-1:-1:-1;;778:29:1;763:45;;;;810:2;759:54;;222:597;-1:-1:-1;;;222:597:1:o;824:131::-;-1:-1:-1;;;;;899:31:1;;889:42;;879:70;;945:1;942;935:12;879:70;824:131;:::o;960:315::-;1028:6;1036;1089:2;1077:9;1068:7;1064:23;1060:32;1057:52;;;1105:1;1102;1095:12;1057:52;1144:9;1131:23;1163:31;1188:5;1163:31;:::i;:::-;1213:5;1265:2;1250:18;;;;1237:32;;-1:-1:-1;;;960:315:1:o;1889:456::-;1966:6;1974;1982;2035:2;2023:9;2014:7;2010:23;2006:32;2003:52;;;2051:1;2048;2041:12;2003:52;2090:9;2077:23;2109:31;2134:5;2109:31;:::i;:::-;2159:5;-1:-1:-1;2216:2:1;2201:18;;2188:32;2229:33;2188:32;2229:33;:::i;:::-;1889:456;;2281:7;;-1:-1:-1;;;2335:2:1;2320:18;;;;2307:32;;1889:456::o;2539:247::-;2598:6;2651:2;2639:9;2630:7;2626:23;2622:32;2619:52;;;2667:1;2664;2657:12;2619:52;2706:9;2693:23;2725:31;2750:5;2725:31;:::i;:::-;2775:5;2539:247;-1:-1:-1;;;2539:247:1:o;2791:388::-;2859:6;2867;2920:2;2908:9;2899:7;2895:23;2891:32;2888:52;;;2936:1;2933;2926:12;2888:52;2975:9;2962:23;2994:31;3019:5;2994:31;:::i;:::-;3044:5;-1:-1:-1;3101:2:1;3086:18;;3073:32;3114:33;3073:32;3114:33;:::i;:::-;3166:7;3156:17;;;2791:388;;;;;:::o;3184:127::-;3245:10;3240:3;3236:20;3233:1;3226:31;3276:4;3273:1;3266:15;3300:4;3297:1;3290:15;3316:125;3356:4;3384:1;3381;3378:8;3375:34;;;3389:18;;:::i;:::-;-1:-1:-1;3426:9:1;;3316:125::o;3446:128::-;3486:3;3517:1;3513:6;3510:1;3507:13;3504:39;;;3523:18;;:::i;:::-;-1:-1:-1;3559:9:1;;3446:128::o;6784:422::-;6873:1;6916:5;6873:1;6930:270;6951:7;6941:8;6938:21;6930:270;;;7010:4;7006:1;7002:6;6998:17;6992:4;6989:27;6986:53;;;7019:18;;:::i;:::-;7069:7;7059:8;7055:22;7052:55;;;7089:16;;;;7052:55;7168:22;;;;7128:15;;;;6930:270;;;6934:3;6784:422;;;;;:::o;7211:806::-;7260:5;7290:8;7280:80;;-1:-1:-1;7331:1:1;7345:5;;7280:80;7379:4;7369:76;;-1:-1:-1;7416:1:1;7430:5;;7369:76;7461:4;7479:1;7474:59;;;;7547:1;7542:130;;;;7454:218;;7474:59;7504:1;7495:10;;7518:5;;;7542:130;7579:3;7569:8;7566:17;7563:43;;;7586:18;;:::i;:::-;-1:-1:-1;;7642:1:1;7628:16;;7657:5;;7454:218;;7756:2;7746:8;7743:16;7737:3;7731:4;7728:13;7724:36;7718:2;7708:8;7705:16;7700:2;7694:4;7691:12;7687:35;7684:77;7681:159;;;-1:-1:-1;7793:19:1;;;7825:5;;7681:159;7872:34;7897:8;7891:4;7872:34;:::i;:::-;7942:6;7938:1;7934:6;7930:19;7921:7;7918:32;7915:58;;;7953:18;;:::i;:::-;7991:20;;7211:806;-1:-1:-1;;;7211:806:1:o;8022:140::-;8080:5;8109:47;8150:4;8140:8;8136:19;8130:4;8109:47;:::i;8167:168::-;8207:7;8273:1;8269;8265:6;8261:14;8258:1;8255:21;8250:1;8243:9;8236:17;8232:45;8229:71;;;8280:18;;:::i;:::-;-1:-1:-1;8320:9:1;;8167:168::o;8340:217::-;8380:1;8406;8396:132;;8450:10;8445:3;8441:20;8438:1;8431:31;8485:4;8482:1;8475:15;8513:4;8510:1;8503:15;8396:132;-1:-1:-1;8542:9:1;;8340:217::o;8694:127::-;8755:10;8750:3;8746:20;8743:1;8736:31;8786:4;8783:1;8776:15;8810:4;8807:1;8800:15;8826:251;8896:6;8949:2;8937:9;8928:7;8924:23;8920:32;8917:52;;;8965:1;8962;8955:12;8917:52;8997:9;8991:16;9016:31;9041:5;9016:31;:::i;9082:980::-;9344:4;9392:3;9381:9;9377:19;9423:6;9412:9;9405:25;9449:2;9487:6;9482:2;9471:9;9467:18;9460:34;9530:3;9525:2;9514:9;9510:18;9503:31;9554:6;9589;9583:13;9620:6;9612;9605:22;9658:3;9647:9;9643:19;9636:26;;9697:2;9689:6;9685:15;9671:29;;9718:1;9728:195;9742:6;9739:1;9736:13;9728:195;;;9807:13;;-1:-1:-1;;;;;9803:39:1;9791:52;;9898:15;;;;9863:12;;;;9839:1;9757:9;9728:195;;;-1:-1:-1;;;;;;;9979:32:1;;;;9974:2;9959:18;;9952:60;-1:-1:-1;;;10043:3:1;10028:19;10021:35;9940:3;9082:980;-1:-1:-1;;;9082:980:1:o
Swarm Source
ipfs://bcb78152be3993594170ba5e57aa3ba8879dcd6a95b497405de474fa7d52db6c
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.