ETH Price: $3,603.52 (+5.18%)

Token

Fire Gary Gensler (FIREGENSLER)
 

Overview

Max Total Supply

21,000,000,000 FIREGENSLER

Holders

163

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
commander.savedsouls.eth
Balance
3,243,926.373494319881392785 FIREGENSLER

Value
$0.00
0xa0ef4dd87e90f0c671e2e11c83152da1d1485480
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:
FireGary

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-22
*/

// File @openzeppelin/contracts/utils/[email protected]

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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


// File @openzeppelin/contracts/access/[email protected]


// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


// File @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @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 `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, 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 `sender` to `recipient` 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 sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @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);
}


// File @openzeppelin/contracts/token/ERC20/extensions/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}


// File @openzeppelin/contracts/token/ERC20/[email protected]


// OpenZeppelin Contracts v4.4.0 (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;



/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

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

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

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

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

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

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 contracts/GaryToken.sol



pragma solidity ^0.8.0;


contract FireGary is Ownable, ERC20 {
    uint256 public maxHoldingAmount;
    uint256 public minHoldingAmount;
    uint256 public launchTime;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    constructor(uint256 _totalSupply) ERC20("Fire Gary Gensler", "FIREGENSLER") {
        _mint(msg.sender, (_totalSupply * 1e18));
        launchTime = block.timestamp;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        maxHoldingAmount = totalSupply() * 5 / 1000; //0.5%
        minHoldingAmount = totalSupply() * 1 / 100000; //0.001%
    }

    function limited () internal view returns (bool) {
        return launchTime + 1 hours > block.timestamp;
    }

    function setRule(address _uniswapV2Pair, uint256 _maxHoldingAmount, uint256 _minHoldingAmount) external onlyOwner {
        uniswapV2Pair = _uniswapV2Pair;
        maxHoldingAmount = _maxHoldingAmount;
        minHoldingAmount = _minHoldingAmount;
    }

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

        if (uniswapV2Pair == address(0)) {
            require(from == owner() || to == owner(), "trading is not started");
            return;
        }

        if (limited() && from == uniswapV2Pair) {
            require(super.balanceOf(to) + amount <= maxHoldingAmount && super.balanceOf(to) + amount >= minHoldingAmount, "Forbid");
        }
    }

    function burn(uint256 value) external {
        _burn(msg.sender, value);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV2Pair","type":"address"},{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"},{"internalType":"uint256","name":"_minHoldingAmount","type":"uint256"}],"name":"setRule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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"}]

