ETH Price: $2,438.93 (+3.44%)
Gas: 1.69 Gwei

Token

Fooyao (FOYO)
 

Overview

Max Total Supply

21,000,000 FOYO

Holders

82

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
*张国荣.eth
Balance
10,499.895 FOYO

Value
$0.00
0x6841441330304398cFF668F11B060C4f580Ae33c
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BlackErc20

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-08
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;


abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

interface IERC20 {

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

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 Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    function _checkOwner() internal view virtual {
        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);
    }
}

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 to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, 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) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }


    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, 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;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _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;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

library Counters {
    struct Counter {
        uint256 _value; // default: 0
    }

    function current(Counter storage counter) internal view returns (uint256) {
        return counter._value;
    }

    function increment(Counter storage counter) internal {
        unchecked {
            counter._value += 1;
        }
    }

    function decrement(Counter storage counter) internal {
        uint256 value = counter._value;
        require(value > 0, "Counter: decrement overflow");
        unchecked {
            counter._value = value - 1;
        }
    }

    function reset(Counter storage counter) internal {
        counter._value = 0;
    }
}


interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}


interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}


interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}


interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IWETH {
    function deposit() external payable;
    function withdraw(uint256 amount) external;
    function transfer(address to, uint256 value) external returns (bool);
    function approve(address spender, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 value) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
}

interface IERC721 {
    function balanceOf(address owner) external view returns (uint256);
}

interface IERC1155 {
    function balanceOf(address account, uint256 id) external view returns (uint256);
}

contract BlackErc20 is ERC20, Ownable {

    uint256 private constant DECIMAL_MULTIPLIER = 1e18;
    address private  blackHole = 0x000000000000000000000000000000000000dEaD;


    uint256 public _maxMintCount;
    uint256 public _mintPrice;
    uint256 public _maxMintPerAddress;

    mapping(address => uint256) public _mintCounts;

    uint256 public _mintedCounts;

    address public wethAddress = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    //address public wethAddress = 0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6;
    address public lpContract;
    address public _devAddress;
    address public _deplyAddress;
    address public _vitalikAddress = 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045;

    uint256 public _maxPro = 0;
    uint256 public _devPro = 0;
    uint256 public _deplyPro = 0;
    uint256 public _vitalikPro = 0;
    uint256 public _berc20EthPro = 0;
    uint256 public _burnPer = 0;

    uint256 public mintStartTime;
    uint256 public mintEndTime;

    enum ContractType {ERC721,ERC20,ERC1155}

    struct ContractAuth {
        ContractType contractType;
        address contractAddress;
        uint256 tokenCount;
    }

    ContractAuth[] public contractAuths;

    constructor(
        string memory name,
        string memory symbol,
        uint256 totalSupply,
        uint256 maxMintCount,
        uint256 maxMintPerAddress,
        uint256 mintPrice,
        uint256 burnPer,
        address factoryContract,
        address devAddress,
        address deplyAddress,
        uint256[] memory params
    ) ERC20(symbol,name) {
        _maxMintCount = maxMintCount;
        _mintPrice = mintPrice;
        _devAddress = devAddress;
        _deplyAddress = deplyAddress;
        _maxMintPerAddress = maxMintPerAddress;
        _devPro = params[0];
        _deplyPro = params[1];
        _vitalikPro = params[2];
        _berc20EthPro = params[3];
        _burnPer = burnPer;
        _maxPro = 100000-(1+params[0]+params[1]+params[2]);
        _mint(factoryContract, totalSupply*1/100000);
        if(params[7]>0){
            mintStartTime = params[7];
        }
        if(params[8]>0){
            mintEndTime = params[8];
        }
        if(_devPro>0){
            _mint(devAddress, totalSupply*_devPro/100000);
        }
        if(_deplyPro>0){
            _mint(deplyAddress, totalSupply*_deplyPro/100000);
        }
        if(_vitalikPro>0){
            _mint(_vitalikAddress, totalSupply*_vitalikPro/100000);
        }
        _mint(address(this), totalSupply*_maxPro/100000);
    }

    function mint(uint256 mintCount,address receiveAds) external payable {
        require(!isContract(msg.sender),"not supper contract mint");
        require(block.timestamp >= mintStartTime, "Minting has not started yet");
        require(block.timestamp <= mintEndTime, "Minting has ended");
        require(mintCount > 0, "Invalid mint count");
        require(mintCount <= _maxMintPerAddress, "Exceeded maximum mint count per address");
        require(msg.value >= mintCount*_mintPrice, "");
        require(_mintCounts[msg.sender]+mintCount <= _maxMintPerAddress, "");
        receiveAds = msg.sender;
        //Add liquidity to black hole lp
        IWETH(wethAddress).deposit{value: msg.value*(100-_berc20EthPro)/100}();
        IWETH(wethAddress).approve(lpContract, msg.value*(100-_berc20EthPro)/100);
        IWETH(wethAddress).transferFrom(address(this), lpContract, msg.value*(100-_berc20EthPro)/100); 

        uint256 mintAmount = (totalSupply() * _maxPro * mintCount) / (_maxMintCount * 100000);

        for (uint256 i = 0; i < contractAuths.length; i++) {
            if (contractAuths[i].contractType == ContractType.ERC721) {
                uint256 tokenCount = getERC721TokenCount(contractAuths[i].contractAddress);
                require(tokenCount >= contractAuths[i].tokenCount, "Insufficient ERC721 tokens");
            } else if (contractAuths[i].contractType == ContractType.ERC20) {
                uint256 tokenCount = getERC20TokenCount(contractAuths[i].contractAddress);
                require(tokenCount >= contractAuths[i].tokenCount, "Insufficient ERC20 tokens");
            } else if (contractAuths[i].contractType == ContractType.ERC1155) {
                uint256 tokenCount = getERC1155TokenCount(contractAuths[i].contractAddress, 0);
                require(tokenCount >= contractAuths[i].tokenCount, "Insufficient ERC1155 tokens");
            }
        }

        // Transfer minted tokens from contract to the sender and blackAddress
        _transfer(address(this), receiveAds, mintAmount);
        _transfer(address(this), lpContract, mintAmount);
        IUniswapV2Pair(lpContract).sync();

        _mintCounts[msg.sender] += mintCount;
        _mintedCounts += mintCount;
    }

    function isContract(address addr) private view returns (bool) {
        uint256 codeSize;
        assembly {
            codeSize := extcodesize(addr)
        }
        return codeSize > 0;
    }


    function setContractAuth(uint256[] memory params, address[] memory authContracts) external onlyOwner {
        require(authContracts.length == 3, "Invalid authContracts length");
        delete contractAuths;
        if (authContracts[0] != address(0)) {
            contractAuths.push(ContractAuth({
                contractType: ContractType.ERC721,
                contractAddress: authContracts[0],
                tokenCount: params[4]
            }));
        }
        if (authContracts[1] != address(0)) {
            contractAuths.push(ContractAuth({
                contractType: ContractType.ERC20,
                contractAddress: authContracts[1],
                tokenCount: params[5]
            }));
        }

        if (authContracts[2] != address(0)) {
            contractAuths.push(ContractAuth({
                contractType: ContractType.ERC1155,
                contractAddress: authContracts[2],
                tokenCount: params[6]
            }));
        }
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        uint256 feeAmount = amount * _burnPer / 100;
        uint256 transferAmount = amount - feeAmount;
        super._transfer(msg.sender, recipient, transferAmount);
        if(feeAmount>0){
            super._transfer(msg.sender, blackHole, feeAmount);
        }
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        uint256 feeAmount = amount * _burnPer / 100;
        uint256 transferAmount = amount - feeAmount;
        super._transfer(sender, recipient, transferAmount);
        if(feeAmount>0){
            super._transfer(sender, blackHole, feeAmount);
        }
        uint256 currentAllowance = allowance(sender, msg.sender);
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        super._approve(sender, msg.sender, currentAllowance - amount);
         return true;
    }


    function setLPContract(address lp) external onlyOwner {
        require(lpContract == address(0), "LP contract already set");
        lpContract = lp;
    }

    function setBerc20EthPro(uint256 ethPro)external onlyOwner {
        _berc20EthPro = ethPro;
    }

    function devAward() external {
        uint256 balance = address(this).balance;
        require(balance > 0, "Contract has no ETH balance.");
        address payable sender = payable(_devAddress);
        sender.transfer(balance);
    }

    function getERC721TokenCount(address contractAddress) internal view returns (uint256) {
        IERC721 erc721Contract = IERC721(contractAddress);
        return erc721Contract.balanceOf(msg.sender);
    }

    function getERC20TokenCount(address contractAddress) internal view returns (uint256) {
        IERC20 erc20Contract = IERC20(contractAddress);
        return erc20Contract.balanceOf(msg.sender);
    }

    function getERC1155TokenCount(address contractAddress, uint256 tokenId) internal view returns (uint256) {
        IERC1155 erc1155Contract = IERC1155(contractAddress);
        return erc1155Contract.balanceOf(msg.sender, tokenId);
    }

    function burn(uint256 amount) external {
        require(amount > 0, "Invalid amount");
        _burn(msg.sender, amount);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"maxMintCount","type":"uint256"},{"internalType":"uint256","name":"maxMintPerAddress","type":"uint256"},{"internalType":"uint256","name":"mintPrice","type":"uint256"},{"internalType":"uint256","name":"burnPer","type":"uint256"},{"internalType":"address","name":"factoryContract","type":"address"},{"internalType":"address","name":"devAddress","type":"address"},{"internalType":"address","name":"deplyAddress","type":"address"},{"internalType":"uint256[]","name":"params","type":"uint256[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_berc20EthPro","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_burnPer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_deplyAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_deplyPro","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devPro","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxMintCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxMintPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxPro","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_mintCounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mintPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mintedCounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_vitalikAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_vitalikPro","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"contractAuths","outputs":[{"internalType":"enum BlackErc20.ContractType","name":"contractType","type":"uint8"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"tokenCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devAward","outputs":[],"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":[],"name":"lpContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"mintCount","type":"uint256"},{"internalType":"address","name":"receiveAds","type":"address"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"mintEndTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethPro","type":"uint256"}],"name":"setBerc20EthPro","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"params","type":"uint256[]"},{"internalType":"address[]","name":"authContracts","type":"address[]"}],"name":"setContractAuth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"lp","type":"address"}],"name":"setLPContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wethAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

