ETH Price: $2,553.18 (-2.20%)
Gas: 6.85 Gwei

Token

Trollface (TROLL)
 

Overview

Max Total Supply

420,690,000,000,000 TROLL

Holders

141

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: TROLL 34
Balance
160,878,458,135,381.445686596 TROLL

Value
$0.00
0x0894412a3397eee772c4f829046fdbf55daa8976
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:
Trollface

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

//SPDX-License-Identifier: MIT

//⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠛⠛⠛⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⠛⠛⠿⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
//⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⡀⠠⠤⠒⢂⣉⣉⣉⣑⣒⣒⠒⠒⠒⠒⠒⠒⠒⠀⠀⠐⠒⠚⠻⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿
//⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⡠⠔⠉⣀⠔⠒⠉⣀⣀⠀⠀⠀⣀⡀⠈⠉⠑⠒⠒⠒⠒⠒⠈⠉⠉⠉⠁⠂⠀⠈⠙⢿⣿⣿⣿⣿⣿
//⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠔⠁⠠⠖⠡⠔⠊⠀⠀⠀⠀⠀⠀⠀⠐⡄⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠉⠲⢄⠀⠀⠀⠈⣿⣿⣿⣿⣿
//⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠊⠀⢀⣀⣤⣤⣤⣤⣀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠜⠀⠀⠀⠀⣀⡀⠀⠈⠃⠀⠀⠀⠸⣿⣿⣿⣿
//⣿⣿⣿⣿⡿⠥⠐⠂⠀⠀⠀⠀⡄⠀⠰⢺⣿⣿⣿⣿⣿⣟⠀⠈⠐⢤⠀⠀⠀⠀⠀⠀⢀⣠⣶⣾⣯⠀⠀⠉⠂⠀⠠⠤⢄⣀⠙⢿⣿⣿
//⣿⡿⠋⠡⠐⠈⣉⠭⠤⠤⢄⡀⠈⠀⠈⠁⠉⠁⡠⠀⠀⠀⠉⠐⠠⠔⠀⠀⠀⠀⠀⠲⣿⠿⠛⠛⠓⠒⠂⠀⠀⠀⠀⠀⠀⠠⡉⢢⠙⣿
//⣿⠀⢀⠁⠀⠊⠀⠀⠀⠀⠀⠈⠁⠒⠂⠀⠒⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⢀⣀⡠⠔⠒⠒⠂⠀⠈⠀⡇⣿
//⣿⠀⢸⠀⠀⠀⢀⣀⡠⠋⠓⠤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠈⠢⠤⡀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⡠⠀⡇⣿
//⣿⡀⠘⠀⠀⠀⠀⠀⠘⡄⠀⠀⠀⠈⠑⡦⢄⣀⠀⠀⠐⠒⠁⢸⠀⠀⠠⠒⠄⠀⠀⠀⠀⠀⢀⠇⠀⣀⡀⠀⠀⢀⢾⡆⠀⠈⡀⠎⣸⣿
//⣿⣿⣄⡈⠢⠀⠀⠀⠀⠘⣶⣄⡀⠀⠀⡇⠀⠀⠈⠉⠒⠢⡤⣀⡀⠀⠀⠀⠀⠀⠐⠦⠤⠒⠁⠀⠀⠀⠀⣀⢴⠁⠀⢷⠀⠀⠀⢰⣿⣿
//⣿⣿⣿⣿⣇⠂⠀⠀⠀⠀⠈⢂⠀⠈⠹⡧⣀⠀⠀⠀⠀⠀⡇⠀⠀⠉⠉⠉⢱⠒⠒⠒⠒⢖⠒⠒⠂⠙⠏⠀⠘⡀⠀⢸⠀⠀⠀⣿⣿⣿
//⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠑⠄⠰⠀⠀⠁⠐⠲⣤⣴⣄⡀⠀⠀⠀⠀⢸⠀⠀⠀⠀⢸⠀⠀⠀⠀⢠⠀⣠⣷⣶⣿⠀⠀⢰⣿⣿⣿
//⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠁⢀⠀⠀⠀⠀⠀⡙⠋⠙⠓⠲⢤⣤⣷⣤⣤⣤⣤⣾⣦⣤⣤⣶⣿⣿⣿⣿⡟⢹⠀⠀⢸⣿⣿⣿
//⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠀⠀⠀⠀⠑⠀⢄⠀⡰⠁⠀⠀⠀⠀⠀⠈⠉⠁⠈⠉⠻⠋⠉⠛⢛⠉⠉⢹⠁⢀⢇⠎⠀⠀⢸⣿⣿⣿
//⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⠈⠢⢄⡉⠂⠄⡀⠀⠈⠒⠢⠄⠀⢀⣀⣀⣰⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⢀⣎⠀⠼⠊⠀⠀⠀⠘⣿⣿⣿
//⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠉⠢⢄⡈⠑⠢⢄⡀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠁⠀⠀⢀⠀⠀⠀⠀⠀⢻⣿⣿
//⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣀⡈⠑⠢⢄⡀⠈⠑⠒⠤⠄⣀⣀⠀⠉⠉⠉⠉⠀⠀⠀⣀⡀⠤⠂⠁⠀⢀⠆⠀⠀⢸⣿⣿
//⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⡀⠁⠉⠒⠂⠤⠤⣀⣀⣉⡉⠉⠉⠉⠉⢀⣀⣀⡠⠤⠒⠈⠀⠀⠀⠀⣸⣿⣿
//⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿
//⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣤⣤⣤⣤⣀⣀⣤⣤⣤⣶⣾⣿⣿⣿⣿⣿

pragma solidity ^0.8.0;

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

interface IERC20 {
    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

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

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

contract Trollface is IERC20 {
    using SafeMath for uint256;
    using SafeMath for uint8;

    string public name = "Trollface";
    string public symbol = "TROLL";
    uint8 public decimals = 9;
    uint256 public totalSupply;

    address public MARKETINGWALLET = 0xdd266D3b7F2DD24dF2952C546f952AE3F9832aAb;// CHANGE
    address public DEAD = 0x000000000000000000000000000000000000dEaD;

    address private oldTokenAddress = 0xC35DbE3216bFd3a120d5E1b2287E389aFc2c6709;//CHANGE

    uint256 public THRESHOLD;

    uint8 marketingTax = 1; //1% marketing

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;
    mapping(address => bool) private isPair;
    mapping(address => bool) private isExempt;

    address private _owner;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool inLiquidate;
    bool tradingOpen;
    bool migrationOpen;

    event Liquidate(uint256 ethForMarketing);
    event SetMarketingWallet(address _marketingWallet);
    event SetAutoLpReceiverWallet(address newAutoLpReceiverWallet);
    event TransferOwnership(address _newOwner);
    event SetExempt(address _address, bool _isExempt);
    event AddPair(address _pair);
    event Migrate(address receiver, uint256 tokensSent);
    event LaunchReady();
    event OpenTrading(bool tradingOpen);

    constructor() {
        _owner = msg.sender;
        _update(address(0), address(this), 420690000000000 * 10**9);

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),uniswapV2Router.WETH());

        THRESHOLD = totalSupply.div(10**3); //0.1% swap threshold

        isPair[address(uniswapV2Pair)] = true;
        isExempt[msg.sender] = true;
        isExempt[address(this)] = true;

        allowance[address(this)][address(uniswapV2Pair)] = type(uint256).max;
        allowance[address(this)][address(uniswapV2Router)] = type(uint256).max;