60806040523480156200001157600080fd5b506040516200312e3803806200312e833981810160405281019062000037919062000919565b6040518060400160405280601181526020017f4669726520476172792047656e736c65720000000000000000000000000000008152506040518060400160405280600b81526020017f4649524547454e534c4552000000000000000000000000000000000000000000815250620000c3620000b7620003c360201b60201c565b620003cb60201b60201c565b8160049081620000d4919062000bbb565b508060059081620000e6919062000bbb565b5050506200011033670de0b6b3a76400008362000104919062000cd1565b6200048f60201b60201c565b42600881905550737a250d5630b4cf539739df2c5dacb4c659f2488d600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001da573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000200919062000d81565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200028a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b0919062000d81565b6040518363ffffffff1660e01b8152600401620002cf92919062000dc4565b6020604051808303816000875af1158015620002ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000315919062000d81565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103e860056200036a6200060860201b60201c565b62000376919062000cd1565b62000382919062000e20565b600681905550620186a060016200039e6200060860201b60201c565b620003aa919062000cd1565b620003b6919062000e20565b6007819055505062001028565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000501576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004f89062000eb9565b60405180910390fd5b62000515600083836200061260201b60201c565b806003600082825462000529919062000edb565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000581919062000edb565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620005e8919062000f27565b60405180910390a362000604600083836200084760201b60201c565b5050565b6000600354905090565b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036200073557620006796200084c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620006ed5750620006be6200084c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6200072f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007269062000f94565b60405180910390fd5b62000842565b620007456200087560201b60201c565b80156200079f5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15620008415760065481620007bf846200089060201b620007ac1760201c565b620007cb919062000edb565b11158015620007fe575060075481620007ef846200089060201b620007ac1760201c565b620007fb919062000edb565b10155b62000840576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008379062001006565b60405180910390fd5b5b5b505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600042610e106008546200088a919062000edb565b11905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080fd5b6000819050919050565b620008f381620008de565b8114620008ff57600080fd5b50565b6000815190506200091381620008e8565b92915050565b600060208284031215620009325762000931620008d9565b5b6000620009428482850162000902565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620009cd57607f821691505b602082108103620009e357620009e262000985565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000a4d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a0e565b62000a59868362000a0e565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000a9c62000a9662000a9084620008de565b62000a71565b620008de565b9050919050565b6000819050919050565b62000ab88362000a7b565b62000ad062000ac78262000aa3565b84845462000a1b565b825550505050565b600090565b62000ae762000ad8565b62000af481848462000aad565b505050565b5b8181101562000b1c5762000b1060008262000add565b60018101905062000afa565b5050565b601f82111562000b6b5762000b3581620009e9565b62000b4084620009fe565b8101602085101562000b50578190505b62000b6862000b5f85620009fe565b83018262000af9565b50505b505050565b600082821c905092915050565b600062000b906000198460080262000b70565b1980831691505092915050565b600062000bab838362000b7d565b9150826002028217905092915050565b62000bc6826200094b565b67ffffffffffffffff81111562000be25762000be162000956565b5b62000bee8254620009b4565b62000bfb82828562000b20565b600060209050601f83116001811462000c33576000841562000c1e578287015190505b62000c2a858262000b9d565b86555062000c9a565b601f19841662000c4386620009e9565b60005b8281101562000c6d5784890151825560018201915060208501945060208101905062000c46565b8683101562000c8d578489015162000c89601f89168262000b7d565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000cde82620008de565b915062000ceb83620008de565b925082820262000cfb81620008de565b9150828204841483151762000d155762000d1462000ca2565b5b5092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d498262000d1c565b9050919050565b62000d5b8162000d3c565b811462000d6757600080fd5b50565b60008151905062000d7b8162000d50565b92915050565b60006020828403121562000d9a5762000d99620008d9565b5b600062000daa8482850162000d6a565b91505092915050565b62000dbe8162000d3c565b82525050565b600060408201905062000ddb600083018562000db3565b62000dea602083018462000db3565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e2d82620008de565b915062000e3a83620008de565b92508262000e4d5762000e4c62000df1565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000ea1601f8362000e58565b915062000eae8262000e69565b602082019050919050565b6000602082019050818103600083015262000ed48162000e92565b9050919050565b600062000ee882620008de565b915062000ef583620008de565b925082820190508082111562000f105762000f0f62000ca2565b5b92915050565b62000f2181620008de565b82525050565b600060208201905062000f3e600083018462000f16565b92915050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600062000f7c60168362000e58565b915062000f898262000f44565b602082019050919050565b6000602082019050818103600083015262000faf8162000f6d565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600062000fee60068362000e58565b915062000ffb8262000fb6565b602082019050919050565b60006020820190508181036000830152620010218162000fdf565b9050919050565b6120f680620010386000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80636ac45fbc116100b85780638da5cb5b1161007c5780638da5cb5b1461032e57806395d89b411461034c578063a457c2d71461036a578063a9059cbb1461039a578063dd62ed3e146103ca578063f2fde38b146103fa57610137565b80636ac45fbc1461029c57806370a08231146102b8578063715018a6146102e8578063790ca413146102f257806389f9a1d31461031057610137565b806323b872dd116100ff57806323b872dd146101e4578063313ce56714610214578063395093511461023257806342966c681461026257806349bd5a5e1461027e57610137565b806306fdde031461013c578063095ea7b31461015a5780631694505e1461018a57806318160ddd146101a85780631ab99e12146101c6575b600080fd5b610144610416565b604051610151919061155b565b60405180910390f35b610174600480360381019061016f9190611616565b6104a8565b6040516101819190611671565b60405180910390f35b6101926104c6565b60405161019f91906116eb565b60405180910390f35b6101b06104ec565b6040516101bd9190611715565b60405180910390f35b6101ce6104f6565b6040516101db9190611715565b60405180910390f35b6101fe60048036038101906101f99190611730565b6104fc565b60405161020b9190611671565b60405180910390f35b61021c6105f4565b604051610229919061179f565b60405180910390f35b61024c60048036038101906102479190611616565b6105fd565b6040516102599190611671565b60405180910390f35b61027c600480360381019061027791906117ba565b6106a9565b005b6102866106b6565b60405161029391906117f6565b60405180910390f35b6102b660048036038101906102b19190611811565b6106dc565b005b6102d260048036038101906102cd9190611864565b6107ac565b6040516102df9190611715565b60405180910390f35b6102f06107f5565b005b6102fa61087d565b6040516103079190611715565b60405180910390f35b610318610883565b6040516103259190611715565b60405180910390f35b610336610889565b60405161034391906117f6565b60405180910390f35b6103546108b2565b604051610361919061155b565b60405180910390f35b610384600480360381019061037f9190611616565b610944565b6040516103919190611671565b60405180910390f35b6103b460048036038101906103af9190611616565b610a2f565b6040516103c19190611671565b60405180910390f35b6103e460048036038101906103df9190611891565b610a4d565b6040516103f19190611715565b60405180910390f35b610414600480360381019061040f9190611864565b610ad4565b005b60606004805461042590611900565b80601f016020809104026020016040519081016040528092919081815260200182805461045190611900565b801561049e5780601f106104735761010080835404028352916020019161049e565b820191906000526020600020905b81548152906001019060200180831161048157829003601f168201915b5050505050905090565b60006104bc6104b5610bcb565b8484610bd3565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600354905090565b60075481565b6000610509848484610d9c565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610554610bcb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cb906119a3565b60405180910390fd5b6105e8856105e0610bcb565b858403610bd3565b60019150509392505050565b60006012905090565b600061069f61060a610bcb565b848460026000610618610bcb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461069a91906119f2565b610bd3565b6001905092915050565b6106b3338261101e565b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6106e4610bcb565b73ffffffffffffffffffffffffffffffffffffffff16610702610889565b73ffffffffffffffffffffffffffffffffffffffff1614610758576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074f90611a72565b60405180910390fd5b82600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160068190555080600781905550505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107fd610bcb565b73ffffffffffffffffffffffffffffffffffffffff1661081b610889565b73ffffffffffffffffffffffffffffffffffffffff1614610871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086890611a72565b60405180910390fd5b61087b60006111f6565b565b60085481565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546108c190611900565b80601f01602080910402602001604051908101604052809291908181526020018280546108ed90611900565b801561093a5780601f1061090f5761010080835404028352916020019161093a565b820191906000526020600020905b81548152906001019060200180831161091d57829003601f168201915b5050505050905090565b60008060026000610953610bcb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0790611b04565b60405180910390fd5b610a24610a1b610bcb565b85858403610bd3565b600191505092915050565b6000610a43610a3c610bcb565b8484610d9c565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610adc610bcb565b73ffffffffffffffffffffffffffffffffffffffff16610afa610889565b73ffffffffffffffffffffffffffffffffffffffff1614610b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4790611a72565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb690611b96565b60405180910390fd5b610bc8816111f6565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3990611c28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca890611cba565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d8f9190611715565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0290611d4c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7190611dde565b60405180910390fd5b610e858383836112ba565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0390611e70565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fa191906119f2565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110059190611715565b60405180910390a36110188484846114ad565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490611f02565b60405180910390fd5b611099826000836112ba565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111790611f94565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546111789190611fb4565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111dd9190611715565b60405180910390a36111f1836000846114ad565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036113c757611318610889565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806113835750611354610889565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b990612034565b60405180910390fd5b6114a8565b6113cf6114b2565b80156114285750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156114a7576006548161143a846107ac565b61144491906119f2565b1115801561146757506007548161145a846107ac565b61146491906119f2565b10155b6114a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149d906120a0565b60405180910390fd5b5b5b505050565b505050565b600042610e106008546114c591906119f2565b11905090565b600081519050919050565b600082825260208201905092915050565b60005b838110156115055780820151818401526020810190506114ea565b60008484015250505050565b6000601f19601f8301169050919050565b600061152d826114cb565b61153781856114d6565b93506115478185602086016114e7565b61155081611511565b840191505092915050565b600060208201905081810360008301526115758184611522565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115ad82611582565b9050919050565b6115bd816115a2565b81146115c857600080fd5b50565b6000813590506115da816115b4565b92915050565b6000819050919050565b6115f3816115e0565b81146115fe57600080fd5b50565b600081359050611610816115ea565b92915050565b6000806040838503121561162d5761162c61157d565b5b600061163b858286016115cb565b925050602061164c85828601611601565b9150509250929050565b60008115159050919050565b61166b81611656565b82525050565b60006020820190506116866000830184611662565b92915050565b6000819050919050565b60006116b16116ac6116a784611582565b61168c565b611582565b9050919050565b60006116c382611696565b9050919050565b60006116d5826116b8565b9050919050565b6116e5816116ca565b82525050565b600060208201905061170060008301846116dc565b92915050565b61170f816115e0565b82525050565b600060208201905061172a6000830184611706565b92915050565b6000806000606084860312156117495761174861157d565b5b6000611757868287016115cb565b9350506020611768868287016115cb565b925050604061177986828701611601565b9150509250925092565b600060ff82169050919050565b61179981611783565b82525050565b60006020820190506117b46000830184611790565b92915050565b6000602082840312156117d0576117cf61157d565b5b60006117de84828501611601565b91505092915050565b6117f0816115a2565b82525050565b600060208201905061180b60008301846117e7565b92915050565b60008060006060848603121561182a5761182961157d565b5b6000611838868287016115cb565b935050602061184986828701611601565b925050604061185a86828701611601565b9150509250925092565b60006020828403121561187a5761187961157d565b5b6000611888848285016115cb565b91505092915050565b600080604083850312156118a8576118a761157d565b5b60006118b6858286016115cb565b92505060206118c7858286016115cb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061191857607f821691505b60208210810361192b5761192a6118d1565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061198d6028836114d6565b915061199882611931565b604082019050919050565b600060208201905081810360008301526119bc81611980565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006119fd826115e0565b9150611a08836115e0565b9250828201905080821115611a2057611a1f6119c3565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611a5c6020836114d6565b9150611a6782611a26565b602082019050919050565b60006020820190508181036000830152611a8b81611a4f565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611aee6025836114d6565b9150611af982611a92565b604082019050919050565b60006020820190508181036000830152611b1d81611ae1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611b806026836114d6565b9150611b8b82611b24565b604082019050919050565b60006020820190508181036000830152611baf81611b73565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611c126024836114d6565b9150611c1d82611bb6565b604082019050919050565b60006020820190508181036000830152611c4181611c05565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ca46022836114d6565b9150611caf82611c48565b604082019050919050565b60006020820190508181036000830152611cd381611c97565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d366025836114d6565b9150611d4182611cda565b604082019050919050565b60006020820190508181036000830152611d6581611d29565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611dc86023836114d6565b9150611dd382611d6c565b604082019050919050565b60006020820190508181036000830152611df781611dbb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611e5a6026836114d6565b9150611e6582611dfe565b604082019050919050565b60006020820190508181036000830152611e8981611e4d565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611eec6021836114d6565b9150611ef782611e90565b604082019050919050565b60006020820190508181036000830152611f1b81611edf565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f7e6022836114d6565b9150611f8982611f22565b604082019050919050565b60006020820190508181036000830152611fad81611f71565b9050919050565b6000611fbf826115e0565b9150611fca836115e0565b9250828203905081811115611fe257611fe16119c3565b5b92915050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600061201e6016836114d6565b915061202982611fe8565b602082019050919050565b6000602082019050818103600083015261204d81612011565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600061208a6006836114d6565b915061209582612054565b602082019050919050565b600060208201905081810360008301526120b98161207d565b905091905056fea2646970667358221220cd72fdcc90ee8111c7fc21f057b86665ffd098f0d45d04be91be24f151cd2cdb64736f6c6343000812003300000000000000000000000000000000000000000000000000000004e3b29200

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c80636ac45fbc116100b85780638da5cb5b1161007c5780638da5cb5b1461032e57806395d89b411461034c578063a457c2d71461036a578063a9059cbb1461039a578063dd62ed3e146103ca578063f2fde38b146103fa57610137565b80636ac45fbc1461029c57806370a08231146102b8578063715018a6146102e8578063790ca413146102f257806389f9a1d31461031057610137565b806323b872dd116100ff57806323b872dd146101e4578063313ce56714610214578063395093511461023257806342966c681461026257806349bd5a5e1461027e57610137565b806306fdde031461013c578063095ea7b31461015a5780631694505e1461018a57806318160ddd146101a85780631ab99e12146101c6575b600080fd5b610144610416565b604051610151919061155b565b60405180910390f35b610174600480360381019061016f9190611616565b6104a8565b6040516101819190611671565b60405180910390f35b6101926104c6565b60405161019f91906116eb565b60405180910390f35b6101b06104ec565b6040516101bd9190611715565b60405180910390f35b6101ce6104f6565b6040516101db9190611715565b60405180910390f35b6101fe60048036038101906101f99190611730565b6104fc565b60405161020b9190611671565b60405180910390f35b61021c6105f4565b604051610229919061179f565b60405180910390f35b61024c60048036038101906102479190611616565b6105fd565b6040516102599190611671565b60405180910390f35b61027c600480360381019061027791906117ba565b6106a9565b005b6102866106b6565b60405161029391906117f6565b60405180910390f35b6102b660048036038101906102b19190611811565b6106dc565b005b6102d260048036038101906102cd9190611864565b6107ac565b6040516102df9190611715565b60405180910390f35b6102f06107f5565b005b6102fa61087d565b6040516103079190611715565b60405180910390f35b610318610883565b6040516103259190611715565b60405180910390f35b610336610889565b60405161034391906117f6565b60405180910390f35b6103546108b2565b604051610361919061155b565b60405180910390f35b610384600480360381019061037f9190611616565b610944565b6040516103919190611671565b60405180910390f35b6103b460048036038101906103af9190611616565b610a2f565b6040516103c19190611671565b60405180910390f35b6103e460048036038101906103df9190611891565b610a4d565b6040516103f19190611715565b60405180910390f35b610414600480360381019061040f9190611864565b610ad4565b005b60606004805461042590611900565b80601f016020809104026020016040519081016040528092919081815260200182805461045190611900565b801561049e5780601f106104735761010080835404028352916020019161049e565b820191906000526020600020905b81548152906001019060200180831161048157829003601f168201915b5050505050905090565b60006104bc6104b5610bcb565b8484610bd3565b6001905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600354905090565b60075481565b6000610509848484610d9c565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610554610bcb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cb906119a3565b60405180910390fd5b6105e8856105e0610bcb565b858403610bd3565b60019150509392505050565b60006012905090565b600061069f61060a610bcb565b848460026000610618610bcb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461069a91906119f2565b610bd3565b6001905092915050565b6106b3338261101e565b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6106e4610bcb565b73ffffffffffffffffffffffffffffffffffffffff16610702610889565b73ffffffffffffffffffffffffffffffffffffffff1614610758576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074f90611a72565b60405180910390fd5b82600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160068190555080600781905550505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107fd610bcb565b73ffffffffffffffffffffffffffffffffffffffff1661081b610889565b73ffffffffffffffffffffffffffffffffffffffff1614610871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086890611a72565b60405180910390fd5b61087b60006111f6565b565b60085481565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546108c190611900565b80601f01602080910402602001604051908101604052809291908181526020018280546108ed90611900565b801561093a5780601f1061090f5761010080835404028352916020019161093a565b820191906000526020600020905b81548152906001019060200180831161091d57829003601f168201915b5050505050905090565b60008060026000610953610bcb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0790611b04565b60405180910390fd5b610a24610a1b610bcb565b85858403610bd3565b600191505092915050565b6000610a43610a3c610bcb565b8484610d9c565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610adc610bcb565b73ffffffffffffffffffffffffffffffffffffffff16610afa610889565b73ffffffffffffffffffffffffffffffffffffffff1614610b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4790611a72565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb690611b96565b60405180910390fd5b610bc8816111f6565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3990611c28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca890611cba565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d8f9190611715565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0290611d4c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7190611dde565b60405180910390fd5b610e858383836112ba565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0390611e70565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fa191906119f2565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110059190611715565b60405180910390a36110188484846114ad565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490611f02565b60405180910390fd5b611099826000836112ba565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111790611f94565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546111789190611fb4565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111dd9190611715565b60405180910390a36111f1836000846114ad565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036113c757611318610889565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806113835750611354610889565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b990612034565b60405180910390fd5b6114a8565b6113cf6114b2565b80156114285750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156114a7576006548161143a846107ac565b61144491906119f2565b1115801561146757506007548161145a846107ac565b61146491906119f2565b10155b6114a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149d906120a0565b60405180910390fd5b5b5b505050565b505050565b600042610e106008546114c591906119f2565b11905090565b600081519050919050565b600082825260208201905092915050565b60005b838110156115055780820151818401526020810190506114ea565b60008484015250505050565b6000601f19601f8301169050919050565b600061152d826114cb565b61153781856114d6565b93506115478185602086016114e7565b61155081611511565b840191505092915050565b600060208201905081810360008301526115758184611522565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115ad82611582565b9050919050565b6115bd816115a2565b81146115c857600080fd5b50565b6000813590506115da816115b4565b92915050565b6000819050919050565b6115f3816115e0565b81146115fe57600080fd5b50565b600081359050611610816115ea565b92915050565b6000806040838503121561162d5761162c61157d565b5b600061163b858286016115cb565b925050602061164c85828601611601565b9150509250929050565b60008115159050919050565b61166b81611656565b82525050565b60006020820190506116866000830184611662565b92915050565b6000819050919050565b60006116b16116ac6116a784611582565b61168c565b611582565b9050919050565b60006116c382611696565b9050919050565b60006116d5826116b8565b9050919050565b6116e5816116ca565b82525050565b600060208201905061170060008301846116dc565b92915050565b61170f816115e0565b82525050565b600060208201905061172a6000830184611706565b92915050565b6000806000606084860312156117495761174861157d565b5b6000611757868287016115cb565b9350506020611768868287016115cb565b925050604061177986828701611601565b9150509250925092565b600060ff82169050919050565b61179981611783565b82525050565b60006020820190506117b46000830184611790565b92915050565b6000602082840312156117d0576117cf61157d565b5b60006117de84828501611601565b91505092915050565b6117f0816115a2565b82525050565b600060208201905061180b60008301846117e7565b92915050565b60008060006060848603121561182a5761182961157d565b5b6000611838868287016115cb565b935050602061184986828701611601565b925050604061185a86828701611601565b9150509250925092565b60006020828403121561187a5761187961157d565b5b6000611888848285016115cb565b91505092915050565b600080604083850312156118a8576118a761157d565b5b60006118b6858286016115cb565b92505060206118c7858286016115cb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061191857607f821691505b60208210810361192b5761192a6118d1565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061198d6028836114d6565b915061199882611931565b604082019050919050565b600060208201905081810360008301526119bc81611980565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006119fd826115e0565b9150611a08836115e0565b9250828201905080821115611a2057611a1f6119c3565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611a5c6020836114d6565b9150611a6782611a26565b602082019050919050565b60006020820190508181036000830152611a8b81611a4f565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611aee6025836114d6565b9150611af982611a92565b604082019050919050565b60006020820190508181036000830152611b1d81611ae1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611b806026836114d6565b9150611b8b82611b24565b604082019050919050565b60006020820190508181036000830152611baf81611b73565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611c126024836114d6565b9150611c1d82611bb6565b604082019050919050565b60006020820190508181036000830152611c4181611c05565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ca46022836114d6565b9150611caf82611c48565b604082019050919050565b60006020820190508181036000830152611cd381611c97565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d366025836114d6565b9150611d4182611cda565b604082019050919050565b60006020820190508181036000830152611d6581611d29565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611dc86023836114d6565b9150611dd382611d6c565b604082019050919050565b60006020820190508181036000830152611df781611dbb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611e5a6026836114d6565b9150611e6582611dfe565b604082019050919050565b60006020820190508181036000830152611e8981611e4d565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611eec6021836114d6565b9150611ef782611e90565b604082019050919050565b60006020820190508181036000830152611f1b81611edf565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f7e6022836114d6565b9150611f8982611f22565b604082019050919050565b60006020820190508181036000830152611fad81611f71565b9050919050565b6000611fbf826115e0565b9150611fca836115e0565b9250828203905081811115611fe257611fe16119c3565b5b92915050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600061201e6016836114d6565b915061202982611fe8565b602082019050919050565b6000602082019050818103600083015261204d81612011565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600061208a6006836114d6565b915061209582612054565b602082019050919050565b600060208201905081810360008301526120b98161207d565b905091905056fea2646970667358221220cd72fdcc90ee8111c7fc21f057b86665ffd098f0d45d04be91be24f151cd2cdb64736f6c63430008120033

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

