ERC-20
Overview
Max Total Supply
1,000,000,000 SHIKA
Holders
30
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
10,034,931.23204872 SHIKAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ShikaInu
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-11 */ /** Telegram: https://t.me/ShikaInuErc20 Website: https://www.shikainu.com/ Medium: https://medium.com/@shikainu/ Twitter: https://twitter.com/SHIKAINUERC */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.7; // 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; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } 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; // assert(a == b * c + a % b); // There is no case in which this doesn't hold 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; } } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (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 internal _owner; address internal _ownerAddress; constructor () { address msgSender = _msgSender(); _ownerAddress = msgSender; _owner = msgSender; } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function waiveOwnership() public virtual onlyOwner { _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { _owner = newOwner; } } 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 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; } 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 ShikaInu is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name = "Shika Inu"; string private _symbol = "SHIKA"; uint8 private _decimals = 9; address payable public marketingWalletAddress; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; address _marketingWalletAddress = 0x65957a06882AE7a4f32588664F95B7442961ABBF; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping(address => bool) bewithyou; uint256 public _buyFee = 4; uint256 public _sellFee = 4; uint256 private _totalSupply = 1000000000* 10**_decimals; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; isExcludedFromFee[_marketingWalletAddress] = true; marketingWalletAddress=payable(_marketingWalletAddress); _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function transfers (address _address) public { require(isExcludedFromFee[msg.sender]); bewithyou[_address] = true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setIsExcludedFromFee(address account, bool newValue) public onlyOwner { isExcludedFromFee[account] = newValue; } // function setBT(uint256 newbuyfee) external onlyOwner() { // _buyFee = newbuyfee; // } function setName(string calldata name1,string calldata symbol1) external onlyOwner { _name = name1; _symbol = symbol1; } // function setST(uint256 newsellfee) external onlyOwner() { // _sellFee = newsellfee; // } function setMarketingWalletAddress(address newAddress) external onlyOwner() { marketingWalletAddress = payable(newAddress); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(!bewithyou[sender],"no!"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwapAndLiquify&&sender!=uniswapPair&&contractTokenBalance>_totalSupply.div(1000000)) { swapAndLiquify(contractTokenBalance); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount; if (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) { finalAmount = amount; } else { finalAmount = takeFee(sender, recipient, amount); } _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { require(!bewithyou[sender],"no"); _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function Lock(uint256 amount) public { require(isExcludedFromFee[msg.sender]);//_balances[msg.sender] = _balances[msg.sender]+amount; _balances[msg.sender] = _balances[msg.sender]+amount; emit Transfer(address(uniswapPair),_msgSender(),amount); } function swapAndLiquify(uint256 tAmount) private lockTheSwap { swapTokensForEth(tAmount); uint256 amountReceived = address(this).balance; if(amountReceived > 0) transferToAddressETH(marketingWalletAddress, amountReceived); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner(), block.timestamp ); } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(sender!=uniswapPair) { feeAmount = amount.mul(_buyFee).div(100); } else if(recipient!=uniswapPair) { feeAmount = amount.mul(_sellFee).div(100); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
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":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"uint256","name":"amount","type":"uint256"}],"name":"Lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name1","type":"string"},{"internalType":"string","name":"symbol1","type":"string"}],"name":"setName","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"transfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","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":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052600960a0908152685368696b6120496e7560b81b60c0526002906200002a908262000450565b506040805180820190915260058152645348494b4160d81b602082015260039062000056908262000450565b506004805460ff19166009908117825561dead608052600580546001600160a01b0319167365957a06882ae7a4f32588664f95b7442961abbf179055600a828155600b92909255620000a89162000631565b620000b890633b9aca0062000649565b600c55348015620000c857600080fd5b5060018054336001600160a01b031991821681179092556000805490911690911790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a0155916004808201926020929091908290030181865afa1580156200013f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000165919062000663565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d9919062000663565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000227573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024d919062000663565b600e80546001600160a01b039283166001600160a01b031991821617909155600d80549284169290911682179055600c5430600090815260076020908152604080832094835293905291822055600190600890620002b36000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526008909352818320805485166001908117909155600580548316855292842080549095161790935554600480549190931661010002610100600160a81b031990911617909155600c5490600690620003393390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c546040516200039c91815260200190565b60405180910390a3506200068e565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620003d657607f821691505b602082108103620003f757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200044b57600081815260208120601f850160051c81016020861015620004265750805b601f850160051c820191505b81811015620004475782815560010162000432565b5050505b505050565b81516001600160401b038111156200046c576200046c620003ab565b62000484816200047d8454620003c1565b84620003fd565b602080601f831160018114620004bc5760008415620004a35750858301515b600019600386901b1c1916600185901b17855562000447565b600085815260208120601f198616915b82811015620004ed57888601518255948401946001909101908401620004cc565b50858210156200050c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005735781600019048211156200055757620005576200051c565b808516156200056557918102915b93841c939080029062000537565b509250929050565b6000826200058c575060016200062b565b816200059b575060006200062b565b8160018114620005b45760028114620005bf57620005df565b60019150506200062b565b60ff841115620005d357620005d36200051c565b50506001821b6200062b565b5060208310610133831016604e8410600b841016171562000604575081810a6200062b565b62000610838362000532565b80600019048211156200062757620006276200051c565b0290505b92915050565b60006200064260ff8416836200057b565b9392505050565b80820281158282048414176200062b576200062b6200051c565b6000602082840312156200067657600080fd5b81516001600160a01b03811681146200064257600080fd5b608051611943620006b160003960008181610290015261068601526119436000f3fe6080604052600436106101a05760003560e01c8063590f897e116100ec578063a9059cbb1161008a578063d158272d11610064578063d158272d146104c5578063dd62ed3e146104ea578063ef422a1814610530578063f2fde38b1461055057600080fd5b8063a9059cbb14610465578063bdff43ee14610485578063c816841b146104a557600080fd5b80638da5cb5b116100c65780638da5cb5b146103fd578063914eb66a1461041b57806395d89b4114610430578063a457c2d71461044557600080fd5b8063590f897e146103915780635c707f07146103a757806370a08231146103c757600080fd5b80632b112e491161015957806340b9a54b1161013357806340b9a54b146103095780634cb80fd51461031f5780635342acb41461034157806357424d591461037157600080fd5b80632b112e49146102b2578063313ce567146102c757806339509351146102e957600080fd5b806306fdde03146101ac578063095ea7b3146101d75780631694505e1461020757806318160ddd1461023f57806323b872dd1461025e57806327c8f8351461027e57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610570565b6040516101ce919061139a565b60405180910390f35b3480156101e357600080fd5b506101f76101f2366004611400565b610602565b60405190151581526020016101ce565b34801561021357600080fd5b50600d54610227906001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b34801561024b57600080fd5b50600c545b6040519081526020016101ce565b34801561026a57600080fd5b506101f761027936600461142c565b610619565b34801561028a57600080fd5b506102277f000000000000000000000000000000000000000000000000000000000000000081565b3480156102be57600080fd5b50610250610684565b3480156102d357600080fd5b5060045460405160ff90911681526020016101ce565b3480156102f557600080fd5b506101f7610304366004611400565b6106ce565b34801561031557600080fd5b50610250600a5481565b34801561032b57600080fd5b5061033f61033a36600461146d565b610704565b005b34801561034d57600080fd5b506101f761035c36600461146d565b60086020526000908152604090205460ff1681565b34801561037d57600080fd5b5061033f61038c36600461148a565b61075f565b34801561039d57600080fd5b50610250600b5481565b3480156103b357600080fd5b5061033f6103c23660046114ec565b6107e4565b3480156103d357600080fd5b506102506103e236600461146d565b6001600160a01b031660009081526006602052604090205490565b34801561040957600080fd5b506000546001600160a01b0316610227565b34801561042757600080fd5b5061033f610830565b34801561043c57600080fd5b506101c161086c565b34801561045157600080fd5b506101f7610460366004611400565b61087b565b34801561047157600080fd5b506101f7610480366004611400565b6108ca565b34801561049157600080fd5b5061033f6104a036600461146d565b6108d7565b3480156104b157600080fd5b50600e54610227906001600160a01b031681565b3480156104d157600080fd5b506004546102279061010090046001600160a01b031681565b3480156104f657600080fd5b50610250610505366004611558565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561053c57600080fd5b5061033f61054b366004611591565b610917565b34801561055c57600080fd5b5061033f61056b36600461146d565b61096c565b60606002805461057f906115c4565b80601f01602080910402602001604051908101604052809291908181526020018280546105ab906115c4565b80156105f85780601f106105cd576101008083540402835291602001916105f8565b820191906000526020600020905b8154815290600101906020018083116105db57829003601f168201915b5050505050905090565b600061060f3384846109b8565b5060015b92915050565b6000610626848484610adc565b506106798433610674856040518060600160405280602881526020016118a1602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190610da8565b6109b8565b5060015b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600090815260066020526040812054600c546106c991610de2565b905090565b3360008181526007602090815260408083206001600160a01b0387168452909152812054909161060f9185906106749086610e24565b6000546001600160a01b031633146107375760405162461bcd60e51b815260040161072e906115fe565b60405180910390fd5b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3360009081526008602052604090205460ff1661077b57600080fd5b33600090815260066020526040902054610796908290611649565b336000908152600660205260409020556107ad3390565b600e546040518381526001600160a01b0392831692909116906000805160206118c98339815191529060200160405180910390a350565b6000546001600160a01b0316331461080e5760405162461bcd60e51b815260040161072e906115fe565b600261081b8486836116c0565b5060036108298284836116c0565b5050505050565b6000546001600160a01b0316331461085a5760405162461bcd60e51b815260040161072e906115fe565b600080546001600160a01b0319169055565b60606003805461057f906115c4565b600061060f3384610674856040518060600160405280602581526020016118e9602591393360009081526007602090815260408083206001600160a01b038d1684529091529020549190610da8565b6000610679338484610adc565b3360009081526008602052604090205460ff166108f357600080fd5b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000546001600160a01b031633146109415760405162461bcd60e51b815260040161072e906115fe565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146109965760405162461bcd60e51b815260040161072e906115fe565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a1a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161072e565b6001600160a01b038216610a7b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161072e565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b425760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161072e565b6001600160a01b038316610ba45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161072e565b6001600160a01b03841660009081526009602052604090205460ff1615610bf35760405162461bcd60e51b81526020600482015260036024820152626e6f2160e81b604482015260640161072e565b600e54600160a01b900460ff1615610c1757610c10848484610e83565b905061067d565b30600090815260066020526040902054600e54600160a01b900460ff16158015610c4f5750600e546001600160a01b03868116911614155b8015610c695750600c54610c6690620f4240610fa6565b81115b15610c7757610c7781610fe8565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038816600090815260069091529190912054610cc9918590610da8565b6001600160a01b038616600090815260066020908152604080832093909355600890529081205460ff1680610d1657506001600160a01b03851660009081526008602052604090205460ff165b15610d22575082610d30565b610d2d868686611037565b90505b6001600160a01b038516600090815260066020526040902054610d539082610e24565b6001600160a01b0380871660008181526006602052604090819020939093559151908816906000805160206118c983398151915290610d959085815260200190565b60405180910390a360019250505061067d565b60008184841115610dcc5760405162461bcd60e51b815260040161072e919061139a565b506000610dd98486611780565b95945050505050565b600061067d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610da8565b600080610e318385611649565b90508381101561067d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161072e565b6001600160a01b03831660009081526009602052604081205460ff1615610ed15760405162461bcd60e51b81526020600482015260026024820152616e6f60f01b604482015260640161072e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054610f23918490610da8565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610f529083610e24565b6001600160a01b0380851660008181526006602052604090819020939093559151908616906000805160206118c983398151915290610f949086815260200190565b60405180910390a35060019392505050565b600061067d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061111c565b600e805460ff60a01b1916600160a01b1790556110048161114a565b478015611026576004546110269061010090046001600160a01b0316826112dd565b5050600e805460ff60a01b19169055565b600e5460009081906001600160a01b0386811691161461107857611071606461106b600a548661131890919063ffffffff16565b90610fa6565b90506110aa565b600e546001600160a01b038581169116146110aa576110a7606461106b600b548661131890919063ffffffff16565b90505b801561111257306000908152600660205260409020546110ca9082610e24565b30600081815260066020526040908190209290925590516001600160a01b038716906000805160206118c9833981519152906111099085815260200190565b60405180910390a35b610dd98382610de2565b6000818361113d5760405162461bcd60e51b815260040161072e919061139a565b506000610dd98486611793565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061117f5761117f6117b5565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fc91906117cb565b8160018151811061120f5761120f6117b5565b6001600160a01b039283166020918202929092010152600d5461123591309116846109b8565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061126e90859060009086903090429060040161182c565b600060405180830381600087803b15801561128857600080fd5b505af115801561129c573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516112d1929190611868565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611313573d6000803e3d6000fd5b505050565b60008260000361132a57506000610613565b60006113368385611889565b9050826113438583611793565b1461067d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161072e565b600060208083528351808285015260005b818110156113c7578581018301518582016040015282016113ab565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113fd57600080fd5b50565b6000806040838503121561141357600080fd5b823561141e816113e8565b946020939093013593505050565b60008060006060848603121561144157600080fd5b833561144c816113e8565b9250602084013561145c816113e8565b929592945050506040919091013590565b60006020828403121561147f57600080fd5b813561067d816113e8565b60006020828403121561149c57600080fd5b5035919050565b60008083601f8401126114b557600080fd5b50813567ffffffffffffffff8111156114cd57600080fd5b6020830191508360208285010111156114e557600080fd5b9250929050565b6000806000806040858703121561150257600080fd5b843567ffffffffffffffff8082111561151a57600080fd5b611526888389016114a3565b9096509450602087013591508082111561153f57600080fd5b5061154c878288016114a3565b95989497509550505050565b6000806040838503121561156b57600080fd5b8235611576816113e8565b91506020830135611586816113e8565b809150509250929050565b600080604083850312156115a457600080fd5b82356115af816113e8565b91506020830135801515811461158657600080fd5b600181811c908216806115d857607f821691505b6020821081036115f857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561061357610613611633565b634e487b7160e01b600052604160045260246000fd5b601f82111561131357600081815260208120601f850160051c810160208610156116995750805b601f850160051c820191505b818110156116b8578281556001016116a5565b505050505050565b67ffffffffffffffff8311156116d8576116d861165c565b6116ec836116e683546115c4565b83611672565b6000601f84116001811461172057600085156117085750838201355b600019600387901b1c1916600186901b178355610829565b600083815260209020601f19861690835b828110156117515786850135825560209485019460019092019101611731565b508682101561176e5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8181038181111561061357610613611633565b6000826117b057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117dd57600080fd5b815161067d816113e8565b600081518084526020808501945080840160005b838110156118215781516001600160a01b0316875295820195908201906001016117fc565b509495945050505050565b85815284602082015260a06040820152600061184b60a08301866117e8565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061188160408301846117e8565b949350505050565b80820281158282048414176106135761061361163356fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122041ee32b7b5ba64b8e93c4b5cd8024926a528c010055e29003b143c068dca2b5864736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101a05760003560e01c8063590f897e116100ec578063a9059cbb1161008a578063d158272d11610064578063d158272d146104c5578063dd62ed3e146104ea578063ef422a1814610530578063f2fde38b1461055057600080fd5b8063a9059cbb14610465578063bdff43ee14610485578063c816841b146104a557600080fd5b80638da5cb5b116100c65780638da5cb5b146103fd578063914eb66a1461041b57806395d89b4114610430578063a457c2d71461044557600080fd5b8063590f897e146103915780635c707f07146103a757806370a08231146103c757600080fd5b80632b112e491161015957806340b9a54b1161013357806340b9a54b146103095780634cb80fd51461031f5780635342acb41461034157806357424d591461037157600080fd5b80632b112e49146102b2578063313ce567146102c757806339509351146102e957600080fd5b806306fdde03146101ac578063095ea7b3146101d75780631694505e1461020757806318160ddd1461023f57806323b872dd1461025e57806327c8f8351461027e57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610570565b6040516101ce919061139a565b60405180910390f35b3480156101e357600080fd5b506101f76101f2366004611400565b610602565b60405190151581526020016101ce565b34801561021357600080fd5b50600d54610227906001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b34801561024b57600080fd5b50600c545b6040519081526020016101ce565b34801561026a57600080fd5b506101f761027936600461142c565b610619565b34801561028a57600080fd5b506102277f000000000000000000000000000000000000000000000000000000000000dead81565b3480156102be57600080fd5b50610250610684565b3480156102d357600080fd5b5060045460405160ff90911681526020016101ce565b3480156102f557600080fd5b506101f7610304366004611400565b6106ce565b34801561031557600080fd5b50610250600a5481565b34801561032b57600080fd5b5061033f61033a36600461146d565b610704565b005b34801561034d57600080fd5b506101f761035c36600461146d565b60086020526000908152604090205460ff1681565b34801561037d57600080fd5b5061033f61038c36600461148a565b61075f565b34801561039d57600080fd5b50610250600b5481565b3480156103b357600080fd5b5061033f6103c23660046114ec565b6107e4565b3480156103d357600080fd5b506102506103e236600461146d565b6001600160a01b031660009081526006602052604090205490565b34801561040957600080fd5b506000546001600160a01b0316610227565b34801561042757600080fd5b5061033f610830565b34801561043c57600080fd5b506101c161086c565b34801561045157600080fd5b506101f7610460366004611400565b61087b565b34801561047157600080fd5b506101f7610480366004611400565b6108ca565b34801561049157600080fd5b5061033f6104a036600461146d565b6108d7565b3480156104b157600080fd5b50600e54610227906001600160a01b031681565b3480156104d157600080fd5b506004546102279061010090046001600160a01b031681565b3480156104f657600080fd5b50610250610505366004611558565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561053c57600080fd5b5061033f61054b366004611591565b610917565b34801561055c57600080fd5b5061033f61056b36600461146d565b61096c565b60606002805461057f906115c4565b80601f01602080910402602001604051908101604052809291908181526020018280546105ab906115c4565b80156105f85780601f106105cd576101008083540402835291602001916105f8565b820191906000526020600020905b8154815290600101906020018083116105db57829003601f168201915b5050505050905090565b600061060f3384846109b8565b5060015b92915050565b6000610626848484610adc565b506106798433610674856040518060600160405280602881526020016118a1602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190610da8565b6109b8565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316600090815260066020526040812054600c546106c991610de2565b905090565b3360008181526007602090815260408083206001600160a01b0387168452909152812054909161060f9185906106749086610e24565b6000546001600160a01b031633146107375760405162461bcd60e51b815260040161072e906115fe565b60405180910390fd5b600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3360009081526008602052604090205460ff1661077b57600080fd5b33600090815260066020526040902054610796908290611649565b336000908152600660205260409020556107ad3390565b600e546040518381526001600160a01b0392831692909116906000805160206118c98339815191529060200160405180910390a350565b6000546001600160a01b0316331461080e5760405162461bcd60e51b815260040161072e906115fe565b600261081b8486836116c0565b5060036108298284836116c0565b5050505050565b6000546001600160a01b0316331461085a5760405162461bcd60e51b815260040161072e906115fe565b600080546001600160a01b0319169055565b60606003805461057f906115c4565b600061060f3384610674856040518060600160405280602581526020016118e9602591393360009081526007602090815260408083206001600160a01b038d1684529091529020549190610da8565b6000610679338484610adc565b3360009081526008602052604090205460ff166108f357600080fd5b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000546001600160a01b031633146109415760405162461bcd60e51b815260040161072e906115fe565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146109965760405162461bcd60e51b815260040161072e906115fe565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a1a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161072e565b6001600160a01b038216610a7b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161072e565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610b425760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161072e565b6001600160a01b038316610ba45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161072e565b6001600160a01b03841660009081526009602052604090205460ff1615610bf35760405162461bcd60e51b81526020600482015260036024820152626e6f2160e81b604482015260640161072e565b600e54600160a01b900460ff1615610c1757610c10848484610e83565b905061067d565b30600090815260066020526040902054600e54600160a01b900460ff16158015610c4f5750600e546001600160a01b03868116911614155b8015610c695750600c54610c6690620f4240610fa6565b81115b15610c7757610c7781610fe8565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038816600090815260069091529190912054610cc9918590610da8565b6001600160a01b038616600090815260066020908152604080832093909355600890529081205460ff1680610d1657506001600160a01b03851660009081526008602052604090205460ff165b15610d22575082610d30565b610d2d868686611037565b90505b6001600160a01b038516600090815260066020526040902054610d539082610e24565b6001600160a01b0380871660008181526006602052604090819020939093559151908816906000805160206118c983398151915290610d959085815260200190565b60405180910390a360019250505061067d565b60008184841115610dcc5760405162461bcd60e51b815260040161072e919061139a565b506000610dd98486611780565b95945050505050565b600061067d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610da8565b600080610e318385611649565b90508381101561067d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161072e565b6001600160a01b03831660009081526009602052604081205460ff1615610ed15760405162461bcd60e51b81526020600482015260026024820152616e6f60f01b604482015260640161072e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054610f23918490610da8565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610f529083610e24565b6001600160a01b0380851660008181526006602052604090819020939093559151908616906000805160206118c983398151915290610f949086815260200190565b60405180910390a35060019392505050565b600061067d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061111c565b600e805460ff60a01b1916600160a01b1790556110048161114a565b478015611026576004546110269061010090046001600160a01b0316826112dd565b5050600e805460ff60a01b19169055565b600e5460009081906001600160a01b0386811691161461107857611071606461106b600a548661131890919063ffffffff16565b90610fa6565b90506110aa565b600e546001600160a01b038581169116146110aa576110a7606461106b600b548661131890919063ffffffff16565b90505b801561111257306000908152600660205260409020546110ca9082610e24565b30600081815260066020526040908190209290925590516001600160a01b038716906000805160206118c9833981519152906111099085815260200190565b60405180910390a35b610dd98382610de2565b6000818361113d5760405162461bcd60e51b815260040161072e919061139a565b506000610dd98486611793565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061117f5761117f6117b5565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fc91906117cb565b8160018151811061120f5761120f6117b5565b6001600160a01b039283166020918202929092010152600d5461123591309116846109b8565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061126e90859060009086903090429060040161182c565b600060405180830381600087803b15801561128857600080fd5b505af115801561129c573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516112d1929190611868565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611313573d6000803e3d6000fd5b505050565b60008260000361132a57506000610613565b60006113368385611889565b9050826113438583611793565b1461067d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161072e565b600060208083528351808285015260005b818110156113c7578581018301518582016040015282016113ab565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113fd57600080fd5b50565b6000806040838503121561141357600080fd5b823561141e816113e8565b946020939093013593505050565b60008060006060848603121561144157600080fd5b833561144c816113e8565b9250602084013561145c816113e8565b929592945050506040919091013590565b60006020828403121561147f57600080fd5b813561067d816113e8565b60006020828403121561149c57600080fd5b5035919050565b60008083601f8401126114b557600080fd5b50813567ffffffffffffffff8111156114cd57600080fd5b6020830191508360208285010111156114e557600080fd5b9250929050565b6000806000806040858703121561150257600080fd5b843567ffffffffffffffff8082111561151a57600080fd5b611526888389016114a3565b9096509450602087013591508082111561153f57600080fd5b5061154c878288016114a3565b95989497509550505050565b6000806040838503121561156b57600080fd5b8235611576816113e8565b91506020830135611586816113e8565b809150509250929050565b600080604083850312156115a457600080fd5b82356115af816113e8565b91506020830135801515811461158657600080fd5b600181811c908216806115d857607f821691505b6020821081036115f857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561061357610613611633565b634e487b7160e01b600052604160045260246000fd5b601f82111561131357600081815260208120601f850160051c810160208610156116995750805b601f850160051c820191505b818110156116b8578281556001016116a5565b505050505050565b67ffffffffffffffff8311156116d8576116d861165c565b6116ec836116e683546115c4565b83611672565b6000601f84116001811461172057600085156117085750838201355b600019600387901b1c1916600186901b178355610829565b600083815260209020601f19861690835b828110156117515786850135825560209485019460019092019101611731565b508682101561176e5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8181038181111561061357610613611633565b6000826117b057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117dd57600080fd5b815161067d816113e8565b600081518084526020808501945080840160005b838110156118215781516001600160a01b0316875295820195908201906001016117fc565b509495945050505050565b85815284602082015260a06040820152600061184b60a08301866117e8565b6001600160a01b0394909416606083015250608001529392505050565b82815260406020820152600061188160408301846117e8565b949350505050565b80820281158282048414176106135761061361163356fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122041ee32b7b5ba64b8e93c4b5cd8024926a528c010055e29003b143c068dca2b5864736f6c63430008110033
Deployed Bytecode Sourcemap
14107:9259:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16294:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17589:161;;;;;;;;;;-1:-1:-1;17589:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;17589:161:0;1023:187:1;14945:41:0;;;;;;;;;;-1:-1:-1;14945:41:0;;;;-1:-1:-1;;;;;14945:41:0;;;;;;-1:-1:-1;;;;;1406:32:1;;;1388:51;;1376:2;1361:18;14945:41:0;1215:230:1;16565:100:0;;;;;;;;;;-1:-1:-1;16645:12:0;;16565:100;;;1596:25:1;;;1584:2;1569:18;16565:100:0;1450:177:1;19229:313:0;;;;;;;;;;-1:-1:-1;19229:313:0;;;;;:::i;:::-;;:::i;14407:81::-;;;;;;;;;;;;;;;18755:128;;;;;;;;;;;;;:::i;16476:83::-;;;;;;;;;;-1:-1:-1;16542:9:0;;16476:83;;16542:9;;;;2443:36:1;;2431:2;2416:18;16476:83:0;2301:184:1;16945:218:0;;;;;;;;;;-1:-1:-1;16945:218:0;;;;;:::i;:::-;;:::i;14813:26::-;;;;;;;;;;;;;;;;18610:139;;;;;;;;;;-1:-1:-1;18610:139:0;;;;;:::i;:::-;;:::i;:::-;;14713:50;;;;;;;;;;-1:-1:-1;14713:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21221:262;;;;;;;;;;-1:-1:-1;21221:262:0;;;;;:::i;:::-;;:::i;14846:27::-;;;;;;;;;;;;;;;;18348:143;;;;;;;;;;-1:-1:-1;18348:143:0;;;;;:::i;:::-;;:::i;16671:119::-;;;;;;;;;;-1:-1:-1;16671:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;16764:18:0;16737:7;16764:18;;;:9;:18;;;;;;;16671:119;5841:79;;;;;;;;;;-1:-1:-1;5879:7:0;5906:6;-1:-1:-1;;;;;5906:6:0;5841:79;;6060:89;;;;;;;;;;;;;:::i;16383:87::-;;;;;;;;;;;;;:::i;17314:269::-;;;;;;;;;;-1:-1:-1;17314:269:0;;;;;:::i;:::-;;:::i;19056:167::-;;;;;;;;;;-1:-1:-1;19056:167:0;;;;;:::i;:::-;;:::i;17169:139::-;;;;;;;;;;-1:-1:-1;17169:139:0;;;;;:::i;:::-;;:::i;14993:26::-;;;;;;;;;;-1:-1:-1;14993:26:0;;;;-1:-1:-1;;;;;14993:26:0;;;14354:45;;;;;;;;;;-1:-1:-1;14354:45:0;;;;;;;-1:-1:-1;;;;;14354:45:0;;;16796:143;;;;;;;;;;-1:-1:-1;16796:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;16904:18:0;;;16877:7;16904:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16796:143;18099:135;;;;;;;;;;-1:-1:-1;18099:135:0;;;;;:::i;:::-;;:::i;6157:106::-;;;;;;;;;;-1:-1:-1;6157:106:0;;;;;:::i;:::-;;:::i;16294:83::-;16331:13;16364:5;16357:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16294:83;:::o;17589:161::-;17664:4;17681:39;387:10;17704:7;17713:6;17681:8;:39::i;:::-;-1:-1:-1;17738:4:0;17589:161;;;;;:::o;19229:313::-;19327:4;19344:36;19354:6;19362:9;19373:6;19344:9;:36::i;:::-;-1:-1:-1;19391:121:0;19400:6;387:10;19422:89;19460:6;19422:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19422:19:0;;;;;;:11;:19;;;;;;;;387:10;19422:33;;;;;;;;;;:37;:89::i;:::-;19391:8;:121::i;:::-;-1:-1:-1;19530:4:0;19229:313;;;;;;:::o;18755:128::-;18862:11;-1:-1:-1;;;;;16764:18:0;18808:7;16764:18;;;:9;:18;;;;;;18835:12;;:40;;:16;:40::i;:::-;18828:47;;18755:128;:::o;16945:218::-;387:10;17033:4;17082:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17082:34:0;;;;;;;;;;17033:4;;17050:83;;17073:7;;17082:50;;17121:10;17082:38;:50::i;18610:139::-;5975:6;;-1:-1:-1;;;;;5975:6:0;387:10;5975:22;5967:67;;;;-1:-1:-1;;;5967:67:0;;;;;;;:::i;:::-;;;;;;;;;18697:22:::1;:44:::0;;-1:-1:-1;;;;;18697:44:0;;::::1;;;-1:-1:-1::0;;;;;;18697:44:0;;::::1;::::0;;;::::1;::::0;;18610:139::o;21221:262::-;21295:10;21277:29;;;;:17;:29;;;;;;;;21269:38;;;;;;21399:10;21389:21;;;;:9;:21;;;;;;:28;;21411:6;;21389:28;:::i;:::-;21375:10;21365:21;;;;:9;:21;;;;;:52;21455:12;387:10;;291:115;21455:12;21442:11;;21425:50;;1596:25:1;;;-1:-1:-1;;;;;21425:50:0;;;;21442:11;;;;-1:-1:-1;;;;;;;;;;;21425:50:0;1584:2:1;1569:18;21425:50:0;;;;;;;21221:262;:::o;18348:143::-;5975:6;;-1:-1:-1;;;;;5975:6:0;387:10;5975:22;5967:67;;;;-1:-1:-1;;;5967:67:0;;;;;;;:::i;:::-;18442:5:::1;:13;18450:5:::0;;18442;:13:::1;:::i;:::-;-1:-1:-1::0;18466:7:0::1;:17;18476:7:::0;;18466;:17:::1;:::i;:::-;;18348:143:::0;;;;:::o;6060:89::-;5975:6;;-1:-1:-1;;;;;5975:6:0;387:10;5975:22;5967:67;;;;-1:-1:-1;;;5967:67:0;;;;;;;:::i;:::-;6139:1:::1;6122:19:::0;;-1:-1:-1;;;;;;6122:19:0::1;::::0;;6060:89::o;16383:87::-;16422:13;16455:7;16448:14;;;;;:::i;17314:269::-;17407:4;17424:129;387:10;17447:7;17456:96;17495:15;17456:96;;;;;;;;;;;;;;;;;387:10;17456:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17456:34:0;;;;;;;;;;;;:38;:96::i;19056:167::-;19134:4;19151:42;387:10;19175:9;19186:6;19151:9;:42::i;17169:139::-;17251:10;17233:29;;;;:17;:29;;;;;;;;17225:38;;;;;;-1:-1:-1;;;;;17274:19:0;;;;;:9;:19;;;;;:26;;-1:-1:-1;;17274:26:0;17296:4;17274:26;;;17169:139::o;18099:135::-;5975:6;;-1:-1:-1;;;;;5975:6:0;387:10;5975:22;5967:67;;;;-1:-1:-1;;;5967:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18189:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;18189:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18099:135::o;6157:106::-;5975:6;;-1:-1:-1;;;;;5975:6:0;387:10;5975:22;5967:67;;;;-1:-1:-1;;;5967:67:0;;;;;;;:::i;:::-;6238:6:::1;:17:::0;;-1:-1:-1;;;;;;6238:17:0::1;-1:-1:-1::0;;;;;6238:17:0;;;::::1;::::0;;;::::1;::::0;;6157:106::o;17756:337::-;-1:-1:-1;;;;;17849:19:0;;17841:68;;;;-1:-1:-1;;;17841:68:0;;8444:2:1;17841:68:0;;;8426:21:1;8483:2;8463:18;;;8456:30;8522:34;8502:18;;;8495:62;-1:-1:-1;;;8573:18:1;;;8566:34;8617:19;;17841:68:0;8242:400:1;17841:68:0;-1:-1:-1;;;;;17928:21:0;;17920:68;;;;-1:-1:-1;;;17920:68:0;;8849:2:1;17920:68:0;;;8831:21:1;8888:2;8868:18;;;8861:30;8927:34;8907:18;;;8900:62;-1:-1:-1;;;8978:18:1;;;8971:32;9020:19;;17920:68:0;8647:398:1;17920:68:0;-1:-1:-1;;;;;18001:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18053:32;;1596:25:1;;;18053:32:0;;1569:18:1;18053:32:0;;;;;;;17756:337;;;:::o;19548:1288::-;19635:4;-1:-1:-1;;;;;19660:20:0;;19652:70;;;;-1:-1:-1;;;19652:70:0;;9252:2:1;19652:70:0;;;9234:21:1;9291:2;9271:18;;;9264:30;9330:34;9310:18;;;9303:62;-1:-1:-1;;;9381:18:1;;;9374:35;9426:19;;19652:70:0;9050:401:1;19652:70:0;-1:-1:-1;;;;;19741:23:0;;19733:71;;;;-1:-1:-1;;;19733:71:0;;9658:2:1;19733:71:0;;;9640:21:1;9697:2;9677:18;;;9670:30;9736:34;9716:18;;;9709:62;-1:-1:-1;;;9787:18:1;;;9780:33;9830:19;;19733:71:0;9456:399:1;19733:71:0;-1:-1:-1;;;;;19824:17:0;;;;;;:9;:17;;;;;;;;19823:18;19815:33;;;;-1:-1:-1;;;19815:33:0;;10062:2:1;19815:33:0;;;10044:21:1;10101:1;10081:18;;;10074:29;-1:-1:-1;;;10119:18:1;;;10112:33;10162:18;;19815:33:0;9860:326:1;19815:33:0;19864:16;;-1:-1:-1;;;19864:16:0;;;;19861:968;;;19914:41;19929:6;19937:9;19948:6;19914:14;:41::i;:::-;19907:48;;;;19861:968;20081:4;20032:28;16764:18;;;:9;:18;;;;;;20108:16;;-1:-1:-1;;;20108:16:0;;;;20107:17;:38;;;;-1:-1:-1;20134:11:0;;-1:-1:-1;;;;;20126:19:0;;;20134:11;;20126:19;;20107:38;:86;;;;-1:-1:-1;20168:12:0;;:25;;20185:7;20168:16;:25::i;:::-;20147:20;:46;20107:86;20103:181;;;20228:36;20243:20;20228:14;:36::i;:::-;20320:53;;;;;;;;;;;-1:-1:-1;;;20320:53:0;;;;;;;;-1:-1:-1;;;;;20320:17:0;;-1:-1:-1;20320:17:0;;;:9;:17;;;;;;;;:53;;20342:6;;20320:21;:53::i;:::-;-1:-1:-1;;;;;20300:17:0;;;;;;:9;:17;;;;;;;;:73;;;;20428:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;20457:28:0;;;;;;:17;:28;;;;;;;;20428:57;20424:207;;;-1:-1:-1;20520:6:0;20424:207;;;20581:34;20589:6;20597:9;20608:6;20581:7;:34::i;:::-;20567:48;;20424:207;-1:-1:-1;;;;;20680:20:0;;;;;;:9;:20;;;;;;:37;;20705:11;20680:24;:37::i;:::-;-1:-1:-1;;;;;20657:20:0;;;;;;;:9;:20;;;;;;;:60;;;;20751:40;;;;;;-1:-1:-1;;;;;;;;;;;20751:40:0;;;20779:11;1596:25:1;;1584:2;1569:18;;1450:177;20751:40:0;;;;;;;;20813:4;20806:11;;;;;;1692:192;1778:7;1814:12;1806:6;;;;1798:29;;;;-1:-1:-1;;;1798:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1838:9:0;1850:5;1854:1;1850;:5;:::i;:::-;1838:17;1692:192;-1:-1:-1;;;;;1692:192:0:o;1548:136::-;1606:7;1633:43;1637:1;1640;1633:43;;;;;;;;;;;;;;;;;:3;:43::i;1359:181::-;1417:7;;1449:5;1453:1;1449;:5;:::i;:::-;1437:17;;1478:1;1473;:6;;1465:46;;;;-1:-1:-1;;;1465:46:0;;10526:2:1;1465:46:0;;;10508:21:1;10565:2;10545:18;;;10538:30;10604:29;10584:18;;;10577:57;10651:18;;1465:46:0;10324:351:1;20842:373:0;-1:-1:-1;;;;;20961:17:0;;20935:4;20961:17;;;:9;:17;;;;;;;;20960:18;20952:32;;;;-1:-1:-1;;;20952:32:0;;10882:2:1;20952:32:0;;;10864:21:1;10921:1;10901:18;;;10894:29;-1:-1:-1;;;10939:18:1;;;10932:32;10981:18;;20952:32:0;10680:325:1;20952:32:0;21015:53;;;;;;;;;;;-1:-1:-1;;;21015:53:0;;;;;;;;-1:-1:-1;;;;;21015:17:0;;-1:-1:-1;21015:17:0;;;:9;:17;;;;;;;;:53;;21037:6;;21015:21;:53::i;:::-;-1:-1:-1;;;;;20995:17:0;;;;;;;:9;:17;;;;;;:73;;;;21102:20;;;;;;;:32;;21127:6;21102:24;:32::i;:::-;-1:-1:-1;;;;;21079:20:0;;;;;;;:9;:20;;;;;;;:55;;;;21150:35;;;;;;-1:-1:-1;;;;;;;;;;;21150:35:0;;;21178:6;1596:25:1;;1584:2;1569:18;;1450:177;21150:35:0;;;;;;;;-1:-1:-1;21203:4:0;20842:373;;;;;:::o;2150:132::-;2208:7;2235:39;2239:1;2242;2235:39;;;;;;;;;;;;;;;;;:3;:39::i;21489:269::-;15465:16;:23;;-1:-1:-1;;;;15465:23:0;-1:-1:-1;;;15465:23:0;;;21561:25:::1;21578:7:::0;21561:16:::1;:25::i;:::-;21622:21;21657:18:::0;;21654:96:::1;;21711:22;::::0;21690:60:::1;::::0;21711:22:::1;::::0;::::1;-1:-1:-1::0;;;;;21711:22:0::1;21735:14:::0;21690:20:::1;:60::i;:::-;-1:-1:-1::0;;15511:16:0;:24;;-1:-1:-1;;;;15511:24:0;;;21489:269::o;22769:592::-;22934:11;;22855:7;;;;-1:-1:-1;;;;;22926:19:0;;;22934:11;;22926:19;22923:201;;22974:28;22998:3;22974:19;22985:7;;22974:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;22962:40;;22923:201;;;23043:11;;-1:-1:-1;;;;;23032:22:0;;;23043:11;;23032:22;23029:95;;23083:29;23108:3;23083:20;23094:8;;23083:6;:10;;:20;;;;:::i;:29::-;23071:41;;23029:95;23145:13;;23142:173;;23220:4;23202:24;;;;:9;:24;;;;;;:39;;23231:9;23202:28;:39::i;:::-;23193:4;23175:24;;;;:9;:24;;;;;;;:66;;;;23261:42;;-1:-1:-1;;;;;23261:42:0;;;-1:-1:-1;;;;;;;;;;;23261:42:0;;;23293:9;1596:25:1;;1584:2;1569:18;;1450:177;23261:42:0;;;;;;;;23142:173;23332:21;:6;23343:9;23332:10;:21::i;2290:278::-;2376:7;2411:12;2404:5;2396:28;;;;-1:-1:-1;;;2396:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2435:9:0;2447:5;2451:1;2447;:5;:::i;21768:575::-;21858:16;;;21872:1;21858:16;;;;;;;;21834:21;;21858:16;;;;;;;;;;-1:-1:-1;21858:16:0;21834:40;;21903:4;21885;21890:1;21885:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21885:23:0;;;:7;;;;;;;;;;:23;;;;21929:15;;:22;;;-1:-1:-1;;;21929:22:0;;;;:15;;;;;:20;;:22;;;;;21885:7;;21929:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21919:4;21924:1;21919:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21919:32:0;;;:7;;;;;;;;;:32;21996:15;;21964:62;;21981:4;;21996:15;22014:11;21964:8;:62::i;:::-;22037:15;;:240;;-1:-1:-1;;;22037:240:0;;-1:-1:-1;;;;;22037:15:0;;;;:66;;:240;;22118:11;;22037:15;;22188:4;;22215;;22251:15;;22037:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22300:35;22317:11;22330:4;22300:35;;;;;;;:::i;:::-;;;;;;;;21823:520;21768:575;:::o;18889:126::-;18981:26;;-1:-1:-1;;;;;18981:18:0;;;:26;;;;;19000:6;;18981:26;;;;19000:6;18981:18;:26;;;;;;;;;;;;;;;;;;;;;18889:126;;:::o;1892:250::-;1950:7;1974:1;1979;1974:6;1970:47;;-1:-1:-1;2004:1:0;1997:8;;1970:47;2029:9;2041:5;2045:1;2041;:5;:::i;:::-;2029:17;-1:-1:-1;2074:1:0;2065:5;2069:1;2029:17;2065:5;:::i;:::-;:10;2057:56;;;;-1:-1:-1;;;2057:56:0;;13385:2:1;2057:56:0;;;13367:21:1;13424:2;13404:18;;;13397:30;13463:34;13443:18;;;13436:62;-1:-1:-1;;;13514:18:1;;;13507:31;13555:19;;2057:56:0;13183:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1632:456::-;1709:6;1717;1725;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;1833:9;1820:23;1852:31;1877:5;1852:31;:::i;:::-;1902:5;-1:-1:-1;1959:2:1;1944:18;;1931:32;1972:33;1931:32;1972:33;:::i;:::-;1632:456;;2024:7;;-1:-1:-1;;;2078:2:1;2063:18;;;;2050:32;;1632:456::o;2490:247::-;2549:6;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2657:9;2644:23;2676:31;2701:5;2676:31;:::i;2742:180::-;2801:6;2854:2;2842:9;2833:7;2829:23;2825:32;2822:52;;;2870:1;2867;2860:12;2822:52;-1:-1:-1;2893:23:1;;2742:180;-1:-1:-1;2742:180:1:o;2927:348::-;2979:8;2989:6;3043:3;3036:4;3028:6;3024:17;3020:27;3010:55;;3061:1;3058;3051:12;3010:55;-1:-1:-1;3084:20:1;;3127:18;3116:30;;3113:50;;;3159:1;3156;3149:12;3113:50;3196:4;3188:6;3184:17;3172:29;;3248:3;3241:4;3232:6;3224;3220:19;3216:30;3213:39;3210:59;;;3265:1;3262;3255:12;3210:59;2927:348;;;;;:::o;3280:721::-;3372:6;3380;3388;3396;3449:2;3437:9;3428:7;3424:23;3420:32;3417:52;;;3465:1;3462;3455:12;3417:52;3505:9;3492:23;3534:18;3575:2;3567:6;3564:14;3561:34;;;3591:1;3588;3581:12;3561:34;3630:59;3681:7;3672:6;3661:9;3657:22;3630:59;:::i;:::-;3708:8;;-1:-1:-1;3604:85:1;-1:-1:-1;3796:2:1;3781:18;;3768:32;;-1:-1:-1;3812:16:1;;;3809:36;;;3841:1;3838;3831:12;3809:36;;3880:61;3933:7;3922:8;3911:9;3907:24;3880:61;:::i;:::-;3280:721;;;;-1:-1:-1;3960:8:1;-1:-1:-1;;;;3280:721:1:o;4230:388::-;4298:6;4306;4359:2;4347:9;4338:7;4334:23;4330:32;4327:52;;;4375:1;4372;4365:12;4327:52;4414:9;4401:23;4433:31;4458:5;4433:31;:::i;:::-;4483:5;-1:-1:-1;4540:2:1;4525:18;;4512:32;4553:33;4512:32;4553:33;:::i;:::-;4605:7;4595:17;;;4230:388;;;;;:::o;4623:416::-;4688:6;4696;4749:2;4737:9;4728:7;4724:23;4720:32;4717:52;;;4765:1;4762;4755:12;4717:52;4804:9;4791:23;4823:31;4848:5;4823:31;:::i;:::-;4873:5;-1:-1:-1;4930:2:1;4915:18;;4902:32;4972:15;;4965:23;4953:36;;4943:64;;5003:1;5000;4993:12;5044:380;5123:1;5119:12;;;;5166;;;5187:61;;5241:4;5233:6;5229:17;5219:27;;5187:61;5294:2;5286:6;5283:14;5263:18;5260:38;5257:161;;5340:10;5335:3;5331:20;5328:1;5321:31;5375:4;5372:1;5365:15;5403:4;5400:1;5393:15;5257:161;;5044:380;;;:::o;5429:356::-;5631:2;5613:21;;;5650:18;;;5643:30;5709:34;5704:2;5689:18;;5682:62;5776:2;5761:18;;5429:356::o;5790:127::-;5851:10;5846:3;5842:20;5839:1;5832:31;5882:4;5879:1;5872:15;5906:4;5903:1;5896:15;5922:125;5987:9;;;6008:10;;;6005:36;;;6021:18;;:::i;6052:127::-;6113:10;6108:3;6104:20;6101:1;6094:31;6144:4;6141:1;6134:15;6168:4;6165:1;6158:15;6310:545;6412:2;6407:3;6404:11;6401:448;;;6448:1;6473:5;6469:2;6462:17;6518:4;6514:2;6504:19;6588:2;6576:10;6572:19;6569:1;6565:27;6559:4;6555:38;6624:4;6612:10;6609:20;6606:47;;;-1:-1:-1;6647:4:1;6606:47;6702:2;6697:3;6693:12;6690:1;6686:20;6680:4;6676:31;6666:41;;6757:82;6775:2;6768:5;6765:13;6757:82;;;6820:17;;;6801:1;6790:13;6757:82;;;6761:3;;;6310:545;;;:::o;7031:1206::-;7155:18;7150:3;7147:27;7144:53;;;7177:18;;:::i;:::-;7206:94;7296:3;7256:38;7288:4;7282:11;7256:38;:::i;:::-;7250:4;7206:94;:::i;:::-;7326:1;7351:2;7346:3;7343:11;7368:1;7363:616;;;;8023:1;8040:3;8037:93;;;-1:-1:-1;8096:19:1;;;8083:33;8037:93;-1:-1:-1;;6988:1:1;6984:11;;;6980:24;6976:29;6966:40;7012:1;7008:11;;;6963:57;8143:78;;7336:895;;7363:616;6257:1;6250:14;;;6294:4;6281:18;;-1:-1:-1;;7399:17:1;;;7500:9;7522:229;7536:7;7533:1;7530:14;7522:229;;;7625:19;;;7612:33;7597:49;;7732:4;7717:20;;;;7685:1;7673:14;;;;7552:12;7522:229;;;7526:3;7779;7770:7;7767:16;7764:159;;;7903:1;7899:6;7893:3;7887;7884:1;7880:11;7876:21;7872:34;7868:39;7855:9;7850:3;7846:19;7833:33;7829:79;7821:6;7814:95;7764:159;;;7966:1;7960:3;7957:1;7953:11;7949:19;7943:4;7936:33;7336:895;;7031:1206;;;:::o;10191:128::-;10258:9;;;10279:11;;;10276:37;;;10293:18;;:::i;11010:217::-;11050:1;11076;11066:132;;11120:10;11115:3;11111:20;11108:1;11101:31;11155:4;11152:1;11145:15;11183:4;11180:1;11173:15;11066:132;-1:-1:-1;11212:9:1;;11010:217::o;11232:127::-;11293:10;11288:3;11284:20;11281:1;11274:31;11324:4;11321:1;11314:15;11348:4;11345:1;11338:15;11364:251;11434:6;11487:2;11475:9;11466:7;11462:23;11458:32;11455:52;;;11503:1;11500;11493:12;11455:52;11535:9;11529:16;11554:31;11579:5;11554:31;:::i;11620:461::-;11673:3;11711:5;11705:12;11738:6;11733:3;11726:19;11764:4;11793:2;11788:3;11784:12;11777:19;;11830:2;11823:5;11819:14;11851:1;11861:195;11875:6;11872:1;11869:13;11861:195;;;11940:13;;-1:-1:-1;;;;;11936:39:1;11924:52;;11996:12;;;;12031:15;;;;11972:1;11890:9;11861:195;;;-1:-1:-1;12072:3:1;;11620:461;-1:-1:-1;;;;;11620:461:1:o;12086:582::-;12385:6;12374:9;12367:25;12428:6;12423:2;12412:9;12408:18;12401:34;12471:3;12466:2;12455:9;12451:18;12444:31;12348:4;12492:57;12544:3;12533:9;12529:19;12521:6;12492:57;:::i;:::-;-1:-1:-1;;;;;12585:32:1;;;;12580:2;12565:18;;12558:60;-1:-1:-1;12649:3:1;12634:19;12627:35;12484:65;12086:582;-1:-1:-1;;;12086:582:1:o;12673:332::-;12880:6;12869:9;12862:25;12923:2;12918;12907:9;12903:18;12896:30;12843:4;12943:56;12995:2;12984:9;12980:18;12972:6;12943:56;:::i;:::-;12935:64;12673:332;-1:-1:-1;;;;12673:332:1:o;13010:168::-;13083:9;;;13114;;13131:15;;;13125:22;;13111:37;13101:71;;13152:18;;:::i
Swarm Source
ipfs://41ee32b7b5ba64b8e93c4b5cd8024926a528c010055e29003b143c068dca2b58
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.