        migrationOpen = true;
    }

    receive() external payable {}

    modifier protected() {
        require(msg.sender == _owner);
        _;
    }

    modifier lockLiquidate() {
        inLiquidate = true;
        _;
        inLiquidate = false;
    }

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

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address to, uint256 amount)
        external
        override
        returns (bool)
    {
        return _transferFrom(msg.sender, to, amount);
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external override returns (bool) {
        uint256 availableAllowance = allowance[from][msg.sender];
        if (availableAllowance < type(uint256).max) {
            allowance[from][msg.sender] = availableAllowance.sub(amount);
        }

        return _transferFrom(from, to, amount);
    }

    function _transferFrom(address from, address to, uint256 amount) private returns (bool) {

        if (inLiquidate || isExempt[from] || isExempt[to]) {
            return _update(from, to, amount);
        }

        require(tradingOpen);

        uint256 marketingFee;

        (bool fromPair, bool toPair) = (isPair[from], isPair[to]);

        if (fromPair || toPair) {
            marketingFee = amount.mul(marketingTax).div(100);
        }

        if (balanceOf[address(this)] >= THRESHOLD && !fromPair) {
            _liquidate();
        }

        balanceOf[address(this)] = balanceOf[address(this)].add(marketingFee);
        balanceOf[from] = balanceOf[from].sub(amount);
        balanceOf[to] = balanceOf[to].add(amount.sub(marketingFee));

        emit Transfer(from, to, amount);
        return true;
    }

    function _update(
        address from,
        address to,
        uint256 amount
    ) private returns (bool) {
        if (from != address(0)) {
            balanceOf[from] = balanceOf[from].sub(amount);
        } else {
            totalSupply = totalSupply.add(amount);
        }
        if (to == address(0)) {
            totalSupply = totalSupply.sub(amount);
        } else {
            balanceOf[to] = balanceOf[to].add(amount);
        }
        emit Transfer(from, to, amount);
        return true;
    }

    function _liquidate() private lockLiquidate {
  
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            THRESHOLD,
            0,
            path,
            address(this),
            block.timestamp
            );

        uint256 ethForMarketing = address(this).balance;

        (bool succ, ) = payable(MARKETINGWALLET).call{value: ethForMarketing, gas: 30000}("");
        require(succ);

        emit Liquidate(ethForMarketing);
    }


    function setMarketingWallet(address payable newMarketingWallet) external protected {
        MARKETINGWALLET = newMarketingWallet;
        emit SetMarketingWallet(newMarketingWallet);
    }

    function transferOwnership(address _newOwner) external protected {
        isExempt[_owner] = false;
        _owner = _newOwner;
        isExempt[_newOwner] = true;
        emit TransferOwnership(_newOwner);
    }

    function clearStuckETH() external protected {
        uint256 contractETHBalance = address(this).balance;
        if (contractETHBalance > 0) {
            (bool sent, ) = payable(MARKETINGWALLET).call{
                value: contractETHBalance
            }("");
            require(sent);
        }
    }

    function setExempt(address _address, bool _isExempt) external protected {
        isExempt[_address] = _isExempt;
        emit SetExempt(_address, _isExempt);
    }

    function addPair(address _address) external protected {
        require(isPair[_address] = false);
        isPair[_address] = true;
        emit AddPair(_address);
    }

    function migrate() external {
        require(migrationOpen);    
        IERC20 oldToken = IERC20(oldTokenAddress);

        uint256 tokensSent = oldToken.balanceOf(msg.sender);

        require(tokensSent > 0);
        require(oldToken.transferFrom(msg.sender, _owner, tokensSent));

        require(_update(address(this), msg.sender, tokensSent));
        emit Migrate(msg.sender, tokensSent);
    }

    function readyLaunch() external protected {
        require(migrationOpen == true);
        migrationOpen = false;
        _update(address(this), _owner, balanceOf[address(this)]);

        emit LaunchReady();
    }

    function openTrading() external protected {
        tradingOpen = true;
        emit OpenTrading(tradingOpen);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_pair","type":"address"}],"name":"AddPair","type":"event"},{"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":[],"name":"LaunchReady","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"ethForMarketing","type":"uint256"}],"name":"Liquidate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensSent","type":"uint256"}],"name":"Migrate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"tradingOpen","type":"bool"}],"name":"OpenTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAutoLpReceiverWallet","type":"address"}],"name":"SetAutoLpReceiverWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"SetExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"SetMarketingWallet","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newOwner","type":"address"}],"name":"TransferOwnership","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MARKETINGWALLET","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"THRESHOLD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addPair","outputs":[],"stateMutability":"nonpayable","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":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"migrate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"readyLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"setExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMarketingWallet","type":"address"}],"name":"setMarketingWallet","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":"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":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600981526020017f54726f6c6c666163650000000000000000000000000000000000000000000000815250600090805190602001906200005192919062000a16565b506040518060400160405280600581526020017f54524f4c4c000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f92919062000a16565b506009600260006101000a81548160ff021916908360ff16021790555073dd266d3b7f2dd24df2952c546f952ae3f9832aab600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c35dbe3216bfd3a120d5e1b2287e389afc2c6709600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600860006101000a81548160ff021916908360ff160217905550348015620001d257600080fd5b5033600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000232600030695915a68d88da6a0800006200076660201b60201c565b50737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031c919062000b30565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003cc919062000b30565b6040518363ffffffff1660e01b8152600401620003eb92919062000b73565b6020604051808303816000875af11580156200040b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000431919062000b30565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200048f6103e8600354620009ce60201b620013321790919060201c565b6007819055506001600b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600f60166101000a81548160ff02191690831515021790555062000d6b565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146200083e57620007f582600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620009e660201b620013481790919060201c565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000861565b6200085a82600354620009fe60201b6200135e1790919060201c565b6003819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415620008bf57620008b382600354620009e660201b620013481790919060201c565b6003819055506200095c565b6200091882600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620009fe60201b6200135e1790919060201c565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051620009bb919062000bbb565b60405180910390a3600190509392505050565b60008183620009de919062000c36565b905092915050565b60008183620009f6919062000c6e565b905092915050565b6000818362000a0e919062000ca9565b905092915050565b82805462000a249062000d35565b90600052602060002090601f01602090048101928262000a48576000855562000a94565b82601f1062000a6357805160ff191683800117855562000a94565b8280016001018555821562000a94579182015b8281111562000a9357825182559160200191906001019062000a76565b5b50905062000aa3919062000aa7565b5090565b5b8082111562000ac257600081600090555060010162000aa8565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000af88262000acb565b9050919050565b62000b0a8162000aeb565b811462000b1657600080fd5b50565b60008151905062000b2a8162000aff565b92915050565b60006020828403121562000b495762000b4862000ac6565b5b600062000b598482850162000b19565b91505092915050565b62000b6d8162000aeb565b82525050565b600060408201905062000b8a600083018562000b62565b62000b99602083018462000b62565b9392505050565b6000819050919050565b62000bb58162000ba0565b82525050565b600060208201905062000bd2600083018462000baa565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000c438262000ba0565b915062000c508362000ba0565b92508262000c635762000c6262000bd8565b5b828204905092915050565b600062000c7b8262000ba0565b915062000c888362000ba0565b92508282101562000c9e5762000c9d62000c07565b5b828203905092915050565b600062000cb68262000ba0565b915062000cc38362000ba0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000cfb5762000cfa62000c07565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000d4e57607f821691505b6020821081141562000d655762000d6462000d06565b5b50919050565b6127628062000d7b6000396000f3fe6080604052600436106101445760003560e01c8063785ffb37116100b6578063c2b7bbb61161006f578063c2b7bbb614610447578063c9567bf914610470578063cebbf2f514610487578063dd62ed3e146104b2578063f2fde38b146104ef578063f88de0c3146105185761014b565b8063785ffb37146103495780638da5cb5b146103745780638fd3ab801461039f57806395d89b41146103b65780639fde54f5146103e1578063a9059cbb1461040a5761014b565b806323b872dd1161010857806323b872dd14610239578063313ce5671461027657806349bd5a5e146102a15780634c5be309146102cc5780635d098b38146102e357806370a082311461030c5761014b565b806303fd2a451461015057806306fdde031461017b578063095ea7b3146101a65780631694505e146101e357806318160ddd1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b5061016561052f565b6040516101729190611db1565b60405180910390f35b34801561018757600080fd5b50610190610555565b60405161019d9190611e65565b60405180910390f35b3480156101b257600080fd5b506101cd60048036038101906101c89190611eee565b6105e3565b6040516101da9190611f49565b60405180910390f35b3480156101ef57600080fd5b506101f86106d5565b6040516102059190611fc3565b60405180910390f35b34801561021a57600080fd5b506102236106fb565b6040516102309190611fed565b60405180910390f35b34801561024557600080fd5b50610260600480360381019061025b9190612008565b610701565b60405161026d9190611f49565b60405180910390f35b34801561028257600080fd5b5061028b610854565b6040516102989190612077565b60405180910390f35b3480156102ad57600080fd5b506102b6610867565b6040516102c39190611db1565b60405180910390f35b3480156102d857600080fd5b506102e161088d565b005b3480156102ef57600080fd5b5061030a600480360381019061030591906120d0565b6109bd565b005b34801561031857600080fd5b50610333600480360381019061032e91906120fd565b610a92565b6040516103409190611fed565b60405180910390f35b34801561035557600080fd5b5061035e610aaa565b60405161036b9190611fed565b60405180910390f35b34801561038057600080fd5b50610389610ab0565b6040516103969190611db1565b60405180910390f35b3480156103ab57600080fd5b506103b4610ada565b005b3480156103c257600080fd5b506103cb610ca1565b6040516103d89190611e65565b60405180910390f35b3480156103ed57600080fd5b5061040860048036038101906104039190612156565b610d2f565b005b34801561041657600080fd5b50610431600480360381019061042c9190611eee565b610e1d565b60405161043e9190611f49565b60405180910390f35b34801561045357600080fd5b5061046e600480360381019061046991906120fd565b610e32565b005b34801561047c57600080fd5b50610485610f7e565b005b34801561049357600080fd5b5061049c61103b565b6040516104a99190611db1565b60405180910390f35b3480156104be57600080fd5b506104d960048036038101906104d49190612196565b611061565b6040516104e69190611fed565b60405180910390f35b3480156104fb57600080fd5b50610516600480360381019061051191906120fd565b611086565b005b34801561052457600080fd5b5061052d61122d565b005b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000805461056290612205565b80601f016020809104026020016040519081016040528092919081815260200182805461058e90612205565b80156105db5780601f106105b0576101008083540402835291602001916105db565b820191906000526020600020905b8154815290600101906020018083116105be57829003601f168201915b505050505081565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106c39190611fed565b60405180910390a36001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b600080600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81101561083f576107be838261134890919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61084a858585611374565b9150509392505050565b600260009054906101000a900460ff1681565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e757600080fd5b60011515600f60169054906101000a900460ff1615151461090757600080fd5b6000600f60166101000a81548160ff02191690831515021790555061098e30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ec565b507f067c3fea2c16a6c048ae1f0e6ded5e7f39992dd7e10059d439bd24d420399cdf60405160405180910390a1565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a1757600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1d5165cf8e89286f2d38f9d17d4f9b30a4197d38fd9dafde1d3bf78dbc7e49f081604051610a879190612258565b60405180910390a150565b60096020528060005260406000206000915090505481565b60075481565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f60169054906101000a900460ff16610af357600080fd5b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401610b559190611db1565b602060405180830381865afa158015610b72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b969190612288565b905060008111610ba557600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166323b872dd33600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401610c04939291906122b5565b6020604051808303816000875af1158015610c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c479190612301565b610c5057600080fd5b610c5b3033836117ec565b610c6457600080fd5b7fa59785389b00cbd19745afbe8d59b28e3161395c6b1e3525861a2b0dede0b90d3382604051610c9592919061232e565b60405180910390a15050565b60018054610cae90612205565b80601f0160208091040260200160405190810160405280929190818152602001828054610cda90612205565b8015610d275780601f10610cfc57610100808354040283529160200191610d27565b820191906000526020600020905b815481529060010190602001808311610d0a57829003601f168201915b505050505081565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d8957600080fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fc90df5e038d52a2e202436856510a2351d9053ca97a27a3a1012392d4170bcce8282604051610e11929190612357565b60405180910390a15050565b6000610e2a338484611374565b905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e8c57600080fd5b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055610eec57600080fd5b6001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f84f21453a36d947225b71844083d0755a7939b6c09162d5ced65f7cc0ac9d42c81604051610f739190611db1565b60405180910390a150565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fd857600080fd5b6001600f60156101000a81548160ff0219169083151502179055507f1f600db0df6d805ecdba9e86fb22102b65e03ebd7311928418efa609804ddcf7600f60159054906101000a900460ff166040516110319190611f49565b60405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a602052816000526040600020602052806000526040600020600091509150505481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110e057600080fd5b6000600c6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fcfaaa26691e16e66e73290fc725eee1a6b4e0e693a1640484937aac25ffb55a4816040516112229190611db1565b60405180910390a150565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461128757600080fd5b6000479050600081111561132f576000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516112dd906123b1565b60006040518083038185875af1925050503d806000811461131a576040519150601f19603f3d011682016040523d82523d6000602084013e61131f565b606091505b505090508061132d57600080fd5b505b50565b600081836113409190612424565b905092915050565b600081836113569190612455565b905092915050565b6000818361136c9190612489565b905092915050565b6000600f60149054906101000a900460ff16806113da5750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061142e5750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156114455761143e8484846117ec565b90506117e5565b600f60159054906101000a900460ff1661145e57600080fd5b6000806000600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691509150818061150a5750805b1561154a576115476064611539600860009054906101000a900460ff1660ff1688611a3290919063ffffffff16565b61133290919063ffffffff16565b92505b600754600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611599575081155b156115a7576115a6611a48565b5b6115f983600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461135e90919063ffffffff16565b600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061168e85600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134890919063ffffffff16565b600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117356116e7848761134890919063ffffffff16565b600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461135e90919063ffffffff16565b600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516117d59190611fed565b60405180910390a3600193505050505b9392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146118bb5761187382600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134890919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118d7565b6118d08260035461135e90919063ffffffff16565b6003819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561192c576119218260035461134890919063ffffffff16565b6003819055506119c2565b61197e82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461135e90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a1f9190611fed565b60405180910390a3600190509392505050565b60008183611a4091906124df565b905092915050565b6001600f60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a8057611a7f612539565b5b604051908082528060200260200182016040528015611aae5781602001602082028036833780820191505090505b5090503081600081518110611ac657611ac5612568565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9191906125ac565b81600181518110611ba557611ba4612568565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94760075460008430426040518663ffffffff1660e01b8152600401611c459594939291906126d2565b600060405180830381600087803b158015611c5f57600080fd5b505af1158015611c73573d6000803e3d6000fd5b5050505060004790506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051611cc8906123b1565b600060405180830381858888f193505050503d8060008114611d06576040519150601f19603f3d011682016040523d82523d6000602084013e611d0b565b606091505b5050905080611d1957600080fd5b7fafe8025042fe09457744b5a74c64737289309ac0970116f6efcebcb38b4dc59182604051611d489190611fed565b60405180910390a15050506000600f60146101000a81548160ff021916908315150217905550565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d9b82611d70565b9050919050565b611dab81611d90565b82525050565b6000602082019050611dc66000830184611da2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e06578082015181840152602081019050611deb565b83811115611e15576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e3782611dcc565b611e418185611dd7565b9350611e51818560208601611de8565b611e5a81611e1b565b840191505092915050565b60006020820190508181036000830152611e7f8184611e2c565b905092915050565b600080fd5b611e9581611d90565b8114611ea057600080fd5b50565b600081359050611eb281611e8c565b92915050565b6000819050919050565b611ecb81611eb8565b8114611ed657600080fd5b50565b600081359050611ee881611ec2565b92915050565b60008060408385031215611f0557611f04611e87565b5b6000611f1385828601611ea3565b9250506020611f2485828601611ed9565b9150509250929050565b60008115159050919050565b611f4381611f2e565b82525050565b6000602082019050611f5e6000830184611f3a565b92915050565b6000819050919050565b6000611f89611f84611f7f84611d70565b611f64565b611d70565b9050919050565b6000611f9b82611f6e565b9050919050565b6000611fad82611f90565b9050919050565b611fbd81611fa2565b82525050565b6000602082019050611fd86000830184611fb4565b92915050565b611fe781611eb8565b82525050565b60006020820190506120026000830184611fde565b92915050565b60008060006060848603121561202157612020611e87565b5b600061202f86828701611ea3565b935050602061204086828701611ea3565b925050604061205186828701611ed9565b9150509250925092565b600060ff82169050919050565b6120718161205b565b82525050565b600060208201905061208c6000830184612068565b92915050565b600061209d82611d70565b9050919050565b6120ad81612092565b81146120b857600080fd5b50565b6000813590506120ca816120a4565b92915050565b6000602082840312156120e6576120e5611e87565b5b60006120f4848285016120bb565b91505092915050565b60006020828403121561211357612112611e87565b5b600061212184828501611ea3565b91505092915050565b61213381611f2e565b811461213e57600080fd5b50565b6000813590506121508161212a565b92915050565b6000806040838503121561216d5761216c611e87565b5b600061217b85828601611ea3565b925050602061218c85828601612141565b9150509250929050565b600080604083850312156121ad576121ac611e87565b5b60006121bb85828601611ea3565b92505060206121cc85828601611ea3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061221d57607f821691505b60208210811415612231576122306121d6565b5b50919050565b600061224282611f90565b9050919050565b61225281612237565b82525050565b600060208201905061226d6000830184612249565b92915050565b60008151905061228281611ec2565b92915050565b60006020828403121561229e5761229d611e87565b5b60006122ac84828501612273565b91505092915050565b60006060820190506122ca6000830186611da2565b6122d76020830185611da2565b6122e46040830184611fde565b949350505050565b6000815190506122fb8161212a565b92915050565b60006020828403121561231757612316611e87565b5b6000612325848285016122ec565b91505092915050565b60006040820190506123436000830185611da2565b6123506020830184611fde565b9392505050565b600060408201905061236c6000830185611da2565b6123796020830184611f3a565b9392505050565b600081905092915050565b50565b600061239b600083612380565b91506123a68261238b565b600082019050919050565b60006123bc8261238e565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061242f82611eb8565b915061243a83611eb8565b92508261244a576124496123c6565b5b828204905092915050565b600061246082611eb8565b915061246b83611eb8565b92508282101561247e5761247d6123f5565b5b828203905092915050565b600061249482611eb8565b915061249f83611eb8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124d4576124d36123f5565b5b828201905092915050565b60006124ea82611eb8565b91506124f583611eb8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561252e5761252d6123f5565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506125a681611e8c565b92915050565b6000602082840312156125c2576125c1611e87565b5b60006125d084828501612597565b91505092915050565b6000819050919050565b60006125fe6125f96125f4846125d9565b611f64565b611eb8565b9050919050565b61260e816125e3565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61264981611d90565b82525050565b600061265b8383612640565b60208301905092915050565b6000602082019050919050565b600061267f82612614565b612689818561261f565b935061269483612630565b8060005b838110156126c55781516126ac888261264f565b97506126b783612667565b925050600181019050612698565b5085935050505092915050565b600060a0820190506126e76000830188611fde565b6126f46020830187612605565b81810360408301526127068186612674565b90506127156060830185611da2565b6127226080830184611fde565b969550505050505056fea26469706673582212206d358885890c9ddef35903ec5ad07a7e13339c391ff0362792b730fe76b0951d64736f6c634300080c0033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063785ffb37116100b6578063c2b7bbb61161006f578063c2b7bbb614610447578063c9567bf914610470578063cebbf2f514610487578063dd62ed3e146104b2578063f2fde38b146104ef578063f88de0c3146105185761014b565b8063785ffb37146103495780638da5cb5b146103745780638fd3ab801461039f57806395d89b41146103b65780639fde54f5146103e1578063a9059cbb1461040a5761014b565b806323b872dd1161010857806323b872dd14610239578063313ce5671461027657806349bd5a5e146102a15780634c5be309146102cc5780635d098b38146102e357806370a082311461030c5761014b565b806303fd2a451461015057806306fdde031461017b578063095ea7b3146101a65780631694505e146101e357806318160ddd1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b5061016561052f565b6040516101729190611db1565b60405180910390f35b34801561018757600080fd5b50610190610555565b60405161019d9190611e65565b60405180910390f35b3480156101b257600080fd5b506101cd60048036038101906101c89190611eee565b6105e3565b6040516101da9190611f49565b60405180910390f35b3480156101ef57600080fd5b506101f86106d5565b6040516102059190611fc3565b60405180910390f35b34801561021a57600080fd5b506102236106fb565b6040516102309190611fed565b60405180910390f35b34801561024557600080fd5b50610260600480360381019061025b9190612008565b610701565b60405161026d9190611f49565b60405180910390f35b34801561028257600080fd5b5061028b610854565b6040516102989190612077565b60405180910390f35b3480156102ad57600080fd5b506102b6610867565b6040516102c39190611db1565b60405180910390f35b3480156102d857600080fd5b506102e161088d565b005b3480156102ef57600080fd5b5061030a600480360381019061030591906120d0565b6109bd565b005b34801561031857600080fd5b50610333600480360381019061032e91906120fd565b610a92565b6040516103409190611fed565b60405180910390f35b34801561035557600080fd5b5061035e610aaa565b60405161036b9190611fed565b60405180910390f35b34801561038057600080fd5b50610389610ab0565b6040516103969190611db1565b60405180910390f35b3480156103ab57600080fd5b506103b4610ada565b005b3480156103c257600080fd5b506103cb610ca1565b6040516103d89190611e65565b60405180910390f35b3480156103ed57600080fd5b5061040860048036038101906104039190612156565b610d2f565b005b34801561041657600080fd5b50610431600480360381019061042c9190611eee565b610e1d565b60405161043e9190611f49565b60405180910390f35b34801561045357600080fd5b5061046e600480360381019061046991906120fd565b610e32565b005b34801561047c57600080fd5b50610485610f7e565b005b34801561049357600080fd5b5061049c61103b565b6040516104a99190611db1565b60405180910390f35b3480156104be57600080fd5b506104d960048036038101906104d49190612196565b611061565b6040516104e69190611fed565b60405180910390f35b3480156104fb57600080fd5b50610516600480360381019061051191906120fd565b611086565b005b34801561052457600080fd5b5061052d61122d565b005b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000805461056290612205565b80601f016020809104026020016040519081016040528092919081815260200182805461058e90612205565b80156105db5780601f106105b0576101008083540402835291602001916105db565b820191906000526020600020905b8154815290600101906020018083116105be57829003601f168201915b505050505081565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106c39190611fed565b60405180910390a36001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b600080600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81101561083f576107be838261134890919063ffffffff16565b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61084a858585611374565b9150509392505050565b600260009054906101000a900460ff1681565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e757600080fd5b60011515600f60169054906101000a900460ff1615151461090757600080fd5b6000600f60166101000a81548160ff02191690831515021790555061098e30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117ec565b507f067c3fea2c16a6c048ae1f0e6ded5e7f39992dd7e10059d439bd24d420399cdf60405160405180910390a1565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a1757600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1d5165cf8e89286f2d38f9d17d4f9b30a4197d38fd9dafde1d3bf78dbc7e49f081604051610a879190612258565b60405180910390a150565b60096020528060005260406000206000915090505481565b60075481565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f60169054906101000a900460ff16610af357600080fd5b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401610b559190611db1565b602060405180830381865afa158015610b72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b969190612288565b905060008111610ba557600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166323b872dd33600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401610c04939291906122b5565b6020604051808303816000875af1158015610c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c479190612301565b610c5057600080fd5b610c5b3033836117ec565b610c6457600080fd5b7fa59785389b00cbd19745afbe8d59b28e3161395c6b1e3525861a2b0dede0b90d3382604051610c9592919061232e565b60405180910390a15050565b60018054610cae90612205565b80601f0160208091040260200160405190810160405280929190818152602001828054610cda90612205565b8015610d275780601f10610cfc57610100808354040283529160200191610d27565b820191906000526020600020905b815481529060010190602001808311610d0a57829003601f168201915b505050505081565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d8957600080fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fc90df5e038d52a2e202436856510a2351d9053ca97a27a3a1012392d4170bcce8282604051610e11929190612357565b60405180910390a15050565b6000610e2a338484611374565b905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e8c57600080fd5b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055610eec57600080fd5b6001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f84f21453a36d947225b71844083d0755a7939b6c09162d5ced65f7cc0ac9d42c81604051610f739190611db1565b60405180910390a150565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fd857600080fd5b6001600f60156101000a81548160ff0219169083151502179055507f1f600db0df6d805ecdba9e86fb22102b65e03ebd7311928418efa609804ddcf7600f60159054906101000a900460ff166040516110319190611f49565b60405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a602052816000526040600020602052806000526040600020600091509150505481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110e057600080fd5b6000600c6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fcfaaa26691e16e66e73290fc725eee1a6b4e0e693a1640484937aac25ffb55a4816040516112229190611db1565b60405180910390a150565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461128757600080fd5b6000479050600081111561132f576000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516112dd906123b1565b60006040518083038185875af1925050503d806000811461131a576040519150601f19603f3d011682016040523d82523d6000602084013e61131f565b606091505b505090508061132d57600080fd5b505b50565b600081836113409190612424565b905092915050565b600081836113569190612455565b905092915050565b6000818361136c9190612489565b905092915050565b6000600f60149054906101000a900460ff16806113da5750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061142e5750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156114455761143e8484846117ec565b90506117e5565b600f60159054906101000a900460ff1661145e57600080fd5b6000806000600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691509150818061150a5750805b1561154a576115476064611539600860009054906101000a900460ff1660ff1688611a3290919063ffffffff16565b61133290919063ffffffff16565b92505b600754600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611599575081155b156115a7576115a6611a48565b5b6115f983600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461135e90919063ffffffff16565b600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061168e85600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134890919063ffffffff16565b600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117356116e7848761134890919063ffffffff16565b600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461135e90919063ffffffff16565b600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516117d59190611fed565b60405180910390a3600193505050505b9392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146118bb5761187382600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461134890919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118d7565b6118d08260035461135e90919063ffffffff16565b6003819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561192c576119218260035461134890919063ffffffff16565b6003819055506119c2565b61197e82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461135e90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a1f9190611fed565b60405180910390a3600190509392505050565b60008183611a4091906124df565b905092915050565b6001600f60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a8057611a7f612539565b5b604051908082528060200260200182016040528015611aae5781602001602082028036833780820191505090505b5090503081600081518110611ac657611ac5612568565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9191906125ac565b81600181518110611ba557611ba4612568565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94760075460008430426040518663ffffffff1660e01b8152600401611c459594939291906126d2565b600060405180830381600087803b158015611c5f57600080fd5b505af1158015611c73573d6000803e3d6000fd5b5050505060004790506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051611cc8906123b1565b600060405180830381858888f193505050503d8060008114611d06576040519150601f19603f3d011682016040523d82523d6000602084013e611d0b565b606091505b5050905080611d1957600080fd5b7fafe8025042fe09457744b5a74c64737289309ac0970116f6efcebcb38b4dc59182604051611d489190611fed565b60405180910390a15050506000600f60146101000a81548160ff021916908315150217905550565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d9b82611d70565b9050919050565b611dab81611d90565b82525050565b6000602082019050611dc66000830184611da2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e06578082015181840152602081019050611deb565b83811115611e15576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e3782611dcc565b611e418185611dd7565b9350611e51818560208601611de8565b611e5a81611e1b565b840191505092915050565b60006020820190508181036000830152611e7f8184611e2c565b905092915050565b600080fd5b611e9581611d90565b8114611ea057600080fd5b50565b600081359050611eb281611e8c565b92915050565b6000819050919050565b611ecb81611eb8565b8114611ed657600080fd5b50565b600081359050611ee881611ec2565b92915050565b60008060408385031215611f0557611f04611e87565b5b6000611f1385828601611ea3565b9250506020611f2485828601611ed9565b9150509250929050565b60008115159050919050565b611f4381611f2e565b82525050565b6000602082019050611f5e6000830184611f3a565b92915050565b6000819050919050565b6000611f89611f84611f7f84611d70565b611f64565b611d70565b9050919050565b6000611f9b82611f6e565b9050919050565b6000611fad82611f90565b9050919050565b611fbd81611fa2565b82525050565b6000602082019050611fd86000830184611fb4565b92915050565b611fe781611eb8565b82525050565b60006020820190506120026000830184611fde565b92915050565b60008060006060848603121561202157612020611e87565b5b600061202f86828701611ea3565b935050602061204086828701611ea3565b925050604061205186828701611ed9565b9150509250925092565b600060ff82169050919050565b6120718161205b565b82525050565b600060208201905061208c6000830184612068565b92915050565b600061209d82611d70565b9050919050565b6120ad81612092565b81146120b857600080fd5b50565b6000813590506120ca816120a4565b92915050565b6000602082840312156120e6576120e5611e87565b5b60006120f4848285016120bb565b91505092915050565b60006020828403121561211357612112611e87565b5b600061212184828501611ea3565b91505092915050565b61213381611f2e565b811461213e57600080fd5b50565b6000813590506121508161212a565b92915050565b6000806040838503121561216d5761216c611e87565b5b600061217b85828601611ea3565b925050602061218c85828601612141565b9150509250929050565b600080604083850312156121ad576121ac611e87565b5b60006121bb85828601611ea3565b92505060206121cc85828601611ea3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061221d57607f821691505b60208210811415612231576122306121d6565b5b50919050565b600061224282611f90565b9050919050565b61225281612237565b82525050565b600060208201905061226d6000830184612249565b92915050565b60008151905061228281611ec2565b92915050565b60006020828403121561229e5761229d611e87565b5b60006122ac84828501612273565b91505092915050565b60006060820190506122ca6000830186611da2565b6122d76020830185611da2565b6122e46040830184611fde565b949350505050565b6000815190506122fb8161212a565b92915050565b60006020828403121561231757612316611e87565b5b6000612325848285016122ec565b91505092915050565b60006040820190506123436000830185611da2565b6123506020830184611fde565b9392505050565b600060408201905061236c6000830185611da2565b6123796020830184611f3a565b9392505050565b600081905092915050565b50565b600061239b600083612380565b91506123a68261238b565b600082019050919050565b60006123bc8261238e565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061242f82611eb8565b915061243a83611eb8565b92508261244a576124496123c6565b5b828204905092915050565b600061246082611eb8565b915061246b83611eb8565b92508282101561247e5761247d6123f5565b5b828203905092915050565b600061249482611eb8565b915061249f83611eb8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124d4576124d36123f5565b5b828201905092915050565b60006124ea82611eb8565b91506124f583611eb8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561252e5761252d6123f5565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506125a681611e8c565b92915050565b6000602082840312156125c2576125c1611e87565b5b60006125d084828501612597565b91505092915050565b6000819050919050565b60006125fe6125f96125f4846125d9565b611f64565b611eb8565b9050919050565b61260e816125e3565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61264981611d90565b82525050565b600061265b8383612640565b60208301905092915050565b6000602082019050919050565b600061267f82612614565b612689818561261f565b935061269483612630565b8060005b838110156126c55781516126ac888261264f565b97506126b783612667565b925050600181019050612698565b5085935050505092915050565b600060a0820190506126e76000830188611fde565b6126f46020830187612605565b81810360408301526127068186612674565b90506127156060830185611da2565b6127226080830184611fde565b969550505050505056fea26469706673582212206d358885890c9ddef35903ec5ad07a7e13339c391ff0362792b730fe76b0951d64736f6c634300080c0033

