Overview
Max Total Supply
1,000,000,000 SUMMER
Holders
347,006 (0.00%)
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
-
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 8 Decimals)
Balance
284,891.86153016 SUMMERValue
$3.19 ( ~0.00111419430623707 ETH) [0.0285%]Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
SUMMER
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/**
*Submitted for verification at basescan.org on 2024-05-24
*/
/*
Telegram https://t.me/OCSummerBase
Twitter https://x.com/OCSummerBase
Website https://onchainsummer.site/
Warpcast https://warpcast.com/ocsummerbase
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
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;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract SUMMER is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => bool) private bots;
mapping (address => bool) private isBlacklisted;
mapping(address => uint256) private _holderLastTransferTimestamp;
bool public transferDelayEnabled = false;
address payable private _taxWallet;
uint256 private _initialBuyTax=20;
uint256 private _initialSellTax=20;
uint256 private _finalBuyTax=0;
uint256 private _finalSellTax=0;
uint256 private _reduceBuyTaxAt=25;
uint256 private _reduceSellTaxAt=25;
uint256 private _preventSwapBefore=20;
uint256 private _buyCount=0;
uint256 private _FinalmaxTxPercent = 2;
uint256 private _FinalmaxWalletPercent = 2;
uint256 private _ManualfinalBuyTax = 0;
uint256 private _ManualfinalSellTax = 0;
uint8 private constant _decimals = 8;
uint256 private constant _tTotal = 1000000000 * 10**_decimals;
string private constant _name = unicode"Onchain Summer";
string private constant _symbol = unicode"SUMMER";
uint256 public _maxTxAmount = 20000000 * 10**_decimals;
uint256 public _maxWalletSize = 20000000 * 10**_decimals;
uint256 public _taxSwapThreshold=10000000 * 10**_decimals;
uint256 public _maxTaxSwap=20000000 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () {
_taxWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function isAddressBlacklisted(address addr) public view returns (bool) {
return isBlacklisted[addr];
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if (from != owner() && to != owner()) {
require(!bots[from] && !bots[to]);
require(!isBlacklisted[to] && !isBlacklisted[from], 'Address is blacklisted');
if (transferDelayEnabled) {
if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
_holderLastTransferTimestamp[tx.origin] = block.number;
}
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
_buyCount++;
}
taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
if(to == uniswapV2Pair && from!= address(this) ){
taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if(contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
}
}
if(taxAmount>0){
_balances[address(this)]=_balances[address(this)].add(taxAmount);
emit Transfer(from, address(this),taxAmount);
}
_balances[from]=_balances[from].sub(amount);
_balances[to]=_balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
if(tokenAmount==0){return;}
if(!tradingOpen){return;}
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function removeLimits() external {
require(_msgSender() == _taxWallet, "Only the deployer can call this function.");
_maxTxAmount = _tTotal;
_maxWalletSize=_tTotal;
transferDelayEnabled=false;
emit MaxTxAmountUpdated(_tTotal);
}
function setFinalMaxWallet() external onlyOwner {
_maxTxAmount = _tTotal.mul(_FinalmaxTxPercent).div(100);
_maxWalletSize = _tTotal.mul(_FinalmaxWalletPercent).div(100);
emit MaxTxAmountUpdated(_maxTxAmount);
}
function setFinalTax() external onlyOwner {
_finalBuyTax = _ManualfinalBuyTax;
_finalSellTax = _ManualfinalSellTax;
}
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function isBot(address a) public view returns (bool){
return bots[a];
}
function openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
uniswapV2Router = IUniswapV2Router02(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
}
receive() external payable {}
function manualSwap() external {
require(_msgSender()==_taxWallet);
uint256 tokenBalance=balanceOf(address(this));
if(tokenBalance>0){
swapTokensForEth(tokenBalance);
}
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
sendETHToFee(ethBalance);
}
}
function BulkisBot(address[] memory accounts, bool state) external onlyOwner {
for (uint256 i = 0; i < accounts.length; i++) {
isBlacklisted[accounts[i]] = state;
}
}
function reduceFee(uint256 _newFee) external{
require(_buyCount>1);
require(_newFee<=_finalSellTax && _newFee<=_finalBuyTax);
_finalSellTax=_newFee;
_finalBuyTax=_newFee;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"BulkisBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isAddressBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setFinalMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setFinalTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526007805460ff191690556014600881815560098290556000600a818155600b8290556019600c819055600d55600e93909355600f819055600260108190556011556012819055601355620000589162000364565b62000068906301312d006200037c565b601455620000796008600a62000364565b62000089906301312d006200037c565b6015556200009a6008600a62000364565b620000a990629896806200037c565b601655620000ba6008600a62000364565b620000ca906301312d006200037c565b6017556019805461ffff60a81b19169055348015620000e857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060078054610100600160a81b03191661010033021790556200014f6008600a62000364565b6200015f90633b9aca006200037c565b3360009081526001602081905260408220929092556003906200018a6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556007546101009004909116835291208054909216179055620001ee3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002286008600a62000364565b6200023890633b9aca006200037c565b60405190815260200160405180910390a362000396565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002a65781600019048211156200028a576200028a6200024f565b808516156200029857918102915b93841c93908002906200026a565b509250929050565b600082620002bf575060016200035e565b81620002ce575060006200035e565b8160018114620002e75760028114620002f25762000312565b60019150506200035e565b60ff8411156200030657620003066200024f565b50506001821b6200035e565b5060208310610133831016604e8410600b841016171562000337575081810a6200035e565b62000343838362000265565b80600019048211156200035a576200035a6200024f565b0290505b92915050565b60006200037560ff841683620002ae565b9392505050565b80820281158282048414176200035e576200035e6200024f565b611d9880620003a66000396000f3fe60806040526004361061016a5760003560e01c80637d1db4a5116100d1578063bf474bed1161008a578063dd62ed3e11610064578063dd62ed3e14610455578063ec1f3f631461049b578063ec6c1290146104bb578063facff4dc146104d057600080fd5b8063bf474bed14610410578063c876d0b914610426578063c9567bf91461044057600080fd5b80637d1db4a5146103345780638da5cb5b1461034a5780638f9a55c01461037257806390683e8c1461038857806395d89b41146103c1578063a9059cbb146103f057600080fd5b80633bbac579116101235780633bbac5791461026457806351bc3c851461029d578063567fef5b146102b457806370a08231146102d4578063715018a61461030a578063751039fc1461031f57600080fd5b806306fdde0314610176578063095ea7b3146101bf5780630faee56f146101ef57806318160ddd1461021357806323b872dd14610228578063313ce5671461024857600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600e81526d27b731b430b4b71029bab6b6b2b960911b60208201525b6040516101b6919061183d565b60405180910390f35b3480156101cb57600080fd5b506101df6101da3660046118b3565b6104e5565b60405190151581526020016101b6565b3480156101fb57600080fd5b5061020560175481565b6040519081526020016101b6565b34801561021f57600080fd5b506102056104fc565b34801561023457600080fd5b506101df6102433660046118df565b61051d565b34801561025457600080fd5b50604051600881526020016101b6565b34801561027057600080fd5b506101df61027f366004611920565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102a957600080fd5b506102b2610586565b005b3480156102c057600080fd5b506102b26102cf36600461196c565b6105de565b3480156102e057600080fd5b506102056102ef366004611920565b6001600160a01b031660009081526001602052604090205490565b34801561031657600080fd5b506102b261067d565b34801561032b57600080fd5b506102b26106f1565b34801561034057600080fd5b5061020560145481565b34801561035657600080fd5b506000546040516001600160a01b0390911681526020016101b6565b34801561037e57600080fd5b5061020560155481565b34801561039457600080fd5b506101df6103a3366004611920565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103cd57600080fd5b5060408051808201909152600681526529aaa6a6a2a960d11b60208201526101a9565b3480156103fc57600080fd5b506101df61040b3660046118b3565b6107fe565b34801561041c57600080fd5b5061020560165481565b34801561043257600080fd5b506007546101df9060ff1681565b34801561044c57600080fd5b506102b261080b565b34801561046157600080fd5b50610205610470366004611a43565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104a757600080fd5b506102b26104b6366004611a7c565b610bc7565b3480156104c757600080fd5b506102b2610bfd565b3480156104dc57600080fd5b506102b2610c35565b60006104f2338484610ce5565b5060015b92915050565b600061050a6008600a611b8f565b61051890633b9aca00611b9e565b905090565b600061052a848484610e09565b61057c843361057785604051806060016040528060288152602001611d3b602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611483565b610ce5565b5060019392505050565b60075461010090046001600160a01b0316336001600160a01b0316146105ab57600080fd5b3060009081526001602052604090205480156105ca576105ca816114bd565b4780156105da576105da81611650565b5050565b6000546001600160a01b031633146106115760405162461bcd60e51b815260040161060890611bb5565b60405180910390fd5b60005b825181101561067857816005600085848151811061063457610634611bea565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061067081611c00565b915050610614565b505050565b6000546001600160a01b031633146106a75760405162461bcd60e51b815260040161060890611bb5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60075461010090046001600160a01b0316336001600160a01b03161461076b5760405162461bcd60e51b815260206004820152602960248201527f4f6e6c7920746865206465706c6f7965722063616e2063616c6c207468697320604482015268333ab731ba34b7b71760b91b6064820152608401610608565b6107776008600a611b8f565b61078590633b9aca00611b9e565b6014556107946008600a611b8f565b6107a290633b9aca00611b9e565b6015556007805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107dc6008600a611b8f565b6107ea90633b9aca00611b9e565b6040519081526020015b60405180910390a1565b60006104f2338484610e09565b6000546001600160a01b031633146108355760405162461bcd60e51b815260040161060890611bb5565b601954600160a01b900460ff161561088f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610608565b601880546001600160a01b031916734752ba5dbc23f44d87826276bf6fd6b1c372ad249081179091556108d89030906108ca6008600a611b8f565b61057790633b9aca00611b9e565b601860009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190611c19565b6001600160a01b031663c9c6539630601860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d59190611c19565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a469190611c19565b601980546001600160a01b039283166001600160a01b03199091161790556018541663f305d7194730610a8e816001600160a01b031660009081526001602052604090205490565b600080610aa36000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b0b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b309190611c36565b505060195460185460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bad9190611c64565b506019805462ff00ff60a01b19166201000160a01b179055565b6001600f5411610bd657600080fd5b600b548111158015610bea5750600a548111155b610bf357600080fd5b600b819055600a55565b6000546001600160a01b03163314610c275760405162461bcd60e51b815260040161060890611bb5565b601254600a55601354600b55565b6000546001600160a01b03163314610c5f5760405162461bcd60e51b815260040161060890611bb5565b610c926064610c8c6010546008600a610c789190611b8f565b610c8690633b9aca00611b9e565b9061168e565b90611717565b601455601154610caf90606490610c8c90610c786008600a611b8f565b6015556014546040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf906020016107f4565b6001600160a01b038316610d475760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610608565b6001600160a01b038216610da85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610608565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e6d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610608565b6001600160a01b038216610ecf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610608565b60008111610f315760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610608565b600080546001600160a01b03858116911614801590610f5e57506000546001600160a01b03848116911614155b15611340576001600160a01b03841660009081526004602052604090205460ff16158015610fa557506001600160a01b03831660009081526004602052604090205460ff16155b610fae57600080fd5b6001600160a01b03831660009081526005602052604090205460ff16158015610ff057506001600160a01b03841660009081526005602052604090205460ff16155b6110355760405162461bcd60e51b81526020600482015260166024820152751059191c995cdcc81a5cc8189b1858dadb1a5cdd195960521b6044820152606401610608565b60075460ff16156110ee576018546001600160a01b0384811691161480159061106c57506019546001600160a01b03848116911614155b156110ee573260009081526006602052604090205443116110db5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610608565b3260009081526006602052604090204390555b6019546001600160a01b03858116911614801561111957506018546001600160a01b03848116911614155b801561113e57506001600160a01b03831660009081526003602052604090205460ff16155b15611226576014548211156111955760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610608565b601554826111b8856001600160a01b031660009081526001602052604090205490565b6111c29190611c81565b11156112105760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610608565b600f805490600061122083611c00565b91905055505b61124c6064610c8c600c54600f541161124157600854611245565b600a545b859061168e565b6019549091506001600160a01b03848116911614801561127557506001600160a01b0384163014155b156112a25761129f6064610c8c600d54600f541161129557600954611245565b600b54859061168e565b90505b30600090815260016020526040902054601954600160a81b900460ff161580156112d957506019546001600160a01b038581169116145b80156112ee5750601954600160b01b900460ff165b80156112fb575060165481115b801561130a5750600e54600f54115b1561133e5761132c6113278461132284601754611759565b611759565b6114bd565b47801561133c5761133c47611650565b505b505b80156113ba5730600090815260016020526040902054611360908261176e565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113b19085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546113dd90836117cd565b6001600160a01b03851660009081526001602052604090205561142261140383836117cd565b6001600160a01b0385166000908152600160205260409020549061176e565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61146c85856117cd565b60405190815260200160405180910390a350505050565b600081848411156114a75760405162461bcd60e51b8152600401610608919061183d565b5060006114b48486611c94565b95945050505050565b6019805460ff60a81b1916600160a81b179055801561164057601954600160a01b900460ff161561164057604080516002808252606082018352600092602083019080368337019050509050308160008151811061151d5761151d611bea565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611576573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159a9190611c19565b816001815181106115ad576115ad611bea565b6001600160a01b0392831660209182029290920101526018546115d39130911684610ce5565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac9479061160c908590600090869030904290600401611ca7565b600060405180830381600087803b15801561162657600080fd5b505af115801561163a573d6000803e3d6000fd5b50505050505b506019805460ff60a81b19169055565b6007546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156105da573d6000803e3d6000fd5b6000826000036116a0575060006104f6565b60006116ac8385611b9e565b9050826116b98583611d18565b146117105760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610608565b9392505050565b600061171083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061180f565b60008183116117685782611710565b50919050565b60008061177b8385611c81565b9050838110156117105760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610608565b600061171083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611483565b600081836118305760405162461bcd60e51b8152600401610608919061183d565b5060006114b48486611d18565b600060208083528351808285015260005b8181101561186a5785810183015185820160400152820161184e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146118a057600080fd5b50565b80356118ae8161188b565b919050565b600080604083850312156118c657600080fd5b82356118d18161188b565b946020939093013593505050565b6000806000606084860312156118f457600080fd5b83356118ff8161188b565b9250602084013561190f8161188b565b929592945050506040919091013590565b60006020828403121561193257600080fd5b81356117108161188b565b634e487b7160e01b600052604160045260246000fd5b80151581146118a057600080fd5b80356118ae81611953565b6000806040838503121561197f57600080fd5b823567ffffffffffffffff8082111561199757600080fd5b818501915085601f8301126119ab57600080fd5b81356020828211156119bf576119bf61193d565b8160051b604051601f19603f830116810181811086821117156119e4576119e461193d565b604052928352818301935084810182019289841115611a0257600080fd5b948201945b83861015611a2757611a18866118a3565b85529482019493820193611a07565b9650611a369050878201611961565b9450505050509250929050565b60008060408385031215611a5657600080fd5b8235611a618161188b565b91506020830135611a718161188b565b809150509250929050565b600060208284031215611a8e57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611ae6578160001904821115611acc57611acc611a95565b80851615611ad957918102915b93841c9390800290611ab0565b509250929050565b600082611afd575060016104f6565b81611b0a575060006104f6565b8160018114611b205760028114611b2a57611b46565b60019150506104f6565b60ff841115611b3b57611b3b611a95565b50506001821b6104f6565b5060208310610133831016604e8410600b8410161715611b69575081810a6104f6565b611b738383611aab565b8060001904821115611b8757611b87611a95565b029392505050565b600061171060ff841683611aee565b80820281158282048414176104f6576104f6611a95565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611c1257611c12611a95565b5060010190565b600060208284031215611c2b57600080fd5b81516117108161188b565b600080600060608486031215611c4b57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611c7657600080fd5b815161171081611953565b808201808211156104f6576104f6611a95565b818103818111156104f6576104f6611a95565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cf75784516001600160a01b031683529383019391830191600101611cd2565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d3557634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a19470117c9f5158f74fe4eb42fcf264171cb1b504ee858040ea76b197945ece64736f6c63430008130033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c80637d1db4a5116100d1578063bf474bed1161008a578063dd62ed3e11610064578063dd62ed3e14610455578063ec1f3f631461049b578063ec6c1290146104bb578063facff4dc146104d057600080fd5b8063bf474bed14610410578063c876d0b914610426578063c9567bf91461044057600080fd5b80637d1db4a5146103345780638da5cb5b1461034a5780638f9a55c01461037257806390683e8c1461038857806395d89b41146103c1578063a9059cbb146103f057600080fd5b80633bbac579116101235780633bbac5791461026457806351bc3c851461029d578063567fef5b146102b457806370a08231146102d4578063715018a61461030a578063751039fc1461031f57600080fd5b806306fdde0314610176578063095ea7b3146101bf5780630faee56f146101ef57806318160ddd1461021357806323b872dd14610228578063313ce5671461024857600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600e81526d27b731b430b4b71029bab6b6b2b960911b60208201525b6040516101b6919061183d565b60405180910390f35b3480156101cb57600080fd5b506101df6101da3660046118b3565b6104e5565b60405190151581526020016101b6565b3480156101fb57600080fd5b5061020560175481565b6040519081526020016101b6565b34801561021f57600080fd5b506102056104fc565b34801561023457600080fd5b506101df6102433660046118df565b61051d565b34801561025457600080fd5b50604051600881526020016101b6565b34801561027057600080fd5b506101df61027f366004611920565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156102a957600080fd5b506102b2610586565b005b3480156102c057600080fd5b506102b26102cf36600461196c565b6105de565b3480156102e057600080fd5b506102056102ef366004611920565b6001600160a01b031660009081526001602052604090205490565b34801561031657600080fd5b506102b261067d565b34801561032b57600080fd5b506102b26106f1565b34801561034057600080fd5b5061020560145481565b34801561035657600080fd5b506000546040516001600160a01b0390911681526020016101b6565b34801561037e57600080fd5b5061020560155481565b34801561039457600080fd5b506101df6103a3366004611920565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103cd57600080fd5b5060408051808201909152600681526529aaa6a6a2a960d11b60208201526101a9565b3480156103fc57600080fd5b506101df61040b3660046118b3565b6107fe565b34801561041c57600080fd5b5061020560165481565b34801561043257600080fd5b506007546101df9060ff1681565b34801561044c57600080fd5b506102b261080b565b34801561046157600080fd5b50610205610470366004611a43565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104a757600080fd5b506102b26104b6366004611a7c565b610bc7565b3480156104c757600080fd5b506102b2610bfd565b3480156104dc57600080fd5b506102b2610c35565b60006104f2338484610ce5565b5060015b92915050565b600061050a6008600a611b8f565b61051890633b9aca00611b9e565b905090565b600061052a848484610e09565b61057c843361057785604051806060016040528060288152602001611d3b602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611483565b610ce5565b5060019392505050565b60075461010090046001600160a01b0316336001600160a01b0316146105ab57600080fd5b3060009081526001602052604090205480156105ca576105ca816114bd565b4780156105da576105da81611650565b5050565b6000546001600160a01b031633146106115760405162461bcd60e51b815260040161060890611bb5565b60405180910390fd5b60005b825181101561067857816005600085848151811061063457610634611bea565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061067081611c00565b915050610614565b505050565b6000546001600160a01b031633146106a75760405162461bcd60e51b815260040161060890611bb5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60075461010090046001600160a01b0316336001600160a01b03161461076b5760405162461bcd60e51b815260206004820152602960248201527f4f6e6c7920746865206465706c6f7965722063616e2063616c6c207468697320604482015268333ab731ba34b7b71760b91b6064820152608401610608565b6107776008600a611b8f565b61078590633b9aca00611b9e565b6014556107946008600a611b8f565b6107a290633b9aca00611b9e565b6015556007805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107dc6008600a611b8f565b6107ea90633b9aca00611b9e565b6040519081526020015b60405180910390a1565b60006104f2338484610e09565b6000546001600160a01b031633146108355760405162461bcd60e51b815260040161060890611bb5565b601954600160a01b900460ff161561088f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610608565b601880546001600160a01b031916734752ba5dbc23f44d87826276bf6fd6b1c372ad249081179091556108d89030906108ca6008600a611b8f565b61057790633b9aca00611b9e565b601860009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190611c19565b6001600160a01b031663c9c6539630601860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d59190611c19565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a469190611c19565b601980546001600160a01b039283166001600160a01b03199091161790556018541663f305d7194730610a8e816001600160a01b031660009081526001602052604090205490565b600080610aa36000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b0b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b309190611c36565b505060195460185460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bad9190611c64565b506019805462ff00ff60a01b19166201000160a01b179055565b6001600f5411610bd657600080fd5b600b548111158015610bea5750600a548111155b610bf357600080fd5b600b819055600a55565b6000546001600160a01b03163314610c275760405162461bcd60e51b815260040161060890611bb5565b601254600a55601354600b55565b6000546001600160a01b03163314610c5f5760405162461bcd60e51b815260040161060890611bb5565b610c926064610c8c6010546008600a610c789190611b8f565b610c8690633b9aca00611b9e565b9061168e565b90611717565b601455601154610caf90606490610c8c90610c786008600a611b8f565b6015556014546040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf906020016107f4565b6001600160a01b038316610d475760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610608565b6001600160a01b038216610da85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610608565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e6d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610608565b6001600160a01b038216610ecf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610608565b60008111610f315760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610608565b600080546001600160a01b03858116911614801590610f5e57506000546001600160a01b03848116911614155b15611340576001600160a01b03841660009081526004602052604090205460ff16158015610fa557506001600160a01b03831660009081526004602052604090205460ff16155b610fae57600080fd5b6001600160a01b03831660009081526005602052604090205460ff16158015610ff057506001600160a01b03841660009081526005602052604090205460ff16155b6110355760405162461bcd60e51b81526020600482015260166024820152751059191c995cdcc81a5cc8189b1858dadb1a5cdd195960521b6044820152606401610608565b60075460ff16156110ee576018546001600160a01b0384811691161480159061106c57506019546001600160a01b03848116911614155b156110ee573260009081526006602052604090205443116110db5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610608565b3260009081526006602052604090204390555b6019546001600160a01b03858116911614801561111957506018546001600160a01b03848116911614155b801561113e57506001600160a01b03831660009081526003602052604090205460ff16155b15611226576014548211156111955760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610608565b601554826111b8856001600160a01b031660009081526001602052604090205490565b6111c29190611c81565b11156112105760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610608565b600f805490600061122083611c00565b91905055505b61124c6064610c8c600c54600f541161124157600854611245565b600a545b859061168e565b6019549091506001600160a01b03848116911614801561127557506001600160a01b0384163014155b156112a25761129f6064610c8c600d54600f541161129557600954611245565b600b54859061168e565b90505b30600090815260016020526040902054601954600160a81b900460ff161580156112d957506019546001600160a01b038581169116145b80156112ee5750601954600160b01b900460ff165b80156112fb575060165481115b801561130a5750600e54600f54115b1561133e5761132c6113278461132284601754611759565b611759565b6114bd565b47801561133c5761133c47611650565b505b505b80156113ba5730600090815260016020526040902054611360908261176e565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113b19085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546113dd90836117cd565b6001600160a01b03851660009081526001602052604090205561142261140383836117cd565b6001600160a01b0385166000908152600160205260409020549061176e565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61146c85856117cd565b60405190815260200160405180910390a350505050565b600081848411156114a75760405162461bcd60e51b8152600401610608919061183d565b5060006114b48486611c94565b95945050505050565b6019805460ff60a81b1916600160a81b179055801561164057601954600160a01b900460ff161561164057604080516002808252606082018352600092602083019080368337019050509050308160008151811061151d5761151d611bea565b6001600160a01b03928316602091820292909201810191909152601854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611576573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159a9190611c19565b816001815181106115ad576115ad611bea565b6001600160a01b0392831660209182029290920101526018546115d39130911684610ce5565b60185460405163791ac94760e01b81526001600160a01b039091169063791ac9479061160c908590600090869030904290600401611ca7565b600060405180830381600087803b15801561162657600080fd5b505af115801561163a573d6000803e3d6000fd5b50505050505b506019805460ff60a81b19169055565b6007546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156105da573d6000803e3d6000fd5b6000826000036116a0575060006104f6565b60006116ac8385611b9e565b9050826116b98583611d18565b146117105760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610608565b9392505050565b600061171083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061180f565b60008183116117685782611710565b50919050565b60008061177b8385611c81565b9050838110156117105760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610608565b600061171083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611483565b600081836118305760405162461bcd60e51b8152600401610608919061183d565b5060006114b48486611d18565b600060208083528351808285015260005b8181101561186a5785810183015185820160400152820161184e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146118a057600080fd5b50565b80356118ae8161188b565b919050565b600080604083850312156118c657600080fd5b82356118d18161188b565b946020939093013593505050565b6000806000606084860312156118f457600080fd5b83356118ff8161188b565b9250602084013561190f8161188b565b929592945050506040919091013590565b60006020828403121561193257600080fd5b81356117108161188b565b634e487b7160e01b600052604160045260246000fd5b80151581146118a057600080fd5b80356118ae81611953565b6000806040838503121561197f57600080fd5b823567ffffffffffffffff8082111561199757600080fd5b818501915085601f8301126119ab57600080fd5b81356020828211156119bf576119bf61193d565b8160051b604051601f19603f830116810181811086821117156119e4576119e461193d565b604052928352818301935084810182019289841115611a0257600080fd5b948201945b83861015611a2757611a18866118a3565b85529482019493820193611a07565b9650611a369050878201611961565b9450505050509250929050565b60008060408385031215611a5657600080fd5b8235611a618161188b565b91506020830135611a718161188b565b809150509250929050565b600060208284031215611a8e57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611ae6578160001904821115611acc57611acc611a95565b80851615611ad957918102915b93841c9390800290611ab0565b509250929050565b600082611afd575060016104f6565b81611b0a575060006104f6565b8160018114611b205760028114611b2a57611b46565b60019150506104f6565b60ff841115611b3b57611b3b611a95565b50506001821b6104f6565b5060208310610133831016604e8410600b8410161715611b69575081810a6104f6565b611b738383611aab565b8060001904821115611b8757611b87611a95565b029392505050565b600061171060ff841683611aee565b80820281158282048414176104f6576104f6611a95565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611c1257611c12611a95565b5060010190565b600060208284031215611c2b57600080fd5b81516117108161188b565b600080600060608486031215611c4b57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611c7657600080fd5b815161171081611953565b808201808211156104f6576104f6611a95565b818103818111156104f6576104f6611a95565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611cf75784516001600160a01b031683529383019391830191600101611cd2565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611d3557634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a19470117c9f5158f74fe4eb42fcf264171cb1b504ee858040ea76b197945ece64736f6c63430008130033
Deployed Bytecode Sourcemap
3656:9432:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5845:83;;;;;;;;;;-1:-1:-1;5915:5:0;;;;;;;;;;;;-1:-1:-1;;;5915:5:0;;;;5845:83;;;;;;;:::i;:::-;;;;;;;;6810:161;;;;;;;;;;-1:-1:-1;6810:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6810:161:0;1162:187:1;5116:51:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;5116:51:0;1354:177:1;6125:95:0;;;;;;;;;;;;;:::i;6980:313::-;;;;;;;;;;-1:-1:-1;6980:313:0;;;;;:::i;:::-;;:::i;6033:83::-;;;;;;;;;;-1:-1:-1;6033:83:0;;4732:1;2139:36:1;;2127:2;2112:18;6033:83:0;1997:184:1;11502:83:0;;;;;;;;;;-1:-1:-1;11502:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11570:7:0;11549:4;11570:7;;;:4;:7;;;;;;;;;11502:83;12312:348;;;;;;;;;;;;;:::i;:::-;;12669:202;;;;;;;;;;-1:-1:-1;12669:202:0;;;;;:::i;:::-;;:::i;6354:119::-;;;;;;;;;;-1:-1:-1;6354:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6447:18:0;6420:7;6447:18;;;:9;:18;;;;;;;6354:119;2733:148;;;;;;;;;;;;;:::i;10714:278::-;;;;;;;;;;;;;:::i;4926:56::-;;;;;;;;;;;;;;;;2517:79;;;;;;;;;;-1:-1:-1;2555:7:0;2582:6;2517:79;;-1:-1:-1;;;;;2582:6:0;;;4168:51:1;;4156:2;4141:18;2517:79:0;4022:203:1;4989:56:0;;;;;;;;;;;;;;;;6229:115;;;;;;;;;;-1:-1:-1;6229:115:0;;;;;:::i;:::-;-1:-1:-1;;;;;6314:19:0;6294:4;6314:19;;;:13;:19;;;;;;;;;6229:115;5937:87;;;;;;;;;;-1:-1:-1;6009:7:0;;;;;;;;;;;;-1:-1:-1;;;6009:7:0;;;;5937:87;;6482:167;;;;;;;;;;-1:-1:-1;6482:167:0;;;;;:::i;:::-;;:::i;5052:57::-;;;;;;;;;;;;;;;;4098:40;;;;;;;;;;-1:-1:-1;4098:40:0;;;;;;;;11594:671;;;;;;;;;;;;;:::i;6658:143::-;;;;;;;;;;-1:-1:-1;6658:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6766:18:0;;;6739:7;6766:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6658:143;12880:205;;;;;;;;;;-1:-1:-1;12880:205:0;;;;;:::i;:::-;;:::i;11252:140::-;;;;;;;;;;;;;:::i;11001:242::-;;;;;;;;;;;;;:::i;6810:161::-;6885:4;6902:39;341:10;6925:7;6934:6;6902:8;:39::i;:::-;-1:-1:-1;6959:4:0;6810:161;;;;;:::o;6125:95::-;6178:7;4788:13;4732:1;4788:2;:13;:::i;:::-;4775:26;;:10;:26;:::i;:::-;6198:14;;6125:95;:::o;6980:313::-;7078:4;7095:36;7105:6;7113:9;7124:6;7095:9;:36::i;:::-;7142:121;7151:6;341:10;7173:89;7211:6;7173:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7173:19:0;;;;;;:11;:19;;;;;;;;341:10;7173:33;;;;;;;;;;:37;:89::i;:::-;7142:8;:121::i;:::-;-1:-1:-1;7281:4:0;6980:313;;;;;:::o;12312:348::-;12376:10;;;;;-1:-1:-1;;;;;12376:10:0;341;-1:-1:-1;;;;;12362:24:0;;12354:33;;;;;;12437:4;12398:20;6447:18;;;:9;:18;;;;;;12457:14;;12454:73;;12485:30;12502:12;12485:16;:30::i;:::-;12556:21;12591:12;;12588:65;;12617:24;12630:10;12617:12;:24::i;:::-;12343:317;;12312:348::o;12669:202::-;2645:6;;-1:-1:-1;;;;;2645:6:0;341:10;2645:22;2637:67;;;;-1:-1:-1;;;2637:67:0;;;;;;;:::i;:::-;;;;;;;;;12762:9:::1;12757:107;12781:8;:15;12777:1;:19;12757:107;;;12847:5;12818:13;:26;12832:8;12841:1;12832:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12818:26:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12818:26:0;:34;;-1:-1:-1;;12818:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12798:3;::::1;::::0;::::1;:::i;:::-;;;;12757:107;;;;12669:202:::0;;:::o;2733:148::-;2645:6;;-1:-1:-1;;;;;2645:6:0;341:10;2645:22;2637:67;;;;-1:-1:-1;;;2637:67:0;;;;;;;:::i;:::-;2840:1:::1;2824:6:::0;;2803:40:::1;::::0;-1:-1:-1;;;;;2824:6:0;;::::1;::::0;2803:40:::1;::::0;2840:1;;2803:40:::1;2871:1;2854:19:::0;;-1:-1:-1;;;;;;2854:19:0::1;::::0;;2733:148::o;10714:278::-;10782:10;;;;;-1:-1:-1;;;;;10782:10:0;341;-1:-1:-1;;;;;10766:26:0;;10758:80;;;;-1:-1:-1;;;10758:80:0;;7331:2:1;10758:80:0;;;7313:21:1;7370:2;7350:18;;;7343:30;7409:34;7389:18;;;7382:62;-1:-1:-1;;;7460:18:1;;;7453:39;7509:19;;10758:80:0;7129:405:1;10758:80:0;4788:13;4732:1;4788:2;:13;:::i;:::-;4775:26;;:10;:26;:::i;:::-;10849:12;:22;4788:13;4732:1;4788:2;:13;:::i;:::-;4775:26;;:10;:26;:::i;:::-;10882:14;:22;10915:20;:26;;-1:-1:-1;;10915:26:0;;;10957:27;4788:13;4732:1;4788:2;:13;:::i;:::-;4775:26;;:10;:26;:::i;:::-;10957:27;;1500:25:1;;;1488:2;1473:18;10957:27:0;;;;;;;;10714:278::o;6482:167::-;6560:4;6577:42;341:10;6601:9;6612:6;6577:9;:42::i;11594:671::-;2645:6;;-1:-1:-1;;;;;2645:6:0;341:10;2645:22;2637:67;;;;-1:-1:-1;;;2637:67:0;;;;;;;:::i;:::-;11658:11:::1;::::0;-1:-1:-1;;;11658:11:0;::::1;;;11657:12;11649:47;;;::::0;-1:-1:-1;;;11649:47:0;;7741:2:1;11649:47:0::1;::::0;::::1;7723:21:1::0;7780:2;7760:18;;;7753:30;7819:25;7799:18;;;7792:53;7862:18;;11649:47:0::1;7539:347:1::0;11649:47:0::1;11707:15;:80:::0;;-1:-1:-1;;;;;;11707:80:0::1;11744:42;11707:80:::0;;::::1;::::0;;;11798:58:::1;::::0;11815:4:::1;::::0;4788:13:::1;4732:1;4788:2;:13;:::i;:::-;4775:26;::::0;:10:::1;:26;:::i;11798:58::-;11901:15;;;;;;;;;-1:-1:-1::0;;;;;11901:15:0::1;-1:-1:-1::0;;;;;11901:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11883:55:0::1;;11947:4;11954:15;;;;;;;;;-1:-1:-1::0;;;;;11954:15:0::1;-1:-1:-1::0;;;;;11954:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11883:94;::::0;-1:-1:-1;;;;;;11883:94:0::1;::::0;;;;;;-1:-1:-1;;;;;8377:15:1;;;11883:94:0::1;::::0;::::1;8359:34:1::0;8429:15;;8409:18;;;8402:43;8294:18;;11883:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11867:13;:110:::0;;-1:-1:-1;;;;;11867:110:0;;::::1;-1:-1:-1::0;;;;;;11867:110:0;;::::1;;::::0;;11988:15:::1;::::0;::::1;:31;12027:21;12058:4;12064:24;12058:4:::0;-1:-1:-1;;;;;6447:18:0;6420:7;6447:18;;;:9;:18;;;;;;;6354:119;12064:24:::1;12089:1;12091::::0;12093:7:::1;2555::::0;2582:6;-1:-1:-1;;;;;2582:6:0;;2517:79;12093:7:::1;11988:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11988:129:0;;;-1:-1:-1;;;;;8815:15:1;;;11988:129:0::1;::::0;::::1;8797:34:1::0;8847:18;;;8840:34;;;;8890:18;;;8883:34;;;;8933:18;;;8926:34;8997:15;;;8976:19;;;8969:44;12101:15:0::1;9029:19:1::0;;;9022:35;8731:19;;11988:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12135:13:0::1;::::0;12166:15:::1;::::0;12128:71:::1;::::0;-1:-1:-1;;;12128:71:0;;-1:-1:-1;;;;;12166:15:0;;::::1;12128:71;::::0;::::1;9553:51:1::0;-1:-1:-1;;9620:18:1;;;9613:34;12135:13:0;::::1;::::0;-1:-1:-1;12128:29:0::1;::::0;9526:18:1;;12128:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12210:11:0::1;:18:::0;;-1:-1:-1;;;;12239:18:0;-1:-1:-1;;;12239:18:0;;;11594:671::o;12880:205::-;12951:1;12941:9;;:11;12933:20;;;;;;12979:13;;12970:7;:22;;:47;;;;;13005:12;;12996:7;:21;;12970:47;12962:56;;;;;;13027:13;:21;;;13057:12;:20;12880:205::o;11252:140::-;2645:6;;-1:-1:-1;;;;;2645:6:0;341:10;2645:22;2637:67;;;;-1:-1:-1;;;2637:67:0;;;;;;;:::i;:::-;11320:18:::1;::::0;11305:12:::1;:33:::0;11365:19:::1;::::0;11349:13:::1;:35:::0;11252:140::o;11001:242::-;2645:6;;-1:-1:-1;;;;;2645:6:0;341:10;2645:22;2637:67;;;;-1:-1:-1;;;2637:67:0;;;;;;;:::i;:::-;11075:40:::1;11111:3;11075:31;11087:18;;4732:1;4788:2;:13;;;;:::i;:::-;4775:26;::::0;:10:::1;:26;:::i;:::-;11075:11:::0;::::1;:31::i;:::-;:35:::0;::::1;:40::i;:::-;11060:12;:55:::0;11155:22:::1;::::0;11143:44:::1;::::0;11183:3:::1;::::0;11143:35:::1;::::0;4788:13:::1;4732:1;4788:2;:13;:::i;11143:44::-;11126:14;:61:::0;11222:12:::1;::::0;11203:32:::1;::::0;1500:25:1;;;11203:32:0::1;::::0;1488:2:1;1473:18;11203:32:0::1;1354:177:1::0;7302:335:0;-1:-1:-1;;;;;7395:19:0;;7387:68;;;;-1:-1:-1;;;7387:68:0;;10110:2:1;7387:68:0;;;10092:21:1;10149:2;10129:18;;;10122:30;10188:34;10168:18;;;10161:62;-1:-1:-1;;;10239:18:1;;;10232:34;10283:19;;7387:68:0;9908:400:1;7387:68:0;-1:-1:-1;;;;;7474:21:0;;7466:68;;;;-1:-1:-1;;;7466:68:0;;10515:2:1;7466:68:0;;;10497:21:1;10554:2;10534:18;;;10527:30;10593:34;10573:18;;;10566:62;-1:-1:-1;;;10644:18:1;;;10637:32;10686:19;;7466:68:0;10313:398:1;7466:68:0;-1:-1:-1;;;;;7545:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7597:32;;1500:25:1;;;7597:32:0;;1473:18:1;7597:32:0;;;;;;;7302:335;;;:::o;7647:2384::-;-1:-1:-1;;;;;7735:18:0;;7727:68;;;;-1:-1:-1;;;7727:68:0;;10918:2:1;7727:68:0;;;10900:21:1;10957:2;10937:18;;;10930:30;10996:34;10976:18;;;10969:62;-1:-1:-1;;;11047:18:1;;;11040:35;11092:19;;7727:68:0;10716:401:1;7727:68:0;-1:-1:-1;;;;;7814:16:0;;7806:64;;;;-1:-1:-1;;;7806:64:0;;11324:2:1;7806:64:0;;;11306:21:1;11363:2;11343:18;;;11336:30;11402:34;11382:18;;;11375:62;-1:-1:-1;;;11453:18:1;;;11446:33;11496:19;;7806:64:0;11122:399:1;7806:64:0;7898:1;7889:6;:10;7881:64;;;;-1:-1:-1;;;7881:64:0;;11728:2:1;7881:64:0;;;11710:21:1;11767:2;11747:18;;;11740:30;11806:34;11786:18;;;11779:62;-1:-1:-1;;;11857:18:1;;;11850:39;11906:19;;7881:64:0;11526:405:1;7881:64:0;7956:17;2582:6;;-1:-1:-1;;;;;7992:15:0;;;2582:6;;7992:15;;;;:32;;-1:-1:-1;2555:7:0;2582:6;-1:-1:-1;;;;;8011:13:0;;;2582:6;;8011:13;;7992:32;7988:1686;;;-1:-1:-1;;;;;8050:10:0;;;;;;:4;:10;;;;;;;;8049:11;:24;;;;-1:-1:-1;;;;;;8065:8:0;;;;;;:4;:8;;;;;;;;8064:9;8049:24;8041:33;;;;;;-1:-1:-1;;;;;8098:17:0;;;;;;:13;:17;;;;;;;;8097:18;:42;;;;-1:-1:-1;;;;;;8120:19:0;;;;;;:13;:19;;;;;;;;8119:20;8097:42;8089:77;;;;-1:-1:-1;;;8089:77:0;;12138:2:1;8089:77:0;;;12120:21:1;12177:2;12157:18;;;12150:30;-1:-1:-1;;;12196:18:1;;;12189:52;12258:18;;8089:77:0;11936:346:1;8089:77:0;8188:20;;;;8184:346;;;8247:15;;-1:-1:-1;;;;;8233:30:0;;;8247:15;;8233:30;;;;:62;;-1:-1:-1;8281:13:0;;-1:-1:-1;;;;;8267:28:0;;;8281:13;;8267:28;;8233:62;8229:286;;;8355:9;8326:39;;;;:28;:39;;;;;;8368:12;-1:-1:-1;8318:102:0;;;;-1:-1:-1;;;8318:102:0;;12489:2:1;8318:102:0;;;12471:21:1;12528:2;12508:18;;;12501:30;12567:34;12547:18;;;12540:62;-1:-1:-1;;;12618:18:1;;;12611:34;12662:19;;8318:102:0;12287:400:1;8318:102:0;8470:9;8441:39;;;;:28;:39;;;;;8483:12;8441:54;;8229:286;8559:13;;-1:-1:-1;;;;;8551:21:0;;;8559:13;;8551:21;:55;;;;-1:-1:-1;8590:15:0;;-1:-1:-1;;;;;8576:30:0;;;8590:15;;8576:30;;8551:55;:83;;;;-1:-1:-1;;;;;;8612:22:0;;;;;;:18;:22;;;;;;;;8610:24;8551:83;8547:313;;;8674:12;;8664:6;:22;;8656:60;;;;-1:-1:-1;;;8656:60:0;;12894:2:1;8656:60:0;;;12876:21:1;12933:2;12913:18;;;12906:30;12972:27;12952:18;;;12945:55;13017:18;;8656:60:0;12692:349:1;8656:60:0;8769:14;;8759:6;8743:13;8753:2;-1:-1:-1;;;;;6447:18:0;6420:7;6447:18;;;:9;:18;;;;;;;6354:119;8743:13;:22;;;;:::i;:::-;:40;;8735:79;;;;-1:-1:-1;;;8735:79:0;;13378:2:1;8735:79:0;;;13360:21:1;13417:2;13397:18;;;13390:30;13456:28;13436:18;;;13429:56;13502:18;;8735:79:0;13176:350:1;8735:79:0;8833:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8547:313;8892:76;8964:3;8892:67;8914:15;;8904:9;;:25;8903:55;;8944:14;;8903:55;;;8931:12;;8903:55;8892:6;;:10;:67::i;:76::-;8992:13;;8880:88;;-1:-1:-1;;;;;;8986:19:0;;;8992:13;;8986:19;:43;;;;-1:-1:-1;;;;;;9009:20:0;;9024:4;9009:20;;8986:43;8983:174;;;9062:79;9137:3;9062:70;9084:16;;9074:9;;:26;9073:58;;9116:15;;9073:58;;;9102:13;;9062:6;;:10;:70::i;:79::-;9050:91;;8983:174;9223:4;9174:28;6447:18;;;:9;:18;;;;;;9249:6;;-1:-1:-1;;;9249:6:0;;;;9248:7;:30;;;;-1:-1:-1;9265:13:0;;-1:-1:-1;;;;;9259:19:0;;;9265:13;;9259:19;9248:30;:45;;;;-1:-1:-1;9282:11:0;;-1:-1:-1;;;9282:11:0;;;;9248:45;:87;;;;;9318:17;;9297:20;:38;9248:87;:119;;;;;9349:18;;9339:9;;:28;9248:119;9244:419;;;9388:67;9405:49;9409:6;9416:37;9420:20;9441:11;;9416:3;:37::i;:::-;9405:3;:49::i;:::-;9388:16;:67::i;:::-;9503:21;9546:22;;9543:105;;9593:35;9606:21;9593:12;:35::i;:::-;9369:294;9244:419;8026:1648;7988:1686;9690:11;;9687:161;;9758:4;9740:24;;;;:9;:24;;;;;;:39;;9769:9;9740:28;:39::i;:::-;9733:4;9715:24;;;;:9;:24;;;;;;;:64;;;;9797:39;;-1:-1:-1;;;;;9797:39:0;;;;;;;9826:9;1500:25:1;;1488:2;1473:18;;1354:177;9797:39:0;;;;;;;;9687:161;-1:-1:-1;;;;;9874:15:0;;;;;;:9;:15;;;;;;:27;;9894:6;9874:19;:27::i;:::-;-1:-1:-1;;;;;9858:15:0;;;;;;:9;:15;;;;;:43;9926:40;9944:21;:6;9955:9;9944:10;:21::i;:::-;-1:-1:-1;;;;;9926:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9912:13:0;;;;;;;:9;:13;;;;;:54;;;;9982:41;;;10001:21;:6;10012:9;10001:10;:21::i;:::-;9982:41;;1500:25:1;;;1488:2;1473:18;9982:41:0;;;;;;;7716:2315;7647:2384;;;:::o;1402:190::-;1488:7;1524:12;1516:6;;;;1508:29;;;;-1:-1:-1;;;1508:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1548:9:0;1560:5;1564:1;1560;:5;:::i;:::-;1548:17;1402:190;-1:-1:-1;;;;;1402:190:0:o;10150:555::-;5451:6;:13;;-1:-1:-1;;;;5451:13:0;-1:-1:-1;;;5451:13:0;;;10228:27;;10247:7:::1;10228:27;10269:11;::::0;-1:-1:-1;;;10269:11:0;::::1;;;10265:25:::0;10282:7:::1;10265:25;10324:16;::::0;;10338:1:::1;10324:16:::0;;;;;::::1;::::0;;10300:21:::1;::::0;10324:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10324:16:0::1;10300:40;;10369:4;10351;10356:1;10351:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10351:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10395:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10395:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10351:7;;10395:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10385:4;10390:1;10385:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10385:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10460:15:::1;::::0;10428:62:::1;::::0;10445:4:::1;::::0;10460:15:::1;10478:11:::0;10428:8:::1;:62::i;:::-;10501:15;::::0;:196:::1;::::0;-1:-1:-1;;;10501:196:0;;-1:-1:-1;;;;;10501:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10582:11;;10501:15:::1;::::0;10624:4;;10651::::1;::::0;10671:15:::1;::::0;10501:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10217:488;5475:1;-1:-1:-1::0;5487:6:0;:14;;-1:-1:-1;;;;5487:14:0;;;10150:555::o;11401:92::-;11458:10;;:27;;:10;;;;-1:-1:-1;;;;;11458:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1601:246;1659:7;1683:1;1688;1683:6;1679:47;;-1:-1:-1;1713:1:0;1706:8;;1679:47;1736:9;1748:5;1752:1;1748;:5;:::i;:::-;1736:17;-1:-1:-1;1781:1:0;1772:5;1776:1;1736:17;1772:5;:::i;:::-;:10;1764:56;;;;-1:-1:-1;;;1764:56:0;;15073:2:1;1764:56:0;;;15055:21:1;15112:2;15092:18;;;15085:30;15151:34;15131:18;;;15124:62;-1:-1:-1;;;15202:18:1;;;15195:31;15243:19;;1764:56:0;14871:397:1;1764:56:0;1838:1;1601:246;-1:-1:-1;;;1601:246:0:o;1856:132::-;1914:7;1941:39;1945:1;1948;1941:39;;;;;;;;;;;;;;;;;:3;:39::i;10043:98::-;10100:7;10127:1;10125;:3;10124:9;;10132:1;10124:9;;;-1:-1:-1;10130:1:0;10043:98;-1:-1:-1;10043:98:0:o;1069:179::-;1127:7;;1159:5;1163:1;1159;:5;:::i;:::-;1147:17;;1188:1;1183;:6;;1175:46;;;;-1:-1:-1;;;1175:46:0;;15475:2:1;1175:46:0;;;15457:21:1;15514:2;15494:18;;;15487:30;15553:29;15533:18;;;15526:57;15600:18;;1175:46:0;15273:351:1;1257:136:0;1315:7;1342:43;1346:1;1349;1342:43;;;;;;;;;;;;;;;;;:3;:43::i;1997:189::-;2083:7;2118:12;2111:5;2103:28;;;;-1:-1:-1;;;2103:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2142:9:0;2154:5;2158:1;2154;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2438:127::-;2499:10;2494:3;2490:20;2487:1;2480:31;2530:4;2527:1;2520:15;2554:4;2551:1;2544:15;2570:118;2656:5;2649:13;2642:21;2635:5;2632:32;2622:60;;2678:1;2675;2668:12;2693:128;2758:20;;2787:28;2758:20;2787:28;:::i;2826:1191::-;2916:6;2924;2977:2;2965:9;2956:7;2952:23;2948:32;2945:52;;;2993:1;2990;2983:12;2945:52;3033:9;3020:23;3062:18;3103:2;3095:6;3092:14;3089:34;;;3119:1;3116;3109:12;3089:34;3157:6;3146:9;3142:22;3132:32;;3202:7;3195:4;3191:2;3187:13;3183:27;3173:55;;3224:1;3221;3214:12;3173:55;3260:2;3247:16;3282:4;3305:2;3301;3298:10;3295:36;;;3311:18;;:::i;:::-;3357:2;3354:1;3350:10;3389:2;3383:9;3452:2;3448:7;3443:2;3439;3435:11;3431:25;3423:6;3419:38;3507:6;3495:10;3492:22;3487:2;3475:10;3472:18;3469:46;3466:72;;;3518:18;;:::i;:::-;3554:2;3547:22;3604:18;;;3638:15;;;;-1:-1:-1;3680:11:1;;;3676:20;;;3708:19;;;3705:39;;;3740:1;3737;3730:12;3705:39;3764:11;;;;3784:148;3800:6;3795:3;3792:15;3784:148;;;3866:23;3885:3;3866:23;:::i;:::-;3854:36;;3817:12;;;;3910;;;;3784:148;;;3951:6;-1:-1:-1;3976:35:1;;-1:-1:-1;3992:18:1;;;3976:35;:::i;:::-;3966:45;;;;;;2826:1191;;;;;:::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:180::-;4682:6;4735:2;4723:9;4714:7;4710:23;4706:32;4703:52;;;4751:1;4748;4741:12;4703:52;-1:-1:-1;4774:23:1;;4623:180;-1:-1:-1;4623:180:1:o;4808:127::-;4869:10;4864:3;4860:20;4857:1;4850:31;4900:4;4897:1;4890:15;4924:4;4921:1;4914:15;4940:422;5029:1;5072:5;5029:1;5086:270;5107:7;5097:8;5094:21;5086:270;;;5166:4;5162:1;5158:6;5154:17;5148:4;5145:27;5142:53;;;5175:18;;:::i;:::-;5225:7;5215:8;5211:22;5208:55;;;5245:16;;;;5208:55;5324:22;;;;5284:15;;;;5086:270;;;5090:3;4940:422;;;;;:::o;5367:806::-;5416:5;5446:8;5436:80;;-1:-1:-1;5487:1:1;5501:5;;5436:80;5535:4;5525:76;;-1:-1:-1;5572:1:1;5586:5;;5525:76;5617:4;5635:1;5630:59;;;;5703:1;5698:130;;;;5610:218;;5630:59;5660:1;5651:10;;5674:5;;;5698:130;5735:3;5725:8;5722:17;5719:43;;;5742:18;;:::i;:::-;-1:-1:-1;;5798:1:1;5784:16;;5813:5;;5610:218;;5912:2;5902:8;5899:16;5893:3;5887:4;5884:13;5880:36;5874:2;5864:8;5861:16;5856:2;5850:4;5847:12;5843:35;5840:77;5837:159;;;-1:-1:-1;5949:19:1;;;5981:5;;5837:159;6028:34;6053:8;6047:4;6028:34;:::i;:::-;6098:6;6094:1;6090:6;6086:19;6077:7;6074:32;6071:58;;;6109:18;;:::i;:::-;6147:20;;5367:806;-1:-1:-1;;;5367:806:1:o;6178:140::-;6236:5;6265:47;6306:4;6296:8;6292:19;6286:4;6265:47;:::i;6323:168::-;6396:9;;;6427;;6444:15;;;6438:22;;6424:37;6414:71;;6465:18;;:::i;6496:356::-;6698:2;6680:21;;;6717:18;;;6710:30;6776:34;6771:2;6756:18;;6749:62;6843:2;6828:18;;6496:356::o;6857:127::-;6918:10;6913:3;6909:20;6906:1;6899:31;6949:4;6946:1;6939:15;6973:4;6970:1;6963:15;6989:135;7028:3;7049:17;;;7046:43;;7069:18;;:::i;:::-;-1:-1:-1;7116:1:1;7105:13;;6989:135::o;7891:251::-;7961:6;8014:2;8002:9;7993:7;7989:23;7985:32;7982:52;;;8030:1;8027;8020:12;7982:52;8062:9;8056:16;8081:31;8106:5;8081:31;:::i;9068:306::-;9156:6;9164;9172;9225:2;9213:9;9204:7;9200:23;9196:32;9193:52;;;9241:1;9238;9231:12;9193:52;9270:9;9264:16;9254:26;;9320:2;9309:9;9305:18;9299:25;9289:35;;9364:2;9353:9;9349:18;9343:25;9333:35;;9068:306;;;;;:::o;9658:245::-;9725:6;9778:2;9766:9;9757:7;9753:23;9749:32;9746:52;;;9794:1;9791;9784:12;9746:52;9826:9;9820:16;9845:28;9867:5;9845:28;:::i;13046:125::-;13111:9;;;13132:10;;;13129:36;;;13145:18;;:::i;13531:128::-;13598:9;;;13619:11;;;13616:37;;;13633:18;;:::i;13664:980::-;13926:4;13974:3;13963:9;13959:19;14005:6;13994:9;13987:25;14031:2;14069:6;14064:2;14053:9;14049:18;14042:34;14112:3;14107:2;14096:9;14092:18;14085:31;14136:6;14171;14165:13;14202:6;14194;14187:22;14240:3;14229:9;14225:19;14218:26;;14279:2;14271:6;14267:15;14253:29;;14300:1;14310:195;14324:6;14321:1;14318:13;14310:195;;;14389:13;;-1:-1:-1;;;;;14385:39:1;14373:52;;14480:15;;;;14445:12;;;;14421:1;14339:9;14310:195;;;-1:-1:-1;;;;;;;14561:32:1;;;;14556:2;14541:18;;14534:60;-1:-1:-1;;;14625:3:1;14610:19;14603:35;14522:3;13664:980;-1:-1:-1;;;13664:980:1:o;14649:217::-;14689:1;14715;14705:132;;14759:10;14754:3;14750:20;14747:1;14740:31;14794:4;14791:1;14784:15;14822:4;14819:1;14812:15;14705:132;-1:-1:-1;14851:9:1;;14649:217::o
Swarm Source
ipfs://a19470117c9f5158f74fe4eb42fcf264171cb1b504ee858040ea76b197945ece
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.
Add Token to MetaMask (Web3)