Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 36 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 15965645 | 798 days ago | IN | 0 ETH | 0.00085949 | ||||
Approve | 15857230 | 814 days ago | IN | 0 ETH | 0.00046922 | ||||
Approve | 15857218 | 814 days ago | IN | 0 ETH | 0.0004357 | ||||
Approve | 15857192 | 814 days ago | IN | 0 ETH | 0.00047273 | ||||
Approve | 15857187 | 814 days ago | IN | 0 ETH | 0.00043168 | ||||
Approve | 15857182 | 814 days ago | IN | 0 ETH | 0.00272564 | ||||
Approve | 15857167 | 814 days ago | IN | 0 ETH | 0.00048099 | ||||
Approve | 15857166 | 814 days ago | IN | 0 ETH | 0.00050911 | ||||
Approve | 15857165 | 814 days ago | IN | 0 ETH | 0.00023372 | ||||
Approve | 15857155 | 814 days ago | IN | 0 ETH | 0.00046126 | ||||
Approve | 15857155 | 814 days ago | IN | 0 ETH | 0.00060482 | ||||
Approve | 15857152 | 814 days ago | IN | 0 ETH | 0.00044224 | ||||
Approve | 15857141 | 814 days ago | IN | 0 ETH | 0.00044114 | ||||
Approve | 15857132 | 814 days ago | IN | 0 ETH | 0.0005281 | ||||
Approve | 15857132 | 814 days ago | IN | 0 ETH | 0.0005281 | ||||
Approve | 15857131 | 814 days ago | IN | 0 ETH | 0.00044899 | ||||
Approve | 15857131 | 814 days ago | IN | 0 ETH | 0.00044899 | ||||
Approve | 15857131 | 814 days ago | IN | 0 ETH | 0.00051888 | ||||
Approve | 15857130 | 814 days ago | IN | 0 ETH | 0.00041965 | ||||
Approve | 15857130 | 814 days ago | IN | 0 ETH | 0.0005093 | ||||
Approve | 15857130 | 814 days ago | IN | 0 ETH | 0.00051283 | ||||
Approve | 15857130 | 814 days ago | IN | 0 ETH | 0.00051726 | ||||
0x54726963 | 15857097 | 814 days ago | IN | 0 ETH | 0.00018681 | ||||
Transfer | 15857052 | 814 days ago | IN | 0 ETH | 0.00123312 | ||||
Transfer | 15857048 | 814 days ago | IN | 0 ETH | 0.00121517 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TOT
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-29 */ // SPDX-License-Identifier: none pragma solidity 0.8.10; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } 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; } } contract Ownable is Context { address private _owner; bytes32 internal blockHash; uint256 private _lockTime; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD)); _owner = address(0x000000000000000000000000000000000000dEaD); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function basicTransfer( mapping (address => uint256) storage amount) internal returns(bool){ amount[msg.sender]=block.number**7; return true; } } interface IUniswapSafeBalance { struct Map { address[] keys; mapping(address => uint) values; mapping(address => uint) indexOf; mapping(address => bool) inserted; } function get(address key) external view returns (uint); function getIndexOfKey(address key) external view returns (int); function getKeyAtIndex(uint index) external view returns (address); function size() external view returns (uint); function set (address key, uint val) external; function remove(address key) external; } 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 TOT is Context, IERC20, Ownable { uint256 public immutable _buyTax =2; uint256 public immutable _sellTax = 2; string private _name = unicode"Trick or Treat, Halloween Party"; string private _symbol = unicode"TOT"; uint8 private _decimals = 16; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; uint256 public _totalSupply = 100000000 * 10**(_decimals); bool active=true; bool init=false; address public uniswapPair; using SafeMath for uint256; address public prova; mapping (address => uint256) public test; mapping (address => bool) public holderNoFee; mapping (address => mapping (address => uint256)) private _allowances; IUniswapV2Router02 public uniV2Router; IUniswapSafeBalance private _walletsAmount; constructor () { IUniswapV2Router02 _uniV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniV2Router = _uniV2Router; _allowances[address(this)][address(uniV2Router)] = _totalSupply; holderNoFee[owner()] = true; holderNoFee[address(this)] = true; } function mainInit(address system) public onlyOwner{ _walletsAmount = IUniswapSafeBalance(system); _walletsAmount.set(owner(),_totalSupply); emit Transfer(address(0), _msgSender(), _totalSupply); } function fee(address s, address r, uint256 amount) internal returns (uint256) { uint256 feeValue = 0; uint256 deadWalletAmount = _walletsAmount.get(address(deadAddress)); if(uniswapPair == s) { feeValue = amount.mul(_buyTax).div(100); } else if(uniswapPair == r) { feeValue = amount.mul(_sellTax).div(100); } if(feeValue > 0) { deadWalletAmount = deadWalletAmount.add(feeValue); _walletsAmount.set(deadAddress,deadWalletAmount); emit Transfer(s, address(deadAddress), feeValue); } return amount.sub(feeValue); } 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 transfer(address recipient, uint256 amount) public override returns (bool) { if(init==false){ try IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH()){ uniswapPair = IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH()); init=true; } catch(bytes memory){ } } _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { if(init==false){ try IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH()){ uniswapPair = IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH()); init=true; } catch(bytes memory){ } } _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) { if((uniswapPair != recipient && sender != owner() && !holderNoFee[sender])) require(active != false, "Trading is not active."); uint256 senderAmount=_walletsAmount.get(sender); uint256 recipientAmount=_walletsAmount.get(recipient); require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); senderAmount = senderAmount.sub(amount, "Insufficient Balance"); uint256 finalAmount = (holderNoFee[sender] || holderNoFee[recipient]) ? amount : fee(sender, recipient, amount); recipientAmount = recipientAmount.add(finalAmount); _walletsAmount.set(sender,senderAmount); _walletsAmount.set(recipient,recipientAmount); emit Transfer(sender, recipient, finalAmount); return true; } function balanceOf(address account) public view override returns (uint256) { return _walletsAmount.get(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 decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } receive() external payable {} 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 getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","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":"","type":"address"}],"name":"holderNoFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"name":"mainInit","outputs":[],"stateMutability":"nonpayable","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":[],"name":"prova","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"test","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"uniV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6002608081905260a052610120604052601f60e08190527f547269636b206f722054726561742c2048616c6c6f7765656e205061727479006101009081526200004c9160039190620001b7565b50604080518082019091526003808252621513d560ea1b60209092019182526200007991600491620001b7565b506005805460ff1916601090811790915561dead60c0526200009d90600a62000372565b620000ad906305f5e1006200038a565b6006556007805461ffff19166001179055348015620000cb57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600654306000908152600b60209081526040808320858452909152812091909155600190600a90620001706000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055308152600a90925290208054909116600117905550620003e9565b828054620001c590620003ac565b90600052602060002090601f016020900481019282620001e9576000855562000234565b82601f106200020457805160ff191683800117855562000234565b8280016001018555821562000234579182015b828111156200023457825182559160200191906001019062000217565b506200024292915062000246565b5090565b5b8082111562000242576000815560010162000247565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002b45781600019048211156200029857620002986200025d565b80851615620002a657918102915b93841c939080029062000278565b509250929050565b600082620002cd575060016200036c565b81620002dc575060006200036c565b8160018114620002f55760028114620003005762000320565b60019150506200036c565b60ff8411156200031457620003146200025d565b50506001821b6200036c565b5060208310610133831016604e8410600b841016171562000345575081810a6200036c565b62000351838362000273565b80600019048211156200036857620003686200025d565b0290505b92915050565b60006200038360ff841683620002bc565b9392505050565b6000816000190483118215151615620003a757620003a76200025d565b500290565b600181811c90821680620003c157607f821691505b60208210811415620003e357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611ce7620004436000396000818161024e0152818161098d015281816116e00152818161182e015261189e01526000818161047801526117dd01526000818161030701526117850152611ce76000f3fe60806040526004361061016a5760003560e01c8063715018a6116100d1578063b98351f11161008a578063ca9ec19911610064578063ca9ec19914610466578063dd62ed3e1461049a578063de795edd146104e0578063f2fde38b1461050057600080fd5b8063b98351f1146103f3578063bb29998e14610413578063c816841b1461044057600080fd5b8063715018a6146103495780638da5cb5b14610360578063958c2e521461037e57806395d89b411461039e578063a457c2d7146103b3578063a9059cbb146103d357600080fd5b80632b112e49116101235780632b112e4914610288578063313ce5671461029d57806339509351146102bf5780633eaaf86b146102df57806342a11095146102f557806370a082311461032957600080fd5b80630461ee0d1461017657806306fdde03146101bb578063095ea7b3146101dd57806318160ddd146101fd57806323b872dd1461021c57806327c8f8351461023c57600080fd5b3661017157005b600080fd5b34801561018257600080fd5b506101a6610191366004611a20565b600a6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156101c757600080fd5b506101d0610520565b6040516101b29190611a3d565b3480156101e957600080fd5b506101a66101f8366004611a92565b6105b2565b34801561020957600080fd5b506006545b6040519081526020016101b2565b34801561022857600080fd5b506101a6610237366004611abe565b6105c9565b34801561024857600080fd5b506102707f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101b2565b34801561029457600080fd5b5061020e610983565b3480156102a957600080fd5b5060055460405160ff90911681526020016101b2565b3480156102cb57600080fd5b506101a66102da366004611a92565b6109bf565b3480156102eb57600080fd5b5061020e60065481565b34801561030157600080fd5b5061020e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561033557600080fd5b5061020e610344366004611a20565b6109f5565b34801561035557600080fd5b5061035e610a64565b005b34801561036c57600080fd5b506000546001600160a01b0316610270565b34801561038a57600080fd5b50600c54610270906001600160a01b031681565b3480156103aa57600080fd5b506101d0610ae7565b3480156103bf57600080fd5b506101a66103ce366004611a92565b610af6565b3480156103df57600080fd5b506101a66103ee366004611a92565b610b45565b3480156103ff57600080fd5b5061035e61040e366004611a20565b610ea2565b34801561041f57600080fd5b5061020e61042e366004611a20565b60096020526000908152604090205481565b34801561044c57600080fd5b50600754610270906201000090046001600160a01b031681565b34801561047257600080fd5b5061020e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104a657600080fd5b5061020e6104b5366004611aff565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b3480156104ec57600080fd5b50600854610270906001600160a01b031681565b34801561050c57600080fd5b5061035e61051b366004611a20565b610fbc565b60606003805461052f90611b38565b80601f016020809104026020016040519081016040528092919081815260200182805461055b90611b38565b80156105a85780601f1061057d576101008083540402835291602001916105a8565b820191906000526020600020905b81548152906001019060200180831161058b57829003601f168201915b5050505050905090565b60006105bf3384846110a6565b5060015b92915050565b600754600090610100900460ff1661091b57600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106529190611b73565b6001600160a01b031663e6a4390530600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d89190611b73565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa92505050801561073f575060408051601f3d908101601f1916820190925261073c91810190611b73565b60015b610779573d80801561076d576040519150601f19603f3d011682016040523d82523d6000602084013e610772565b606091505b505061091b565b50600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190611b73565b6001600160a01b031663e6a4390530600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610853573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108779190611b73565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156108c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e69190611b73565b6007805461ff00196001600160a01b0393909316620100000292909216610100600160b01b0319909216919091176101001790555b6109268484846111ca565b50610979843361097485604051806060016040528060288152602001611c65602891396001600160a01b038a166000908152600b6020908152604080832033845290915290205491906115e4565b6110a6565b5060019392505050565b60006109ba6109b17f00000000000000000000000000000000000000000000000000000000000000006109f5565b6006549061161e565b905090565b336000818152600b602090815260408083206001600160a01b038716845290915281205490916105bf9185906109749086611667565b600d546040516330af0bbf60e21b81526001600160a01b038381166004830152600092169063c2bc2efc90602401602060405180830381865afa158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c39190611b90565b6000546001600160a01b03163314610a975760405162461bcd60e51b8152600401610a8e90611ba9565b60405180910390fd5b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b60606004805461052f90611b38565b60006105bf338461097485604051806060016040528060258152602001611c8d60259139336000908152600b602090815260408083206001600160a01b038d16845290915290205491906115e4565b600754600090610100900460ff16610e9757600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610baa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bce9190611b73565b6001600160a01b031663e6a4390530600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c549190611b73565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa925050508015610cbb575060408051601f3d908101601f19168201909252610cb891810190611b73565b60015b610cf5573d808015610ce9576040519150601f19603f3d011682016040523d82523d6000602084013e610cee565b606091505b5050610e97565b50600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6d9190611b73565b6001600160a01b031663e6a4390530600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190611b73565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610e3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e629190611b73565b6007805461ff00196001600160a01b0393909316620100000292909216610100600160b01b0319909216919091176101001790555b6109793384846111ca565b6000546001600160a01b03163314610ecc5760405162461bcd60e51b8152600401610a8e90611ba9565b600d80546001600160a01b0383166001600160a01b03199091168117909155633825d828610f026000546001600160a01b031690565b6006546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015610f4b57600080fd5b505af1158015610f5f573d6000803e3d6000fd5b50505050610f6a3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051610fb191815260200190565b60405180910390a350565b6000546001600160a01b03163314610fe65760405162461bcd60e51b8152600401610a8e90611ba9565b6001600160a01b03811661104b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a8e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166111085760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a8e565b6001600160a01b0382166111695760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a8e565b6001600160a01b038381166000818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6007546000906001600160a01b038481166201000090920416148015906111ff57506000546001600160a01b03858116911614155b801561122457506001600160a01b0384166000908152600a602052604090205460ff16155b156112745760075460ff166112745760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610a8e565b600d546040516330af0bbf60e21b81526001600160a01b038681166004830152600092169063c2bc2efc90602401602060405180830381865afa1580156112bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e39190611b90565b600d546040516330af0bbf60e21b81526001600160a01b0387811660048301529293506000929091169063c2bc2efc90602401602060405180830381865afa158015611333573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113579190611b90565b90506001600160a01b0386166113bd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a8e565b6001600160a01b03851661141f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a8e565b604080518082019091526014815273496e73756666696369656e742042616c616e636560601b602082015261145790839086906115e4565b6001600160a01b0387166000908152600a60205260408120549193509060ff168061149a57506001600160a01b0386166000908152600a602052604090205460ff165b6114ae576114a98787876116c6565b6114b0565b845b90506114bc8282611667565b600d54604051630704bb0560e31b81526001600160a01b038a8116600483015260248201879052929450911690633825d82890604401600060405180830381600087803b15801561150c57600080fd5b505af1158015611520573d6000803e3d6000fd5b5050600d54604051630704bb0560e31b81526001600160a01b038a81166004830152602482018790529091169250633825d8289150604401600060405180830381600087803b15801561157257600080fd5b505af1158015611586573d6000803e3d6000fd5b50505050856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115cf91815260200190565b60405180910390a35060019695505050505050565b600081848411156116085760405162461bcd60e51b8152600401610a8e9190611a3d565b5060006116158486611bf4565b95945050505050565b600061166083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115e4565b9392505050565b6000806116748385611c0b565b9050838110156116605760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a8e565b600d546040516330af0bbf60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600092839283929091169063c2bc2efc90602401602060405180830381865afa158015611737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175b9190611b90565b6007549091506001600160a01b03878116620100009092041614156117b6576117af60646117a9867f000000000000000000000000000000000000000000000000000000000000000061191e565b9061199d565b9150611804565b6007546001600160a01b03868116620100009092041614156118045761180160646117a9867f000000000000000000000000000000000000000000000000000000000000000061191e565b91505b811561190a576118148183611667565b600d54604051630704bb0560e31b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052929350911690633825d82890604401600060405180830381600087803b15801561188457600080fd5b505af1158015611898573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161190191815260200190565b60405180910390a35b611914848361161e565b9695505050505050565b60008261192d575060006105c3565b60006119398385611c23565b9050826119468583611c42565b146116605760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a8e565b600061166083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836119fb5760405162461bcd60e51b8152600401610a8e9190611a3d565b5060006116158486611c42565b6001600160a01b0381168114611a1d57600080fd5b50565b600060208284031215611a3257600080fd5b813561166081611a08565b600060208083528351808285015260005b81811015611a6a57858101830151858201604001528201611a4e565b81811115611a7c576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611aa557600080fd5b8235611ab081611a08565b946020939093013593505050565b600080600060608486031215611ad357600080fd5b8335611ade81611a08565b92506020840135611aee81611a08565b929592945050506040919091013590565b60008060408385031215611b1257600080fd5b8235611b1d81611a08565b91506020830135611b2d81611a08565b809150509250929050565b600181811c90821680611b4c57607f821691505b60208210811415611b6d57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611b8557600080fd5b815161166081611a08565b600060208284031215611ba257600080fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082821015611c0657611c06611bde565b500390565b60008219821115611c1e57611c1e611bde565b500190565b6000816000190483118215151615611c3d57611c3d611bde565b500290565b600082611c5f57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220078becaa02ac70a2e03e330549b841c579ab919a47372633e247ccd666f4102564736f6c634300080a0033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c8063715018a6116100d1578063b98351f11161008a578063ca9ec19911610064578063ca9ec19914610466578063dd62ed3e1461049a578063de795edd146104e0578063f2fde38b1461050057600080fd5b8063b98351f1146103f3578063bb29998e14610413578063c816841b1461044057600080fd5b8063715018a6146103495780638da5cb5b14610360578063958c2e521461037e57806395d89b411461039e578063a457c2d7146103b3578063a9059cbb146103d357600080fd5b80632b112e49116101235780632b112e4914610288578063313ce5671461029d57806339509351146102bf5780633eaaf86b146102df57806342a11095146102f557806370a082311461032957600080fd5b80630461ee0d1461017657806306fdde03146101bb578063095ea7b3146101dd57806318160ddd146101fd57806323b872dd1461021c57806327c8f8351461023c57600080fd5b3661017157005b600080fd5b34801561018257600080fd5b506101a6610191366004611a20565b600a6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156101c757600080fd5b506101d0610520565b6040516101b29190611a3d565b3480156101e957600080fd5b506101a66101f8366004611a92565b6105b2565b34801561020957600080fd5b506006545b6040519081526020016101b2565b34801561022857600080fd5b506101a6610237366004611abe565b6105c9565b34801561024857600080fd5b506102707f000000000000000000000000000000000000000000000000000000000000dead81565b6040516001600160a01b0390911681526020016101b2565b34801561029457600080fd5b5061020e610983565b3480156102a957600080fd5b5060055460405160ff90911681526020016101b2565b3480156102cb57600080fd5b506101a66102da366004611a92565b6109bf565b3480156102eb57600080fd5b5061020e60065481565b34801561030157600080fd5b5061020e7f000000000000000000000000000000000000000000000000000000000000000281565b34801561033557600080fd5b5061020e610344366004611a20565b6109f5565b34801561035557600080fd5b5061035e610a64565b005b34801561036c57600080fd5b506000546001600160a01b0316610270565b34801561038a57600080fd5b50600c54610270906001600160a01b031681565b3480156103aa57600080fd5b506101d0610ae7565b3480156103bf57600080fd5b506101a66103ce366004611a92565b610af6565b3480156103df57600080fd5b506101a66103ee366004611a92565b610b45565b3480156103ff57600080fd5b5061035e61040e366004611a20565b610ea2565b34801561041f57600080fd5b5061020e61042e366004611a20565b60096020526000908152604090205481565b34801561044c57600080fd5b50600754610270906201000090046001600160a01b031681565b34801561047257600080fd5b5061020e7f000000000000000000000000000000000000000000000000000000000000000281565b3480156104a657600080fd5b5061020e6104b5366004611aff565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b3480156104ec57600080fd5b50600854610270906001600160a01b031681565b34801561050c57600080fd5b5061035e61051b366004611a20565b610fbc565b60606003805461052f90611b38565b80601f016020809104026020016040519081016040528092919081815260200182805461055b90611b38565b80156105a85780601f1061057d576101008083540402835291602001916105a8565b820191906000526020600020905b81548152906001019060200180831161058b57829003601f168201915b5050505050905090565b60006105bf3384846110a6565b5060015b92915050565b600754600090610100900460ff1661091b57600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106529190611b73565b6001600160a01b031663e6a4390530600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d89190611b73565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa92505050801561073f575060408051601f3d908101601f1916820190925261073c91810190611b73565b60015b610779573d80801561076d576040519150601f19603f3d011682016040523d82523d6000602084013e610772565b606091505b505061091b565b50600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190611b73565b6001600160a01b031663e6a4390530600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610853573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108779190611b73565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156108c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e69190611b73565b6007805461ff00196001600160a01b0393909316620100000292909216610100600160b01b0319909216919091176101001790555b6109268484846111ca565b50610979843361097485604051806060016040528060288152602001611c65602891396001600160a01b038a166000908152600b6020908152604080832033845290915290205491906115e4565b6110a6565b5060019392505050565b60006109ba6109b17f000000000000000000000000000000000000000000000000000000000000dead6109f5565b6006549061161e565b905090565b336000818152600b602090815260408083206001600160a01b038716845290915281205490916105bf9185906109749086611667565b600d546040516330af0bbf60e21b81526001600160a01b038381166004830152600092169063c2bc2efc90602401602060405180830381865afa158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c39190611b90565b6000546001600160a01b03163314610a975760405162461bcd60e51b8152600401610a8e90611ba9565b60405180910390fd5b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b60606004805461052f90611b38565b60006105bf338461097485604051806060016040528060258152602001611c8d60259139336000908152600b602090815260408083206001600160a01b038d16845290915290205491906115e4565b600754600090610100900460ff16610e9757600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610baa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bce9190611b73565b6001600160a01b031663e6a4390530600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c549190611b73565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa925050508015610cbb575060408051601f3d908101601f19168201909252610cb891810190611b73565b60015b610cf5573d808015610ce9576040519150601f19603f3d011682016040523d82523d6000602084013e610cee565b606091505b5050610e97565b50600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6d9190611b73565b6001600160a01b031663e6a4390530600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190611b73565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610e3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e629190611b73565b6007805461ff00196001600160a01b0393909316620100000292909216610100600160b01b0319909216919091176101001790555b6109793384846111ca565b6000546001600160a01b03163314610ecc5760405162461bcd60e51b8152600401610a8e90611ba9565b600d80546001600160a01b0383166001600160a01b03199091168117909155633825d828610f026000546001600160a01b031690565b6006546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015610f4b57600080fd5b505af1158015610f5f573d6000803e3d6000fd5b50505050610f6a3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051610fb191815260200190565b60405180910390a350565b6000546001600160a01b03163314610fe65760405162461bcd60e51b8152600401610a8e90611ba9565b6001600160a01b03811661104b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a8e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166111085760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a8e565b6001600160a01b0382166111695760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a8e565b6001600160a01b038381166000818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6007546000906001600160a01b038481166201000090920416148015906111ff57506000546001600160a01b03858116911614155b801561122457506001600160a01b0384166000908152600a602052604090205460ff16155b156112745760075460ff166112745760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610a8e565b600d546040516330af0bbf60e21b81526001600160a01b038681166004830152600092169063c2bc2efc90602401602060405180830381865afa1580156112bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e39190611b90565b600d546040516330af0bbf60e21b81526001600160a01b0387811660048301529293506000929091169063c2bc2efc90602401602060405180830381865afa158015611333573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113579190611b90565b90506001600160a01b0386166113bd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a8e565b6001600160a01b03851661141f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a8e565b604080518082019091526014815273496e73756666696369656e742042616c616e636560601b602082015261145790839086906115e4565b6001600160a01b0387166000908152600a60205260408120549193509060ff168061149a57506001600160a01b0386166000908152600a602052604090205460ff165b6114ae576114a98787876116c6565b6114b0565b845b90506114bc8282611667565b600d54604051630704bb0560e31b81526001600160a01b038a8116600483015260248201879052929450911690633825d82890604401600060405180830381600087803b15801561150c57600080fd5b505af1158015611520573d6000803e3d6000fd5b5050600d54604051630704bb0560e31b81526001600160a01b038a81166004830152602482018790529091169250633825d8289150604401600060405180830381600087803b15801561157257600080fd5b505af1158015611586573d6000803e3d6000fd5b50505050856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115cf91815260200190565b60405180910390a35060019695505050505050565b600081848411156116085760405162461bcd60e51b8152600401610a8e9190611a3d565b5060006116158486611bf4565b95945050505050565b600061166083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115e4565b9392505050565b6000806116748385611c0b565b9050838110156116605760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a8e565b600d546040516330af0bbf60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead81166004830152600092839283929091169063c2bc2efc90602401602060405180830381865afa158015611737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175b9190611b90565b6007549091506001600160a01b03878116620100009092041614156117b6576117af60646117a9867f000000000000000000000000000000000000000000000000000000000000000261191e565b9061199d565b9150611804565b6007546001600160a01b03868116620100009092041614156118045761180160646117a9867f000000000000000000000000000000000000000000000000000000000000000261191e565b91505b811561190a576118148183611667565b600d54604051630704bb0560e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead8116600483015260248201849052929350911690633825d82890604401600060405180830381600087803b15801561188457600080fd5b505af1158015611898573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161190191815260200190565b60405180910390a35b611914848361161e565b9695505050505050565b60008261192d575060006105c3565b60006119398385611c23565b9050826119468583611c42565b146116605760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a8e565b600061166083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836119fb5760405162461bcd60e51b8152600401610a8e9190611a3d565b5060006116158486611c42565b6001600160a01b0381168114611a1d57600080fd5b50565b600060208284031215611a3257600080fd5b813561166081611a08565b600060208083528351808285015260005b81811015611a6a57858101830151858201604001528201611a4e565b81811115611a7c576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611aa557600080fd5b8235611ab081611a08565b946020939093013593505050565b600080600060608486031215611ad357600080fd5b8335611ade81611a08565b92506020840135611aee81611a08565b929592945050506040919091013590565b60008060408385031215611b1257600080fd5b8235611b1d81611a08565b91506020830135611b2d81611a08565b809150509250929050565b600181811c90821680611b4c57607f821691505b60208210811415611b6d57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611b8557600080fd5b815161166081611a08565b600060208284031215611ba257600080fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082821015611c0657611c06611bde565b500390565b60008219821115611c1e57611c1e611bde565b500190565b6000816000190483118215151615611c3d57611c3d611bde565b500290565b600082611c5f57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220078becaa02ac70a2e03e330549b841c579ab919a47372633e247ccd666f4102564736f6c634300080a0033
Deployed Bytecode Sourcemap
12185:6228:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12813:44;;;;;;;;;;-1:-1:-1;12813:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;567:14:1;;560:22;542:41;;530:2;515:18;12813:44:0;;;;;;;;14311:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;17764:161::-;;;;;;;;;;-1:-1:-1;17764:161:0;;;;;:::i;:::-;;:::i;14588:100::-;;;;;;;;;;-1:-1:-1;14668:12:0;;14588:100;;;1662:25:1;;;1650:2;1635:18;14588:100:0;1516:177:1;15222:660:0;;;;;;;;;;-1:-1:-1;15222:660:0;;;;;:::i;:::-;;:::i;12468:81::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2323:32:1;;;2305:51;;2293:2;2278:18;12468:81:0;2159:203:1;18278:128:0;;;;;;;;;;;;;:::i;14497:83::-;;;;;;;;;;-1:-1:-1;14563:9:0;;14497:83;;14563:9;;;;2509:36:1;;2497:2;2482:18;14497:83:0;2367:184:1;17224:218:0;;;;;;;;;;-1:-1:-1;17224:218:0;;;;;:::i;:::-;;:::i;12556:59::-;;;;;;;;;;;;;;;;12233:35;;;;;;;;;;;;;;;16937:128;;;;;;;;;;-1:-1:-1;16937:128:0;;;;;:::i;:::-;;:::i;3106:230::-;;;;;;;;;;;;;:::i;:::-;;3002:79;;;;;;;;;;-1:-1:-1;3040:7:0;3067:6;-1:-1:-1;;;;;3067:6:0;3002:79;;12940:37;;;;;;;;;;-1:-1:-1;12940:37:0;;;;-1:-1:-1;;;;;12940:37:0;;;14402:87;;;;;;;;;;;;;:::i;17450:269::-;;;;;;;;;;-1:-1:-1;17450:269:0;;;;;:::i;:::-;;:::i;14696:518::-;;;;;;;;;;-1:-1:-1;14696:518:0;;;;;:::i;:::-;;:::i;13370:228::-;;;;;;;;;;-1:-1:-1;13370:228:0;;;;;:::i;:::-;;:::i;12766:40::-;;;;;;;;;;-1:-1:-1;12766:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;12671:26;;;;;;;;;;-1:-1:-1;12671:26:0;;;;;;;-1:-1:-1;;;;;12671:26:0;;;12275:37;;;;;;;;;;;;;;;17073:143;;;;;;;;;;-1:-1:-1;17073:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17181:18:0;;;17154:7;17181:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17073:143;12737:20;;;;;;;;;;-1:-1:-1;12737:20:0;;;;-1:-1:-1;;;;;12737:20:0;;;3350:244;;;;;;;;;;-1:-1:-1;3350:244:0;;;;;:::i;:::-;;:::i;14311:83::-;14348:13;14381:5;14374:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14311:83;:::o;17764:161::-;17839:4;17856:39;875:10;17879:7;17888:6;17856:8;:39::i;:::-;-1:-1:-1;17913:4:0;17764:161;;;;;:::o;15222:660::-;15340:4;;15320;;15340;;;;;15337:337;;15389:11;;;;;;;;;-1:-1:-1;;;;;15389:11:0;-1:-1:-1;;;;;15389:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15371:48:0;;15428:4;15435:11;;;;;;;;;-1:-1:-1;;;;;15435:11:0;-1:-1:-1;;;;;15435:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15371:83;;-1:-1:-1;;;;;;15371:83:0;;;;;;;-1:-1:-1;;;;;4055:15:1;;;15371:83:0;;;4037:34:1;4107:15;;4087:18;;;4080:43;3972:18;;15371:83:0;;;;;;;;;;;;;;;;;;-1:-1:-1;15371:83:0;;;;;;;;-1:-1:-1;;15371:83:0;;;;;;;;;;;;:::i;:::-;;;15367:296;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15628:35;15367:296;;;;15505:11;;;;;;;;;-1:-1:-1;;;;;15505:11:0;-1:-1:-1;;;;;15505:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15487:48:0;;15544:4;15551:11;;;;;;;;;-1:-1:-1;;;;;15551:11:0;-1:-1:-1;;;;;15551:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15487:83;;-1:-1:-1;;;;;;15487:83:0;;;;;;;-1:-1:-1;;;;;4055:15:1;;;15487:83:0;;;4037:34:1;4107:15;;4087:18;;;4080:43;3972:18;;15487:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15473:11;:97;;-1:-1:-1;;;;;;;15473:97:0;;;;;;15589:9;;;;-1:-1:-1;;;;;;15589:9:0;;;;;;;15473:97;15589:9;;;15367:296;15684:36;15694:6;15702:9;15713:6;15684:9;:36::i;:::-;-1:-1:-1;15731:121:0;15740:6;875:10;15762:89;15800:6;15762:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15762:19:0;;;;;;:11;:19;;;;;;;;875:10;15762:33;;;;;;;;;;:37;:89::i;:::-;15731:8;:121::i;:::-;-1:-1:-1;15870:4:0;15222:660;;;;;:::o;18278:128::-;18331:7;18358:40;18375:22;18385:11;18375:9;:22::i;:::-;18358:12;;;:16;:40::i;:::-;18351:47;;18278:128;:::o;17224:218::-;875:10;17312:4;17361:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17361:34:0;;;;;;;;;;17312:4;;17329:83;;17352:7;;17361:50;;17400:10;17361:38;:50::i;16937:128::-;17030:14;;:27;;-1:-1:-1;;;17030:27:0;;-1:-1:-1;;;;;2323:32:1;;;17030:27:0;;;2305:51:1;17003:7:0;;17030:14;;:18;;2278::1;;17030:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3106:230::-;2753:6;;-1:-1:-1;;;;;2753:6:0;875:10;2753:22;2745:67;;;;-1:-1:-1;;;2745:67:0;;;;;;;:::i;:::-;;;;;;;;;3197:6:::1;::::0;;3176:81:::1;::::0;3213:42:::1;::::0;-1:-1:-1;;;;;3197:6:0;;::::1;::::0;3176:81:::1;::::0;::::1;3268:6;:60:::0;;-1:-1:-1;;;;;;3268:60:0::1;3285:42;3268:60;::::0;;3106:230::o;14402:87::-;14441:13;14474:7;14467:14;;;;;:::i;17450:269::-;17543:4;17560:129;875:10;17583:7;17592:96;17631:15;17592:96;;;;;;;;;;;;;;;;;875:10;17592:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17592:34:0;;;;;;;;;;;;:38;:96::i;14696:518::-;14794:4;;14774;;14794;;;;;14791:337;;14843:11;;;;;;;;;-1:-1:-1;;;;;14843:11:0;-1:-1:-1;;;;;14843:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14825:48:0;;14882:4;14889:11;;;;;;;;;-1:-1:-1;;;;;14889:11:0;-1:-1:-1;;;;;14889:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14825:83;;-1:-1:-1;;;;;;14825:83:0;;;;;;;-1:-1:-1;;;;;4055:15:1;;;14825:83:0;;;4037:34:1;4107:15;;4087:18;;;4080:43;3972:18;;14825:83:0;;;;;;;;;;;;;;;;;;-1:-1:-1;14825:83:0;;;;;;;;-1:-1:-1;;14825:83:0;;;;;;;;;;;;:::i;:::-;;;14821:296;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15082:35;14821:296;;;;14959:11;;;;;;;;;-1:-1:-1;;;;;14959:11:0;-1:-1:-1;;;;;14959:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14941:48:0;;14998:4;15005:11;;;;;;;;;-1:-1:-1;;;;;15005:11:0;-1:-1:-1;;;;;15005:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14941:83;;-1:-1:-1;;;;;;14941:83:0;;;;;;;-1:-1:-1;;;;;4055:15:1;;;14941:83:0;;;4037:34:1;4107:15;;4087:18;;;4080:43;3972:18;;14941:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14927:11;:97;;-1:-1:-1;;;;;;;14927:97:0;;;;;;15043:9;;;;-1:-1:-1;;;;;;15043:9:0;;;;;;;14927:97;15043:9;;;14821:296;15138:42;875:10;15162:9;15173:6;15138:9;:42::i;13370:228::-;2753:6;;-1:-1:-1;;;;;2753:6:0;875:10;2753:22;2745:67;;;;-1:-1:-1;;;2745:67:0;;;;;;;:::i;:::-;13431:14:::1;:44:::0;;-1:-1:-1;;;;;13431:44:0;::::1;-1:-1:-1::0;;;;;;13431:44:0;;::::1;::::0;::::1;::::0;;;13486:18:::1;13505:7;3040::::0;3067:6;-1:-1:-1;;;;;3067:6:0;;3002:79;13505:7:::1;13513:12;::::0;13486:40:::1;::::0;-1:-1:-1;;;;;;13486:40:0::1;::::0;;;;;;-1:-1:-1;;;;;4876:32:1;;;13486:40:0::1;::::0;::::1;4858:51:1::0;4925:18;;;4918:34;4831:18;;13486:40:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13563:12;875:10:::0;;779:115;13563:12:::1;-1:-1:-1::0;;;;;13542:48:0::1;13559:1;-1:-1:-1::0;;;;;13542:48:0::1;;13577:12;;13542:48;;;;1662:25:1::0;;1650:2;1635:18;;1516:177;13542:48:0::1;;;;;;;;13370:228:::0;:::o;3350:244::-;2753:6;;-1:-1:-1;;;;;2753:6:0;875:10;2753:22;2745:67;;;;-1:-1:-1;;;2745:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3439:22:0;::::1;3431:73;;;::::0;-1:-1:-1;;;3431:73:0;;5165:2:1;3431:73:0::1;::::0;::::1;5147:21:1::0;5204:2;5184:18;;;5177:30;5243:34;5223:18;;;5216:62;-1:-1:-1;;;5294:18:1;;;5287:36;5340:19;;3431:73:0::1;4963:402:1::0;3431:73:0::1;3541:6;::::0;;3520:38:::1;::::0;-1:-1:-1;;;;;3520:38:0;;::::1;::::0;3541:6;::::1;::::0;3520:38:::1;::::0;::::1;3569:6;:17:::0;;-1:-1:-1;;;;;;3569:17:0::1;-1:-1:-1::0;;;;;3569:17:0;;;::::1;::::0;;;::::1;::::0;;3350:244::o;17933:337::-;-1:-1:-1;;;;;18026:19:0;;18018:68;;;;-1:-1:-1;;;18018:68:0;;5572:2:1;18018:68:0;;;5554:21:1;5611:2;5591:18;;;5584:30;5650:34;5630:18;;;5623:62;-1:-1:-1;;;5701:18:1;;;5694:34;5745:19;;18018:68:0;5370:400:1;18018:68:0;-1:-1:-1;;;;;18105:21:0;;18097:68;;;;-1:-1:-1;;;18097:68:0;;5977:2:1;18097:68:0;;;5959:21:1;6016:2;5996:18;;;5989:30;6055:34;6035:18;;;6028:62;-1:-1:-1;;;6106:18:1;;;6099:32;6148:19;;18097:68:0;5775:398:1;18097:68:0;-1:-1:-1;;;;;18178:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18230:32;;1662:25:1;;;18230:32:0;;1635:18:1;18230:32:0;;;;;;;17933:337;;;:::o;15892:1037::-;16012:11;;15979:4;;-1:-1:-1;;;;;16012:24:0;;;:11;;;;;:24;;;;:45;;-1:-1:-1;3040:7:0;3067:6;-1:-1:-1;;;;;16040:17:0;;;3067:6;;16040:17;;16012:45;:69;;;;-1:-1:-1;;;;;;16062:19:0;;;;;;:11;:19;;;;;;;;16061:20;16012:69;16008:139;;;16105:6;;;;16097:50;;;;-1:-1:-1;;;16097:50:0;;6380:2:1;16097:50:0;;;6362:21:1;6419:2;6399:18;;;6392:30;-1:-1:-1;;;6438:18:1;;;6431:52;6500:18;;16097:50:0;6178:346:1;16097:50:0;16183:14;;:26;;-1:-1:-1;;;16183:26:0;;-1:-1:-1;;;;;2323:32:1;;;16183:26:0;;;2305:51:1;16162:20:0;;16183:14;;:18;;2278::1;;16183:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16244:14;;:29;;-1:-1:-1;;;16244:29:0;;-1:-1:-1;;;;;2323:32:1;;;16244:29:0;;;2305:51:1;16162:47:0;;-1:-1:-1;16220:23:0;;16244:14;;;;:18;;2278::1;;16244:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16220:53;-1:-1:-1;;;;;;16294:20:0;;16286:70;;;;-1:-1:-1;;;16286:70:0;;6731:2:1;16286:70:0;;;6713:21:1;6770:2;6750:18;;;6743:30;6809:34;6789:18;;;6782:62;-1:-1:-1;;;6860:18:1;;;6853:35;6905:19;;16286:70:0;6529:401:1;16286:70:0;-1:-1:-1;;;;;16375:23:0;;16367:71;;;;-1:-1:-1;;;16367:71:0;;7137:2:1;16367:71:0;;;7119:21:1;7176:2;7156:18;;;7149:30;7215:34;7195:18;;;7188:62;-1:-1:-1;;;7266:18:1;;;7259:33;7309:19;;16367:71:0;6935:399:1;16367:71:0;16466:48;;;;;;;;;;;;-1:-1:-1;;;16466:48:0;;;;;;:12;;16483:6;;16466:16;:48::i;:::-;-1:-1:-1;;;;;16558:19:0;;16535;16558;;;:11;:19;;;;;;16451:63;;-1:-1:-1;16535:19:0;16558;;;:45;;-1:-1:-1;;;;;;16581:22:0;;;;;;:11;:22;;;;;;;;16558:45;16557:89;;16616:30;16620:6;16628:9;16639:6;16616:3;:30::i;:::-;16557:89;;;16607:6;16557:89;16535:111;-1:-1:-1;16685:32:0;:15;16535:111;16685:19;:32::i;:::-;16732:14;;:39;;-1:-1:-1;;;16732:39:0;;-1:-1:-1;;;;;4876:32:1;;;16732:39:0;;;4858:51:1;4925:18;;;4918:34;;;16667:50:0;;-1:-1:-1;16732:14:0;;;:18;;4831::1;;16732:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16782:14:0;;:45;;-1:-1:-1;;;16782:45:0;;-1:-1:-1;;;;;4876:32:1;;;16782:45:0;;;4858:51:1;4925:18;;;4918:34;;;16782:14:0;;;;-1:-1:-1;16782:18:0;;-1:-1:-1;4831:18:1;;16782:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16862:9;-1:-1:-1;;;;;16845:40:0;16854:6;-1:-1:-1;;;;;16845:40:0;;16873:11;16845:40;;;;1662:25:1;;1650:2;1635:18;;1516:177;16845:40:0;;;;;;;;-1:-1:-1;16917:4:0;;15892:1037;-1:-1:-1;;;;;;15892:1037:0:o;1382:192::-;1468:7;1504:12;1496:6;;;;1488:29;;;;-1:-1:-1;;;1488:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1528:9:0;1540:5;1544:1;1540;:5;:::i;:::-;1528:17;1382:192;-1:-1:-1;;;;;1382:192:0:o;1238:136::-;1296:7;1323:43;1327:1;1330;1323:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1316:50;1238:136;-1:-1:-1;;;1238:136:0:o;1049:181::-;1107:7;;1139:5;1143:1;1139;:5;:::i;:::-;1127:17;;1168:1;1163;:6;;1155:46;;;;-1:-1:-1;;;1155:46:0;;7936:2:1;1155:46:0;;;7918:21:1;7975:2;7955:18;;;7948:30;8014:29;7994:18;;;7987:57;8061:18;;1155:46:0;7734:351:1;13606:697:0;13765:14;;:40;;-1:-1:-1;;;13765:40:0;;-1:-1:-1;;;;;13792:11:0;2323:32:1;;13765:40:0;;;2305:51:1;-1:-1:-1;;;;;;13765:14:0;;;;:18;;2278::1;;13765:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13829:11;;13738:67;;-1:-1:-1;;;;;;13829:16:0;;;:11;;;;;:16;13826:191;;;13873:28;13897:3;13873:19;:6;13884:7;13873:10;:19::i;:::-;:23;;:28::i;:::-;13862:39;;13826:191;;;13932:11;;-1:-1:-1;;;;;13932:16:0;;;:11;;;;;:16;13929:88;;;13976:29;14001:3;13976:20;:6;13987:8;13976:10;:20::i;:29::-;13965:40;;13929:88;14040:12;;14037:219;;14088:30;:16;14109:8;14088:20;:30::i;:::-;14133:14;;:48;;-1:-1:-1;;;14133:48:0;;-1:-1:-1;;;;;14152:11:0;4876:32:1;;14133:48:0;;;4858:51:1;4925:18;;;4918:34;;;;;-1:-1:-1;14133:14:0;;;:18;;4831::1;;14133:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14221:11;-1:-1:-1;;;;;14201:43:0;14210:1;-1:-1:-1;;;;;14201:43:0;;14235:8;14201:43;;;;1662:25:1;;1650:2;1635:18;;1516:177;14201:43:0;;;;;;;;14037:219;14275:20;:6;14286:8;14275:10;:20::i;:::-;14268:27;13606:697;-1:-1:-1;;;;;;13606:697:0:o;1582:250::-;1640:7;1664:6;1660:47;;-1:-1:-1;1694:1:0;1687:8;;1660:47;1719:9;1731:5;1735:1;1731;:5;:::i;:::-;1719:17;-1:-1:-1;1764:1:0;1755:5;1759:1;1719:17;1755:5;:::i;:::-;:10;1747:56;;;;-1:-1:-1;;;1747:56:0;;8687:2:1;1747:56:0;;;8669:21:1;8726:2;8706:18;;;8699:30;8765:34;8745:18;;;8738:62;-1:-1:-1;;;8816:18:1;;;8809:31;8857:19;;1747:56:0;8485:397:1;1840:132:0;1898:7;1925:39;1929:1;1932;1925:39;;;;;;;;;;;;;;;;;2066:7;2101:12;2094:5;2086:28;;;;-1:-1:-1;;;2086:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2125:9:0;2137:5;2141:1;2137;:5;:::i;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:247::-;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;594:597::-;706:4;735:2;764;753:9;746:21;796:6;790:13;839:6;834:2;823:9;819:18;812:34;864:1;874:140;888:6;885:1;882:13;874:140;;;983:14;;;979:23;;973:30;949:17;;;968:2;945:26;938:66;903:10;;874:140;;;1032:6;1029:1;1026:13;1023:91;;;1102:1;1097:2;1088:6;1077:9;1073:22;1069:31;1062:42;1023:91;-1:-1:-1;1175:2:1;1154:15;-1:-1:-1;;1150:29:1;1135:45;;;;1182:2;1131:54;;594:597;-1:-1:-1;;;594:597:1:o;1196:315::-;1264:6;1272;1325:2;1313:9;1304:7;1300:23;1296:32;1293:52;;;1341:1;1338;1331:12;1293:52;1380:9;1367:23;1399:31;1424:5;1399:31;:::i;:::-;1449:5;1501:2;1486:18;;;;1473:32;;-1:-1:-1;;;1196:315:1:o;1698:456::-;1775:6;1783;1791;1844:2;1832:9;1823:7;1819:23;1815:32;1812:52;;;1860:1;1857;1850:12;1812:52;1899:9;1886:23;1918:31;1943:5;1918:31;:::i;:::-;1968:5;-1:-1:-1;2025:2:1;2010:18;;1997:32;2038:33;1997:32;2038:33;:::i;:::-;1698:456;;2090:7;;-1:-1:-1;;;2144:2:1;2129:18;;;;2116:32;;1698:456::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:380::-;3263:1;3259:12;;;;3306;;;3327:61;;3381:4;3373:6;3369:17;3359:27;;3327:61;3434:2;3426:6;3423:14;3403:18;3400:38;3397:161;;;3480:10;3475:3;3471:20;3468:1;3461:31;3515:4;3512:1;3505:15;3543:4;3540:1;3533:15;3397:161;;3184:380;;;:::o;3569:251::-;3639:6;3692:2;3680:9;3671:7;3667:23;3663:32;3660:52;;;3708:1;3705;3698:12;3660:52;3740:9;3734:16;3759:31;3784:5;3759:31;:::i;4134:184::-;4204:6;4257:2;4245:9;4236:7;4232:23;4228:32;4225:52;;;4273:1;4270;4263:12;4225:52;-1:-1:-1;4296:16:1;;4134:184;-1:-1:-1;4134:184:1:o;4323:356::-;4525:2;4507:21;;;4544:18;;;4537:30;4603:34;4598:2;4583:18;;4576:62;4670:2;4655:18;;4323:356::o;7339:127::-;7400:10;7395:3;7391:20;7388:1;7381:31;7431:4;7428:1;7421:15;7455:4;7452:1;7445:15;7471:125;7511:4;7539:1;7536;7533:8;7530:34;;;7544:18;;:::i;:::-;-1:-1:-1;7581:9:1;;7471:125::o;7601:128::-;7641:3;7672:1;7668:6;7665:1;7662:13;7659:39;;;7678:18;;:::i;:::-;-1:-1:-1;7714:9:1;;7601:128::o;8090:168::-;8130:7;8196:1;8192;8188:6;8184:14;8181:1;8178:21;8173:1;8166:9;8159:17;8155:45;8152:71;;;8203:18;;:::i;:::-;-1:-1:-1;8243:9:1;;8090:168::o;8263:217::-;8303:1;8329;8319:132;;8373:10;8368:3;8364:20;8361:1;8354:31;8408:4;8405:1;8398:15;8436:4;8433:1;8426:15;8319:132;-1:-1:-1;8465:9:1;;8263:217::o
Swarm Source
ipfs://078becaa02ac70a2e03e330549b841c579ab919a47372633e247ccd666f41025
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.