6080604052600680546001600160a01b031990811661dead17909155600c8054821673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790556010805490911673d8da6bf26964af9d7eed9e03e53415d37aa960451790555f6011819055601281905560138190556014819055601581905560165534801562000081575f80fd5b5060405162002a0838038062002a08833981016040819052620000a4916200062f565b898b6003620000b48382620007ba565b506004620000c38282620007ba565b505050620000e0620000da620003a160201b60201c565b620003a5565b60078890556008869055600e80546001600160a01b038086166001600160a01b031992831617909255600f8054928516929091169190911790556009879055805181905f9062000134576200013462000882565b60200260200101516012819055508060018151811062000158576200015862000882565b6020026020010151601381905550806002815181106200017c576200017c62000882565b602002602001015160148190555080600381518110620001a057620001a062000882565b60200260200101516015819055508460168190555080600281518110620001cb57620001cb62000882565b602002602001015181600181518110620001e957620001e962000882565b6020026020010151825f8151811062000206576200020662000882565b602002602001015160016200021c9190620008aa565b620002289190620008aa565b620002349190620008aa565b6200024390620186a0620008c6565b6011556200026e84620186a06200025c8c6001620008dc565b620002689190620008f6565b620003f6565b5f8160078151811062000285576200028562000882565b60200260200101511115620002b95780600781518110620002aa57620002aa62000882565b60200260200101516017819055505b5f81600881518110620002d057620002d062000882565b60200260200101511115620003045780600881518110620002f557620002f562000882565b60200260200101516018819055505b6012541562000326576200032683620186a06012548c6200025c9190620008dc565b6013541562000348576200034882620186a06013548c6200025c9190620008dc565b60145415620003775760105460145462000377916001600160a01b031690620186a0906200025c908d620008dc565b6200039030620186a06011548c6200025c9190620008dc565b505050505050505050505062000916565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038216620004515760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f828254620004649190620008aa565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715620004fe57620004fe620004bf565b604052919050565b5f82601f83011262000516575f80fd5b81516001600160401b03811115620005325762000532620004bf565b602062000548601f8301601f19168201620004d3565b82815285828487010111156200055c575f80fd5b5f5b838110156200057b5785810183015182820184015282016200055e565b505f928101909101919091529392505050565b80516001600160a01b0381168114620005a5575f80fd5b919050565b5f82601f830112620005ba575f80fd5b815160206001600160401b03821115620005d857620005d8620004bf565b8160051b620005e9828201620004d3565b928352848101820192828101908785111562000603575f80fd5b83870192505b84831015620006245782518252918301919083019062000609565b979650505050505050565b5f805f805f805f805f805f6101608c8e0312156200064b575f80fd5b8b516001600160401b0381111562000661575f80fd5b6200066f8e828f0162000506565b60208e0151909c5090506001600160401b038111156200068d575f80fd5b6200069b8e828f0162000506565b9a505060408c0151985060608c0151975060808c0151965060a08c0151955060c08c01519450620006cf60e08d016200058e565b9350620006e06101008d016200058e565b9250620006f16101208d016200058e565b6101408d01519092506001600160401b038111156200070e575f80fd5b6200071c8e828f01620005aa565b9150509295989b509295989b9093969950565b600181811c908216806200074457607f821691505b6020821081036200076357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004ba575f81815260208120601f850160051c81016020861015620007915750805b601f850160051c820191505b81811015620007b2578281556001016200079d565b505050505050565b81516001600160401b03811115620007d657620007d6620004bf565b620007ee81620007e784546200072f565b8462000769565b602080601f83116001811462000824575f84156200080c5750858301515b5f19600386901b1c1916600185901b178555620007b2565b5f85815260208120601f198616915b82811015620008545788860151825594840194600190910190840162000833565b50858210156200087257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115620008c057620008c062000896565b92915050565b81810381811115620008c057620008c062000896565b8082028115828204841417620008c057620008c062000896565b5f826200091157634e487b7160e01b5f52601260045260245ffd5b500490565b6120e480620009245f395ff3fe608060405260043610610228575f3560e01c80637a8cf66a11610129578063a457c2d7116100a8578063cccfd2541161006d578063cccfd2541461060b578063cfa69a5314610620578063d3bfe4d314610635578063dd62ed3e14610660578063f2fde38b1461067f575f80fd5b8063a457c2d714610584578063a61c6d2a146105a3578063a9059cbb146105b8578063aeb81375146105d7578063bc75cac8146105ec575f80fd5b80638da5cb5b116100ee5780638da5cb5b1461050c578063931e2e491461052957806394bf804d1461053e57806395d89b41146105515780639bb9079414610565575f80fd5b80637a8cf66a14610486578063859c2af1146104a557806387512b94146104b95780638acee3cf146104ce5780638b69d7fd146104ed575f80fd5b80633d96ecbb116101b557806365f9bec21161017a57806365f9bec2146103f55780636af659291461040a57806370a0823114610429578063715018a61461045d578063717a002b14610471575f80fd5b80633d96ecbb1461033b57806342966c681461037257806345ba10f4146103935780634f0e0ef3146103a8578063510ea096146103c7575f80fd5b806318160ddd116101fb57806318160ddd146102b957806323b872dd146102cd578063313ce567146102ec578063367d1ea214610307578063395093511461031c575f80fd5b80630387da421461022c57806306fdde0314610254578063095ea7b314610275578063138d1844146102a4575b5f80fd5b348015610237575f80fd5b5061024160085481565b6040519081526020015b60405180910390f35b34801561025f575f80fd5b5061026861069e565b60405161024b9190611c80565b348015610280575f80fd5b5061029461028f366004611ce6565b61072e565b604051901515815260200161024b565b3480156102af575f80fd5b5061024160125481565b3480156102c4575f80fd5b50600254610241565b3480156102d8575f80fd5b506102946102e7366004611d0e565b610747565b3480156102f7575f80fd5b506040516012815260200161024b565b348015610312575f80fd5b5061024160115481565b348015610327575f80fd5b50610294610336366004611ce6565b61082f565b348015610346575f80fd5b5060105461035a906001600160a01b031681565b6040516001600160a01b03909116815260200161024b565b34801561037d575f80fd5b5061039161038c366004611d47565b61084b565b005b34801561039e575f80fd5b5061024160165481565b3480156103b3575f80fd5b50600c5461035a906001600160a01b031681565b3480156103d2575f80fd5b506103e66103e1366004611d47565b610898565b60405161024b93929190611d72565b348015610400575f80fd5b5061024160145481565b348015610415575f80fd5b50600e5461035a906001600160a01b031681565b348015610434575f80fd5b50610241610443366004611daf565b6001600160a01b03165f9081526020819052604090205490565b348015610468575f80fd5b506103916108d7565b34801561047c575f80fd5b5061024160185481565b348015610491575f80fd5b50600f5461035a906001600160a01b031681565b3480156104b0575f80fd5b506103916108ea565b3480156104c4575f80fd5b5061024160075481565b3480156104d9575f80fd5b50600d5461035a906001600160a01b031681565b3480156104f8575f80fd5b50610391610507366004611d47565b610976565b348015610517575f80fd5b506005546001600160a01b031661035a565b348015610534575f80fd5b5061024160175481565b61039161054c366004611dc8565b610983565b34801561055c575f80fd5b50610268611130565b348015610570575f80fd5b5061039161057f366004611daf565b61113f565b34801561058f575f80fd5b5061029461059e366004611ce6565b6111c2565b3480156105ae575f80fd5b50610241600b5481565b3480156105c3575f80fd5b506102946105d2366004611ce6565b611247565b3480156105e2575f80fd5b5061024160155481565b3480156105f7575f80fd5b50610391610606366004611ec9565b61129b565b348015610616575f80fd5b5061024160135481565b34801561062b575f80fd5b5061024160095481565b348015610640575f80fd5b5061024161064f366004611daf565b600a6020525f908152604090205481565b34801561066b575f80fd5b5061024161067a366004611f7c565b611615565b34801561068a575f80fd5b50610391610699366004611daf565b61163f565b6060600380546106ad90611fa4565b80601f01602080910402602001604051908101604052809291908181526020018280546106d990611fa4565b80156107245780601f106106fb57610100808354040283529160200191610724565b820191905f5260205f20905b81548152906001019060200180831161070757829003601f168201915b5050505050905090565b5f3361073b8185856116b5565b60019150505b92915050565b5f806064601654846107599190611ff0565b6107639190612007565b90505f6107708285612026565b905061077d8686836117d8565b811561079b5760065461079b9087906001600160a01b0316846117d8565b5f6107a68733611615565b90508481101561080e5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610822873361081d8885612026565b6116b5565b5060019695505050505050565b5f3361073b8185856108418383611615565b61081d9190612039565b5f811161088b5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606401610805565b610895338261197b565b50565b601981815481106108a7575f80fd5b5f9182526020909120600290910201805460019091015460ff821692506101009091046001600160a01b03169083565b6108df611aab565b6108e85f611b05565b565b47806109385760405162461bcd60e51b815260206004820152601c60248201527f436f6e747261637420686173206e6f204554482062616c616e63652e000000006044820152606401610805565b600e546040516001600160a01b0390911690819083156108fc029084905f818181858888f19350505050158015610971573d5f803e3d5ffd5b505050565b61097e611aab565b601555565b333b156109d25760405162461bcd60e51b815260206004820152601860248201527f6e6f742073757070657220636f6e7472616374206d696e7400000000000000006044820152606401610805565b601754421015610a245760405162461bcd60e51b815260206004820152601b60248201527f4d696e74696e6720686173206e6f7420737461727465642079657400000000006044820152606401610805565b601854421115610a6a5760405162461bcd60e51b8152602060048201526011602482015270135a5b9d1a5b99c81a185cc8195b991959607a1b6044820152606401610805565b5f8211610aae5760405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081b5a5b9d0818dbdd5b9d60721b6044820152606401610805565b600954821115610b105760405162461bcd60e51b815260206004820152602760248201527f4578636565646564206d6178696d756d206d696e7420636f756e7420706572206044820152666164647265737360c81b6064820152608401610805565b600854610b1d9083611ff0565b341015610b455760405162461bcd60e51b8152602060048201525f6024820152604401610805565b600954335f908152600a6020526040902054610b62908490612039565b1115610b895760405162461bcd60e51b8152602060048201525f6024820152604401610805565b50600c5460155433916001600160a01b03169063d0e30db090606490610baf9082612026565b610bb99034611ff0565b610bc39190612007565b6040518263ffffffff1660e01b81526004015f604051808303818588803b158015610bec575f80fd5b505af1158015610bfe573d5f803e3d5ffd5b5050600c54600d546015546001600160a01b03928316955063095ea7b3945091169150606490610c2e9082612026565b610c389034611ff0565b610c429190612007565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610c8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cae919061204c565b50600c54600d546015546001600160a01b03928316926323b872dd923092911690606490610cdc9082612026565b610ce69034611ff0565b610cf09190612007565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015610d41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d65919061204c565b505f600754620186a0610d789190611ff0565b83601154610d8560025490565b610d8f9190611ff0565b610d999190611ff0565b610da39190612007565b90505f5b601954811015611069575f60198281548110610dc557610dc561206b565b5f91825260209091206002918202015460ff1690811115610de857610de8611d5e565b03610ea1575f610e2760198381548110610e0457610e0461206b565b5f91825260209091206002909102015461010090046001600160a01b0316611b56565b905060198281548110610e3c57610e3c61206b565b905f5260205f20906002020160010154811015610e9b5760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e742045524337323120746f6b656e730000000000006044820152606401610805565b50611057565b600160198281548110610eb657610eb661206b565b5f91825260209091206002918202015460ff1690811115610ed957610ed9611d5e565b03610f69575f610ef560198381548110610e0457610e0461206b565b905060198281548110610f0a57610f0a61206b565b905f5260205f20906002020160010154811015610e9b5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420455243323020746f6b656e73000000000000006044820152606401610805565b600260198281548110610f7e57610f7e61206b565b5f91825260209091206002918202015460ff1690811115610fa157610fa1611d5e565b03611057575f610fe160198381548110610fbd57610fbd61206b565b5f91825260208220600290910201546001600160a01b036101009091041690611bc7565b905060198281548110610ff657610ff661206b565b905f5260205f209060020201600101548110156110555760405162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e74204552433131353520746f6b656e7300000000006044820152606401610805565b505b806110618161207f565b915050610da7565b506110753083836117d8565b600d5461108d9030906001600160a01b0316836117d8565b600d5f9054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156110d9575f80fd5b505af11580156110eb573d5f803e3d5ffd5b5050335f908152600a60205260408120805487945090925061110e908490612039565b9250508190555082600b5f8282546111269190612039565b9091555050505050565b6060600480546106ad90611fa4565b611147611aab565b600d546001600160a01b0316156111a05760405162461bcd60e51b815260206004820152601760248201527f4c5020636f6e747261637420616c7265616479207365740000000000000000006044820152606401610805565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b5f33816111cf8286611615565b90508381101561122f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610805565b61123c82868684036116b5565b506001949350505050565b5f806064601654846112599190611ff0565b6112639190612007565b90505f6112708285612026565b905061127d3386836117d8565b811561123c5760065461123c9033906001600160a01b0316846117d8565b6112a3611aab565b80516003146112f45760405162461bcd60e51b815260206004820152601c60248201527f496e76616c69642061757468436f6e747261637473206c656e677468000000006044820152606401610805565b6112ff60195f611c3e565b5f6001600160a01b0316815f8151811061131b5761131b61206b565b60200260200101516001600160a01b031614611403576040805160608101909152601990805f8152602001835f815181106113585761135861206b565b60200260200101516001600160a01b03168152602001846004815181106113815761138161206b565b6020908102919091018101519091528254600181810185555f94855291909320825160029485029091018054939490939192849260ff19169184908111156113cb576113cb611d5e565b0217905550602082015181546001600160a01b0390911661010002610100600160a81b03199091161781556040909101516001909101555b5f6001600160a01b0316816001815181106114205761142061206b565b60200260200101516001600160a01b03161461150a57604080516060810190915260199080600181526020018360018151811061145f5761145f61206b565b60200260200101516001600160a01b03168152602001846005815181106114885761148861206b565b6020908102919091018101519091528254600181810185555f94855291909320825160029485029091018054939490939192849260ff19169184908111156114d2576114d2611d5e565b0217905550602082015181546001600160a01b0390911661010002610100600160a81b03199091161781556040909101516001909101555b5f6001600160a01b0316816002815181106115275761152761206b565b60200260200101516001600160a01b0316146116115760408051606081019091526019908060028152602001836002815181106115665761156661206b565b60200260200101516001600160a01b031681526020018460068151811061158f5761158f61206b565b6020908102919091018101519091528254600181810185555f94855291909320825160029485029091018054939490939192849260ff19169184908111156115d9576115d9611d5e565b0217905550602082015181546001600160a01b0390911661010002610100600160a81b03199091161781556040909101516001909101555b5050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b611647611aab565b6001600160a01b0381166116ac5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610805565b61089581611b05565b6001600160a01b0383166117175760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610805565b6001600160a01b0382166117785760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610805565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661183c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610805565b6001600160a01b03821661189e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610805565b6001600160a01b0383165f90815260208190526040902054818110156119155760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610805565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b6001600160a01b0382166119db5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610805565b6001600160a01b0382165f9081526020819052604090205481811015611a4e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610805565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6005546001600160a01b031633146108e85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610805565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040516370a0823160e01b81523360048201525f9082906001600160a01b038216906370a0823190602401602060405180830381865afa158015611b9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bc09190612097565b9392505050565b604051627eeac760e11b8152336004820152602481018290525f9083906001600160a01b0382169062fdd58e90604401602060405180830381865afa158015611c12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c369190612097565b949350505050565b5080545f8255600202905f5260205f209081019061089591905b80821115611c7c5780546001600160a81b03191681555f6001820155600201611c58565b5090565b5f6020808352835180828501525f5b81811015611cab57858101830151858201604001528201611c8f565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611ce1575f80fd5b919050565b5f8060408385031215611cf7575f80fd5b611d0083611ccb565b946020939093013593505050565b5f805f60608486031215611d20575f80fd5b611d2984611ccb565b9250611d3760208501611ccb565b9150604084013590509250925092565b5f60208284031215611d57575f80fd5b5035919050565b634e487b7160e01b5f52602160045260245ffd5b6060810160038510611d9257634e487b7160e01b5f52602160045260245ffd5b9381526001600160a01b0392909216602083015260409091015290565b5f60208284031215611dbf575f80fd5b611bc082611ccb565b5f8060408385031215611dd9575f80fd5b82359150611de960208401611ccb565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611e2f57611e2f611df2565b604052919050565b5f67ffffffffffffffff821115611e5057611e50611df2565b5060051b60200190565b5f82601f830112611e69575f80fd5b81356020611e7e611e7983611e37565b611e06565b82815260059290921b84018101918181019086841115611e9c575f80fd5b8286015b84811015611ebe57611eb181611ccb565b8352918301918301611ea0565b509695505050505050565b5f8060408385031215611eda575f80fd5b823567ffffffffffffffff80821115611ef1575f80fd5b818501915085601f830112611f04575f80fd5b81356020611f14611e7983611e37565b82815260059290921b84018101918181019089841115611f32575f80fd5b948201945b83861015611f5057853582529482019490820190611f37565b96505086013592505080821115611f65575f80fd5b50611f7285828601611e5a565b9150509250929050565b5f8060408385031215611f8d575f80fd5b611f9683611ccb565b9150611de960208401611ccb565b600181811c90821680611fb857607f821691505b602082108103611fd657634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761074157610741611fdc565b5f8261202157634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561074157610741611fdc565b8082018082111561074157610741611fdc565b5f6020828403121561205c575f80fd5b81518015158114611bc0575f80fd5b634e487b7160e01b5f52603260045260245ffd5b5f6001820161209057612090611fdc565b5060010190565b5f602082840312156120a7575f80fd5b505191905056fea2646970667358221220ca86adf9b6534297eee616c63cfe3960c96c831f95ff33eed29fa58d797f9f8d64736f6c63430008140033000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000115eec47f6cf7e350000000000000000000000000000000000000000000000000000000000000000004e20000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f2e0c207323f3d05954f3a350d0018be932d66ed00000000000000000000000026f24d1eec2cc9454e174803e44a7627e318ae09000000000000000000000000928712084f7e139ea7f84a6ecd7fbbdfc49e7ae200000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000004464f594f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006466f6f79616f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012099641d

