Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
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
-----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
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.