00000000000000000000000000000000000000000000000000000004e3b29200

-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 21000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000004e3b29200


Deployed Bytecode Sourcemap

24818:1732:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9248:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11415:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24969:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10368:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24899:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12066:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10210:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12967:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26466:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25017:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25695:257;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10539:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2649:103;;;:::i;:::-;;24937:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24861:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1998:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9467:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13685:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10879:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11117:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2907:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9248:100;9302:13;9335:5;9328:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9248:100;:::o;11415:169::-;11498:4;11515:39;11524:12;:10;:12::i;:::-;11538:7;11547:6;11515:8;:39::i;:::-;11572:4;11565:11;;11415:169;;;;:::o;24969:41::-;;;;;;;;;;;;;:::o;10368:108::-;10429:7;10456:12;;10449:19;;10368:108;:::o;24899:31::-;;;;:::o;12066:492::-;12206:4;12223:36;12233:6;12241:9;12252:6;12223:9;:36::i;:::-;12272:24;12299:11;:19;12311:6;12299:19;;;;;;;;;;;;;;;:33;12319:12;:10;:12::i;:::-;12299:33;;;;;;;;;;;;;;;;12272:60;;12371:6;12351:16;:26;;12343:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12458:57;12467:6;12475:12;:10;:12::i;:::-;12508:6;12489:16;:25;12458:8;:57::i;:::-;12546:4;12539:11;;;12066:492;;;;;:::o;10210:93::-;10268:5;10293:2;10286:9;;10210:93;:::o;12967:215::-;13055:4;13072:80;13081:12;:10;:12::i;:::-;13095:7;13141:10;13104:11;:25;13116:12;:10;:12::i;:::-;13104:25;;;;;;;;;;;;;;;:34;13130:7;13104:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;13072:8;:80::i;:::-;13170:4;13163:11;;12967:215;;;;:::o;26466:81::-;26515:24;26521:10;26533:5;26515;:24::i;:::-;26466:81;:::o;25017:28::-;;;;;;;;;;;;;:::o;25695:257::-;2229:12;:10;:12::i;:::-;2218:23;;:7;:5;:7::i;:::-;:23;;;2210:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25836:14:::1;25820:13;;:30;;;;;;;;;;;;;;;;;;25880:17;25861:16;:36;;;;25927:17;25908:16;:36;;;;25695:257:::0;;;:::o;10539:127::-;10613:7;10640:9;:18;10650:7;10640:18;;;;;;;;;;;;;;;;10633:25;;10539:127;;;:::o;2649:103::-;2229:12;:10;:12::i;:::-;2218:23;;:7;:5;:7::i;:::-;:23;;;2210:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2714:30:::1;2741:1;2714:18;:30::i;:::-;2649:103::o:0;24937:25::-;;;;:::o;24861:31::-;;;;:::o;1998:87::-;2044:7;2071:6;;;;;;;;;;;2064:13;;1998:87;:::o;9467:104::-;9523:13;9556:7;9549:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9467:104;:::o;13685:413::-;13778:4;13795:24;13822:11;:25;13834:12;:10;:12::i;:::-;13822:25;;;;;;;;;;;;;;;:34;13848:7;13822:34;;;;;;;;;;;;;;;;13795:61;;13895:15;13875:16;:35;;13867:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13988:67;13997:12;:10;:12::i;:::-;14011:7;14039:15;14020:16;:34;13988:8;:67::i;:::-;14086:4;14079:11;;;13685:413;;;;:::o;10879:175::-;10965:4;10982:42;10992:12;:10;:12::i;:::-;11006:9;11017:6;10982:9;:42::i;:::-;11042:4;11035:11;;10879:175;;;;:::o;11117:151::-;11206:7;11233:11;:18;11245:5;11233:18;;;;;;;;;;;;;;;:27;11252:7;11233:27;;;;;;;;;;;;;;;;11226:34;;11117:151;;;;:::o;2907:201::-;2229:12;:10;:12::i;:::-;2218:23;;:7;:5;:7::i;:::-;:23;;;2210:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3016:1:::1;2996:22;;:8;:22;;::::0;2988:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3072:28;3091:8;3072:18;:28::i;:::-;2907:201:::0;:::o;716:98::-;769:7;796:10;789:17;;716:98;:::o;17369:380::-;17522:1;17505:19;;:5;:19;;;17497:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17603:1;17584:21;;:7;:21;;;17576:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17687:6;17657:11;:18;17669:5;17657:18;;;;;;;;;;;;;;;:27;17676:7;17657:27;;;;;;;;;;;;;;;:36;;;;17725:7;17709:32;;17718:5;17709:32;;;17734:6;17709:32;;;;;;:::i;:::-;;;;;;;;17369:380;;;:::o;14588:733::-;14746:1;14728:20;;:6;:20;;;14720:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14830:1;14809:23;;:9;:23;;;14801:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14885:47;14906:6;14914:9;14925:6;14885:20;:47::i;:::-;14945:21;14969:9;:17;14979:6;14969:17;;;;;;;;;;;;;;;;14945:41;;15022:6;15005:13;:23;;14997:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15143:6;15127:13;:22;15107:9;:17;15117:6;15107:17;;;;;;;;;;;;;;;:42;;;;15195:6;15171:9;:20;15181:9;15171:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;15236:9;15219:35;;15228:6;15219:35;;;15247:6;15219:35;;;;;;:::i;:::-;;;;;;;;15267:46;15287:6;15295:9;15306:6;15267:19;:46::i;:::-;14709:612;14588:733;;;:::o;16340:591::-;16443:1;16424:21;;:7;:21;;;16416:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16496:49;16517:7;16534:1;16538:6;16496:20;:49::i;:::-;16558:22;16583:9;:18;16593:7;16583:18;;;;;;;;;;;;;;;;16558:43;;16638:6;16620:14;:24;;16612:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16757:6;16740:14;:23;16719:9;:18;16729:7;16719:18;;;;;;;;;;;;;;;:44;;;;16801:6;16785:12;;:22;;;;;;;:::i;:::-;;;;;;;;16851:1;16825:37;;16834:7;16825:37;;;16855:6;16825:37;;;;;;:::i;:::-;;;;;;;;16875:48;16895:7;16912:1;16916:6;16875:19;:48::i;:::-;16405:526;16340:591;;:::o;3268:191::-;3342:16;3361:6;;;;;;;;;;;3342:25;;3387:8;3378:6;;:17;;;;;;;;;;;;;;;;;;3442:8;3411:40;;3432:8;3411:40;;;;;;;;;;;;3331:128;3268:191;:::o;25960:498::-;26134:1;26109:27;;:13;;;;;;;;;;;:27;;;26105:148;;26169:7;:5;:7::i;:::-;26161:15;;:4;:15;;;:32;;;;26186:7;:5;:7::i;:::-;26180:13;;:2;:13;;;26161:32;26153:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;26235:7;;26105:148;26269:9;:7;:9::i;:::-;:34;;;;;26290:13;;;;;;;;;;;26282:21;;:4;:21;;;26269:34;26265:186;;;26360:16;;26350:6;26328:19;26344:2;26328:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;:100;;;;;26412:16;;26402:6;26380:19;26396:2;26380:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;26328:100;26320:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;26265:186;25960:498;;;;:::o;19078:124::-;;;;:::o;25574:113::-;25617:4;25664:15;25654:7;25641:10;;:20;;;;:::i;:::-;:38;25634:45;;25574:113;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:153::-;3869:9;3902:37;3933:5;3902:37;:::i;:::-;3889:50;;3792:153;;;:::o;3951:185::-;4065:64;4123:5;4065:64;:::i;:::-;4060:3;4053:77;3951:185;;:::o;4142:276::-;4262:4;4300:2;4289:9;4285:18;4277:26;;4313:98;4408:1;4397:9;4393:17;4384:6;4313:98;:::i;:::-;4142:276;;;;:::o;4424:118::-;4511:24;4529:5;4511:24;:::i;:::-;4506:3;4499:37;4424:118;;:::o;4548:222::-;4641:4;4679:2;4668:9;4664:18;4656:26;;4692:71;4760:1;4749:9;4745:17;4736:6;4692:71;:::i;:::-;4548:222;;;;:::o;4776:619::-;4853:6;4861;4869;4918:2;4906:9;4897:7;4893:23;4889:32;4886:119;;;4924:79;;:::i;:::-;4886:119;5044:1;5069:53;5114:7;5105:6;5094:9;5090:22;5069:53;:::i;:::-;5059:63;;5015:117;5171:2;5197:53;5242:7;5233:6;5222:9;5218:22;5197:53;:::i;:::-;5187:63;;5142:118;5299:2;5325:53;5370:7;5361:6;5350:9;5346:22;5325:53;:::i;:::-;5315:63;;5270:118;4776:619;;;;;:::o;5401:86::-;5436:7;5476:4;5469:5;5465:16;5454:27;;5401:86;;;:::o;5493:112::-;5576:22;5592:5;5576:22;:::i;:::-;5571:3;5564:35;5493:112;;:::o;5611:214::-;5700:4;5738:2;5727:9;5723:18;5715:26;;5751:67;5815:1;5804:9;5800:17;5791:6;5751:67;:::i;:::-;5611:214;;;;:::o;5831:329::-;5890:6;5939:2;5927:9;5918:7;5914:23;5910:32;5907:119;;;5945:79;;:::i;:::-;5907:119;6065:1;6090:53;6135:7;6126:6;6115:9;6111:22;6090:53;:::i;:::-;6080:63;;6036:117;5831:329;;;;:::o;6166:118::-;6253:24;6271:5;6253:24;:::i;:::-;6248:3;6241:37;6166:118;;:::o;6290:222::-;6383:4;6421:2;6410:9;6406:18;6398:26;;6434:71;6502:1;6491:9;6487:17;6478:6;6434:71;:::i;:::-;6290:222;;;;:::o;6518:619::-;6595:6;6603;6611;6660:2;6648:9;6639:7;6635:23;6631:32;6628:119;;;6666:79;;:::i;:::-;6628:119;6786:1;6811:53;6856:7;6847:6;6836:9;6832:22;6811:53;:::i;:::-;6801:63;;6757:117;6913:2;6939:53;6984:7;6975:6;6964:9;6960:22;6939:53;:::i;:::-;6929:63;;6884:118;7041:2;7067:53;7112:7;7103:6;7092:9;7088:22;7067:53;:::i;:::-;7057:63;;7012:118;6518:619;;;;;:::o;7143:329::-;7202:6;7251:2;7239:9;7230:7;7226:23;7222:32;7219:119;;;7257:79;;:::i;:::-;7219:119;7377:1;7402:53;7447:7;7438:6;7427:9;7423:22;7402:53;:::i;:::-;7392:63;;7348:117;7143:329;;;;:::o;7478:474::-;7546:6;7554;7603:2;7591:9;7582:7;7578:23;7574:32;7571:119;;;7609:79;;:::i;:::-;7571:119;7729:1;7754:53;7799:7;7790:6;7779:9;7775:22;7754:53;:::i;:::-;7744:63;;7700:117;7856:2;7882:53;7927:7;7918:6;7907:9;7903:22;7882:53;:::i;:::-;7872:63;;7827:118;7478:474;;;;;:::o;7958:180::-;8006:77;8003:1;7996:88;8103:4;8100:1;8093:15;8127:4;8124:1;8117:15;8144:320;8188:6;8225:1;8219:4;8215:12;8205:22;;8272:1;8266:4;8262:12;8293:18;8283:81;;8349:4;8341:6;8337:17;8327:27;;8283:81;8411:2;8403:6;8400:14;8380:18;8377:38;8374:84;;8430:18;;:::i;:::-;8374:84;8195:269;8144:320;;;:::o;8470:227::-;8610:34;8606:1;8598:6;8594:14;8587:58;8679:10;8674:2;8666:6;8662:15;8655:35;8470:227;:::o;8703:366::-;8845:3;8866:67;8930:2;8925:3;8866:67;:::i;:::-;8859:74;;8942:93;9031:3;8942:93;:::i;:::-;9060:2;9055:3;9051:12;9044:19;;8703:366;;;:::o;9075:419::-;9241:4;9279:2;9268:9;9264:18;9256:26;;9328:9;9322:4;9318:20;9314:1;9303:9;9299:17;9292:47;9356:131;9482:4;9356:131;:::i;:::-;9348:139;;9075:419;;;:::o;9500:180::-;9548:77;9545:1;9538:88;9645:4;9642:1;9635:15;9669:4;9666:1;9659:15;9686:191;9726:3;9745:20;9763:1;9745:20;:::i;:::-;9740:25;;9779:20;9797:1;9779:20;:::i;:::-;9774:25;;9822:1;9819;9815:9;9808:16;;9843:3;9840:1;9837:10;9834:36;;;9850:18;;:::i;:::-;9834:36;9686:191;;;;:::o;9883:182::-;10023:34;10019:1;10011:6;10007:14;10000:58;9883:182;:::o;10071:366::-;10213:3;10234:67;10298:2;10293:3;10234:67;:::i;:::-;10227:74;;10310:93;10399:3;10310:93;:::i;:::-;10428:2;10423:3;10419:12;10412:19;;10071:366;;;:::o;10443:419::-;10609:4;10647:2;10636:9;10632:18;10624:26;;10696:9;10690:4;10686:20;10682:1;10671:9;10667:17;10660:47;10724:131;10850:4;10724:131;:::i;:::-;10716:139;;10443:419;;;:::o;10868:224::-;11008:34;11004:1;10996:6;10992:14;10985:58;11077:7;11072:2;11064:6;11060:15;11053:32;10868:224;:::o;11098:366::-;11240:3;11261:67;11325:2;11320:3;11261:67;:::i;:::-;11254:74;;11337:93;11426:3;11337:93;:::i;:::-;11455:2;11450:3;11446:12;11439:19;;11098:366;;;:::o;11470:419::-;11636:4;11674:2;11663:9;11659:18;11651:26;;11723:9;11717:4;11713:20;11709:1;11698:9;11694:17;11687:47;11751:131;11877:4;11751:131;:::i;:::-;11743:139;;11470:419;;;:::o;11895:225::-;12035:34;12031:1;12023:6;12019:14;12012:58;12104:8;12099:2;12091:6;12087:15;12080:33;11895:225;:::o;12126:366::-;12268:3;12289:67;12353:2;12348:3;12289:67;:::i;:::-;12282:74;;12365:93;12454:3;12365:93;:::i;:::-;12483:2;12478:3;12474:12;12467:19;;12126:366;;;:::o;12498:419::-;12664:4;12702:2;12691:9;12687:18;12679:26;;12751:9;12745:4;12741:20;12737:1;12726:9;12722:17;12715:47;12779:131;12905:4;12779:131;:::i;:::-;12771:139;;12498:419;;;:::o;12923:223::-;13063:34;13059:1;13051:6;13047:14;13040:58;13132:6;13127:2;13119:6;13115:15;13108:31;12923:223;:::o;13152:366::-;13294:3;13315:67;13379:2;13374:3;13315:67;:::i;:::-;13308:74;;13391:93;13480:3;13391:93;:::i;:::-;13509:2;13504:3;13500:12;13493:19;;13152:366;;;:::o;13524:419::-;13690:4;13728:2;13717:9;13713:18;13705:26;;13777:9;13771:4;13767:20;13763:1;13752:9;13748:17;13741:47;13805:131;13931:4;13805:131;:::i;:::-;13797:139;;13524:419;;;:::o;13949:221::-;14089:34;14085:1;14077:6;14073:14;14066:58;14158:4;14153:2;14145:6;14141:15;14134:29;13949:221;:::o;14176:366::-;14318:3;14339:67;14403:2;14398:3;14339:67;:::i;:::-;14332:74;;14415:93;14504:3;14415:93;:::i;:::-;14533:2;14528:3;14524:12;14517:19;;14176:366;;;:::o;14548:419::-;14714:4;14752:2;14741:9;14737:18;14729:26;;14801:9;14795:4;14791:20;14787:1;14776:9;14772:17;14765:47;14829:131;14955:4;14829:131;:::i;:::-;14821:139;;14548:419;;;:::o;14973:224::-;15113:34;15109:1;15101:6;15097:14;15090:58;15182:7;15177:2;15169:6;15165:15;15158:32;14973:224;:::o;15203:366::-;15345:3;15366:67;15430:2;15425:3;15366:67;:::i;:::-;15359:74;;15442:93;15531:3;15442:93;:::i;:::-;15560:2;15555:3;15551:12;15544:19;;15203:366;;;:::o;15575:419::-;15741:4;15779:2;15768:9;15764:18;15756:26;;15828:9;15822:4;15818:20;15814:1;15803:9;15799:17;15792:47;15856:131;15982:4;15856:131;:::i;:::-;15848:139;;15575:419;;;:::o;16000:222::-;16140:34;16136:1;16128:6;16124:14;16117:58;16209:5;16204:2;16196:6;16192:15;16185:30;16000:222;:::o;16228:366::-;16370:3;16391:67;16455:2;16450:3;16391:67;:::i;:::-;16384:74;;16467:93;16556:3;16467:93;:::i;:::-;16585:2;16580:3;16576:12;16569:19;;16228:366;;;:::o;16600:419::-;16766:4;16804:2;16793:9;16789:18;16781:26;;16853:9;16847:4;16843:20;16839:1;16828:9;16824:17;16817:47;16881:131;17007:4;16881:131;:::i;:::-;16873:139;;16600:419;;;:::o;17025:225::-;17165:34;17161:1;17153:6;17149:14;17142:58;17234:8;17229:2;17221:6;17217:15;17210:33;17025:225;:::o;17256:366::-;17398:3;17419:67;17483:2;17478:3;17419:67;:::i;:::-;17412:74;;17495:93;17584:3;17495:93;:::i;:::-;17613:2;17608:3;17604:12;17597:19;;17256:366;;;:::o;17628:419::-;17794:4;17832:2;17821:9;17817:18;17809:26;;17881:9;17875:4;17871:20;17867:1;17856:9;17852:17;17845:47;17909:131;18035:4;17909:131;:::i;:::-;17901:139;;17628:419;;;:::o;18053:220::-;18193:34;18189:1;18181:6;18177:14;18170:58;18262:3;18257:2;18249:6;18245:15;18238:28;18053:220;:::o;18279:366::-;18421:3;18442:67;18506:2;18501:3;18442:67;:::i;:::-;18435:74;;18518:93;18607:3;18518:93;:::i;:::-;18636:2;18631:3;18627:12;18620:19;;18279:366;;;:::o;18651:419::-;18817:4;18855:2;18844:9;18840:18;18832:26;;18904:9;18898:4;18894:20;18890:1;18879:9;18875:17;18868:47;18932:131;19058:4;18932:131;:::i;:::-;18924:139;;18651:419;;;:::o;19076:221::-;19216:34;19212:1;19204:6;19200:14;19193:58;19285:4;19280:2;19272:6;19268:15;19261:29;19076:221;:::o;19303:366::-;19445:3;19466:67;19530:2;19525:3;19466:67;:::i;:::-;19459:74;;19542:93;19631:3;19542:93;:::i;:::-;19660:2;19655:3;19651:12;19644:19;;19303:366;;;:::o;19675:419::-;19841:4;19879:2;19868:9;19864:18;19856:26;;19928:9;19922:4;19918:20;19914:1;19903:9;19899:17;19892:47;19956:131;20082:4;19956:131;:::i;:::-;19948:139;;19675:419;;;:::o;20100:194::-;20140:4;20160:20;20178:1;20160:20;:::i;:::-;20155:25;;20194:20;20212:1;20194:20;:::i;:::-;20189:25;;20238:1;20235;20231:9;20223:17;;20262:1;20256:4;20253:11;20250:37;;;20267:18;;:::i;:::-;20250:37;20100:194;;;;:::o;20300:172::-;20440:24;20436:1;20428:6;20424:14;20417:48;20300:172;:::o;20478:366::-;20620:3;20641:67;20705:2;20700:3;20641:67;:::i;:::-;20634:74;;20717:93;20806:3;20717:93;:::i;:::-;20835:2;20830:3;20826:12;20819:19;;20478:366;;;:::o;20850:419::-;21016:4;21054:2;21043:9;21039:18;21031:26;;21103:9;21097:4;21093:20;21089:1;21078:9;21074:17;21067:47;21131:131;21257:4;21131:131;:::i;:::-;21123:139;;20850:419;;;:::o;21275:156::-;21415:8;21411:1;21403:6;21399:14;21392:32;21275:156;:::o;21437:365::-;21579:3;21600:66;21664:1;21659:3;21600:66;:::i;:::-;21593:73;;21675:93;21764:3;21675:93;:::i;:::-;21793:2;21788:3;21784:12;21777:19;;21437:365;;;:::o;21808:419::-;21974:4;22012:2;22001:9;21997:18;21989:26;;22061:9;22055:4;22051:20;22047:1;22036:9;22032:17;22025:47;22089:131;22215:4;22089:131;:::i;:::-;22081:139;;21808:419;;;:::o

Swarm Source

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