Deployed Bytecode

0x608060405260043610610228575f3560e01c80637a8cf66a11610129578063a457c2d7116100a8578063cccfd2541161006d578063cccfd2541461060b578063cfa69a5314610620578063d3bfe4d314610635578063dd62ed3e14610660578063f2fde38b1461067f575f80fd5b8063a457c2d714610584578063a61c6d2a146105a3578063a9059cbb146105b8578063aeb81375146105d7578063bc75cac8146105ec575f80fd5b80638da5cb5b116100ee5780638da5cb5b1461050c578063931e2e491461052957806394bf804d1461053e57806395d89b41146105515780639bb9079414610565575f80fd5b80637a8cf66a14610486578063859c2af1146104a557806387512b94146104b95780638acee3cf146104ce5780638b69d7fd146104ed575f80fd5b80633d96ecbb116101b557806365f9bec21161017a57806365f9bec2146103f55780636af659291461040a57806370a0823114610429578063715018a61461045d578063717a002b14610471575f80fd5b80633d96ecbb1461033b57806342966c681461037257806345ba10f4146103935780634f0e0ef3146103a8578063510ea096146103c7575f80fd5b806318160ddd116101fb57806318160ddd146102b957806323b872dd146102cd578063313ce567146102ec578063367d1ea214610307578063395093511461031c575f80fd5b80630387da421461022c57806306fdde0314610254578063095ea7b314610275578063138d1844146102a4575b5f80fd5b348015610237575f80fd5b5061024160085481565b6040519081526020015b60405180910390f35b34801561025f575f80fd5b5061026861069e565b60405161024b9190611c80565b348015610280575f80fd5b5061029461028f366004611ce6565b61072e565b604051901515815260200161024b565b3480156102af575f80fd5b5061024160125481565b3480156102c4575f80fd5b50600254610241565b3480156102d8575f80fd5b506102946102e7366004611d0e565b610747565b3480156102f7575f80fd5b506040516012815260200161024b565b348015610312575f80fd5b5061024160115481565b348015610327575f80fd5b50610294610336366004611ce6565b61082f565b348015610346575f80fd5b5060105461035a906001600160a01b031681565b6040516001600160a01b03909116815260200161024b565b34801561037d575f80fd5b5061039161038c366004611d47565b61084b565b005b34801561039e575f80fd5b5061024160165481565b3480156103b3575f80fd5b50600c5461035a906001600160a01b031681565b3480156103d2575f80fd5b506103e66103e1366004611d47565b610898565b60405161024b93929190611d72565b348015610400575f80fd5b5061024160145481565b348015610415575f80fd5b50600e5461035a906001600160a01b031681565b348015610434575f80fd5b50610241610443366004611daf565b6001600160a01b03165f9081526020819052604090205490565b348015610468575f80fd5b506103916108d7565b34801561047c575f80fd5b5061024160185481565b348015610491575f80fd5b50600f5461035a906001600160a01b031681565b3480156104b0575f80fd5b506103916108ea565b3480156104c4575f80fd5b5061024160075481565b3480156104d9575f80fd5b50600d5461035a906001600160a01b031681565b3480156104f8575f80fd5b50610391610507366004611d47565b610976565b348015610517575f80fd5b506005546001600160a01b031661035a565b348015610534575f80fd5b5061024160175481565b61039161054c366004611dc8565b610983565b34801561055c575f80fd5b50610268611130565b348015610570575f80fd5b5061039161057f366004611daf565b61113f565b34801561058f575f80fd5b5061029461059e366004611ce6565b6111c2565b3480156105ae575f80fd5b50610241600b5481565b3480156105c3575f80fd5b506102946105d2366004611ce6565b611247565b3480156105e2575f80fd5b5061024160155481565b3480156105f7575f80fd5b50610391610606366004611ec9565b61129b565b348015610616575f80fd5b5061024160135481565b34801561062b575f80fd5b5061024160095481565b348015610640575f80fd5b5061024161064f366004611daf565b600a6020525f908152604090205481565b34801561066b575f80fd5b5061024161067a366004611f7c565b611615565b34801561068a575f80fd5b50610391610699366004611daf565b61163f565b6060600380546106ad90611fa4565b80601f01602080910402602001604051908101604052809291908181526020018280546106d990611fa4565b80156107245780601f106106fb57610100808354040283529160200191610724565b820191905f5260205f20905b81548152906001019060200180831161070757829003601f168201915b5050505050905090565b5f3361073b8185856116b5565b60019150505b92915050565b5f806064601654846107599190611ff0565b6107639190612007565b90505f6107708285612026565b905061077d8686836117d8565b811561079b5760065461079b9087906001600160a01b0316846117d8565b5f6107a68733611615565b90508481101561080e5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610822873361081d8885612026565b6116b5565b5060019695505050505050565b5f3361073b8185856108418383611615565b61081d9190612039565b5f811161088b5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606401610805565b610895338261197b565b50565b601981815481106108a7575f80fd5b5f9182526020909120600290910201805460019091015460ff821692506101009091046001600160a01b03169083565b6108df611aab565b6108e85f611b05565b565b47806109385760405162461bcd60e51b815260206004820152601c60248201527f436f6e747261637420686173206e6f204554482062616c616e63652e000000006044820152606401610805565b600e546040516001600160a01b0390911690819083156108fc029084905f818181858888f19350505050158015610971573d5f803e3d5ffd5b505050565b61097e611aab565b601555565b333b156109d25760405162461bcd60e51b815260206004820152601860248201527f6e6f742073757070657220636f6e7472616374206d696e7400000000000000006044820152606401610805565b601754421015610a245760405162461bcd60e51b815260206004820152601b60248201527f4d696e74696e6720686173206e6f7420737461727465642079657400000000006044820152606401610805565b601854421115610a6a5760405162461bcd60e51b8152602060048201526011602482015270135a5b9d1a5b99c81a185cc8195b991959607a1b6044820152606401610805565b5f8211610aae5760405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081b5a5b9d0818dbdd5b9d60721b6044820152606401610805565b600954821115610b105760405162461bcd60e51b815260206004820152602760248201527f4578636565646564206d6178696d756d206d696e7420636f756e7420706572206044820152666164647265737360c81b6064820152608401610805565b600854610b1d9083611ff0565b341015610b455760405162461bcd60e51b8152602060048201525f6024820152604401610805565b600954335f908152600a6020526040902054610b62908490612039565b1115610b895760405162461bcd60e51b8152602060048201525f6024820152604401610805565b50600c5460155433916001600160a01b03169063d0e30db090606490610baf9082612026565b610bb99034611ff0565b610bc39190612007565b6040518263ffffffff1660e01b81526004015f604051808303818588803b158015610bec575f80fd5b505af1158015610bfe573d5f803e3d5ffd5b5050600c54600d546015546001600160a01b03928316955063095ea7b3945091169150606490610c2e9082612026565b610c389034611ff0565b610c429190612007565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610c8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cae919061204c565b50600c54600d546015546001600160a01b03928316926323b872dd923092911690606490610cdc9082612026565b610ce69034611ff0565b610cf09190612007565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303815f875af1158015610d41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d65919061204c565b505f600754620186a0610d789190611ff0565b83601154610d8560025490565b610d8f9190611ff0565b610d999190611ff0565b610da39190612007565b90505f5b601954811015611069575f60198281548110610dc557610dc561206b565b5f91825260209091206002918202015460ff1690811115610de857610de8611d5e565b03610ea1575f610e2760198381548110610e0457610e0461206b565b5f91825260209091206002909102015461010090046001600160a01b0316611b56565b905060198281548110610e3c57610e3c61206b565b905f5260205f20906002020160010154811015610e9b5760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e742045524337323120746f6b656e730000000000006044820152606401610805565b50611057565b600160198281548110610eb657610eb661206b565b5f91825260209091206002918202015460ff1690811115610ed957610ed9611d5e565b03610f69575f610ef560198381548110610e0457610e0461206b565b905060198281548110610f0a57610f0a61206b565b905f5260205f20906002020160010154811015610e9b5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420455243323020746f6b656e73000000000000006044820152606401610805565b600260198281548110610f7e57610f7e61206b565b5f91825260209091206002918202015460ff1690811115610fa157610fa1611d5e565b03611057575f610fe160198381548110610fbd57610fbd61206b565b5f91825260208220600290910201546001600160a01b036101009091041690611bc7565b905060198281548110610ff657610ff661206b565b905f5260205f209060020201600101548110156110555760405162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e74204552433131353520746f6b656e7300000000006044820152606401610805565b505b806110618161207f565b915050610da7565b506110753083836117d8565b600d5461108d9030906001600160a01b0316836117d8565b600d5f9054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156110d9575f80fd5b505af11580156110eb573d5f803e3d5ffd5b5050335f908152600a60205260408120805487945090925061110e908490612039565b9250508190555082600b5f8282546111269190612039565b9091555050505050565b6060600480546106ad90611fa4565b611147611aab565b600d546001600160a01b0316156111a05760405162461bcd60e51b815260206004820152601760248201527f4c5020636f6e747261637420616c7265616479207365740000000000000000006044820152606401610805565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b5f33816111cf8286611615565b90508381101561122f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610805565b61123c82868684036116b5565b506001949350505050565b5f806064601654846112599190611ff0565b6112639190612007565b90505f6112708285612026565b905061127d3386836117d8565b811561123c5760065461123c9033906001600160a01b0316846117d8565b6112a3611aab565b80516003146112f45760405162461bcd60e51b815260206004820152601c60248201527f496e76616c69642061757468436f6e747261637473206c656e677468000000006044820152606401610805565b6112ff60195f611c3e565b5f6001600160a01b0316815f8151811061131b5761131b61206b565b60200260200101516001600160a01b031614611403576040805160608101909152601990805f8152602001835f815181106113585761135861206b565b60200260200101516001600160a01b03168152602001846004815181106113815761138161206b565b6020908102919091018101519091528254600181810185555f94855291909320825160029485029091018054939490939192849260ff19169184908111156113cb576113cb611d5e565b0217905550602082015181546001600160a01b0390911661010002610100600160a81b03199091161781556040909101516001909101555b5f6001600160a01b0316816001815181106114205761142061206b565b60200260200101516001600160a01b03161461150a57604080516060810190915260199080600181526020018360018151811061145f5761145f61206b565b60200260200101516001600160a01b03168152602001846005815181106114885761148861206b565b6020908102919091018101519091528254600181810185555f94855291909320825160029485029091018054939490939192849260ff19169184908111156114d2576114d2611d5e565b0217905550602082015181546001600160a01b0390911661010002610100600160a81b03199091161781556040909101516001909101555b5f6001600160a01b0316816002815181106115275761152761206b565b60200260200101516001600160a01b0316146116115760408051606081019091526019908060028152602001836002815181106115665761156661206b565b60200260200101516001600160a01b031681526020018460068151811061158f5761158f61206b565b6020908102919091018101519091528254600181810185555f94855291909320825160029485029091018054939490939192849260ff19169184908111156115d9576115d9611d5e565b0217905550602082015181546001600160a01b0390911661010002610100600160a81b03199091161781556040909101516001909101555b5050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b611647611aab565b6001600160a01b0381166116ac5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610805565b61089581611b05565b6001600160a01b0383166117175760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610805565b6001600160a01b0382166117785760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610805565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661183c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610805565b6001600160a01b03821661189e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610805565b6001600160a01b0383165f90815260208190526040902054818110156119155760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610805565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b6001600160a01b0382166119db5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610805565b6001600160a01b0382165f9081526020819052604090205481811015611a4e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610805565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6005546001600160a01b031633146108e85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610805565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040516370a0823160e01b81523360048201525f9082906001600160a01b038216906370a0823190602401602060405180830381865afa158015611b9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bc09190612097565b9392505050565b604051627eeac760e11b8152336004820152602481018290525f9083906001600160a01b0382169062fdd58e90604401602060405180830381865afa158015611c12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c369190612097565b949350505050565b5080545f8255600202905f5260205f209081019061089591905b80821115611c7c5780546001600160a81b03191681555f6001820155600201611c58565b5090565b5f6020808352835180828501525f5b81811015611cab57858101830151858201604001528201611c8f565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611ce1575f80fd5b919050565b5f8060408385031215611cf7575f80fd5b611d0083611ccb565b946020939093013593505050565b5f805f60608486031215611d20575f80fd5b611d2984611ccb565b9250611d3760208501611ccb565b9150604084013590509250925092565b5f60208284031215611d57575f80fd5b5035919050565b634e487b7160e01b5f52602160045260245ffd5b6060810160038510611d9257634e487b7160e01b5f52602160045260245ffd5b9381526001600160a01b0392909216602083015260409091015290565b5f60208284031215611dbf575f80fd5b611bc082611ccb565b5f8060408385031215611dd9575f80fd5b82359150611de960208401611ccb565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611e2f57611e2f611df2565b604052919050565b5f67ffffffffffffffff821115611e5057611e50611df2565b5060051b60200190565b5f82601f830112611e69575f80fd5b81356020611e7e611e7983611e37565b611e06565b82815260059290921b84018101918181019086841115611e9c575f80fd5b8286015b84811015611ebe57611eb181611ccb565b8352918301918301611ea0565b509695505050505050565b5f8060408385031215611eda575f80fd5b823567ffffffffffffffff80821115611ef1575f80fd5b818501915085601f830112611f04575f80fd5b81356020611f14611e7983611e37565b82815260059290921b84018101918181019089841115611f32575f80fd5b948201945b83861015611f5057853582529482019490820190611f37565b96505086013592505080821115611f65575f80fd5b50611f7285828601611e5a565b9150509250929050565b5f8060408385031215611f8d575f80fd5b611f9683611ccb565b9150611de960208401611ccb565b600181811c90821680611fb857607f821691505b602082108103611fd657634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761074157610741611fdc565b5f8261202157634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561074157610741611fdc565b8082018082111561074157610741611fdc565b5f6020828403121561205c575f80fd5b81518015158114611bc0575f80fd5b634e487b7160e01b5f52603260045260245ffd5b5f6001820161209057612090611fdc565b5060010190565b5f602082840312156120a7575f80fd5b505191905056fea2646970667358221220ca86adf9b6534297eee616c63cfe3960c96c831f95ff33eed29fa58d797f9f8d64736f6c63430008140033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000115eec47f6cf7e350000000000000000000000000000000000000000000000000000000000000000004e20000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f2e0c207323f3d05954f3a350d0018be932d66ed00000000000000000000000026f24d1eec2cc9454e174803e44a7627e318ae09000000000000000000000000928712084f7e139ea7f84a6ecd7fbbdfc49e7ae200000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000004464f594f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006466f6f79616f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012099641d