Deployed Bytecode Sourcemap

11705:7237:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12041:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11807:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14195:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12535:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11915:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14631:398;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11883:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12583:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18589:221;;;;;;;;;;;;;:::i;:::-;;17064:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12286:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12207:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14106:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18168:413;;;;;;;;;;;;;:::i;:::-;;11846:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17812:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14449:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17987:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18818:119;;;;;;;;;;;;;:::i;:::-;;11950:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12337:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17264:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17490:314;;;;;;;;;;;;;:::i;:::-;;12041:64;;;;;;;;;;;;;:::o;11807:32::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14195:246::-;14297:4;14352:6;14319:9;:21;14329:10;14319:21;;;;;;;;;;;;;;;:30;14341:7;14319:30;;;;;;;;;;;;;;;:39;;;;14395:7;14374:37;;14383:10;14374:37;;;14404:6;14374:37;;;;;;:::i;:::-;;;;;;;;14429:4;14422:11;;14195:246;;;;:::o;12535:41::-;;;;;;;;;;;;;:::o;11915:26::-;;;;:::o;14631:398::-;14756:4;14773:26;14802:9;:15;14812:4;14802:15;;;;;;;;;;;;;;;:27;14818:10;14802:27;;;;;;;;;;;;;;;;14773:56;;14865:17;14844:18;:38;14840:131;;;14929:30;14952:6;14929:18;:22;;:30;;;;:::i;:::-;14899:9;:15;14909:4;14899:15;;;;;;;;;;;;;;;:27;14915:10;14899:27;;;;;;;;;;;;;;;:60;;;;14840:131;14990:31;15004:4;15010:2;15014:6;14990:13;:31::i;:::-;14983:38;;;14631:398;;;;;:::o;11883:25::-;;;;;;;;;;;;;:::o;12583:28::-;;;;;;;;;;;;;:::o;18589:221::-;13959:6;;;;;;;;;;;13945:20;;:10;:20;;;13937:29;;;;;;18667:4:::1;18650:21;;:13;;;;;;;;;;;:21;;;18642:30;;;::::0;::::1;;18699:5;18683:13;;:21;;;;;;;;;;;;;;;;;;18715:56;18731:4;18738:6;;;;;;;;;;;18746:9;:24;18764:4;18746:24;;;;;;;;;;;;;;;;18715:7;:56::i;:::-;;18789:13;;;;;;;;;;18589:221::o:0;17064:192::-;13959:6;;;;;;;;;;;13945:20;;:10;:20;;;13937:29;;;;;;17176:18:::1;17158:15;;:36;;;;;;;;;;;;;;;;;;17210:38;17229:18;17210:38;;;;;;:::i;:::-;;;;;;;;17064:192:::0;:::o;12286:44::-;;;;;;;;;;;;;;;;;:::o;12207:24::-;;;;:::o;14106:81::-;14146:7;14173:6;;;;;;;;;;;14166:13;;14106:81;:::o;18168:413::-;18215:13;;;;;;;;;;;18207:22;;;;;;18244:15;18269;;;;;;;;;;;18244:41;;18298:18;18319:8;:18;;;18338:10;18319:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18298:51;;18383:1;18370:10;:14;18362:23;;;;;;18404:8;:21;;;18426:10;18438:6;;;;;;;;;;;18446:10;18404:53;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18396:62;;;;;;18479:46;18495:4;18502:10;18514;18479:7;:46::i;:::-;18471:55;;;;;;18542:31;18550:10;18562;18542:31;;;;;;;:::i;:::-;;;;;;;;18196:385;;18168:413::o;11846:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17812:167::-;13959:6;;;;;;;;;;;13945:20;;:10;:20;;;13937:29;;;;;;17916:9:::1;17895:8;:18;17904:8;17895:18;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;17941;17951:8;17961:9;17941:30;;;;;;;:::i;:::-;;;;;;;;17812:167:::0;;:::o;14449:174::-;14549:4;14578:37;14592:10;14604:2;14608:6;14578:13;:37::i;:::-;14571:44;;14449:174;;;;:::o;17987:173::-;13959:6;;;;;;;;;;;13945:20;;:10;:20;;;13937:29;;;;;;18079:5:::1;18060:6;:16;18067:8;18060:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;18052:33;;;::::0;::::1;;18115:4;18096:6;:16;18103:8;18096:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;18135:17;18143:8;18135:17;;;;;;:::i;:::-;;;;;;;;17987:173:::0;:::o;18818:119::-;13959:6;;;;;;;;;;;13945:20;;:10;:20;;;13937:29;;;;;;18885:4:::1;18871:11;;:18;;;;;;;;;;;;;;;;;;18905:24;18917:11;;;;;;;;;;;18905:24;;;;;;:::i;:::-;;;;;;;;18818:119::o:0;11950:75::-;;;;;;;;;;;;;:::o;12337:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17264:218::-;13959:6;;;;;;;;;;;13945:20;;:10;:20;;;13937:29;;;;;;17359:5:::1;17340:8;:16;17349:6;;;;;;;;;;;17340:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;17384:9;17375:6;;:18;;;;;;;;;;;;;;;;;;17426:4;17404:8;:19;17413:9;17404:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;17446:28;17464:9;17446:28;;;;;;:::i;:::-;;;;;;;;17264:218:::0;:::o;17490:314::-;13959:6;;;;;;;;;;;13945:20;;:10;:20;;;13937:29;;;;;;17545:26:::1;17574:21;17545:50;;17631:1;17610:18;:22;17606:191;;;17650:9;17673:15;;;;;;;;;;;17665:29;;17720:18;17665:92;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17649:108;;;17780:4;17772:13;;;::::0;::::1;;17634:163;17606:191;17534:270;17490:314::o:0;6784:98::-;6842:7;6873:1;6869;:5;;;;:::i;:::-;6862:12;;6784:98;;;;:::o;6028:::-;6086:7;6117:1;6113;:5;;;;:::i;:::-;6106:12;;6028:98;;;;:::o;5647:::-;5705:7;5736:1;5732;:5;;;;:::i;:::-;5725:12;;5647:98;;;;:::o;15037:846::-;15119:4;15142:11;;;;;;;;;;;:29;;;;15157:8;:14;15166:4;15157:14;;;;;;;;;;;;;;;;;;;;;;;;;15142:29;:45;;;;15175:8;:12;15184:2;15175:12;;;;;;;;;;;;;;;;;;;;;;;;;15142:45;15138:110;;;15211:25;15219:4;15225:2;15229:6;15211:7;:25::i;:::-;15204:32;;;;15138:110;15268:11;;;;;;;;;;;15260:20;;;;;;15293;15327:13;15342:11;15358:6;:12;15365:4;15358:12;;;;;;;;;;;;;;;;;;;;;;;;;15372:6;:10;15379:2;15372:10;;;;;;;;;;;;;;;;;;;;;;;;;15326:57;;;;15400:8;:18;;;;15412:6;15400:18;15396:99;;;15450:33;15479:3;15450:24;15461:12;;;;;;;;;;;15450:24;;:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;15435:48;;15396:99;15539:9;;15511;:24;15529:4;15511:24;;;;;;;;;;;;;;;;:37;;:50;;;;;15553:8;15552:9;15511:50;15507:95;;;15578:12;:10;:12::i;:::-;15507:95;15641:42;15670:12;15641:9;:24;15659:4;15641:24;;;;;;;;;;;;;;;;:28;;:42;;;;:::i;:::-;15614:9;:24;15632:4;15614:24;;;;;;;;;;;;;;;:69;;;;15712:27;15732:6;15712:9;:15;15722:4;15712:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;15694:9;:15;15704:4;15694:15;;;;;;;;;;;;;;;:45;;;;15766:43;15784:24;15795:12;15784:6;:10;;:24;;;;:::i;:::-;15766:9;:13;15776:2;15766:13;;;;;;;;;;;;;;;;:17;;:43;;;;:::i;:::-;15750:9;:13;15760:2;15750:13;;;;;;;;;;;;;;;:59;;;;15842:2;15827:26;;15836:4;15827:26;;;15846:6;15827:26;;;;;;:::i;:::-;;;;;;;;15871:4;15864:11;;;;;15037:846;;;;;;:::o;15891:534::-;16001:4;16038:1;16022:18;;:4;:18;;;16018:166;;16075:27;16095:6;16075:9;:15;16085:4;16075:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;16057:9;:15;16067:4;16057:15;;;;;;;;;;;;;;;:45;;;;16018:166;;;16149:23;16165:6;16149:11;;:15;;:23;;;;:::i;:::-;16135:11;:37;;;;16018:166;16212:1;16198:16;;:2;:16;;;16194:160;;;16245:23;16261:6;16245:11;;:15;;:23;;;;:::i;:::-;16231:11;:37;;;;16194:160;;;16317:25;16335:6;16317:9;:13;16327:2;16317:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;16301:9;:13;16311:2;16301:13;;;;;;;;;;;;;;;:41;;;;16194:160;16384:2;16369:26;;16378:4;16369:26;;;16388:6;16369:26;;;;;;:::i;:::-;;;;;;;;16413:4;16406:11;;15891:534;;;;;:::o;6385:98::-;6443:7;6474:1;6470;:5;;;;:::i;:::-;6463:12;;6385:98;;;;:::o;16433:621::-;14044:4;14030:11;;:18;;;;;;;;;;;;;;;;;;16492:21:::1;16530:1;16516:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16492:40;;16561:4;16543;16548:1;16543:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;16587:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16577:4;16582:1;16577:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;16622:15;;;;;;;;;;;:66;;;16703:9;;16727:1;16743:4;16770;16790:15;16622:198;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16833:23;16859:21;16833:47;;16894:9;16917:15;;;;;;;;;;;16909:29;;16946:15;16968:5;16909:69;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16893:85;;;16997:4;16989:13;;;::::0;::::1;;17020:26;17030:15;17020:26;;;;;;:::i;:::-;;;;;;;;16477:577;;;14085:5:::0;14071:11;;:19;;;;;;;;;;;;;;;;;;16433:621::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:99::-;645:6;679:5;673:12;663:22;;593:99;;;:::o;698:169::-;782:11;816:6;811:3;804:19;856:4;851:3;847:14;832:29;;698:169;;;;:::o;873:307::-;941:1;951:113;965:6;962:1;959:13;951:113;;;1050:1;1045:3;1041:11;1035:18;1031:1;1026:3;1022:11;1015:39;987:2;984:1;980:10;975:15;;951:113;;;1082:6;1079:1;1076:13;1073:101;;;1162:1;1153:6;1148:3;1144:16;1137:27;1073:101;922:258;873:307;;;:::o;1186:102::-;1227:6;1278:2;1274:7;1269:2;1262:5;1258:14;1254:28;1244:38;;1186:102;;;:::o;1294:364::-;1382:3;1410:39;1443:5;1410:39;:::i;:::-;1465:71;1529:6;1524:3;1465:71;:::i;:::-;1458:78;;1545:52;1590:6;1585:3;1578:4;1571:5;1567:16;1545:52;:::i;:::-;1622:29;1644:6;1622:29;:::i;:::-;1617:3;1613:39;1606:46;;1386:272;1294:364;;;;:::o;1664:313::-;1777:4;1815:2;1804:9;1800:18;1792:26;;1864:9;1858:4;1854:20;1850:1;1839:9;1835:17;1828:47;1892:78;1965:4;1956:6;1892:78;:::i;:::-;1884:86;;1664:313;;;;:::o;2064:117::-;2173:1;2170;2163:12;2310:122;2383:24;2401:5;2383:24;:::i;:::-;2376:5;2373:35;2363:63;;2422:1;2419;2412:12;2363:63;2310:122;:::o;2438:139::-;2484:5;2522:6;2509:20;2500:29;;2538:33;2565:5;2538:33;:::i;:::-;2438:139;;;;:::o;2583:77::-;2620:7;2649:5;2638:16;;2583:77;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:60::-;3874:3;3895:5;3888:12;;3846:60;;;:::o;3912:142::-;3962:9;3995:53;4013:34;4022:24;4040:5;4022:24;:::i;:::-;4013:34;:::i;:::-;3995:53;:::i;:::-;3982:66;;3912:142;;;:::o;4060:126::-;4110:9;4143:37;4174:5;4143:37;:::i;:::-;4130:50;;4060:126;;;:::o;4192:152::-;4268:9;4301:37;4332:5;4301:37;:::i;:::-;4288:50;;4192:152;;;:::o;4350:183::-;4463:63;4520:5;4463:63;:::i;:::-;4458:3;4451:76;4350:183;;:::o;4539:274::-;4658:4;4696:2;4685:9;4681:18;4673:26;;4709:97;4803:1;4792:9;4788:17;4779:6;4709:97;:::i;:::-;4539:274;;;;:::o;4819:118::-;4906:24;4924:5;4906:24;:::i;:::-;4901:3;4894:37;4819:118;;:::o;4943:222::-;5036:4;5074:2;5063:9;5059:18;5051:26;;5087:71;5155:1;5144:9;5140:17;5131:6;5087:71;:::i;:::-;4943:222;;;;:::o;5171:619::-;5248:6;5256;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5694:2;5720:53;5765:7;5756:6;5745:9;5741:22;5720:53;:::i;:::-;5710:63;;5665:118;5171:619;;;;;:::o;5796:86::-;5831:7;5871:4;5864:5;5860:16;5849:27;;5796:86;;;:::o;5888:112::-;5971:22;5987:5;5971:22;:::i;:::-;5966:3;5959:35;5888:112;;:::o;6006:214::-;6095:4;6133:2;6122:9;6118:18;6110:26;;6146:67;6210:1;6199:9;6195:17;6186:6;6146:67;:::i;:::-;6006:214;;;;:::o;6226:104::-;6271:7;6300:24;6318:5;6300:24;:::i;:::-;6289:35;;6226:104;;;:::o;6336:138::-;6417:32;6443:5;6417:32;:::i;:::-;6410:5;6407:43;6397:71;;6464:1;6461;6454:12;6397:71;6336:138;:::o;6480:155::-;6534:5;6572:6;6559:20;6550:29;;6588:41;6623:5;6588:41;:::i;:::-;6480:155;;;;:::o;6641:345::-;6708:6;6757:2;6745:9;6736:7;6732:23;6728:32;6725:119;;;6763:79;;:::i;:::-;6725:119;6883:1;6908:61;6961:7;6952:6;6941:9;6937:22;6908:61;:::i;:::-;6898:71;;6854:125;6641:345;;;;:::o;6992:329::-;7051:6;7100:2;7088:9;7079:7;7075:23;7071:32;7068:119;;;7106:79;;:::i;:::-;7068:119;7226:1;7251:53;7296:7;7287:6;7276:9;7272:22;7251:53;:::i;:::-;7241:63;;7197:117;6992:329;;;;:::o;7327:116::-;7397:21;7412:5;7397:21;:::i;:::-;7390:5;7387:32;7377:60;;7433:1;7430;7423:12;7377:60;7327:116;:::o;7449:133::-;7492:5;7530:6;7517:20;7508:29;;7546:30;7570:5;7546:30;:::i;:::-;7449:133;;;;:::o;7588:468::-;7653:6;7661;7710:2;7698:9;7689:7;7685:23;7681:32;7678:119;;;7716:79;;:::i;:::-;7678:119;7836:1;7861:53;7906:7;7897:6;7886:9;7882:22;7861:53;:::i;:::-;7851:63;;7807:117;7963:2;7989:50;8031:7;8022:6;8011:9;8007:22;7989:50;:::i;:::-;7979:60;;7934:115;7588:468;;;;;:::o;8062:474::-;8130:6;8138;8187:2;8175:9;8166:7;8162:23;8158:32;8155:119;;;8193:79;;:::i;:::-;8155:119;8313:1;8338:53;8383:7;8374:6;8363:9;8359:22;8338:53;:::i;:::-;8328:63;;8284:117;8440:2;8466:53;8511:7;8502:6;8491:9;8487:22;8466:53;:::i;:::-;8456:63;;8411:118;8062:474;;;;;:::o;8542:180::-;8590:77;8587:1;8580:88;8687:4;8684:1;8677:15;8711:4;8708:1;8701:15;8728:320;8772:6;8809:1;8803:4;8799:12;8789:22;;8856:1;8850:4;8846:12;8877:18;8867:81;;8933:4;8925:6;8921:17;8911:27;;8867:81;8995:2;8987:6;8984:14;8964:18;8961:38;8958:84;;;9014:18;;:::i;:::-;8958:84;8779:269;8728:320;;;:::o;9054:134::-;9112:9;9145:37;9176:5;9145:37;:::i;:::-;9132:50;;9054:134;;;:::o;9194:147::-;9289:45;9328:5;9289:45;:::i;:::-;9284:3;9277:58;9194:147;;:::o;9347:238::-;9448:4;9486:2;9475:9;9471:18;9463:26;;9499:79;9575:1;9564:9;9560:17;9551:6;9499:79;:::i;:::-;9347:238;;;;:::o;9591:143::-;9648:5;9679:6;9673:13;9664:22;;9695:33;9722:5;9695:33;:::i;:::-;9591:143;;;;:::o;9740:351::-;9810:6;9859:2;9847:9;9838:7;9834:23;9830:32;9827:119;;;9865:79;;:::i;:::-;9827:119;9985:1;10010:64;10066:7;10057:6;10046:9;10042:22;10010:64;:::i;:::-;10000:74;;9956:128;9740:351;;;;:::o;10097:442::-;10246:4;10284:2;10273:9;10269:18;10261:26;;10297:71;10365:1;10354:9;10350:17;10341:6;10297:71;:::i;:::-;10378:72;10446:2;10435:9;10431:18;10422:6;10378:72;:::i;:::-;10460;10528:2;10517:9;10513:18;10504:6;10460:72;:::i;:::-;10097:442;;;;;;:::o;10545:137::-;10599:5;10630:6;10624:13;10615:22;;10646:30;10670:5;10646:30;:::i;:::-;10545:137;;;;:::o;10688:345::-;10755:6;10804:2;10792:9;10783:7;10779:23;10775:32;10772:119;;;10810:79;;:::i;:::-;10772:119;10930:1;10955:61;11008:7;10999:6;10988:9;10984:22;10955:61;:::i;:::-;10945:71;;10901:125;10688:345;;;;:::o;11039:332::-;11160:4;11198:2;11187:9;11183:18;11175:26;;11211:71;11279:1;11268:9;11264:17;11255:6;11211:71;:::i;:::-;11292:72;11360:2;11349:9;11345:18;11336:6;11292:72;:::i;:::-;11039:332;;;;;:::o;11377:320::-;11492:4;11530:2;11519:9;11515:18;11507:26;;11543:71;11611:1;11600:9;11596:17;11587:6;11543:71;:::i;:::-;11624:66;11686:2;11675:9;11671:18;11662:6;11624:66;:::i;:::-;11377:320;;;;;:::o;11703:147::-;11804:11;11841:3;11826:18;;11703:147;;;;:::o;11856:114::-;;:::o;11976:398::-;12135:3;12156:83;12237:1;12232:3;12156:83;:::i;:::-;12149:90;;12248:93;12337:3;12248:93;:::i;:::-;12366:1;12361:3;12357:11;12350:18;;11976:398;;;:::o;12380:379::-;12564:3;12586:147;12729:3;12586:147;:::i;:::-;12579:154;;12750:3;12743:10;;12380:379;;;:::o;12765:180::-;12813:77;12810:1;12803:88;12910:4;12907:1;12900:15;12934:4;12931:1;12924:15;12951:180;12999:77;12996:1;12989:88;13096:4;13093:1;13086:15;13120:4;13117:1;13110:15;13137:185;13177:1;13194:20;13212:1;13194:20;:::i;:::-;13189:25;;13228:20;13246:1;13228:20;:::i;:::-;13223:25;;13267:1;13257:35;;13272:18;;:::i;:::-;13257:35;13314:1;13311;13307:9;13302:14;;13137:185;;;;:::o;13328:191::-;13368:4;13388:20;13406:1;13388:20;:::i;:::-;13383:25;;13422:20;13440:1;13422:20;:::i;:::-;13417:25;;13461:1;13458;13455:8;13452:34;;;13466:18;;:::i;:::-;13452:34;13511:1;13508;13504:9;13496:17;;13328:191;;;;:::o;13525:305::-;13565:3;13584:20;13602:1;13584:20;:::i;:::-;13579:25;;13618:20;13636:1;13618:20;:::i;:::-;13613:25;;13772:1;13704:66;13700:74;13697:1;13694:81;13691:107;;;13778:18;;:::i;:::-;13691:107;13822:1;13819;13815:9;13808:16;;13525:305;;;;:::o;13836:348::-;13876:7;13899:20;13917:1;13899:20;:::i;:::-;13894:25;;13933:20;13951:1;13933:20;:::i;:::-;13928:25;;14121:1;14053:66;14049:74;14046:1;14043:81;14038:1;14031:9;14024:17;14020:105;14017:131;;;14128:18;;:::i;:::-;14017:131;14176:1;14173;14169:9;14158:20;;13836:348;;;;:::o;14190:180::-;14238:77;14235:1;14228:88;14335:4;14332:1;14325:15;14359:4;14356:1;14349:15;14376:180;14424:77;14421:1;14414:88;14521:4;14518:1;14511:15;14545:4;14542:1;14535:15;14562:143;14619:5;14650:6;14644:13;14635:22;;14666:33;14693:5;14666:33;:::i;:::-;14562:143;;;;:::o;14711:351::-;14781:6;14830:2;14818:9;14809:7;14805:23;14801:32;14798:119;;;14836:79;;:::i;:::-;14798:119;14956:1;14981:64;15037:7;15028:6;15017:9;15013:22;14981:64;:::i;:::-;14971:74;;14927:128;14711:351;;;;:::o;15068:85::-;15113:7;15142:5;15131:16;;15068:85;;;:::o;15159:158::-;15217:9;15250:61;15268:42;15277:32;15303:5;15277:32;:::i;:::-;15268:42;:::i;:::-;15250:61;:::i;:::-;15237:74;;15159:158;;;:::o;15323:147::-;15418:45;15457:5;15418:45;:::i;:::-;15413:3;15406:58;15323:147;;:::o;15476:114::-;15543:6;15577:5;15571:12;15561:22;;15476:114;;;:::o;15596:184::-;15695:11;15729:6;15724:3;15717:19;15769:4;15764:3;15760:14;15745:29;;15596:184;;;;:::o;15786:132::-;15853:4;15876:3;15868:11;;15906:4;15901:3;15897:14;15889:22;;15786:132;;;:::o;15924:108::-;16001:24;16019:5;16001:24;:::i;:::-;15996:3;15989:37;15924:108;;:::o;16038:179::-;16107:10;16128:46;16170:3;16162:6;16128:46;:::i;:::-;16206:4;16201:3;16197:14;16183:28;;16038:179;;;;:::o;16223:113::-;16293:4;16325;16320:3;16316:14;16308:22;;16223:113;;;:::o;16372:732::-;16491:3;16520:54;16568:5;16520:54;:::i;:::-;16590:86;16669:6;16664:3;16590:86;:::i;:::-;16583:93;;16700:56;16750:5;16700:56;:::i;:::-;16779:7;16810:1;16795:284;16820:6;16817:1;16814:13;16795:284;;;16896:6;16890:13;16923:63;16982:3;16967:13;16923:63;:::i;:::-;16916:70;;17009:60;17062:6;17009:60;:::i;:::-;16999:70;;16855:224;16842:1;16839;16835:9;16830:14;;16795:284;;;16799:14;17095:3;17088:10;;16496:608;;;16372:732;;;;:::o;17110:831::-;17373:4;17411:3;17400:9;17396:19;17388:27;;17425:71;17493:1;17482:9;17478:17;17469:6;17425:71;:::i;:::-;17506:80;17582:2;17571:9;17567:18;17558:6;17506:80;:::i;:::-;17633:9;17627:4;17623:20;17618:2;17607:9;17603:18;17596:48;17661:108;17764:4;17755:6;17661:108;:::i;:::-;17653:116;;17779:72;17847:2;17836:9;17832:18;17823:6;17779:72;:::i;:::-;17861:73;17929:3;17918:9;17914:19;17905:6;17861:73;:::i;:::-;17110:831;;;;;;;;:::o

Swarm Source

ipfs://6d358885890c9ddef35903ec5ad07a7e13339c391ff0362792b730fe76b0951d
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.