Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000,000 $NOBIKO
Holders
1
Transfers
-
0 (0%)
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
NOBIKO
Compiler Version
v0.8.30+commit.73712a01
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-08-04
*/
// SPDX-License-Identifier: UNLICENSE
/**
* Long Cat $NOBIKO
*
* Before Doge. Before Pepe. There was Longcat.
*
* Known as “Nobiko” in Japan, she was a real white cat who went viral on 2chan (2ch) in the mid-2000s, and posted across forums, wikis, and meme battles for nearly 20 years.
*
*
* Launching Sunday 6pm utc
*
* TG: https://t.me/Longcat_ERC
* X: https://x.com/longcat_erc
* Website: https://longcat.meme/
*/
pragma solidity 0.8.30;
library SafeMath {
function tryAdd(
uint256 a,
uint256 b
) internal pure returns (bool, uint256) {
unchecked {
uint256 c = a + b;
if (c < a) return (false, 0);
return (true, c);
}
}
function trySub(
uint256 a,
uint256 b
) internal pure returns (bool, uint256) {
unchecked {
if (b > a) return (false, 0);
return (true, a - b);
}
}
function tryMul(
uint256 a,
uint256 b
) internal pure returns (bool, uint256) {
unchecked {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
if (a == 0) return (true, 0);
uint256 c = a * b;
if (c / a != b) return (false, 0);
return (true, c);
}
}
function tryDiv(
uint256 a,
uint256 b
) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a / b);
}
}
function tryMod(
uint256 a,
uint256 b
) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a % b);
}
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return a - b;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return a % b;
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b <= a, errorMessage);
return a - b;
}
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a / b;
}
}
function mod(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a % b;
}
}
}
interface 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
);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
function name() public view virtual override returns (string memory) {
return _name;
}
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
function decimals() public view virtual override returns (uint8) {
return 18;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(
address account
) public view virtual override returns (uint256) {
return _balances[account];
}
function transfer(
address recipient,
uint256 amount
) public virtual override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(
address owner,
address spender
) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
function approve(
address spender,
uint256 amount
) public virtual override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public virtual override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(
currentAllowance >= amount,
"ERC20: transfer amount exceeds allowance"
);
unchecked {
_approve(sender, _msgSender(), currentAllowance - amount);
}
return true;
}
function increaseAllowance(
address spender,
uint256 addedValue
) public virtual returns (bool) {
_approve(
_msgSender(),
spender,
_allowances[_msgSender()][spender] + addedValue
);
return true;
}
function decreaseAllowance(
address spender,
uint256 subtractedValue
) public virtual returns (bool) {
uint256 currentAllowance = _allowances[_msgSender()][spender];
require(
currentAllowance >= subtractedValue,
"ERC20: decreased allowance below zero"
);
unchecked {
_approve(_msgSender(), spender, currentAllowance - subtractedValue);
}
return true;
}
function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(sender, recipient, amount);
uint256 senderBalance = _balances[sender];
require(
senderBalance >= amount,
"ERC20: transfer amount exceeds balance"
);
unchecked {
_balances[sender] = senderBalance - amount;
}
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
_afterTokenTransfer(sender, recipient, amount);
}
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
_balances[account] += amount;
emit Transfer(address(0), account, amount);
_afterTokenTransfer(address(0), account, amount);
}
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
unchecked {
_balances[account] = accountBalance - amount;
}
_totalSupply -= amount;
emit Transfer(account, address(0), amount);
_afterTokenTransfer(account, address(0), amount);
}
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
function _afterTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(
newOwner != address(0),
"Ownable: new owner is the zero address"
);
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IDexFactory {
event PairCreated(
address indexed token0,
address indexed token1,
address pair,
uint256
);
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(uint256) external view returns (address pair);
function allPairsLength() external view returns (uint256);
function createPair(
address tokenA,
address tokenB
) external returns (address pair);
function setFeeTo(address) external;
function setFeeToSetter(address) external;
}
interface IDexRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint256 amountADesired,
uint256 amountBDesired,
uint256 amountAMin,
uint256 amountBMin,
address to,
uint256 deadline
) external returns (uint256 amountA, uint256 amountB, uint256 liquidity);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
}
contract NOBIKO is ERC20, Ownable {
using SafeMath for uint256;
IDexRouter private immutable uniRouter;
address private immutable uniPair;
// Swapback
bool private onSwapback;
bool private contractSBEnabled = false;
uint256 private triggerSB;
uint256 private limitSB;
uint256 private lastSB;
//Anti-whale
bool private limitsEnabled = true;
uint256 private maxWalletLimit;
uint256 private maxTransactionLimit;
bool private tradingOpen = false;
// Fees
address private projectWallet;
uint256 private buyingFee;
uint256 private sellingFee;
uint256 private transferFee;
/******************/
// exclude from fees and max transaction amount
mapping(address => bool) private exemptFromFees;
mapping(address => bool) private exemptFromLimits;
mapping(address => bool) private DEXPair;
// store addresses that a automatic market maker pairs. Any transfer *to* these addresses
// could be subject to a maximum transfer amount
event ExemptFromFee(address indexed account, bool isExcluded);
event ExemptFromLimit(address indexed account, bool isExcluded);
event SetPairLPool(address indexed pair, bool indexed value);
event TradingEnabled(uint256 indexed timestamp);
event LimitsRemoved(uint256 indexed timestamp);
event SwapbackSettingsUpdated(
bool enabled,
uint256 triggerSB,
uint256 limitSB
);
event MaxTxUpdated(uint256 maxTransactionLimit);
event MaxWalletUpdated(uint256 maxWalletLimit);
event MarketingWalletUpdated(
address indexed newWallet,
address indexed oldWallet
);
event BuyFeeUpdated(
uint256 buyingFee,
uint256 buyMarketingTax,
uint256 buyProjectTax
);
event SellFeeUpdated(
uint256 sellingFee,
uint256 sellMarketingTax,
uint256 sellProjectTax
);
constructor() ERC20("Long Cat", "$NOBIKO") {
IDexRouter _uniRouter = IDexRouter(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
changeLimitExemptAddress(address(_uniRouter), true);
uniRouter = _uniRouter;
uniPair = IDexFactory(_uniRouter.factory()).createPair(
address(this),
_uniRouter.WETH()
);
changeLimitExemptAddress(address(uniPair), true);
_toggleDexPair(address(uniPair), true);
uint256 _totalSupply = 1000000000000 * 10 ** decimals();
lastSB = block.timestamp;
maxTransactionLimit = (_totalSupply * 10) / 1000;
maxWalletLimit = (_totalSupply * 10) / 1000;
triggerSB = (_totalSupply * 1) / 1000;
limitSB = (_totalSupply * 2) / 100;
buyingFee = 15;
sellingFee = 15;
transferFee = 0;
projectWallet = address(msg.sender);
// exclude from paying fees or having max transaction amount
changeAddressFeeExempt(msg.sender, true);
changeAddressFeeExempt(address(this), true);
changeAddressFeeExempt(address(0xdead), true);
changeAddressFeeExempt(projectWallet, true);
changeLimitExemptAddress(msg.sender, true);
changeLimitExemptAddress(address(this), true);
changeLimitExemptAddress(address(0xdead), true);
changeLimitExemptAddress(projectWallet, true);
transferOwnership(msg.sender);
/*
_mint is an internal function in ERC20.sol that is only called here,
and CANNOT be called ever again
*/
_mint(msg.sender, _totalSupply);
}
receive() external payable {}
function decimals() public view virtual override returns (uint8) {
return 9;
}
/**
* @notice Opens public trading for the token
* @dev onlyOwner.
*/
function openTrading() external onlyOwner {
tradingOpen = true;
contractSBEnabled = true;
emit TradingEnabled(block.timestamp);
}
/**
* @notice Removes the max wallet and max transaction limits
* @dev onlyOwner.
* Emits an {LimitsRemoved} event
*/
function removeLimitsNow() external onlyOwner {
limitsEnabled = false;
transferFee = 0;
emit LimitsRemoved(block.timestamp);
}
/**
* @notice sets if swapback is enabled and sets the minimum and maximum amounts
* @dev onlyOwner.
* Emits an {SwapbackSettingsUpdated} event
* @param _caSBcEnabled If swapback is enabled
* @param _caSBcTrigger The minimum amount of tokens the contract must have before swapping tokens for ETH. Base 10000, so 1% = 100.
* @param _caSBcLimit The maximum amount of tokens the contract can swap for ETH. Base 10000, so 1% = 100.
*/
function changeValuesSwapback(
bool _caSBcEnabled,
uint256 _caSBcTrigger,
uint256 _caSBcLimit
) external onlyOwner {
require(
_caSBcTrigger >= 1,
"Swap amount cannot be lower than 0.01% total supply."
);
require(
_caSBcLimit >= _caSBcTrigger,
"maximum amount cant be higher than minimum"
);
contractSBEnabled = _caSBcEnabled;
triggerSB = (totalSupply() * _caSBcTrigger) / 10000;
limitSB = (totalSupply() * _caSBcLimit) / 10000;
emit SwapbackSettingsUpdated(_caSBcEnabled, _caSBcTrigger, _caSBcLimit);
}
/**
* @notice Changes the maximum amount of tokens that can be bought or sold in a single transaction
* @dev onlyOwner.
* Emits an {MaxTxUpdated} event
* @param _maxTransactionLimit Base 1000, so 1% = 10
*/
function maxLimitsChangeTxLimit(uint256 _maxTransactionLimit) external onlyOwner {
require(_maxTransactionLimit >= 2, "Cannot set maxTransactionLimit lower than 0.2%");
maxTransactionLimit = (_maxTransactionLimit * totalSupply()) / 1000;
emit MaxTxUpdated(maxTransactionLimit);
}
/**
* @notice Changes the maximum amount of tokens a wallet can hold
* @dev onlyOwner.
* Emits an {MaxWalletUpdated} event
* @param _maxWalletLimit Base 1000, so 1% = 10
*/
function maxLimitsChangeWalletLimit(
uint256 _maxWalletLimit
) external onlyOwner {
require(_maxWalletLimit >= 5, "Cannot set maxWalletLimit lower than 0.5%");
maxWalletLimit = (_maxWalletLimit * totalSupply()) / 1000;
emit MaxWalletUpdated(maxWalletLimit);
}
/**
* @notice Sets if a wallet is excluded from the max wallet and tx limits
* @dev onlyOwner.
* Emits an {ExemptFromLimit} event
* @param _add The wallet to update
* @param _excluded If the wallet is excluded or not
*/
function changeLimitExemptAddress(
address _add,
bool _excluded
) public onlyOwner {
exemptFromLimits[_add] = _excluded;
emit ExemptFromLimit(_add, _excluded);
}
/**
* @notice Sets the fees for buys
* @dev onlyOwner.
* Emits a {BuyFeeUpdated} event
* All fees added up must be less than 100
* @param _value The fee for the marketing wallet
*/
function changeFeeBuy(uint256 _value) external onlyOwner {
buyingFee = _value;
require(buyingFee <= 100, "Total buy fee cannot be higher than 100%");
emit BuyFeeUpdated(buyingFee, buyingFee, buyingFee);
}
/**
* @notice Sets the fees for sells
* @dev onlyOwner.
* Emits a {SellFeeUpdated} event
* All fees added up must be less than 100
* @param _value The fee for the marketing wallet
*/
function changeFeeSell(uint256 _value) external onlyOwner {
sellingFee = _value;
require(
sellingFee <= 100,
"Total sell fee cannot be higher than 100%"
);
emit SellFeeUpdated(sellingFee, sellingFee, sellingFee);
}
function changeFeeTransfer(uint256 _value) external onlyOwner {
transferFee = _value;
require(
transferFee <= 100,
"Total transfer fee cannot be higher than 100%"
);
}
/**
* @notice Sets if an address is excluded from fees
* @dev onlyOwner.
* Emits an {ExemptFromFee} event
* @param _add The wallet to update
* @param _excluded If the wallet is excluded or not
*/
function changeAddressFeeExempt(
address _add,
bool _excluded
) public onlyOwner {
exemptFromFees[_add] = _excluded;
emit ExemptFromFee(_add, _excluded);
}
function _toggleDexPair(address pair, bool value) private {
DEXPair[pair] = value;
emit SetPairLPool(pair, value);
}
/**
* @notice Sets the marketing wallet
* @dev onlyOwner.
* Emits an {MarketingWalletUpdated} event
* @param _marketing The new marketing wallet
*/
function changeMarketingReceiver(address _marketing) external onlyOwner {
emit MarketingWalletUpdated(_marketing, projectWallet);
projectWallet = _marketing;
}
/**
* @notice Information about the swapback settings
* @return _contractSBEnabled if swapback is enabled
* @return _caSBcackValueMin the minimum amount of tokens in the contract balance to trigger swapback
* @return _caSBcackValueMax the maximum amount of tokens in the contract balance to trigger swapback
*/
function readSwapbackInfo()
external
view
returns (
bool _contractSBEnabled,
uint256 _caSBcackValueMin,
uint256 _caSBcackValueMax
)
{
_contractSBEnabled = contractSBEnabled;
_caSBcackValueMin = triggerSB;
_caSBcackValueMax = limitSB;
}
/**
* @notice Information about the anti whale parameters
* @return _limitsEnabled if the wallet limits are in effect
* @return _maxWalletLimit The maximum amount of tokens that can be held by a wallet
* @return _maxTransactionLimit The maximum amount of tokens that can be bought or sold in a single transaction
*/
function readLimitInfo()
external
view
returns (bool _limitsEnabled, uint256 _maxWalletLimit, uint256 _maxTransactionLimit)
{
_limitsEnabled = limitsEnabled;
_maxWalletLimit = maxWalletLimit;
_maxTransactionLimit = maxTransactionLimit;
}
/**
* @notice The wallets that receive the collected fees
* @return _projectWallet The wallet that receives the marketing fees
*/
function readFeeReceiverAddress()
external
view
returns (address _projectWallet)
{
return (projectWallet);
}
/**
* @notice Fees for buys, sells, and transfers
* @return _buyingFee The total fee for buys
* @return _sellingFee The total fee for sells
* @return _transferFee The total fee for transfers
*/
function readFeesInfo()
external
view
returns (
uint256 _buyingFee,
uint256 _sellingFee,
uint256 _transferFee
)
{
_buyingFee = buyingFee;
_sellingFee = sellingFee;
_transferFee = transferFee;
}
/**
* @notice If the wallet is excluded from fees and max transaction amount and if the wallet is a automated market maker pair
* @param _target The wallet to check
* @return _exemptFromFees If the wallet is excluded from fees
* @return _exemptFromLimits If the wallet is excluded from max transaction amount
* @return _DEXPair If the wallet is a automated market maker pair
*/
function readAddressInfo(
address _target
)
external
view
returns (
bool _exemptFromFees,
bool _exemptFromLimits,
bool _DEXPair
)
{
_exemptFromFees = exemptFromFees[_target];
_exemptFromLimits = exemptFromLimits[_target];
_DEXPair = DEXPair[_target];
}
function _transfer(
address from,
address to,
uint256 amount
) internal override {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
if (amount == 0) {
super._transfer(from, to, 0);
return;
}
if (limitsEnabled) {
if (
from != owner() &&
to != owner() &&
to != address(0) &&
to != address(0xdead) &&
!onSwapback
) {
if (!tradingOpen) {
require(
exemptFromFees[from] || exemptFromFees[to],
"_transfer:: Trading is not active."
);
}
//when buy
if (
DEXPair[from] && !exemptFromLimits[to]
) {
require(
amount <= maxTransactionLimit,
"Buy transfer amount exceeds the maxTransactionLimit."
);
require(
amount + balanceOf(to) <= maxWalletLimit,
"Max wallet exceeded"
);
}
//when sell
else if (
DEXPair[to] && !exemptFromLimits[from]
) {
require(
amount <= maxTransactionLimit,
"Sell transfer amount exceeds the maxTransactionLimit."
);
} else if (!exemptFromLimits[to]) {
require(
amount + balanceOf(to) <= maxWalletLimit,
"Max wallet exceeded"
);
}
}
}
uint256 contractTokenBalance = balanceOf(address(this));
bool canSwap = contractTokenBalance >= triggerSB;
if (
canSwap &&
contractSBEnabled &&
!onSwapback &&
!DEXPair[from] &&
!exemptFromFees[from] &&
!exemptFromFees[to] &&
lastSB != block.timestamp
) {
onSwapback = true;
swapBack(amount);
lastSB = block.timestamp;
onSwapback = false;
}
bool takeFee = !onSwapback;
// if any account belongs to _isExcludedFromFee account then remove the fee
if (exemptFromFees[from] || exemptFromFees[to]) {
takeFee = false;
}
uint256 fees = 0;
// only take fees on buys/sells, do not take on wallet transfers
if (takeFee) {
// on sell
if (DEXPair[to] && sellingFee > 0) {
fees = amount.mul(sellingFee).div(100);
}
// on buy
else if (DEXPair[from] && buyingFee > 0) {
fees = amount.mul(buyingFee).div(100);
}
// on transfers
else if (
transferFee > 0 &&
!DEXPair[from] &&
!DEXPair[to]
) {
fees = amount.mul(transferFee).div(100);
}
if (fees > 0) {
super._transfer(from, address(this), fees);
}
amount -= fees;
}
super._transfer(from, to, amount);
}
function swapTokensForEth(uint256 tokenAmount) private {
// generate the uniswap pair path of token -> weth
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniRouter.WETH();
_approve(address(this), address(uniRouter), tokenAmount);
// make the swap
uniRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0, // accept any amount of ETH
path,
address(this),
block.timestamp
);
}
function swapBack(uint256 amount) private {
uint256 contractBalance = balanceOf(address(this));
bool success;
if (contractBalance == 0) {
return;
}
if (contractBalance > limitSB) {
contractBalance = limitSB;
}
if (contractBalance > amount * 15) {
contractBalance = amount * 15;
}
uint256 amountToSwapForETH = contractBalance;
swapTokensForEth(amountToSwapForETH);
(success, ) = address(projectWallet).call{
value: address(this).balance
}("");
}
}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":"buyingFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"buyMarketingTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"buyProjectTax","type":"uint256"}],"name":"BuyFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExemptFromFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExemptFromLimit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"LimitsRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"MarketingWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTransactionLimit","type":"uint256"}],"name":"MaxTxUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletLimit","type":"uint256"}],"name":"MaxWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sellingFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellMarketingTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellProjectTax","type":"uint256"}],"name":"SellFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetPairLPool","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"triggerSB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"limitSB","type":"uint256"}],"name":"SwapbackSettingsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"TradingEnabled","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":"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":[{"internalType":"address","name":"_add","type":"address"},{"internalType":"bool","name":"_excluded","type":"bool"}],"name":"changeAddressFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"changeFeeBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"changeFeeSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"changeFeeTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_add","type":"address"},{"internalType":"bool","name":"_excluded","type":"bool"}],"name":"changeLimitExemptAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"}],"name":"changeMarketingReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_caSBcEnabled","type":"bool"},{"internalType":"uint256","name":"_caSBcTrigger","type":"uint256"},{"internalType":"uint256","name":"_caSBcLimit","type":"uint256"}],"name":"changeValuesSwapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTransactionLimit","type":"uint256"}],"name":"maxLimitsChangeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWalletLimit","type":"uint256"}],"name":"maxLimitsChangeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"address","name":"_target","type":"address"}],"name":"readAddressInfo","outputs":[{"internalType":"bool","name":"_exemptFromFees","type":"bool"},{"internalType":"bool","name":"_exemptFromLimits","type":"bool"},{"internalType":"bool","name":"_DEXPair","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"readFeeReceiverAddress","outputs":[{"internalType":"address","name":"_projectWallet","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"readFeesInfo","outputs":[{"internalType":"uint256","name":"_buyingFee","type":"uint256"},{"internalType":"uint256","name":"_sellingFee","type":"uint256"},{"internalType":"uint256","name":"_transferFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"readLimitInfo","outputs":[{"internalType":"bool","name":"_limitsEnabled","type":"bool"},{"internalType":"uint256","name":"_maxWalletLimit","type":"uint256"},{"internalType":"uint256","name":"_maxTransactionLimit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"readSwapbackInfo","outputs":[{"internalType":"bool","name":"_contractSBEnabled","type":"bool"},{"internalType":"uint256","name":"_caSBcackValueMin","type":"uint256"},{"internalType":"uint256","name":"_caSBcackValueMax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimitsNow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60c06040526005805460ff60a81b191690556009805460ff19908116600117909155600c80549091169055348015610035575f5ffd5b5060405180604001604052806008815260200167131bdb99c810d85d60c21b81525060405180604001604052806007815260200166244e4f42494b4f60c81b815250816003908161008691906107ad565b50600461009382826107ad565b5050506100ac6100a761038c60201b60201c565b610390565b737a250d5630b4cf539739df2c5dacb4c659f2488d6100cc8160016103e1565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610114573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101389190610867565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610183573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a79190610867565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156101f1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102159190610867565b6001600160a01b031660a081905261022e9060016103e1565b60a05161023c90600161048c565b5f6102496009600a61098d565b6102589064e8d4a5100061099b565b4260085590506103e861026c82600a61099b565b61027691906109b2565b600b556103e861028782600a61099b565b61029191906109b2565b600a556103e86102a282600161099b565b6102ac91906109b2565b60065560646102bc82600261099b565b6102c691906109b2565b600755600f600d819055600e8190555f9055600c8054610100600160a81b031916336101008102919091179091556102ff9060016104df565b61030a3060016104df565b61031761dead60016104df565b600c546103339061010090046001600160a01b031660016104df565b61033e3360016103e1565b6103493060016103e1565b61035661dead60016103e1565b600c546103729061010090046001600160a01b031660016103e1565b61037b3361057d565b6103853382610635565b50506109e4565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6005546001600160a01b0316331461042d5760405162461bcd60e51b815260206004820181905260248201525f516020612ae25f395f51905f5260448201526064015b60405180910390fd5b6001600160a01b0382165f81815260116020908152604091829020805460ff191685151590811790915591519182527f3844f59dd909a5abfe5fa6d8f12dfa6424a8b2b595372782bc0ff76cf27fc52791015b60405180910390a25050565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fe0f0eeda3b1247853e2a825aa40eb65c3b08879740f68ff00df4745b6bb075b291a35050565b6005546001600160a01b031633146105265760405162461bcd60e51b815260206004820181905260248201525f516020612ae25f395f51905f526044820152606401610424565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527f06e9674d1df780f28d6fccac66198e06ae257bd747ef07af7ecb217f7166a2ed9101610480565b6005546001600160a01b031633146105c45760405162461bcd60e51b815260206004820181905260248201525f516020612ae25f395f51905f526044820152606401610424565b6001600160a01b0381166106295760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610424565b61063281610390565b50565b6001600160a01b03821661068b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610424565b8060025f82825461069c91906109d1565b90915550506001600160a01b0382165f90815260208190526040812080548392906106c89084906109d1565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061073e57607f821691505b60208210810361075c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561071157805f5260205f20601f840160051c810160208510156107875750805b601f840160051c820191505b818110156107a6575f8155600101610793565b5050505050565b81516001600160401b038111156107c6576107c6610716565b6107da816107d4845461072a565b84610762565b6020601f82116001811461080c575f83156107f55750848201515b5f19600385901b1c1916600184901b1784556107a6565b5f84815260208120601f198516915b8281101561083b578785015182556020948501946001909201910161081b565b508482101561085857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610877575f5ffd5b81516001600160a01b038116811461088d575f5ffd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156108e3578085048111156108c7576108c7610894565b60018416156108d557908102905b60019390931c9280026108ac565b935093915050565b5f826108f957506001610987565b8161090557505f610987565b816001811461091b576002811461092557610941565b6001915050610987565b60ff84111561093657610936610894565b50506001821b610987565b5060208310610133831016604e8410600b8410161715610964575081810a610987565b6109705f1984846108a8565b805f190482111561098357610983610894565b0290505b92915050565b5f61088d60ff8416836108eb565b808202811582820484141761098757610987610894565b5f826109cc57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561098757610987610894565b60805160a0516120d2610a105f395f50505f8181611ba601528181611c5d0152611c9901526120d25ff3fe6080604052600436106101c7575f3560e01c806377baae14116100f2578063a961217611610092578063c97b4cfb11610062578063c97b4cfb14610540578063dd62ed3e1461055f578063f2fde38b146105a3578063f6f6d95d146105c2575f5ffd5b8063a9612176146104cf578063b9ca7baa146104ee578063bcc88aa71461050d578063c9567bf91461052c575f5ffd5b806392057a38116100cd57806392057a381461044d57806395d89b411461047d578063a457c2d714610491578063a9059cbb146104b0575f5ffd5b806377baae14146103eb5780637a942f8e146104115780638da5cb5b14610430575f5ffd5b8063313ce56711610168578063715018a611610138578063715018a6146103545780637173163e1461036857806373387d141461037c5780637729629d146103b5575f5ffd5b8063313ce567146102c757806339509351146102e25780635dfb6bdb1461030157806370a0823114610320575f5ffd5b8063095ea7b3116101a3578063095ea7b31461023c57806309cf7c701461026b57806318160ddd1461028a57806323b872dd146102a8575f5ffd5b8062420c6f146101d257806303761d75146101f357806306fdde0314610212575f5ffd5b366101ce57005b5f5ffd5b3480156101dd575f5ffd5b506101f16101ec366004611d1b565b610633565b005b3480156101fe575f5ffd5b506101f161020d366004611d4b565b6107da565b34801561021d575f5ffd5b506102266108c3565b6040516102339190611d62565b60405180910390f35b348015610247575f5ffd5b5061025b610256366004611dab565b610953565b6040519015158152602001610233565b348015610276575f5ffd5b506101f1610285366004611d4b565b610969565b348015610295575f5ffd5b506002545b604051908152602001610233565b3480156102b3575f5ffd5b5061025b6102c2366004611dd5565b610a3d565b3480156102d2575f5ffd5b5060405160098152602001610233565b3480156102ed575f5ffd5b5061025b6102fc366004611dab565b610ae5565b34801561030c575f5ffd5b506101f161031b366004611e13565b610b20565b34801561032b575f5ffd5b5061029a61033a366004611e13565b6001600160a01b03165f9081526020819052604090205490565b34801561035f575f5ffd5b506101f1610bb1565b348015610373575f5ffd5b506101f1610be6565b348015610387575f5ffd5b50600954600a54600b5460ff909216915b604080519315158452602084019290925290820152606001610233565b3480156103c0575f5ffd5b50600c5461010090046001600160a01b03165b6040516001600160a01b039091168152602001610233565b3480156103f6575f5ffd5b50600554600654600754600160a81b90920460ff1691610398565b34801561041c575f5ffd5b506101f161042b366004611d4b565b610c4a565b34801561043b575f5ffd5b506005546001600160a01b03166103d3565b348015610458575f5ffd5b50600d54600e54600f5460408051938452602084019290925290820152606001610233565b348015610488575f5ffd5b50610226610d1d565b34801561049c575f5ffd5b5061025b6104ab366004611dab565b610d2c565b3480156104bb575f5ffd5b5061025b6104ca366004611dab565b610dc4565b3480156104da575f5ffd5b506101f16104e9366004611d4b565b610dd0565b3480156104f9575f5ffd5b506101f1610508366004611e2e565b610e69565b348015610518575f5ffd5b506101f1610527366004611e2e565b610ef2565b348015610537575f5ffd5b506101f1610f73565b34801561054b575f5ffd5b506101f161055a366004611d4b565b610fe9565b34801561056a575f5ffd5b5061029a610579366004611e61565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b3480156105ae575f5ffd5b506101f16105bd366004611e13565b6110d0565b3480156105cd575f5ffd5b506106146105dc366004611e13565b6001600160a01b03165f908152601060209081526040808320546011835281842054601290935292205460ff92831693918316921690565b6040805193151584529115156020840152151590820152606001610233565b6005546001600160a01b031633146106665760405162461bcd60e51b815260040161065d90611e98565b60405180910390fd5b60018210156106d45760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e604482015273101817181892903a37ba30b61039bab838363c9760611b606482015260840161065d565b818110156107375760405162461bcd60e51b815260206004820152602a60248201527f6d6178696d756d20616d6f756e742063616e7420626520686967686572207468604482015269616e206d696e696d756d60b01b606482015260840161065d565b6005805460ff60a81b1916600160a81b851515021790556002546127109083906107619190611ee1565b61076b9190611ef8565b6006556127108161077b60025490565b6107859190611ee1565b61078f9190611ef8565b600755604080518415158152602081018490529081018290527f52cd2cdb42ff0eeec9362d7ed5b04f64c8d022697128b5378fc51cea7e63c7799060600160405180910390a1505050565b6005546001600160a01b031633146108045760405162461bcd60e51b815260040161065d90611e98565b60058110156108675760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d617857616c6c65744c696d6974206c6f776572206044820152687468616e20302e352560b81b606482015260840161065d565b6103e861087360025490565b61087d9083611ee1565b6108879190611ef8565b600a8190556040519081527f12528a3c61e0f3b2d6fc707a9fc58b1af86e252cad0d7f4c154ebeabb162dace906020015b60405180910390a150565b6060600380546108d290611f17565b80601f01602080910402602001604051908101604052809291908181526020018280546108fe90611f17565b80156109495780601f1061092057610100808354040283529160200191610949565b820191905f5260205f20905b81548152906001019060200180831161092c57829003601f168201915b5050505050905090565b5f61095f338484611168565b5060015b92915050565b6005546001600160a01b031633146109935760405162461bcd60e51b815260040161065d90611e98565b600e81905560648111156109fb5760405162461bcd60e51b815260206004820152602960248201527f546f74616c2073656c6c206665652063616e6e6f7420626520686967686572206044820152687468616e203130302560b81b606482015260840161065d565b600e546040805182815260208101839052908101919091527fcb5f36df892836a2eaedc349de29a7581176990398ee185d16eaa8f6c1abd8f1906060016108b8565b5f610a4984848461128b565b6001600160a01b0384165f90815260016020908152604080832033845290915290205482811015610acd5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161065d565b610ada8533858403611168565b506001949350505050565b335f8181526001602090815260408083206001600160a01b0387168452909152812054909161095f918590610b1b908690611f4f565b611168565b6005546001600160a01b03163314610b4a5760405162461bcd60e51b815260040161065d90611e98565b600c546040516001600160a01b036101009092048216918316907f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc67905f90a3600c80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6005546001600160a01b03163314610bdb5760405162461bcd60e51b815260040161065d90611e98565b610be45f6118ec565b565b6005546001600160a01b03163314610c105760405162461bcd60e51b815260040161065d90611e98565b6009805460ff191690555f600f81905560405142917ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261691a2565b6005546001600160a01b03163314610c745760405162461bcd60e51b815260040161065d90611e98565b600d8190556064811115610cdb5760405162461bcd60e51b815260206004820152602860248201527f546f74616c20627579206665652063616e6e6f7420626520686967686572207460448201526768616e203130302560c01b606482015260840161065d565b600d546040805182815260208101839052908101919091527f38513c502b0ab4834ac1df9502b76f75dcf7092469782cfd0db7fe664388e25e906060016108b8565b6060600480546108d290611f17565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015610dad5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161065d565b610dba3385858403611168565b5060019392505050565b5f61095f33848461128b565b6005546001600160a01b03163314610dfa5760405162461bcd60e51b815260040161065d90611e98565b600f8190556064811115610e665760405162461bcd60e51b815260206004820152602d60248201527f546f74616c207472616e73666572206665652063616e6e6f742062652068696760448201526c686572207468616e203130302560981b606482015260840161065d565b50565b6005546001600160a01b03163314610e935760405162461bcd60e51b815260040161065d90611e98565b6001600160a01b0382165f81815260116020908152604091829020805460ff191685151590811790915591519182527f3844f59dd909a5abfe5fa6d8f12dfa6424a8b2b595372782bc0ff76cf27fc52791015b60405180910390a25050565b6005546001600160a01b03163314610f1c5760405162461bcd60e51b815260040161065d90611e98565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527f06e9674d1df780f28d6fccac66198e06ae257bd747ef07af7ecb217f7166a2ed9101610ee6565b6005546001600160a01b03163314610f9d5760405162461bcd60e51b815260040161065d90611e98565b600c805460ff191660011790556005805460ff60a81b1916600160a81b17905560405142907fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e923905f90a2565b6005546001600160a01b031633146110135760405162461bcd60e51b815260040161065d90611e98565b600281101561107b5760405162461bcd60e51b815260206004820152602e60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e4c696d6974206c60448201526d6f776572207468616e20302e322560901b606482015260840161065d565b6103e861108760025490565b6110919083611ee1565b61109b9190611ef8565b600b8190556040519081527fff3dd5e80294197918c284bbfc3dadd97d0b40ce92106110946329088f80068a906020016108b8565b6005546001600160a01b031633146110fa5760405162461bcd60e51b815260040161065d90611e98565b6001600160a01b03811661115f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161065d565b610e66816118ec565b6001600160a01b0383166111ca5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161065d565b6001600160a01b03821661122b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161065d565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112b15760405162461bcd60e51b815260040161065d90611f62565b6001600160a01b0382166112d75760405162461bcd60e51b815260040161065d90611fa7565b805f036112ee576112e983835f61193d565b505050565b60095460ff1615611666576005546001600160a01b0384811691161480159061132557506005546001600160a01b03838116911614155b801561133957506001600160a01b03821615155b801561135057506001600160a01b03821661dead14155b80156113665750600554600160a01b900460ff16155b1561166657600c5460ff16611409576001600160a01b0383165f9081526010602052604090205460ff16806113b257506001600160a01b0382165f9081526010602052604090205460ff165b6114095760405162461bcd60e51b815260206004820152602260248201527f5f7472616e736665723a3a2054726164696e67206973206e6f74206163746976604482015261329760f11b606482015260840161065d565b6001600160a01b0383165f9081526012602052604090205460ff16801561144857506001600160a01b0382165f9081526011602052604090205460ff16155b1561152a57600b548111156114bc5760405162461bcd60e51b815260206004820152603460248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527336b0bc2a3930b739b0b1ba34b7b72634b6b4ba1760611b606482015260840161065d565b600a546001600160a01b0383165f908152602081905260409020546114e19083611f4f565b11156115255760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161065d565b611666565b6001600160a01b0382165f9081526012602052604090205460ff16801561156957506001600160a01b0383165f9081526011602052604090205460ff16155b156115de57600b548111156115255760405162461bcd60e51b815260206004820152603560248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152741036b0bc2a3930b739b0b1ba34b7b72634b6b4ba1760591b606482015260840161065d565b6001600160a01b0382165f9081526011602052604090205460ff1661166657600a546001600160a01b0383165f908152602081905260409020546116229083611f4f565b11156116665760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161065d565b305f90815260208190526040902054600654811080159081906116925750600554600160a81b900460ff165b80156116a85750600554600160a01b900460ff16155b80156116cc57506001600160a01b0385165f9081526012602052604090205460ff16155b80156116f057506001600160a01b0385165f9081526010602052604090205460ff16155b801561171457506001600160a01b0384165f9081526010602052604090205460ff16155b801561172257504260085414155b15611755576005805460ff60a01b1916600160a01b17905561174383611a90565b426008556005805460ff60a01b191690555b6005546001600160a01b0386165f9081526010602052604090205460ff600160a01b9092048216159116806117a157506001600160a01b0385165f9081526010602052604090205460ff165b156117a957505f5b5f81156118d8576001600160a01b0386165f9081526012602052604090205460ff1680156117d857505f600e54115b15611804576117fd60646117f7600e5488611b3490919063ffffffff16565b90611b46565b90506118ba565b6001600160a01b0387165f9081526012602052604090205460ff16801561182c57505f600d54115b1561184b576117fd60646117f7600d5488611b3490919063ffffffff16565b5f600f5411801561187457506001600160a01b0387165f9081526012602052604090205460ff16155b801561189857506001600160a01b0386165f9081526012602052604090205460ff16155b156118ba576118b760646117f7600f5488611b3490919063ffffffff16565b90505b80156118cb576118cb87308361193d565b6118d58186611fea565b94505b6118e387878761193d565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0383166119635760405162461bcd60e51b815260040161065d90611f62565b6001600160a01b0382166119895760405162461bcd60e51b815260040161065d90611fa7565b6001600160a01b0383165f9081526020819052604090205481811015611a005760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161065d565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290611a36908490611f4f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a8291815260200190565b60405180910390a350505050565b305f9081526020819052604081205490818103611aac57505050565b600754821115611abc5760075491505b611ac783600f611ee1565b821115611adc57611ad983600f611ee1565b91505b81611ae681611b51565b600c546040516101009091046001600160a01b03169047905f81818185875af1925050503d805f81146118e3576040519150601f19603f3d011682016040523d82523d5f602084013e6118e3565b5f611b3f8284611ee1565b9392505050565b5f611b3f8284611ef8565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611b8457611b84611ffd565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c00573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c249190612011565b81600181518110611c3757611c37611ffd565b60200260200101906001600160a01b031690816001600160a01b031681525050611c82307f000000000000000000000000000000000000000000000000000000000000000084611168565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611cd69085905f9086903090429060040161202c565b5f604051808303815f87803b158015611ced575f5ffd5b505af1158015611cff573d5f5f3e3d5ffd5b505050505050565b80358015158114611d16575f5ffd5b919050565b5f5f5f60608486031215611d2d575f5ffd5b611d3684611d07565b95602085013595506040909401359392505050565b5f60208284031215611d5b575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610e66575f5ffd5b5f5f60408385031215611dbc575f5ffd5b8235611dc781611d97565b946020939093013593505050565b5f5f5f60608486031215611de7575f5ffd5b8335611df281611d97565b92506020840135611e0281611d97565b929592945050506040919091013590565b5f60208284031215611e23575f5ffd5b8135611b3f81611d97565b5f5f60408385031215611e3f575f5ffd5b8235611e4a81611d97565b9150611e5860208401611d07565b90509250929050565b5f5f60408385031215611e72575f5ffd5b8235611e7d81611d97565b91506020830135611e8d81611d97565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761096357610963611ecd565b5f82611f1257634e487b7160e01b5f52601260045260245ffd5b500490565b600181811c90821680611f2b57607f821691505b602082108103611f4957634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561096357610963611ecd565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561096357610963611ecd565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215612021575f5ffd5b8151611b3f81611d97565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561207c5783516001600160a01b0316835260209384019390920191600101612055565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220a625998c6dde5428e7b9bbb8c0314d8d1fd4b801ca4b8694e62dae32cedcc4b164736f6c634300081e00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed Bytecode
0x6080604052600436106101c7575f3560e01c806377baae14116100f2578063a961217611610092578063c97b4cfb11610062578063c97b4cfb14610540578063dd62ed3e1461055f578063f2fde38b146105a3578063f6f6d95d146105c2575f5ffd5b8063a9612176146104cf578063b9ca7baa146104ee578063bcc88aa71461050d578063c9567bf91461052c575f5ffd5b806392057a38116100cd57806392057a381461044d57806395d89b411461047d578063a457c2d714610491578063a9059cbb146104b0575f5ffd5b806377baae14146103eb5780637a942f8e146104115780638da5cb5b14610430575f5ffd5b8063313ce56711610168578063715018a611610138578063715018a6146103545780637173163e1461036857806373387d141461037c5780637729629d146103b5575f5ffd5b8063313ce567146102c757806339509351146102e25780635dfb6bdb1461030157806370a0823114610320575f5ffd5b8063095ea7b3116101a3578063095ea7b31461023c57806309cf7c701461026b57806318160ddd1461028a57806323b872dd146102a8575f5ffd5b8062420c6f146101d257806303761d75146101f357806306fdde0314610212575f5ffd5b366101ce57005b5f5ffd5b3480156101dd575f5ffd5b506101f16101ec366004611d1b565b610633565b005b3480156101fe575f5ffd5b506101f161020d366004611d4b565b6107da565b34801561021d575f5ffd5b506102266108c3565b6040516102339190611d62565b60405180910390f35b348015610247575f5ffd5b5061025b610256366004611dab565b610953565b6040519015158152602001610233565b348015610276575f5ffd5b506101f1610285366004611d4b565b610969565b348015610295575f5ffd5b506002545b604051908152602001610233565b3480156102b3575f5ffd5b5061025b6102c2366004611dd5565b610a3d565b3480156102d2575f5ffd5b5060405160098152602001610233565b3480156102ed575f5ffd5b5061025b6102fc366004611dab565b610ae5565b34801561030c575f5ffd5b506101f161031b366004611e13565b610b20565b34801561032b575f5ffd5b5061029a61033a366004611e13565b6001600160a01b03165f9081526020819052604090205490565b34801561035f575f5ffd5b506101f1610bb1565b348015610373575f5ffd5b506101f1610be6565b348015610387575f5ffd5b50600954600a54600b5460ff909216915b604080519315158452602084019290925290820152606001610233565b3480156103c0575f5ffd5b50600c5461010090046001600160a01b03165b6040516001600160a01b039091168152602001610233565b3480156103f6575f5ffd5b50600554600654600754600160a81b90920460ff1691610398565b34801561041c575f5ffd5b506101f161042b366004611d4b565b610c4a565b34801561043b575f5ffd5b506005546001600160a01b03166103d3565b348015610458575f5ffd5b50600d54600e54600f5460408051938452602084019290925290820152606001610233565b348015610488575f5ffd5b50610226610d1d565b34801561049c575f5ffd5b5061025b6104ab366004611dab565b610d2c565b3480156104bb575f5ffd5b5061025b6104ca366004611dab565b610dc4565b3480156104da575f5ffd5b506101f16104e9366004611d4b565b610dd0565b3480156104f9575f5ffd5b506101f1610508366004611e2e565b610e69565b348015610518575f5ffd5b506101f1610527366004611e2e565b610ef2565b348015610537575f5ffd5b506101f1610f73565b34801561054b575f5ffd5b506101f161055a366004611d4b565b610fe9565b34801561056a575f5ffd5b5061029a610579366004611e61565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b3480156105ae575f5ffd5b506101f16105bd366004611e13565b6110d0565b3480156105cd575f5ffd5b506106146105dc366004611e13565b6001600160a01b03165f908152601060209081526040808320546011835281842054601290935292205460ff92831693918316921690565b6040805193151584529115156020840152151590820152606001610233565b6005546001600160a01b031633146106665760405162461bcd60e51b815260040161065d90611e98565b60405180910390fd5b60018210156106d45760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e604482015273101817181892903a37ba30b61039bab838363c9760611b606482015260840161065d565b818110156107375760405162461bcd60e51b815260206004820152602a60248201527f6d6178696d756d20616d6f756e742063616e7420626520686967686572207468604482015269616e206d696e696d756d60b01b606482015260840161065d565b6005805460ff60a81b1916600160a81b851515021790556002546127109083906107619190611ee1565b61076b9190611ef8565b6006556127108161077b60025490565b6107859190611ee1565b61078f9190611ef8565b600755604080518415158152602081018490529081018290527f52cd2cdb42ff0eeec9362d7ed5b04f64c8d022697128b5378fc51cea7e63c7799060600160405180910390a1505050565b6005546001600160a01b031633146108045760405162461bcd60e51b815260040161065d90611e98565b60058110156108675760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d617857616c6c65744c696d6974206c6f776572206044820152687468616e20302e352560b81b606482015260840161065d565b6103e861087360025490565b61087d9083611ee1565b6108879190611ef8565b600a8190556040519081527f12528a3c61e0f3b2d6fc707a9fc58b1af86e252cad0d7f4c154ebeabb162dace906020015b60405180910390a150565b6060600380546108d290611f17565b80601f01602080910402602001604051908101604052809291908181526020018280546108fe90611f17565b80156109495780601f1061092057610100808354040283529160200191610949565b820191905f5260205f20905b81548152906001019060200180831161092c57829003601f168201915b5050505050905090565b5f61095f338484611168565b5060015b92915050565b6005546001600160a01b031633146109935760405162461bcd60e51b815260040161065d90611e98565b600e81905560648111156109fb5760405162461bcd60e51b815260206004820152602960248201527f546f74616c2073656c6c206665652063616e6e6f7420626520686967686572206044820152687468616e203130302560b81b606482015260840161065d565b600e546040805182815260208101839052908101919091527fcb5f36df892836a2eaedc349de29a7581176990398ee185d16eaa8f6c1abd8f1906060016108b8565b5f610a4984848461128b565b6001600160a01b0384165f90815260016020908152604080832033845290915290205482811015610acd5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161065d565b610ada8533858403611168565b506001949350505050565b335f8181526001602090815260408083206001600160a01b0387168452909152812054909161095f918590610b1b908690611f4f565b611168565b6005546001600160a01b03163314610b4a5760405162461bcd60e51b815260040161065d90611e98565b600c546040516001600160a01b036101009092048216918316907f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc67905f90a3600c80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6005546001600160a01b03163314610bdb5760405162461bcd60e51b815260040161065d90611e98565b610be45f6118ec565b565b6005546001600160a01b03163314610c105760405162461bcd60e51b815260040161065d90611e98565b6009805460ff191690555f600f81905560405142917ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261691a2565b6005546001600160a01b03163314610c745760405162461bcd60e51b815260040161065d90611e98565b600d8190556064811115610cdb5760405162461bcd60e51b815260206004820152602860248201527f546f74616c20627579206665652063616e6e6f7420626520686967686572207460448201526768616e203130302560c01b606482015260840161065d565b600d546040805182815260208101839052908101919091527f38513c502b0ab4834ac1df9502b76f75dcf7092469782cfd0db7fe664388e25e906060016108b8565b6060600480546108d290611f17565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015610dad5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161065d565b610dba3385858403611168565b5060019392505050565b5f61095f33848461128b565b6005546001600160a01b03163314610dfa5760405162461bcd60e51b815260040161065d90611e98565b600f8190556064811115610e665760405162461bcd60e51b815260206004820152602d60248201527f546f74616c207472616e73666572206665652063616e6e6f742062652068696760448201526c686572207468616e203130302560981b606482015260840161065d565b50565b6005546001600160a01b03163314610e935760405162461bcd60e51b815260040161065d90611e98565b6001600160a01b0382165f81815260116020908152604091829020805460ff191685151590811790915591519182527f3844f59dd909a5abfe5fa6d8f12dfa6424a8b2b595372782bc0ff76cf27fc52791015b60405180910390a25050565b6005546001600160a01b03163314610f1c5760405162461bcd60e51b815260040161065d90611e98565b6001600160a01b0382165f81815260106020908152604091829020805460ff191685151590811790915591519182527f06e9674d1df780f28d6fccac66198e06ae257bd747ef07af7ecb217f7166a2ed9101610ee6565b6005546001600160a01b03163314610f9d5760405162461bcd60e51b815260040161065d90611e98565b600c805460ff191660011790556005805460ff60a81b1916600160a81b17905560405142907fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e923905f90a2565b6005546001600160a01b031633146110135760405162461bcd60e51b815260040161065d90611e98565b600281101561107b5760405162461bcd60e51b815260206004820152602e60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e4c696d6974206c60448201526d6f776572207468616e20302e322560901b606482015260840161065d565b6103e861108760025490565b6110919083611ee1565b61109b9190611ef8565b600b8190556040519081527fff3dd5e80294197918c284bbfc3dadd97d0b40ce92106110946329088f80068a906020016108b8565b6005546001600160a01b031633146110fa5760405162461bcd60e51b815260040161065d90611e98565b6001600160a01b03811661115f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161065d565b610e66816118ec565b6001600160a01b0383166111ca5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161065d565b6001600160a01b03821661122b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161065d565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112b15760405162461bcd60e51b815260040161065d90611f62565b6001600160a01b0382166112d75760405162461bcd60e51b815260040161065d90611fa7565b805f036112ee576112e983835f61193d565b505050565b60095460ff1615611666576005546001600160a01b0384811691161480159061132557506005546001600160a01b03838116911614155b801561133957506001600160a01b03821615155b801561135057506001600160a01b03821661dead14155b80156113665750600554600160a01b900460ff16155b1561166657600c5460ff16611409576001600160a01b0383165f9081526010602052604090205460ff16806113b257506001600160a01b0382165f9081526010602052604090205460ff165b6114095760405162461bcd60e51b815260206004820152602260248201527f5f7472616e736665723a3a2054726164696e67206973206e6f74206163746976604482015261329760f11b606482015260840161065d565b6001600160a01b0383165f9081526012602052604090205460ff16801561144857506001600160a01b0382165f9081526011602052604090205460ff16155b1561152a57600b548111156114bc5760405162461bcd60e51b815260206004820152603460248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527336b0bc2a3930b739b0b1ba34b7b72634b6b4ba1760611b606482015260840161065d565b600a546001600160a01b0383165f908152602081905260409020546114e19083611f4f565b11156115255760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161065d565b611666565b6001600160a01b0382165f9081526012602052604090205460ff16801561156957506001600160a01b0383165f9081526011602052604090205460ff16155b156115de57600b548111156115255760405162461bcd60e51b815260206004820152603560248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152741036b0bc2a3930b739b0b1ba34b7b72634b6b4ba1760591b606482015260840161065d565b6001600160a01b0382165f9081526011602052604090205460ff1661166657600a546001600160a01b0383165f908152602081905260409020546116229083611f4f565b11156116665760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161065d565b305f90815260208190526040902054600654811080159081906116925750600554600160a81b900460ff165b80156116a85750600554600160a01b900460ff16155b80156116cc57506001600160a01b0385165f9081526012602052604090205460ff16155b80156116f057506001600160a01b0385165f9081526010602052604090205460ff16155b801561171457506001600160a01b0384165f9081526010602052604090205460ff16155b801561172257504260085414155b15611755576005805460ff60a01b1916600160a01b17905561174383611a90565b426008556005805460ff60a01b191690555b6005546001600160a01b0386165f9081526010602052604090205460ff600160a01b9092048216159116806117a157506001600160a01b0385165f9081526010602052604090205460ff165b156117a957505f5b5f81156118d8576001600160a01b0386165f9081526012602052604090205460ff1680156117d857505f600e54115b15611804576117fd60646117f7600e5488611b3490919063ffffffff16565b90611b46565b90506118ba565b6001600160a01b0387165f9081526012602052604090205460ff16801561182c57505f600d54115b1561184b576117fd60646117f7600d5488611b3490919063ffffffff16565b5f600f5411801561187457506001600160a01b0387165f9081526012602052604090205460ff16155b801561189857506001600160a01b0386165f9081526012602052604090205460ff16155b156118ba576118b760646117f7600f5488611b3490919063ffffffff16565b90505b80156118cb576118cb87308361193d565b6118d58186611fea565b94505b6118e387878761193d565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0383166119635760405162461bcd60e51b815260040161065d90611f62565b6001600160a01b0382166119895760405162461bcd60e51b815260040161065d90611fa7565b6001600160a01b0383165f9081526020819052604090205481811015611a005760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161065d565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290611a36908490611f4f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a8291815260200190565b60405180910390a350505050565b305f9081526020819052604081205490818103611aac57505050565b600754821115611abc5760075491505b611ac783600f611ee1565b821115611adc57611ad983600f611ee1565b91505b81611ae681611b51565b600c546040516101009091046001600160a01b03169047905f81818185875af1925050503d805f81146118e3576040519150601f19603f3d011682016040523d82523d5f602084013e6118e3565b5f611b3f8284611ee1565b9392505050565b5f611b3f8284611ef8565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611b8457611b84611ffd565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c00573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c249190612011565b81600181518110611c3757611c37611ffd565b60200260200101906001600160a01b031690816001600160a01b031681525050611c82307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611168565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611cd69085905f9086903090429060040161202c565b5f604051808303815f87803b158015611ced575f5ffd5b505af1158015611cff573d5f5f3e3d5ffd5b505050505050565b80358015158114611d16575f5ffd5b919050565b5f5f5f60608486031215611d2d575f5ffd5b611d3684611d07565b95602085013595506040909401359392505050565b5f60208284031215611d5b575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610e66575f5ffd5b5f5f60408385031215611dbc575f5ffd5b8235611dc781611d97565b946020939093013593505050565b5f5f5f60608486031215611de7575f5ffd5b8335611df281611d97565b92506020840135611e0281611d97565b929592945050506040919091013590565b5f60208284031215611e23575f5ffd5b8135611b3f81611d97565b5f5f60408385031215611e3f575f5ffd5b8235611e4a81611d97565b9150611e5860208401611d07565b90509250929050565b5f5f60408385031215611e72575f5ffd5b8235611e7d81611d97565b91506020830135611e8d81611d97565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761096357610963611ecd565b5f82611f1257634e487b7160e01b5f52601260045260245ffd5b500490565b600181811c90821680611f2b57607f821691505b602082108103611f4957634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561096357610963611ecd565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561096357610963611ecd565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215612021575f5ffd5b8151611b3f81611d97565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561207c5783516001600160a01b0316835260209384019390920191600101612055565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220a625998c6dde5428e7b9bbb8c0314d8d1fd4b801ca4b8694e62dae32cedcc4b164736f6c634300081e0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
-----Decoded View---------------
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed Bytecode Sourcemap
13450:17168:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18351:665;;;;;;;;;;-1:-1:-1;18351:665:0;;;;;:::i;:::-;;:::i;:::-;;19793:305;;;;;;;;;;-1:-1:-1;19793:305:0;;;;;:::i;:::-;;:::i;4958:100::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5957:194;;;;;;;;;;-1:-1:-1;5957:194:0;;;;;:::i;:::-;;:::i;:::-;;;1925:14:1;;1918:22;1900:41;;1888:2;1873:18;5957:194:0;1760:187:1;21272:281:0;;;;;;;;;;-1:-1:-1;21272:281:0;;;;;:::i;:::-;;:::i;5289:108::-;;;;;;;;;;-1:-1:-1;5377:12:0;;5289:108;;;2098:25:1;;;2086:2;2071:18;5289:108:0;1952:177:1;6161:529:0;;;;;;;;;;-1:-1:-1;6161:529:0;;;;;:::i;:::-;;:::i;17193:92::-;;;;;;;;;;-1:-1:-1;17193:92:0;;17276:1;2789:36:1;;2777:2;2762:18;17193:92:0;2647:184:1;6700:290:0;;;;;;;;;;-1:-1:-1;6700:290:0;;;;;:::i;:::-;;:::i;22572:182::-;;;;;;;;;;-1:-1:-1;22572:182:0;;;;;:::i;:::-;;:::i;5407:143::-;;;;;;;;;;-1:-1:-1;5407:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5524:18:0;5497:7;5524:18;;;;;;;;;;;;5407:143;10682:103;;;;;;;;;;;;;:::i;17707:158::-;;;;;;;;;;;;;:::i;23830:301::-;;;;;;;;;;-1:-1:-1;24014:13:0;;24056:14;;24104:19;;24014:13;;;;;23830:301;;;;3309:14:1;;3302:22;3284:41;;3356:2;3341:18;;3334:34;;;;3384:18;;;3377:34;3272:2;3257:18;23830:301:0;3088:329:1;24292:154:0;;;;;;;;;;-1:-1:-1;24424:13:0;;;;;-1:-1:-1;;;;;24424:13:0;24292:154;;;-1:-1:-1;;;;;3586:32:1;;;3568:51;;3556:2;3541:18;24292:154:0;3422:203:1;23117:347:0;;;;;;;;;;-1:-1:-1;23361:17:0;;23409:9;;23449:7;;-1:-1:-1;;;23361:17:0;;;;;;23117:347;;20804:236;;;;;;;;;;-1:-1:-1;20804:236:0;;;;;:::i;:::-;;:::i;10374:87::-;;;;;;;;;;-1:-1:-1;10447:6:0;;-1:-1:-1;;;;;10447:6:0;10374:87;;24683:305;;;;;;;;;;-1:-1:-1;24899:9:0;;24933:10;;24969:11;;24683:305;;;3832:25:1;;;3888:2;3873:18;;3866:34;;;;3916:18;;;3909:34;3820:2;3805:18;24683:305:0;3630:319:1;5069:104:0;;;;;;;;;;;;;:::i;7000:475::-;;;;;;;;;;-1:-1:-1;7000:475:0;;;;;:::i;:::-;;:::i;5560:200::-;;;;;;;;;;-1:-1:-1;5560:200:0;;;;;:::i;:::-;;:::i;21561:225::-;;;;;;;;;;-1:-1:-1;21561:225:0;;;;;:::i;:::-;;:::i;20367:207::-;;;;;;;;;;-1:-1:-1;20367:207:0;;;;;:::i;:::-;;:::i;22031:201::-;;;;;;;;;;-1:-1:-1;22031:201:0;;;;;:::i;:::-;;:::i;17391:161::-;;;;;;;;;;;;;:::i;19266:311::-;;;;;;;;;;-1:-1:-1;19266:311:0;;;;;:::i;:::-;;:::i;5771:176::-;;;;;;;;;;-1:-1:-1;5771:176:0;;;;;:::i;:::-;-1:-1:-1;;;;;5912:18:0;;;5885:7;5912:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5771:176;10795:238;;;;;;;;;;-1:-1:-1;10795:238:0;;;;;:::i;:::-;;:::i;25424:378::-;;;;;;;;;;-1:-1:-1;25424:378:0;;;;;:::i;:::-;-1:-1:-1;;;;;25677:23:0;25546:20;25677:23;;;:14;:23;;;;;;;;;25731:16;:25;;;;;;25778:7;:16;;;;;;25677:23;;;;;25731:25;;;;25778:16;;25424:378;;;;;4876:14:1;;4869:22;4851:41;;4935:14;;4928:22;4923:2;4908:18;;4901:50;4994:14;4987:22;4967:18;;;4960:50;4839:2;4824:18;25424:378:0;4667:349:1;18351:665:0;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;;;;;;;;;18548:1:::1;18531:13;:18;;18509:120;;;::::0;-1:-1:-1;;;18509:120:0;;5584:2:1;18509:120:0::1;::::0;::::1;5566:21:1::0;5623:2;5603:18;;;5596:30;5662:34;5642:18;;;5635:62;-1:-1:-1;;;5713:18:1;;;5706:50;5773:19;;18509:120:0::1;5382:416:1::0;18509:120:0::1;18677:13;18662:11;:28;;18640:120;;;::::0;-1:-1:-1;;;18640:120:0;;6005:2:1;18640:120:0::1;::::0;::::1;5987:21:1::0;6044:2;6024:18;;;6017:30;6083:34;6063:18;;;6056:62;-1:-1:-1;;;6134:18:1;;;6127:40;6184:19;;18640:120:0::1;5803:406:1::0;18640:120:0::1;18773:17;:33:::0;;-1:-1:-1;;;;18773:33:0::1;-1:-1:-1::0;;;18773:33:0;::::1;;;;::::0;;5377:12;;18863:5:::1;::::0;18846:13;;18830:29:::1;;;;:::i;:::-;18829:39;;;;:::i;:::-;18817:9;:51:::0;18921:5:::1;18906:11:::0;18890:13:::1;5377:12:::0;;;5289:108;18890:13:::1;:27;;;;:::i;:::-;18889:37;;;;:::i;:::-;18879:7;:47:::0;18942:66:::1;::::0;;3309:14:1;;3302:22;3284:41;;3356:2;3341:18;;3334:34;;;3384:18;;;3377:34;;;18942:66:0::1;::::0;3272:2:1;3257:18;18942:66:0::1;;;;;;;18351:665:::0;;;:::o;19793:305::-;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;19927:1:::1;19908:15;:20;;19900:74;;;::::0;-1:-1:-1;;;19900:74:0;;6943:2:1;19900:74:0::1;::::0;::::1;6925:21:1::0;6982:2;6962:18;;;6955:30;7021:34;7001:18;;;6994:62;-1:-1:-1;;;7072:18:1;;;7065:39;7121:19;;19900:74:0::1;6741:405:1::0;19900:74:0::1;20038:4;20021:13;5377:12:::0;;;5289:108;20021:13:::1;20003:31;::::0;:15;:31:::1;:::i;:::-;20002:40;;;;:::i;:::-;19985:14;:57:::0;;;20058:32:::1;::::0;2098:25:1;;;20058:32:0::1;::::0;2086:2:1;2071:18;20058:32:0::1;;;;;;;;19793:305:::0;:::o;4958:100::-;5012:13;5045:5;5038:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4958:100;:::o;5957:194::-;6065:4;6082:39;4407:10;6105:7;6114:6;6082:8;:39::i;:::-;-1:-1:-1;6139:4:0;5957:194;;;;;:::o;21272:281::-;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;21341:10:::1;:19:::0;;;21407:3:::1;21393:17:::0;::::1;;21371:108;;;::::0;-1:-1:-1;;;21371:108:0;;7738:2:1;21371:108:0::1;::::0;::::1;7720:21:1::0;7777:2;7757:18;;;7750:30;7816:34;7796:18;;;7789:62;-1:-1:-1;;;7867:18:1;;;7860:39;7916:19;;21371:108:0::1;7536:405:1::0;21371:108:0::1;21510:10;::::0;21495:50:::1;::::0;;3832:25:1;;;3888:2;3873:18;;3866:34;;;3916:18;;;3909:34;;;;21495:50:0::1;::::0;3820:2:1;3805:18;21495:50:0::1;3630:319:1::0;6161:529:0;6301:4;6318:36;6328:6;6336:9;6347:6;6318:9;:36::i;:::-;-1:-1:-1;;;;;6394:19:0;;6367:24;6394:19;;;:11;:19;;;;;;;;4407:10;6394:33;;;;;;;;6460:26;;;;6438:116;;;;-1:-1:-1;;;6438:116:0;;8148:2:1;6438:116:0;;;8130:21:1;8187:2;8167:18;;;8160:30;8226:34;8206:18;;;8199:62;-1:-1:-1;;;8277:18:1;;;8270:38;8325:19;;6438:116:0;7946:404:1;6438:116:0;6590:57;6599:6;4407:10;6640:6;6621:16;:25;6590:8;:57::i;:::-;-1:-1:-1;6678:4:0;;6161:529;-1:-1:-1;;;;6161:529:0:o;6700:290::-;4407:10;6813:4;6902:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6902:34:0;;;;;;;;;;6813:4;;6830:130;;6880:7;;6902:47;;6939:10;;6902:47;:::i;:::-;6830:8;:130::i;22572:182::-;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;22695:13:::1;::::0;22660:49:::1;::::0;-1:-1:-1;;;;;22695:13:0::1;::::0;;::::1;::::0;::::1;::::0;22660:49;::::1;::::0;::::1;::::0;;;::::1;22720:13;:26:::0;;-1:-1:-1;;;;;22720:26:0;;::::1;;;-1:-1:-1::0;;;;;;22720:26:0;;::::1;::::0;;;::::1;::::0;;22572:182::o;10682:103::-;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;10747:30:::1;10774:1;10747:18;:30::i;:::-;10682:103::o:0;17707:158::-;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;17764:13:::1;:21:::0;;-1:-1:-1;;17764:21:0::1;::::0;;17780:5:::1;17796:11;:15:::0;;;17827:30:::1;::::0;17841:15:::1;::::0;17827:30:::1;::::0;::::1;17707:158::o:0;20804:236::-;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;20872:9:::1;:18:::0;;;20922:3:::1;20909:16:::0;::::1;;20901:69;;;::::0;-1:-1:-1;;;20901:69:0;;8687:2:1;20901:69:0::1;::::0;::::1;8669:21:1::0;8726:2;8706:18;;;8699:30;8765:34;8745:18;;;8738:62;-1:-1:-1;;;8816:18:1;;;8809:38;8864:19;;20901:69:0::1;8485:404:1::0;20901:69:0::1;21000:9;::::0;20986:46:::1;::::0;;3832:25:1;;;3888:2;3873:18;;3866:34;;;3916:18;;;3909:34;;;;20986:46:0::1;::::0;3820:2:1;3805:18;20986:46:0::1;3630:319:1::0;5069:104:0;5125:13;5158:7;5151:14;;;;;:::i;7000:475::-;4407:10;7118:4;7162:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7162:34:0;;;;;;;;;;7229:35;;;;7207:122;;;;-1:-1:-1;;;7207:122:0;;9096:2:1;7207:122:0;;;9078:21:1;9135:2;9115:18;;;9108:30;9174:34;9154:18;;;9147:62;-1:-1:-1;;;9225:18:1;;;9218:35;9270:19;;7207:122:0;8894:401:1;7207:122:0;7365:67;4407:10;7388:7;7416:15;7397:16;:34;7365:8;:67::i;:::-;-1:-1:-1;7463:4:0;;7000:475;-1:-1:-1;;;7000:475:0:o;5560:200::-;5671:4;5688:42;4407:10;5712:9;5723:6;5688:9;:42::i;21561:225::-;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;21634:11:::1;:20:::0;;;21702:3:::1;21687:18:::0;::::1;;21665:113;;;::::0;-1:-1:-1;;;21665:113:0;;9502:2:1;21665:113:0::1;::::0;::::1;9484:21:1::0;9541:2;9521:18;;;9514:30;9580:34;9560:18;;;9553:62;-1:-1:-1;;;9631:18:1;;;9624:43;9684:19;;21665:113:0::1;9300:409:1::0;21665:113:0::1;21561:225:::0;:::o;20367:207::-;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20484:22:0;::::1;;::::0;;;:16:::1;:22;::::0;;;;;;;;:34;;-1:-1:-1;;20484:34:0::1;::::0;::::1;;::::0;;::::1;::::0;;;20534:32;;1900:41:1;;;20534:32:0::1;::::0;1873:18:1;20534:32:0::1;;;;;;;;20367:207:::0;;:::o;22031:201::-;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22146:20:0;::::1;;::::0;;;:14:::1;:20;::::0;;;;;;;;:32;;-1:-1:-1;;22146:32:0::1;::::0;::::1;;::::0;;::::1;::::0;;;22194:30;;1900:41:1;;;22194:30:0::1;::::0;1873:18:1;22194:30:0::1;1760:187:1::0;17391:161:0;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;17444:11:::1;:18:::0;;-1:-1:-1;;17444:18:0::1;17458:4;17444:18;::::0;;17473:17:::1;:24:::0;;-1:-1:-1;;;;17473:24:0::1;-1:-1:-1::0;;;17473:24:0::1;::::0;;17513:31:::1;::::0;17528:15:::1;::::0;17513:31:::1;::::0;17444:11:::1;::::0;17513:31:::1;17391:161::o:0;19266:311::-;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;19390:1:::1;19366:20;:25;;19358:84;;;::::0;-1:-1:-1;;;19358:84:0;;9916:2:1;19358:84:0::1;::::0;::::1;9898:21:1::0;9955:2;9935:18;;;9928:30;9994:34;9974:18;;;9967:62;-1:-1:-1;;;10045:18:1;;;10038:44;10099:19;;19358:84:0::1;9714:410:1::0;19358:84:0::1;19516:4;19499:13;5377:12:::0;;;5289:108;19499:13:::1;19476:36;::::0;:20;:36:::1;:::i;:::-;19475:45;;;;:::i;:::-;19453:19;:67:::0;;;19536:33:::1;::::0;2098:25:1;;;19536:33:0::1;::::0;2086:2:1;2071:18;19536:33:0::1;1952:177:1::0;10795:238:0;10447:6;;-1:-1:-1;;;;;10447:6:0;4407:10;10594:23;10586:68;;;;-1:-1:-1;;;10586:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10898:22:0;::::1;10876:110;;;::::0;-1:-1:-1;;;10876:110:0;;10331:2:1;10876:110:0::1;::::0;::::1;10313:21:1::0;10370:2;10350:18;;;10343:30;10409:34;10389:18;;;10382:62;-1:-1:-1;;;10460:18:1;;;10453:36;10506:19;;10876:110:0::1;10129:402:1::0;10876:110:0::1;10997:28;11016:8;10997:18;:28::i;9278:380::-:0;-1:-1:-1;;;;;9414:19:0;;9406:68;;;;-1:-1:-1;;;9406:68:0;;10738:2:1;9406:68:0;;;10720:21:1;10777:2;10757:18;;;10750:30;10816:34;10796:18;;;10789:62;-1:-1:-1;;;10867:18:1;;;10860:34;10911:19;;9406:68:0;10536:400:1;9406:68:0;-1:-1:-1;;;;;9493:21:0;;9485:68;;;;-1:-1:-1;;;9485:68:0;;11143:2:1;9485:68:0;;;11125:21:1;11182:2;11162:18;;;11155:30;11221:34;11201:18;;;11194:62;-1:-1:-1;;;11272:18:1;;;11265:32;11314:19;;9485:68:0;10941:398:1;9485:68:0;-1:-1:-1;;;;;9566:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9618:32;;2098:25:1;;;9618:32:0;;2071:18:1;9618:32:0;;;;;;;9278:380;;;:::o;25810:3597::-;-1:-1:-1;;;;;25942:18:0;;25934:68;;;;-1:-1:-1;;;25934:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26021:16:0;;26013:64;;;;-1:-1:-1;;;26013:64:0;;;;;;;:::i;:::-;26094:6;26104:1;26094:11;26090:93;;26122:28;26138:4;26144:2;26148:1;26122:15;:28::i;:::-;25810:3597;;;:::o;26090:93::-;26199:13;;;;26195:1578;;;10447:6;;-1:-1:-1;;;;;26251:15:0;;;10447:6;;26251:15;;;;:49;;-1:-1:-1;10447:6:0;;-1:-1:-1;;;;;26287:13:0;;;10447:6;;26287:13;;26251:49;:86;;;;-1:-1:-1;;;;;;26321:16:0;;;;26251:86;:128;;;;-1:-1:-1;;;;;;26358:21:0;;26372:6;26358:21;;26251:128;:160;;;;-1:-1:-1;26401:10:0;;-1:-1:-1;;;26401:10:0;;;;26400:11;26251:160;26229:1533;;;26451:11;;;;26446:223;;-1:-1:-1;;;;;26521:20:0;;;;;;:14;:20;;;;;;;;;:42;;-1:-1:-1;;;;;;26545:18:0;;;;;;:14;:18;;;;;;;;26521:42;26487:162;;;;-1:-1:-1;;;26487:162:0;;12356:2:1;26487:162:0;;;12338:21:1;12395:2;12375:18;;;12368:30;12434:34;12414:18;;;12407:62;-1:-1:-1;;;12485:18:1;;;12478:32;12527:19;;26487:162:0;12154:398:1;26487:162:0;-1:-1:-1;;;;;26743:13:0;;;;;;:7;:13;;;;;;;;:38;;;;-1:-1:-1;;;;;;26761:20:0;;;;;;:16;:20;;;;;;;;26760:21;26743:38;26717:1030;;;26868:19;;26858:6;:29;;26824:167;;;;-1:-1:-1;;;26824:167:0;;12759:2:1;26824:167:0;;;12741:21:1;12798:2;12778:18;;;12771:30;12837:34;12817:18;;;12810:62;-1:-1:-1;;;12888:18:1;;;12881:50;12948:19;;26824:167:0;12557:416:1;26824:167:0;27074:14;;-1:-1:-1;;;;;5524:18:0;;5497:7;5524:18;;;;;;;;;;;27048:22;;:6;:22;:::i;:::-;:40;;27014:145;;;;-1:-1:-1;;;27014:145:0;;13180:2:1;27014:145:0;;;13162:21:1;13219:2;13199:18;;;13192:30;-1:-1:-1;;;13238:18:1;;;13231:49;13297:18;;27014:145:0;12978:343:1;27014:145:0;26717:1030;;;-1:-1:-1;;;;;27257:11:0;;;;;;:7;:11;;;;;;;;:38;;;;-1:-1:-1;;;;;;27273:22:0;;;;;;:16;:22;;;;;;;;27272:23;27257:38;27231:516;;;27382:19;;27372:6;:29;;27338:168;;;;-1:-1:-1;;;27338:168:0;;13528:2:1;27338:168:0;;;13510:21:1;13567:2;13547:18;;;13540:30;13606:34;13586:18;;;13579:62;-1:-1:-1;;;13657:18:1;;;13650:51;13718:19;;27338:168:0;13326:417:1;27231:516:0;-1:-1:-1;;;;;27537:20:0;;;;;;:16;:20;;;;;;;;27532:215;;27642:14;;-1:-1:-1;;;;;5524:18:0;;5497:7;5524:18;;;;;;;;;;;27616:22;;:6;:22;:::i;:::-;:40;;27582:145;;;;-1:-1:-1;;;27582:145:0;;13180:2:1;27582:145:0;;;13162:21:1;13219:2;13199:18;;;13192:30;-1:-1:-1;;;13238:18:1;;;13231:49;13297:18;;27582:145:0;12978:343:1;27582:145:0;27834:4;27785:28;5524:18;;;;;;;;;;;27892:9;;27868:33;;;;;;;27932:41;;-1:-1:-1;27956:17:0;;-1:-1:-1;;;27956:17:0;;;;27932:41;:69;;;;-1:-1:-1;27991:10:0;;-1:-1:-1;;;27991:10:0;;;;27990:11;27932:69;:100;;;;-1:-1:-1;;;;;;28019:13:0;;;;;;:7;:13;;;;;;;;28018:14;27932:100;:138;;;;-1:-1:-1;;;;;;28050:20:0;;;;;;:14;:20;;;;;;;;28049:21;27932:138;:174;;;;-1:-1:-1;;;;;;28088:18:0;;;;;;:14;:18;;;;;;;;28087:19;27932:174;:216;;;;;28133:15;28123:6;;:25;;27932:216;27914:399;;;28175:10;:17;;-1:-1:-1;;;;28175:17:0;-1:-1:-1;;;28175:17:0;;;28209:16;28218:6;28209:8;:16::i;:::-;28251:15;28242:6;:24;28283:10;:18;;-1:-1:-1;;;;28283:18:0;;;27914:399;28341:10;;-1:-1:-1;;;;;28453:20:0;;28325:12;28453:20;;;:14;:20;;;;;;28341:10;-1:-1:-1;;;28341:10:0;;;;;28340:11;;28453:20;;:42;;-1:-1:-1;;;;;;28477:18:0;;;;;;:14;:18;;;;;;;;28453:42;28449:90;;;-1:-1:-1;28522:5:0;28449:90;28551:12;28652:702;;;;-1:-1:-1;;;;;28708:11:0;;;;;;:7;:11;;;;;;;;:29;;;;;28736:1;28723:10;;:14;28708:29;28704:501;;;28765:31;28792:3;28765:22;28776:10;;28765:6;:10;;:22;;;;:::i;:::-;:26;;:31::i;:::-;28758:38;;28704:501;;;-1:-1:-1;;;;;28858:13:0;;;;;;:7;:13;;;;;;;;:30;;;;;28887:1;28875:9;;:13;28858:30;28854:351;;;28916:30;28942:3;28916:21;28927:9;;28916:6;:10;;:21;;;;:::i;28854:351::-;29046:1;29032:11;;:15;:50;;;;-1:-1:-1;;;;;;29069:13:0;;;;;;:7;:13;;;;;;;;29068:14;29032:50;:83;;;;-1:-1:-1;;;;;;29104:11:0;;;;;;:7;:11;;;;;;;;29103:12;29032:83;29010:195;;;29157:32;29185:3;29157:23;29168:11;;29157:6;:10;;:23;;;;:::i;:32::-;29150:39;;29010:195;29225:8;;29221:91;;29254:42;29270:4;29284;29291;29254:15;:42::i;:::-;29328:14;29338:4;29328:14;;:::i;:::-;;;28652:702;29366:33;29382:4;29388:2;29392:6;29366:15;:33::i;:::-;25923:3484;;;;25810:3597;;;:::o;11043:191::-;11136:6;;;-1:-1:-1;;;;;11153:17:0;;;-1:-1:-1;;;;;;11153:17:0;;;;;;;11186:40;;11136:6;;;11153:17;11136:6;;11186:40;;11117:16;;11186:40;11106:128;11043:191;:::o;7489:770::-;-1:-1:-1;;;;;7629:20:0;;7621:70;;;;-1:-1:-1;;;7621:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7710:23:0;;7702:71;;;;-1:-1:-1;;;7702:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7870:17:0;;7846:21;7870:17;;;;;;;;;;;7920:23;;;;7898:111;;;;-1:-1:-1;;;7898:111:0;;14083:2:1;7898:111:0;;;14065:21:1;14122:2;14102:18;;;14095:30;14161:34;14141:18;;;14134:62;-1:-1:-1;;;14212:18:1;;;14205:36;14258:19;;7898:111:0;13881:402:1;7898:111:0;-1:-1:-1;;;;;8045:17:0;;;:9;:17;;;;;;;;;;;8065:22;;;8045:42;;8109:20;;;;;;;;:30;;8081:6;;8045:9;8109:30;;8081:6;;8109:30;:::i;:::-;;;;;;;;8174:9;-1:-1:-1;;;;;8157:35:0;8166:6;-1:-1:-1;;;;;8157:35:0;;8185:6;8157:35;;;;2098:25:1;;2086:2;2071:18;;1952:177;8157:35:0;;;;;;;;7610:649;7489:770;;;:::o;29994:621::-;30091:4;30047:23;5524:18;;;;;;;;;;;;30137:20;;;30133:59;;30174:7;;29994:621;:::o;30133:59::-;30226:7;;30208:15;:25;30204:83;;;30268:7;;30250:25;;30204:83;30321:11;:6;30330:2;30321:11;:::i;:::-;30303:15;:29;30299:91;;;30367:11;:6;30376:2;30367:11;:::i;:::-;30349:29;;30299:91;30431:15;30459:36;30431:15;30459:16;:36::i;:::-;30530:13;;30522:85;;30530:13;;;;-1:-1:-1;;;;;30530:13:0;;30571:21;;30522:85;;;;30571:21;30530:13;30522:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2197:98;2255:7;2282:5;2286:1;2282;:5;:::i;:::-;2275:12;2197:98;-1:-1:-1;;;2197:98:0:o;2303:::-;2361:7;2388:5;2392:1;2388;:5;:::i;29415:571::-;29565:16;;;29579:1;29565:16;;;;;;;;29541:21;;29565:16;;;;;;;;;;-1:-1:-1;29565:16:0;29541:40;;29610:4;29592;29597:1;29592:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;29592:23:0;;;-1:-1:-1;;;;;29592:23:0;;;;;29636:9;-1:-1:-1;;;;;29636:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29626:4;29631:1;29626:7;;;;;;;;:::i;:::-;;;;;;:26;-1:-1:-1;;;;;29626:26:0;;;-1:-1:-1;;;;;29626:26:0;;;;;29665:56;29682:4;29697:9;29709:11;29665:8;:56::i;:::-;29760:218;;-1:-1:-1;;;29760:218:0;;-1:-1:-1;;;;;29760:9:0;:60;;;;:218;;29835:11;;29861:1;;29905:4;;29932;;29952:15;;29760:218;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29470:516;29415:571;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:414::-;253:6;261;269;322:2;310:9;301:7;297:23;293:32;290:52;;;338:1;335;328:12;290:52;361:26;377:9;361:26;:::i;:::-;351:36;456:2;441:18;;428:32;;-1:-1:-1;557:2:1;542:18;;;529:32;;179:414;-1:-1:-1;;;179:414:1:o;598:226::-;657:6;710:2;698:9;689:7;685:23;681:32;678:52;;;726:1;723;716:12;678:52;-1:-1:-1;771:23:1;;598:226;-1:-1:-1;598:226:1:o;829:418::-;978:2;967:9;960:21;941:4;1010:6;1004:13;1053:6;1048:2;1037:9;1033:18;1026:34;1112:6;1107:2;1099:6;1095:15;1090:2;1079:9;1075:18;1069:50;1168:1;1163:2;1154:6;1143:9;1139:22;1135:31;1128:42;1238:2;1231;1227:7;1222:2;1214:6;1210:15;1206:29;1195:9;1191:45;1187:54;1179:62;;;829:418;;;;:::o;1252:131::-;-1:-1:-1;;;;;1327:31:1;;1317:42;;1307:70;;1373:1;1370;1363:12;1388:367;1456:6;1464;1517:2;1505:9;1496:7;1492:23;1488:32;1485:52;;;1533:1;1530;1523:12;1485:52;1572:9;1559:23;1591:31;1616:5;1591:31;:::i;:::-;1641:5;1719:2;1704:18;;;;1691:32;;-1:-1:-1;;;1388:367:1:o;2134:508::-;2211:6;2219;2227;2280:2;2268:9;2259:7;2255:23;2251:32;2248:52;;;2296:1;2293;2286:12;2248:52;2335:9;2322:23;2354:31;2379:5;2354:31;:::i;:::-;2404:5;-1:-1:-1;2461:2:1;2446:18;;2433:32;2474:33;2433:32;2474:33;:::i;:::-;2134:508;;2526:7;;-1:-1:-1;;;2606:2:1;2591:18;;;;2578:32;;2134:508::o;2836:247::-;2895:6;2948:2;2936:9;2927:7;2923:23;2919:32;2916:52;;;2964:1;2961;2954:12;2916:52;3003:9;2990:23;3022:31;3047:5;3022:31;:::i;3954:315::-;4019:6;4027;4080:2;4068:9;4059:7;4055:23;4051:32;4048:52;;;4096:1;4093;4086:12;4048:52;4135:9;4122:23;4154:31;4179:5;4154:31;:::i;:::-;4204:5;-1:-1:-1;4228:35:1;4259:2;4244:18;;4228:35;:::i;:::-;4218:45;;3954:315;;;;;:::o;4274:388::-;4342:6;4350;4403:2;4391:9;4382:7;4378:23;4374:32;4371:52;;;4419:1;4416;4409:12;4371:52;4458:9;4445:23;4477:31;4502:5;4477:31;:::i;:::-;4527:5;-1:-1:-1;4584:2:1;4569:18;;4556:32;4597:33;4556:32;4597:33;:::i;:::-;4649:7;4639:17;;;4274:388;;;;;:::o;5021:356::-;5223:2;5205:21;;;5242:18;;;5235:30;5301:34;5296:2;5281:18;;5274:62;5368:2;5353:18;;5021:356::o;6214:127::-;6275:10;6270:3;6266:20;6263:1;6256:31;6306:4;6303:1;6296:15;6330:4;6327:1;6320:15;6346:168;6419:9;;;6450;;6467:15;;;6461:22;;6447:37;6437:71;;6488:18;;:::i;6519:217::-;6559:1;6585;6575:132;;6629:10;6624:3;6620:20;6617:1;6610:31;6664:4;6661:1;6654:15;6692:4;6689:1;6682:15;6575:132;-1:-1:-1;6721:9:1;;6519:217::o;7151:380::-;7230:1;7226:12;;;;7273;;;7294:61;;7348:4;7340:6;7336:17;7326:27;;7294:61;7401:2;7393:6;7390:14;7370:18;7367:38;7364:161;;7447:10;7442:3;7438:20;7435:1;7428:31;7482:4;7479:1;7472:15;7510:4;7507:1;7500:15;7364:161;;7151:380;;;:::o;8355:125::-;8420:9;;;8441:10;;;8438:36;;;8454:18;;:::i;11344:401::-;11546:2;11528:21;;;11585:2;11565:18;;;11558:30;11624:34;11619:2;11604:18;;11597:62;-1:-1:-1;;;11690:2:1;11675:18;;11668:35;11735:3;11720:19;;11344:401::o;11750:399::-;11952:2;11934:21;;;11991:2;11971:18;;;11964:30;12030:34;12025:2;12010:18;;12003:62;-1:-1:-1;;;12096:2:1;12081:18;;12074:33;12139:3;12124:19;;11750:399::o;13748:128::-;13815:9;;;13836:11;;;13833:37;;;13850:18;;:::i;14630:127::-;14691:10;14686:3;14682:20;14679:1;14672:31;14722:4;14719:1;14712:15;14746:4;14743:1;14736:15;14762:251;14832:6;14885:2;14873:9;14864:7;14860:23;14856:32;14853:52;;;14901:1;14898;14891:12;14853:52;14933:9;14927:16;14952:31;14977:5;14952:31;:::i;15018:959::-;15280:4;15328:3;15317:9;15313:19;15359:6;15348:9;15341:25;15402:6;15397:2;15386:9;15382:18;15375:34;15445:3;15440:2;15429:9;15425:18;15418:31;15469:6;15504;15498:13;15535:6;15527;15520:22;15573:3;15562:9;15558:19;15551:26;;15612:2;15604:6;15600:15;15586:29;;15633:1;15643:195;15657:6;15654:1;15651:13;15643:195;;;15722:13;;-1:-1:-1;;;;;15718:39:1;15706:52;;15787:2;15813:15;;;;15778:12;;;;15754:1;15672:9;15643:195;;;-1:-1:-1;;;;;;;15894:32:1;;;;15889:2;15874:18;;15867:60;-1:-1:-1;;15958:3:1;15943:19;15936:35;15855:3;15018:959;-1:-1:-1;;;15018:959:1:o
Swarm Source
ipfs://a625998c6dde5428e7b9bbb8c0314d8d1fd4b801ca4b8694e62dae32cedcc4b1
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)