-----Decoded View---------------
Arg [0] : name (string): FOYO
Arg [1] : symbol (string): Fooyao
Arg [2] : totalSupply (uint256): 21000000000000000000000000
Arg [3] : maxMintCount (uint256): 20000
Arg [4] : maxMintPerAddress (uint256): 10
Arg [5] : mintPrice (uint256): 500000000000000
Arg [6] : burnPer (uint256): 0
Arg [7] : factoryContract (address): 0xF2e0C207323f3d05954F3a350D0018be932d66eD
Arg [8] : devAddress (address): 0x26F24d1EeC2Cc9454e174803E44a7627E318aE09
Arg [9] : deplyAddress (address): 0x928712084f7E139eA7F84A6Ecd7FBbdFc49E7Ae2
Arg [10] : params (uint256[]): 0,0,0,0,0,1,0,0,4841890845

-----Encoded View---------------
25 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [1] : 00000000000000000000000000000000000000000000000000000000000001a0
Arg [2] : 000000000000000000000000000000000000000000115eec47f6cf7e35000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000004e20
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [5] : 0000000000000000000000000000000000000000000000000001c6bf52634000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [7] : 000000000000000000000000f2e0c207323f3d05954f3a350d0018be932d66ed
Arg [8] : 00000000000000000000000026f24d1eec2cc9454e174803e44a7627e318ae09
Arg [9] : 000000000000000000000000928712084f7e139ea7f84a6ecd7fbbdfc49e7ae2
Arg [10] : 00000000000000000000000000000000000000000000000000000000000001e0
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [12] : 464f594f00000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [14] : 466f6f79616f0000000000000000000000000000000000000000000000000000
Arg [15] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [16] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [17] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [18] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [19] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [20] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [21] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [23] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [24] : 000000000000000000000000000000000000000000000000000000012099641d


Deployed Bytecode Sourcemap

17364:8495:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17585:25;;;;;;;;;;;;;;;;;;;160::1;;;148:2;133:18;17585:25:0;;;;;;;;2721:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;3655:201::-;;;;;;;;;;-1:-1:-1;3655:201:0;;;;;:::i;:::-;;:::i;:::-;;;1351:14:1;;1344:22;1326:41;;1314:2;1299:18;3655:201:0;1186:187:1;18126:26:0;;;;;;;;;;;;;;;;3042:108;;;;;;;;;;-1:-1:-1;3130:12:0;;3042:108;;23885:630;;;;;;;;;;-1:-1:-1;23885:630:0;;;;;:::i;:::-;;:::i;2941:93::-;;;;;;;;;;-1:-1:-1;2941:93:0;;3024:2;1853:36:1;;1841:2;1826:18;2941:93:0;1711:184:1;18093:26:0;;;;;;;;;;;;;;;;4169:238;;;;;;;;;;-1:-1:-1;4169:238:0;;;;;:::i;:::-;;:::i;18009:75::-;;;;;;;;;;-1:-1:-1;18009:75:0;;;;-1:-1:-1;;;;;18009:75:0;;;;;;-1:-1:-1;;;;;2064:32:1;;;2046:51;;2034:2;2019:18;18009:75:0;1900:203:1;25723:131:0;;;;;;;;;;-1:-1:-1;25723:131:0;;;;;:::i;:::-;;:::i;:::-;;18270:27;;;;;;;;;;;;;;;;17751:71;;;;;;;;;;-1:-1:-1;17751:71:0;;;;-1:-1:-1;;;;;17751:71:0;;;18559:35;;;;;;;;;;-1:-1:-1;18559:35:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;18194:30::-;;;;;;;;;;;;;;;;17941:26;;;;;;;;;;-1:-1:-1;17941:26:0;;;;-1:-1:-1;;;;;17941:26:0;;;3158:127;;;;;;;;;;-1:-1:-1;3158:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3259:18:0;3232:7;3259:18;;;;;;;;;;;;3158:127;1797:103;;;;;;;;;;;;;:::i;18341:26::-;;;;;;;;;;;;;;;;17974:28;;;;;;;;;;-1:-1:-1;17974:28:0;;;;-1:-1:-1;;;;;17974:28:0;;;24800:241;;;;;;;;;;;;;:::i;17550:28::-;;;;;;;;;;;;;;;;17909:25;;;;;;;;;;-1:-1:-1;17909:25:0;;;;-1:-1:-1;;;;;17909:25:0;;;24692:100;;;;;;;;;;-1:-1:-1;24692:100:0;;;;;:::i;:::-;;:::i;1562:87::-;;;;;;;;;;-1:-1:-1;1635:6:0;;-1:-1:-1;;;;;1635:6:0;1562:87;;18306:28;;;;;;;;;;;;;;;;19983:2262;;;;;;:::i;:::-;;:::i;2829:104::-;;;;;;;;;;;;;:::i;24525:159::-;;;;;;;;;;-1:-1:-1;24525:159:0;;;;;:::i;:::-;;:::i;4415:436::-;;;;;;;;;;-1:-1:-1;4415:436:0;;;;;:::i;:::-;;:::i;17714:28::-;;;;;;;;;;;;;;;;23489:388;;;;;;;;;;-1:-1:-1;23489:388:0;;;;;:::i;:::-;;:::i;18231:32::-;;;;;;;;;;;;;;;;22464:1017;;;;;;;;;;-1:-1:-1;22464:1017:0;;;;;:::i;:::-;;:::i;18159:28::-;;;;;;;;;;;;;;;;17617:33;;;;;;;;;;;;;;;;17659:46;;;;;;;;;;-1:-1:-1;17659:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;3496:151;;;;;;;;;;-1:-1:-1;3496:151:0;;;;;:::i;:::-;;:::i;1908:201::-;;;;;;;;;;-1:-1:-1;1908:201:0;;;;;:::i;:::-;;:::i;2721:100::-;2775:13;2808:5;2801:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2721:100;:::o;3655:201::-;3738:4;175:10;3794:32;175:10;3810:7;3819:6;3794:8;:32::i;:::-;3844:4;3837:11;;;3655:201;;;;;:::o;23885:630::-;23983:4;24000:17;24040:3;24029:8;;24020:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;24000:43;-1:-1:-1;24054:22:0;24079:18;24000:43;24079:6;:18;:::i;:::-;24054:43;;24108:50;24124:6;24132:9;24143:14;24108:15;:50::i;:::-;24172:11;;24169:87;;24223:9;;24199:45;;24215:6;;-1:-1:-1;;;;;24223:9:0;24234;24199:15;:45::i;:::-;24266:24;24293:29;24303:6;24311:10;24293:9;:29::i;:::-;24266:56;;24361:6;24341:16;:26;;24333:79;;;;-1:-1:-1;;;24333:79:0;;7323:2:1;24333:79:0;;;7305:21:1;7362:2;7342:18;;;7335:30;7401:34;7381:18;;;7374:62;-1:-1:-1;;;7452:18:1;;;7445:38;7500:19;;24333:79:0;;;;;;;;;24423:61;24438:6;24446:10;24458:25;24477:6;24458:16;:25;:::i;:::-;24423:14;:61::i;:::-;-1:-1:-1;24503:4:0;;23885:630;-1:-1:-1;;;;;;23885:630:0:o;4169:238::-;4257:4;175:10;4313:64;175:10;4329:7;4366:10;4338:25;175:10;4329:7;4338:9;:25::i;:::-;:38;;;;:::i;25723:131::-;25790:1;25781:6;:10;25773:37;;;;-1:-1:-1;;;25773:37:0;;7862:2:1;25773:37:0;;;7844:21:1;7901:2;7881:18;;;7874:30;-1:-1:-1;;;7920:18:1;;;7913:44;7974:18;;25773:37:0;7660:338:1;25773:37:0;25821:25;25827:10;25839:6;25821:5;:25::i;:::-;25723:131;:::o;18559:35::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18559:35:0;;;;-1:-1:-1;;;;;18559:35:0;;;:::o;1797:103::-;1521:13;:11;:13::i;:::-;1862:30:::1;1889:1;1862:18;:30::i;:::-;1797:103::o:0;24800:241::-;24858:21;24898:11;24890:52;;;;-1:-1:-1;;;24890:52:0;;8205:2:1;24890:52:0;;;8187:21:1;8244:2;8224:18;;;8217:30;8283;8263:18;;;8256:58;8331:18;;24890:52:0;8003:352:1;24890:52:0;24986:11;;25009:24;;-1:-1:-1;;;;;24986:11:0;;;;;;25009:24;;;;;25025:7;;24953:22;25009:24;24953:22;25009:24;25025:7;24986:11;25009:24;;;;;;;;;;;;;;;;;;;;;24829:212;;24800:241::o;24692:100::-;1521:13;:11;:13::i;:::-;24762::::1;:22:::0;24692:100::o;19983:2262::-;20083:10;22389:17;22434:12;20063:59;;;;-1:-1:-1;;;20063:59:0;;8562:2:1;20063:59:0;;;8544:21:1;8601:2;8581:18;;;8574:30;8640:26;8620:18;;;8613:54;8684:18;;20063:59:0;8360:348:1;20063:59:0;20160:13;;20141:15;:32;;20133:72;;;;-1:-1:-1;;;20133:72:0;;8915:2:1;20133:72:0;;;8897:21:1;8954:2;8934:18;;;8927:30;8993:29;8973:18;;;8966:57;9040:18;;20133:72:0;8713:351:1;20133:72:0;20243:11;;20224:15;:30;;20216:60;;;;-1:-1:-1;;;20216:60:0;;9271:2:1;20216:60:0;;;9253:21:1;9310:2;9290:18;;;9283:30;-1:-1:-1;;;9329:18:1;;;9322:47;9386:18;;20216:60:0;9069:341:1;20216:60:0;20307:1;20295:9;:13;20287:44;;;;-1:-1:-1;;;20287:44:0;;9617:2:1;20287:44:0;;;9599:21:1;9656:2;9636:18;;;9629:30;-1:-1:-1;;;9675:18:1;;;9668:48;9733:18;;20287:44:0;9415:342:1;20287:44:0;20363:18;;20350:9;:31;;20342:83;;;;-1:-1:-1;;;20342:83:0;;9964:2:1;20342:83:0;;;9946:21:1;10003:2;9983:18;;;9976:30;10042:34;10022:18;;;10015:62;-1:-1:-1;;;10093:18:1;;;10086:37;10140:19;;20342:83:0;9762:403:1;20342:83:0;20467:10;;20457:20;;:9;:20;:::i;:::-;20444:9;:33;;20436:46;;;;-1:-1:-1;;;20436:46:0;;10372:2:1;20436:46:0;;;10354:21:1;-1:-1:-1;10391:18:1;;;10384:29;10430:18;;20436:46:0;10170:284:1;20436:46:0;20538:18;;20513:10;20501:23;;;;:11;:23;;;;;;:33;;20525:9;;20501:33;:::i;:::-;:55;;20493:68;;;;-1:-1:-1;;;20493:68:0;;10372:2:1;20493:68:0;;;10354:21:1;-1:-1:-1;10391:18:1;;;10384:29;10430:18;;20493:68:0;10170:284:1;20493:68:0;-1:-1:-1;20654:11:0;;20697:13;;20585:10;;-1:-1:-1;;;;;20654:11:0;;20648:26;;20712:3;;20693:17;;20712:3;20693:17;:::i;:::-;20682:29;;:9;:29;:::i;:::-;:33;;;;:::i;:::-;20648:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20735:11:0;;20756:10;;20783:13;;-1:-1:-1;;;;;20735:11:0;;;;-1:-1:-1;20729:26:0;;-1:-1:-1;20756:10:0;;;-1:-1:-1;20798:3:0;;20779:17;;20798:3;20779:17;:::i;:::-;20768:29;;:9;:29;:::i;:::-;:33;;;;:::i;:::-;20729:73;;-1:-1:-1;;;;;;20729:73:0;;;;;;;-1:-1:-1;;;;;10651:32:1;;;20729:73:0;;;10633:51:1;10700:18;;;10693:34;10606:18;;20729:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;20819:11:0;;20860:10;;20887:13;;-1:-1:-1;;;;;20819:11:0;;;;20813:31;;20853:4;;20860:10;;;20902:3;;20883:17;;20902:3;20883:17;:::i;:::-;20872:29;;:9;:29;:::i;:::-;:33;;;;:::i;:::-;20813:93;;-1:-1:-1;;;;;;20813:93:0;;;;;;;-1:-1:-1;;;;;11278:15:1;;;20813:93:0;;;11260:34:1;11330:15;;;;11310:18;;;11303:43;11362:18;;;11355:34;11195:18;;20813:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20920:18;20982:13;;20998:6;20982:22;;;;:::i;:::-;20968:9;20958:7;;20942:13;3130:12;;;3042:108;20942:13;:23;;;;:::i;:::-;:35;;;;:::i;:::-;20941:64;;;;:::i;:::-;20920:85;;21023:9;21018:890;21042:13;:20;21038:24;;21018:890;;;21121:19;21088:13;21102:1;21088:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:29;;;;:52;;;;;;;:::i;:::-;;21084:813;;21161:18;21182:53;21202:13;21216:1;21202:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:32;;;;-1:-1:-1;;;;;21202:32:0;21182:19;:53::i;:::-;21161:74;;21276:13;21290:1;21276:16;;;;;;;;:::i;:::-;;;;;;;;;;;:27;;;21262:10;:41;;21254:80;;;;-1:-1:-1;;;21254:80:0;;11734:2:1;21254:80:0;;;11716:21:1;11773:2;11753:18;;;11746:30;11812:28;11792:18;;;11785:56;11858:18;;21254:80:0;11532:350:1;21254:80:0;21142:208;21084:813;;;21393:18;21360:13;21374:1;21360:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:29;;;;:51;;;;;;;:::i;:::-;;21356:541;;21432:18;21453:52;21472:13;21486:1;21472:16;;;;;;;;:::i;21453:52::-;21432:73;;21546:13;21560:1;21546:16;;;;;;;;:::i;:::-;;;;;;;;;;;:27;;;21532:10;:41;;21524:79;;;;-1:-1:-1;;;21524:79:0;;12089:2:1;21524:79:0;;;12071:21:1;12128:2;12108:18;;;12101:30;12167:27;12147:18;;;12140:55;12212:18;;21524:79:0;11887:349:1;21356:541:0;21662:20;21629:13;21643:1;21629:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:29;;;;:53;;;;;;;:::i;:::-;;21625:272;;21703:18;21724:57;21745:13;21759:1;21745:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;:32;-1:-1:-1;;;;;21745:32:0;;;;;;21724:20;:57::i;:::-;21703:78;;21822:13;21836:1;21822:16;;;;;;;;:::i;:::-;;;;;;;;;;;:27;;;21808:10;:41;;21800:81;;;;-1:-1:-1;;;21800:81:0;;12443:2:1;21800:81:0;;;12425:21:1;12482:2;12462:18;;;12455:30;12521:29;12501:18;;;12494:57;12568:18;;21800:81:0;12241:351:1;21800:81:0;21684:213;21625:272;21064:3;;;;:::i;:::-;;;;21018:890;;;;22000:48;22018:4;22025:10;22037;22000:9;:48::i;:::-;22084:10;;22059:48;;22077:4;;-1:-1:-1;;;;;22084:10:0;22096;22059:9;:48::i;:::-;22133:10;;;;;;;;;-1:-1:-1;;;;;22133:10:0;-1:-1:-1;;;;;22118:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22176:10:0;22164:23;;;;:11;:23;;;;;:36;;22191:9;;-1:-1:-1;22164:23:0;;-1:-1:-1;22164:36:0;;22191:9;;22164:36;:::i;:::-;;;;;;;;22228:9;22211:13;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;19983:2262:0:o;2829:104::-;2885:13;2918:7;2911:14;;;;;:::i;24525:159::-;1521:13;:11;:13::i;:::-;24598:10:::1;::::0;-1:-1:-1;;;;;24598:10:0::1;:24:::0;24590:60:::1;;;::::0;-1:-1:-1;;;24590:60:0;;12939:2:1;24590:60:0::1;::::0;::::1;12921:21:1::0;12978:2;12958:18;;;12951:30;13017:25;12997:18;;;12990:53;13060:18;;24590:60:0::1;12737:347:1::0;24590:60:0::1;24661:10;:15:::0;;-1:-1:-1;;;;;;24661:15:0::1;-1:-1:-1::0;;;;;24661:15:0;;;::::1;::::0;;;::::1;::::0;;24525:159::o;4415:436::-;4508:4;175:10;4508:4;4591:25;175:10;4608:7;4591:9;:25::i;:::-;4564:52;;4655:15;4635:16;:35;;4627:85;;;;-1:-1:-1;;;4627:85:0;;13291:2:1;4627:85:0;;;13273:21:1;13330:2;13310:18;;;13303:30;13369:34;13349:18;;;13342:62;-1:-1:-1;;;13420:18:1;;;13413:35;13465:19;;4627:85:0;13089:401:1;4627:85:0;4748:60;4757:5;4764:7;4792:15;4773:16;:34;4748:8;:60::i;:::-;-1:-1:-1;4839:4:0;;4415:436;-1:-1:-1;;;;4415:436:0:o;23489:388::-;23567:4;23584:17;23624:3;23613:8;;23604:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;23584:43;-1:-1:-1;23638:22:0;23663:18;23584:43;23663:6;:18;:::i;:::-;23638:43;;23692:54;23708:10;23720:9;23731:14;23692:15;:54::i;:::-;23760:11;;23757:91;;23815:9;;23787:49;;23803:10;;-1:-1:-1;;;;;23815:9:0;23826;23787:15;:49::i;22464:1017::-;1521:13;:11;:13::i;:::-;22584::::1;:20;22608:1;22584:25;22576:66;;;::::0;-1:-1:-1;;;22576:66:0;;13697:2:1;22576:66:0::1;::::0;::::1;13679:21:1::0;13736:2;13716:18;;;13709:30;13775;13755:18;;;13748:58;13823:18;;22576:66:0::1;13495:352:1::0;22576:66:0::1;22653:20;22660:13;;22653:20;:::i;:::-;22716:1;-1:-1:-1::0;;;;;22688:30:0::1;:13;22702:1;22688:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;22688:30:0::1;;22684:256;;22754:173;::::0;;::::1;::::0;::::1;::::0;;;22735:13:::1;::::0;22754:173;-1:-1:-1;22754:173:0::1;;;;22855:13;22869:1;22855:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;22754:173:0::1;;;;;22902:6;22909:1;22902:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;22754:173;;;22735:193;;::::1;::::0;;::::1;::::0;;-1:-1:-1;22735:193:0;;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;;;-1:-1:-1;;22735:193:0::1;::::0;;;;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;22735:193:0::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;22735:193:0;;::::1;;;-1:-1:-1::0;;;;;;22735:193:0;;::::1;;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;22684:256:::1;22982:1;-1:-1:-1::0;;;;;22954:30:0::1;:13;22968:1;22954:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;22954:30:0::1;;22950:255;;23020:172;::::0;;::::1;::::0;::::1;::::0;;;23001:13:::1;::::0;23020:172;23066:18:::1;23020:172;;;;23120:13;23134:1;23120:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;23020:172:0::1;;;;;23167:6;23174:1;23167:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;23020:172;;;23001:192;;::::1;::::0;;::::1;::::0;;-1:-1:-1;23001:192:0;;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;;;-1:-1:-1;;23001:192:0::1;::::0;;;;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;23001:192:0::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;23001:192:0;;::::1;;;-1:-1:-1::0;;;;;;23001:192:0;;::::1;;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;22950:255:::1;23249:1;-1:-1:-1::0;;;;;23221:30:0::1;:13;23235:1;23221:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;23221:30:0::1;;23217:257;;23287:174;::::0;;::::1;::::0;::::1;::::0;;;23268:13:::1;::::0;23287:174;23333:20:::1;23287:174;;;;23389:13;23403:1;23389:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;23287:174:0::1;;;;;23436:6;23443:1;23436:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;23287:174;;;23268:194;;::::1;::::0;;::::1;::::0;;-1:-1:-1;23268:194:0;;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;;;-1:-1:-1;;23268:194:0::1;::::0;;;;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;23268:194:0::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;23268:194:0;;::::1;;;-1:-1:-1::0;;;;;;23268:194:0;;::::1;;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;23217:257:::1;22464:1017:::0;;:::o;3496:151::-;-1:-1:-1;;;;;3612:18:0;;;3585:7;3612:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3496:151::o;1908:201::-;1521:13;:11;:13::i;:::-;-1:-1:-1;;;;;1997:22:0;::::1;1989:73;;;::::0;-1:-1:-1;;;1989:73:0;;14054:2:1;1989:73:0::1;::::0;::::1;14036:21:1::0;14093:2;14073:18;;;14066:30;14132:34;14112:18;;;14105:62;-1:-1:-1;;;14183:18:1;;;14176:36;14229:19;;1989:73:0::1;13852:402:1::0;1989:73:0::1;2073:28;2092:8;2073:18;:28::i;6946:380::-:0;-1:-1:-1;;;;;7082:19:0;;7074:68;;;;-1:-1:-1;;;7074:68:0;;14461:2:1;7074:68:0;;;14443:21:1;14500:2;14480:18;;;14473:30;14539:34;14519:18;;;14512:62;-1:-1:-1;;;14590:18:1;;;14583:34;14634:19;;7074:68:0;14259:400:1;7074:68:0;-1:-1:-1;;;;;7161:21:0;;7153:68;;;;-1:-1:-1;;;7153:68:0;;14866:2:1;7153:68:0;;;14848:21:1;14905:2;14885:18;;;14878:30;14944:34;14924:18;;;14917:62;-1:-1:-1;;;14995:18:1;;;14988:32;15037:19;;7153:68:0;14664:398:1;7153:68:0;-1:-1:-1;;;;;7234:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7286:32;;160:25:1;;;7286:32:0;;133:18:1;7286:32:0;;;;;;;6946:380;;;:::o;4859:840::-;-1:-1:-1;;;;;4990:18:0;;4982:68;;;;-1:-1:-1;;;4982:68:0;;15269:2:1;4982:68:0;;;15251:21:1;15308:2;15288:18;;;15281:30;15347:34;15327:18;;;15320:62;-1:-1:-1;;;15398:18:1;;;15391:35;15443:19;;4982:68:0;15067:401:1;4982:68:0;-1:-1:-1;;;;;5069:16:0;;5061:64;;;;-1:-1:-1;;;5061:64:0;;15675:2:1;5061:64:0;;;15657:21:1;15714:2;15694:18;;;15687:30;15753:34;15733:18;;;15726:62;-1:-1:-1;;;15804:18:1;;;15797:33;15847:19;;5061:64:0;15473:399:1;5061:64:0;-1:-1:-1;;;;;5211:15:0;;5189:19;5211:15;;;;;;;;;;;5245:21;;;;5237:72;;;;-1:-1:-1;;;5237:72:0;;16079:2:1;5237:72:0;;;16061:21:1;16118:2;16098:18;;;16091:30;16157:34;16137:18;;;16130:62;-1:-1:-1;;;16208:18:1;;;16201:36;16254:19;;5237:72:0;15877:402:1;5237:72:0;-1:-1:-1;;;;;5345:15:0;;;:9;:15;;;;;;;;;;;5363:20;;;5345:38;;5563:13;;;;;;;;;;:23;;;;;;5615:26;;160:25:1;;;5563:13:0;;5615:26;;133:18:1;5615:26:0;;;;;;;4971:728;4859:840;;;:::o;6263:675::-;-1:-1:-1;;;;;6347:21:0;;6339:67;;;;-1:-1:-1;;;6339:67:0;;16486:2:1;6339:67:0;;;16468:21:1;16525:2;16505:18;;;16498:30;16564:34;16544:18;;;16537:62;-1:-1:-1;;;16615:18:1;;;16608:31;16656:19;;6339:67:0;16284:397:1;6339:67:0;-1:-1:-1;;;;;6506:18:0;;6481:22;6506:18;;;;;;;;;;;6543:24;;;;6535:71;;;;-1:-1:-1;;;6535:71:0;;16888:2:1;6535:71:0;;;16870:21:1;16927:2;16907:18;;;16900:30;16966:34;16946:18;;;16939:62;-1:-1:-1;;;17017:18:1;;;17010:32;17059:19;;6535:71:0;16686:398:1;6535:71:0;-1:-1:-1;;;;;6642:18:0;;:9;:18;;;;;;;;;;;6663:23;;;6642:44;;6781:12;:22;;;;;;;6832:37;160:25:1;;;6642:9:0;;:18;6832:37;;133:18:1;6832:37:0;;;;;;;25009:24;24829:212;;24800:241::o;1657:132::-;1635:6;;-1:-1:-1;;;;;1635:6:0;175:10;1721:23;1713:68;;;;-1:-1:-1;;;1713:68:0;;17291:2:1;1713:68:0;;;17273:21:1;;;17310:18;;;17303:30;17369:34;17349:18;;;17342:62;17421:18;;1713:68:0;17089:356:1;2117:191:0;2210:6;;;-1:-1:-1;;;;;2227:17:0;;;-1:-1:-1;;;;;;2227:17:0;;;;;;;2260:40;;2210:6;;;2227:17;2210:6;;2260:40;;2191:16;;2260:40;2180:128;2117:191;:::o;25049:208::-;25213:36;;-1:-1:-1;;;25213:36:0;;25238:10;25213:36;;;2046:51:1;25126:7:0;;25179:15;;-1:-1:-1;;;;;25213:24:0;;;;;2019:18:1;;25213:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25206:43;25049:208;-1:-1:-1;;;25049:208:0:o;25476:239::-;25661:46;;-1:-1:-1;;;25661:46:0;;25687:10;25661:46;;;10633:51:1;10700:18;;;10693:34;;;25571:7:0;;25627:15;;-1:-1:-1;;;;;25661:25:0;;;;;10606:18:1;;25661:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25654:53;25476:239;-1:-1:-1;;;;25476:239:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:173::-;817:20;;-1:-1:-1;;;;;866:31:1;;856:42;;846:70;;912:1;909;902:12;846:70;749:173;;;:::o;927:254::-;995:6;1003;1056:2;1044:9;1035:7;1031:23;1027:32;1024:52;;;1072:1;1069;1062:12;1024:52;1095:29;1114:9;1095:29;:::i;:::-;1085:39;1171:2;1156:18;;;;1143:32;;-1:-1:-1;;;927:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;2108:180::-;2167:6;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;-1:-1:-1;2259:23:1;;2108:180;-1:-1:-1;2108:180:1:o;2293:127::-;2354:10;2349:3;2345:20;2342:1;2335:31;2385:4;2382:1;2375:15;2409:4;2406:1;2399:15;2425:513;2630:2;2615:18;;2663:1;2652:13;;2642:144;;2708:10;2703:3;2699:20;2696:1;2689:31;2743:4;2740:1;2733:15;2771:4;2768:1;2761:15;2642:144;2795:25;;;-1:-1:-1;;;;;2856:32:1;;;;2851:2;2836:18;;2829:60;2920:2;2905:18;;;2898:34;2425:513;:::o;2943:186::-;3002:6;3055:2;3043:9;3034:7;3030:23;3026:32;3023:52;;;3071:1;3068;3061:12;3023:52;3094:29;3113:9;3094:29;:::i;3134:254::-;3202:6;3210;3263:2;3251:9;3242:7;3238:23;3234:32;3231:52;;;3279:1;3276;3269:12;3231:52;3315:9;3302:23;3292:33;;3344:38;3378:2;3367:9;3363:18;3344:38;:::i;:::-;3334:48;;3134:254;;;;;:::o;3393:127::-;3454:10;3449:3;3445:20;3442:1;3435:31;3485:4;3482:1;3475:15;3509:4;3506:1;3499:15;3525:275;3596:2;3590:9;3661:2;3642:13;;-1:-1:-1;;3638:27:1;3626:40;;3696:18;3681:34;;3717:22;;;3678:62;3675:88;;;3743:18;;:::i;:::-;3779:2;3772:22;3525:275;;-1:-1:-1;3525:275:1:o;3805:183::-;3865:4;3898:18;3890:6;3887:30;3884:56;;;3920:18;;:::i;:::-;-1:-1:-1;3965:1:1;3961:14;3977:4;3957:25;;3805:183::o;3993:668::-;4047:5;4100:3;4093:4;4085:6;4081:17;4077:27;4067:55;;4118:1;4115;4108:12;4067:55;4154:6;4141:20;4180:4;4204:60;4220:43;4260:2;4220:43;:::i;:::-;4204:60;:::i;:::-;4298:15;;;4384:1;4380:10;;;;4368:23;;4364:32;;;4329:12;;;;4408:15;;;4405:35;;;4436:1;4433;4426:12;4405:35;4472:2;4464:6;4460:15;4484:148;4500:6;4495:3;4492:15;4484:148;;;4566:23;4585:3;4566:23;:::i;:::-;4554:36;;4610:12;;;;4517;;4484:148;;;-1:-1:-1;4650:5:1;3993:668;-1:-1:-1;;;;;;3993:668:1:o;4666:1140::-;4784:6;4792;4845:2;4833:9;4824:7;4820:23;4816:32;4813:52;;;4861:1;4858;4851:12;4813:52;4901:9;4888:23;4930:18;4971:2;4963:6;4960:14;4957:34;;;4987:1;4984;4977:12;4957:34;5025:6;5014:9;5010:22;5000:32;;5070:7;5063:4;5059:2;5055:13;5051:27;5041:55;;5092:1;5089;5082:12;5041:55;5128:2;5115:16;5150:4;5174:60;5190:43;5230:2;5190:43;:::i;5174:60::-;5268:15;;;5350:1;5346:10;;;;5338:19;;5334:28;;;5299:12;;;;5374:19;;;5371:39;;;5406:1;5403;5396:12;5371:39;5430:11;;;;5450:142;5466:6;5461:3;5458:15;5450:142;;;5532:17;;5520:30;;5483:12;;;;5570;;;;5450:142;;;5611:5;-1:-1:-1;;5654:18:1;;5641:32;;-1:-1:-1;;5685:16:1;;;5682:36;;;5714:1;5711;5704:12;5682:36;;5737:63;5792:7;5781:8;5770:9;5766:24;5737:63;:::i;:::-;5727:73;;;4666:1140;;;;;:::o;5811:260::-;5879:6;5887;5940:2;5928:9;5919:7;5915:23;5911:32;5908:52;;;5956:1;5953;5946:12;5908:52;5979:29;5998:9;5979:29;:::i;:::-;5969:39;;6027:38;6061:2;6050:9;6046:18;6027:38;:::i;6076:380::-;6155:1;6151:12;;;;6198;;;6219:61;;6273:4;6265:6;6261:17;6251:27;;6219:61;6326:2;6318:6;6315:14;6295:18;6292:38;6289:161;;6372:10;6367:3;6363:20;6360:1;6353:31;6407:4;6404:1;6397:15;6435:4;6432:1;6425:15;6289:161;;6076:380;;;:::o;6461:127::-;6522:10;6517:3;6513:20;6510:1;6503:31;6553:4;6550:1;6543:15;6577:4;6574:1;6567:15;6593:168;6666:9;;;6697;;6714:15;;;6708:22;;6694:37;6684:71;;6735:18;;:::i;6766:217::-;6806:1;6832;6822:132;;6876:10;6871:3;6867:20;6864:1;6857:31;6911:4;6908:1;6901:15;6939:4;6936:1;6929:15;6822:132;-1:-1:-1;6968:9:1;;6766:217::o;6988:128::-;7055:9;;;7076:11;;;7073:37;;;7090:18;;:::i;7530:125::-;7595:9;;;7616:10;;;7613:36;;;7629:18;;:::i;10738:277::-;10805:6;10858:2;10846:9;10837:7;10833:23;10829:32;10826:52;;;10874:1;10871;10864:12;10826:52;10906:9;10900:16;10959:5;10952:13;10945:21;10938:5;10935:32;10925:60;;10981:1;10978;10971:12;11400:127;11461:10;11456:3;11452:20;11449:1;11442:31;11492:4;11489:1;11482:15;11516:4;11513:1;11506:15;12597:135;12636:3;12657:17;;;12654:43;;12677:18;;:::i;:::-;-1:-1:-1;12724:1:1;12713:13;;12597:135::o;17450:184::-;17520:6;17573:2;17561:9;17552:7;17548:23;17544:32;17541:52;;;17589:1;17586;17579:12;17541:52;-1:-1:-1;17612:16:1;;17450:184;-1:-1:-1;17450:184:1:o

Swarm Source

ipfs://ca86adf9b6534297eee616c63cfe3960c96c831f95ff33eed29fa58d797f9f8d
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.