ETH Price: $2,527.95 (-0.26%)

Token

BANANATOK (BNA)
 

Overview

Max Total Supply

1,800,000,000 BNA

Holders

221

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,086,374,179.09405312 BNA

Value
$0.00
0xfe1dee06961c2bc95e674d49efaf53955abb69ca
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Web3-based blockchain messengers, chat airdrops, multiple mainnet wallets, p2e games, Layer 1 mainnet releases in 2024.

Market

Volume (24H):$0.00
Market Capitalization:$0.00
Circulating Supply:0.00 BNA
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BananaTok

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-05-20
*/

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (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;
    }
}



// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/extensions/ERC20Burnable.sol)




// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/ERC20.sol)




// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)



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

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

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

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

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

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

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

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


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





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



/**
 * @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:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, 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}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, 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}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    /**
     * @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) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, 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) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, 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:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, 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 Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

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



/**
 * @dev Extension of {ERC20} that allows token holders to destroy both their own
 * tokens and those that they have an allowance for, in a way that can be
 * recognized off-chain (via event analysis).
 */
abstract contract ERC20Burnable is Context, ERC20 {
    /**
     * @dev Destroys `amount` tokens from the caller.
     *
     * See {ERC20-_burn}.
     */
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, deducting from the caller's
     * allowance.
     *
     * See {ERC20-_burn} and {ERC20-allowance}.
     *
     * Requirements:
     *
     * - the caller must have allowance for ``accounts``'s tokens of at least
     * `amount`.
     */
    function burnFrom(address account, uint256 amount) public virtual {
        _spendAllowance(account, _msgSender(), amount);
        _burn(account, amount);
    }
}


// OpenZeppelin Contracts v4.4.1 (security/Pausable.sol)





/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
abstract contract Pausable is Context {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor() {
        _paused = false;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view virtual returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused() {
        require(!paused(), "Pausable: paused");
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused() {
        require(paused(), "Pausable: not paused");
        _;
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}


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





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







contract Freezable is Ownable {
    mapping(address => bool) blacklist;
        
    event FreezeAccount(address indexed who);
    event UnFreezeAccount(address indexed who);

    modifier unFreezedAccountOnly(address from) {
        require(!blacklist[from], "Freezed user");
        _;
    }
    
    function freezeAccount(address who) public onlyOwner {
        blacklist[who] = true;
        
        emit FreezeAccount(who);
    }

    function unFreezeAccount(address who) public onlyOwner {
        blacklist[who] = false;
        
        emit UnFreezeAccount(who);
    }

    function isAccountFrozen(address who) view external returns(bool){
        return blacklist[who];
    }
}






contract Lockable is Ownable {
    mapping(address => uint256) lockedList;
        
    event LockAccount(address indexed who);
    event UnlockAccount(address indexed who);

    modifier unlockedAccountOnly(address from) {
        require(lockedList[from] < block.timestamp, "Locked user");
        _;
    }
    
    function lockAccount(address who, uint256 unlockTime) public onlyOwner {
        lockedList[who] = unlockTime;
        
        emit LockAccount(who);
    }

    function unlockAccount(address who) public onlyOwner {
        lockedList[who] = 0;
        
        emit UnlockAccount(who);
    }

    function lockedAccount(address who) view external returns(uint256) {
        return lockedList[who];
    }

    function isAccountLocked(address who) view external returns(bool) {
        if(lockedList[who] >= block.timestamp){
            return true;
        }else{
            return false;
        }
    }
}


contract BananaTok is ERC20Burnable, Pausable, Freezable, Lockable {
    /* 
        renounceOwnership, transferOwnership
        burn, burnFrom
        pause/unpause 
        account 별 freeze/unfreeze ? lock/unlock
    */
    constructor(address account, uint initialSupply) ERC20("BANANATOK", "BNA"){ // name, symbol
        _mint(account, initialSupply * 10 ** decimals());
    }

    function pause() external onlyOwner{
        _pause();
    }

    function unpause() external onlyOwner{
        _unpause();
    }

    function isOwner() external view returns(bool) {
        return msg.sender==owner();
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal override unFreezedAccountOnly(from) unlockedAccountOnly(from) {
        require(!paused(), "Can't transfer while paused!");
        // check locked
        // check freezed
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"initialSupply","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":"who","type":"address"}],"name":"FreezeAccount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"who","type":"address"}],"name":"LockAccount","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":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"who","type":"address"}],"name":"UnFreezeAccount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"who","type":"address"}],"name":"UnlockAccount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","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":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","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":"who","type":"address"}],"name":"freezeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"isAccountFrozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"isAccountLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"},{"internalType":"uint256","name":"unlockTime","type":"uint256"}],"name":"lockAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"lockedAccount","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":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"unFreezeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"unlockAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506040516200339c3803806200339c833981810160405281019062000037919062000610565b6040518060400160405280600981526020017f42414e414e41544f4b00000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f424e4100000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000bb92919062000532565b508060049080519060200190620000d492919062000532565b5050506000600560006101000a81548160ff02191690831515021790555062000112620001066200015660201b60201c565b6200015e60201b60201c565b6200014e82620001276200022460201b60201c565b600a62000135919062000872565b83620001429190620009af565b6200022d60201b60201c565b505062000bd9565b600033905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000297906200076a565b60405180910390fd5b620002b460008383620003a660201b60201c565b8060026000828254620002c89190620007ba565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200031f9190620007ba565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200038691906200078c565b60405180910390a3620003a2600083836200051660201b60201c565b5050565b82600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161562000437576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200042e9062000704565b60405180910390fd5b8342600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410620004bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004b39062000726565b60405180910390fd5b620004cc6200051b60201b60201c565b156200050f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005069062000748565b60405180910390fd5b5050505050565b505050565b6000600560009054906101000a900460ff16905090565b828054620005409062000a5b565b90600052602060002090601f016020900481019282620005645760008555620005b0565b82601f106200057f57805160ff1916838001178555620005b0565b82800160010185558215620005b0579182015b82811115620005af57825182559160200191906001019062000592565b5b509050620005bf9190620005c3565b5090565b5b80821115620005de576000816000905550600101620005c4565b5090565b600081519050620005f38162000ba5565b92915050565b6000815190506200060a8162000bbf565b92915050565b600080604083850312156200062a576200062962000aef565b5b60006200063a85828601620005e2565b92505060206200064d85828601620005f9565b9150509250929050565b600062000666600c83620007a9565b9150620006738262000b01565b602082019050919050565b60006200068d600b83620007a9565b91506200069a8262000b2a565b602082019050919050565b6000620006b4601c83620007a9565b9150620006c18262000b53565b602082019050919050565b6000620006db601f83620007a9565b9150620006e88262000b7c565b602082019050919050565b620006fe8162000a44565b82525050565b600060208201905081810360008301526200071f8162000657565b9050919050565b6000602082019050818103600083015262000741816200067e565b9050919050565b600060208201905081810360008301526200076381620006a5565b9050919050565b600060208201905081810360008301526200078581620006cc565b9050919050565b6000602082019050620007a36000830184620006f3565b92915050565b600082825260208201905092915050565b6000620007c78262000a44565b9150620007d48362000a44565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200080c576200080b62000a91565b5b828201905092915050565b6000808291508390505b6001851115620008695780860481111562000841576200084062000a91565b5b6001851615620008515780820291505b8081029050620008618562000af4565b945062000821565b94509492505050565b60006200087f8262000a44565b91506200088c8362000a4e565b9250620008bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620008c3565b905092915050565b600082620008d55760019050620009a8565b81620008e55760009050620009a8565b8160018114620008fe576002811462000909576200093f565b6001915050620009a8565b60ff8411156200091e576200091d62000a91565b5b8360020a91508482111562000938576200093762000a91565b5b50620009a8565b5060208310610133831016604e8410600b8410161715620009795782820a90508381111562000973576200097262000a91565b5b620009a8565b62000988848484600162000817565b92509050818404811115620009a257620009a162000a91565b5b81810290505b9392505050565b6000620009bc8262000a44565b9150620009c98362000a44565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a055762000a0462000a91565b5b828202905092915050565b600062000a1d8262000a24565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000a7457607f821691505b6020821081141562000a8b5762000a8a62000ac0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f467265657a656420757365720000000000000000000000000000000000000000600082015250565b7f4c6f636b65642075736572000000000000000000000000000000000000000000600082015250565b7f43616e2774207472616e73666572207768696c65207061757365642100000000600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b62000bb08162000a10565b811462000bbc57600080fd5b50565b62000bca8162000a44565b811462000bd657600080fd5b50565b6127b38062000be96000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806374eb9b68116100f9578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e146104aa578063e816d97f146104da578063f26c159f1461050a578063f2fde38b14610526576101a9565b8063a457c2d71461042e578063a9059cbb1461045e578063bf620a451461048e576101a9565b80638da5cb5b116100d35780638da5cb5b146103b85780638f32d59b146103d6578063905295e3146103f457806395d89b4114610410576101a9565b806374eb9b681461036257806379cc6790146103925780638456cb59146103ae576101a9565b80633f4ba83a116101665780635c975abb116101405780635c975abb146102da57806370a08231146102f8578063715018a614610328578063718ccce914610332576101a9565b80633f4ba83a1461029857806342966c68146102a257806353cc2fae146102be576101a9565b806306fdde03146101ae578063095ea7b3146101cc57806318160ddd146101fc57806323b872dd1461021a578063313ce5671461024a5780633950935114610268575b600080fd5b6101b6610542565b6040516101c39190611f3d565b60405180910390f35b6101e660048036038101906101e19190611bf5565b6105d4565b6040516101f39190611f22565b60405180910390f35b6102046105f7565b604051610211919061215f565b60405180910390f35b610234600480360381019061022f9190611ba2565b610601565b6040516102419190611f22565b60405180910390f35b610252610630565b60405161025f919061217a565b60405180910390f35b610282600480360381019061027d9190611bf5565b610639565b60405161028f9190611f22565b60405180910390f35b6102a0610670565b005b6102bc60048036038101906102b79190611c35565b6106f6565b005b6102d860048036038101906102d39190611b35565b61070a565b005b6102e2610824565b6040516102ef9190611f22565b60405180910390f35b610312600480360381019061030d9190611b35565b61083b565b60405161031f919061215f565b60405180910390f35b610330610883565b005b61034c60048036038101906103479190611b35565b61090b565b604051610359919061215f565b60405180910390f35b61037c60048036038101906103779190611b35565b610954565b6040516103899190611f22565b60405180910390f35b6103ac60048036038101906103a79190611bf5565b6109af565b005b6103b66109cf565b005b6103c0610a55565b6040516103cd9190611f07565b60405180910390f35b6103de610a7f565b6040516103eb9190611f22565b60405180910390f35b61040e60048036038101906104099190611b35565b610abc565b005b610418610bc3565b6040516104259190611f3d565b60405180910390f35b61044860048036038101906104439190611bf5565b610c55565b6040516104559190611f22565b60405180910390f35b61047860048036038101906104739190611bf5565b610ccc565b6040516104859190611f22565b60405180910390f35b6104a860048036038101906104a39190611bf5565b610cef565b005b6104c460048036038101906104bf9190611b62565b610df6565b6040516104d1919061215f565b60405180910390f35b6104f460048036038101906104ef9190611b35565b610e7d565b6040516105019190611f22565b60405180910390f35b610524600480360381019061051f9190611b35565b610ed3565b005b610540600480360381019061053b9190611b35565b610fed565b005b606060038054610551906122c3565b80601f016020809104026020016040519081016040528092919081815260200182805461057d906122c3565b80156105ca5780601f1061059f576101008083540402835291602001916105ca565b820191906000526020600020905b8154815290600101906020018083116105ad57829003601f168201915b5050505050905090565b6000806105df6110e5565b90506105ec8185856110ed565b600191505092915050565b6000600254905090565b60008061060c6110e5565b90506106198582856112b8565b610624858585611344565b60019150509392505050565b60006012905090565b6000806106446110e5565b90506106658185856106568589610df6565b61066091906121b1565b6110ed565b600191505092915050565b6106786110e5565b73ffffffffffffffffffffffffffffffffffffffff16610696610a55565b73ffffffffffffffffffffffffffffffffffffffff16146106ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e39061209f565b60405180910390fd5b6106f46115c5565b565b6107076107016110e5565b82611667565b50565b6107126110e5565b73ffffffffffffffffffffffffffffffffffffffff16610730610a55565b73ffffffffffffffffffffffffffffffffffffffff1614610786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077d9061209f565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f4d97964cfd9c69dbe7ab7fc46220d1c9ccaf2399a2f8cdadb1df7960b0c7dd5660405160405180910390a250565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61088b6110e5565b73ffffffffffffffffffffffffffffffffffffffff166108a9610a55565b73ffffffffffffffffffffffffffffffffffffffff16146108ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f69061209f565b60405180910390fd5b610909600061183e565b565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600042600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106109a557600190506109aa565b600090505b919050565b6109c1826109bb6110e5565b836112b8565b6109cb8282611667565b5050565b6109d76110e5565b73ffffffffffffffffffffffffffffffffffffffff166109f5610a55565b73ffffffffffffffffffffffffffffffffffffffff1614610a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a429061209f565b60405180910390fd5b610a53611904565b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610a89610a55565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b610ac46110e5565b73ffffffffffffffffffffffffffffffffffffffff16610ae2610a55565b73ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f9061209f565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fb9c97a444794ab1ae6b17546c4103860c32e39862de6be9887a683bd1c897c9460405160405180910390a250565b606060048054610bd2906122c3565b80601f0160208091040260200160405190810160405280929190818152602001828054610bfe906122c3565b8015610c4b5780601f10610c2057610100808354040283529160200191610c4b565b820191906000526020600020905b815481529060010190602001808311610c2e57829003601f168201915b5050505050905090565b600080610c606110e5565b90506000610c6e8286610df6565b905083811015610cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caa9061213f565b60405180910390fd5b610cc082868684036110ed565b60019250505092915050565b600080610cd76110e5565b9050610ce4818585611344565b600191505092915050565b610cf76110e5565b73ffffffffffffffffffffffffffffffffffffffff16610d15610a55565b73ffffffffffffffffffffffffffffffffffffffff1614610d6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d629061209f565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f2e42b012fe114d62bddb874b8e25a0e9053bdc64cd62e48ba623efe99742817e60405160405180910390a25050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610edb6110e5565b73ffffffffffffffffffffffffffffffffffffffff16610ef9610a55565b73ffffffffffffffffffffffffffffffffffffffff1614610f4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f469061209f565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fce0df06b09231a3cc8eb67053f0e84060651d5f6a0f48ae87f7646f120b430c860405160405180910390a250565b610ff56110e5565b73ffffffffffffffffffffffffffffffffffffffff16611013610a55565b73ffffffffffffffffffffffffffffffffffffffff1614611069576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110609061209f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d090611fbf565b60405180910390fd5b6110e28161183e565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561115d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111549061211f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c490611fdf565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112ab919061215f565b60405180910390a3505050565b60006112c48484610df6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461133e5781811015611330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132790611fff565b60405180910390fd5b61133d84848484036110ed565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ab906120df565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b90611f5f565b60405180910390fd5b61142f8383836119a7565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac9061201f565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461154891906121b1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115ac919061215f565b60405180910390a36115bf848484611b06565b50505050565b6115cd610824565b61160c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160390611f7f565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6116506110e5565b60405161165d9190611f07565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ce906120bf565b60405180910390fd5b6116e3826000836119a7565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176090611f9f565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546117c09190612207565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611825919061215f565b60405180910390a361183983600084611b06565b505050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190c610824565b1561194c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119439061203f565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119906110e5565b60405161199d9190611f07565b60405180910390a1565b82600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c9061205f565b60405180910390fd5b8342600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aae9061207f565b60405180910390fd5b611abf610824565b15611aff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af6906120ff565b60405180910390fd5b5050505050565b505050565b600081359050611b1a8161274f565b92915050565b600081359050611b2f81612766565b92915050565b600060208284031215611b4b57611b4a612353565b5b6000611b5984828501611b0b565b91505092915050565b60008060408385031215611b7957611b78612353565b5b6000611b8785828601611b0b565b9250506020611b9885828601611b0b565b9150509250929050565b600080600060608486031215611bbb57611bba612353565b5b6000611bc986828701611b0b565b9350506020611bda86828701611b0b565b9250506040611beb86828701611b20565b9150509250925092565b60008060408385031215611c0c57611c0b612353565b5b6000611c1a85828601611b0b565b9250506020611c2b85828601611b20565b9150509250929050565b600060208284031215611c4b57611c4a612353565b5b6000611c5984828501611b20565b91505092915050565b611c6b8161223b565b82525050565b611c7a8161224d565b82525050565b6000611c8b82612195565b611c9581856121a0565b9350611ca5818560208601612290565b611cae81612358565b840191505092915050565b6000611cc66023836121a0565b9150611cd182612369565b604082019050919050565b6000611ce96014836121a0565b9150611cf4826123b8565b602082019050919050565b6000611d0c6022836121a0565b9150611d17826123e1565b604082019050919050565b6000611d2f6026836121a0565b9150611d3a82612430565b604082019050919050565b6000611d526022836121a0565b9150611d5d8261247f565b604082019050919050565b6000611d75601d836121a0565b9150611d80826124ce565b602082019050919050565b6000611d986026836121a0565b9150611da3826124f7565b604082019050919050565b6000611dbb6010836121a0565b9150611dc682612546565b602082019050919050565b6000611dde600c836121a0565b9150611de98261256f565b602082019050919050565b6000611e01600b836121a0565b9150611e0c82612598565b602082019050919050565b6000611e246020836121a0565b9150611e2f826125c1565b602082019050919050565b6000611e476021836121a0565b9150611e52826125ea565b604082019050919050565b6000611e6a6025836121a0565b9150611e7582612639565b604082019050919050565b6000611e8d601c836121a0565b9150611e9882612688565b602082019050919050565b6000611eb06024836121a0565b9150611ebb826126b1565b604082019050919050565b6000611ed36025836121a0565b9150611ede82612700565b604082019050919050565b611ef281612279565b82525050565b611f0181612283565b82525050565b6000602082019050611f1c6000830184611c62565b92915050565b6000602082019050611f376000830184611c71565b92915050565b60006020820190508181036000830152611f578184611c80565b905092915050565b60006020820190508181036000830152611f7881611cb9565b9050919050565b60006020820190508181036000830152611f9881611cdc565b9050919050565b60006020820190508181036000830152611fb881611cff565b9050919050565b60006020820190508181036000830152611fd881611d22565b9050919050565b60006020820190508181036000830152611ff881611d45565b9050919050565b6000602082019050818103600083015261201881611d68565b9050919050565b6000602082019050818103600083015261203881611d8b565b9050919050565b6000602082019050818103600083015261205881611dae565b9050919050565b6000602082019050818103600083015261207881611dd1565b9050919050565b6000602082019050818103600083015261209881611df4565b9050919050565b600060208201905081810360008301526120b881611e17565b9050919050565b600060208201905081810360008301526120d881611e3a565b9050919050565b600060208201905081810360008301526120f881611e5d565b9050919050565b6000602082019050818103600083015261211881611e80565b9050919050565b6000602082019050818103600083015261213881611ea3565b9050919050565b6000602082019050818103600083015261215881611ec6565b9050919050565b60006020820190506121746000830184611ee9565b92915050565b600060208201905061218f6000830184611ef8565b92915050565b600081519050919050565b600082825260208201905092915050565b60006121bc82612279565b91506121c783612279565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156121fc576121fb6122f5565b5b828201905092915050565b600061221282612279565b915061221d83612279565b9250828210156122305761222f6122f5565b5b828203905092915050565b600061224682612259565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156122ae578082015181840152602081019050612293565b838111156122bd576000848401525b50505050565b600060028204905060018216806122db57607f821691505b602082108114156122ef576122ee612324565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f467265657a656420757365720000000000000000000000000000000000000000600082015250565b7f4c6f636b65642075736572000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f43616e2774207472616e73666572207768696c65207061757365642100000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6127588161223b565b811461276357600080fd5b50565b61276f81612279565b811461277a57600080fd5b5056fea26469706673582212202a2dbb98f3ce9650af328d68983c7a42f703070a12606eef77fc902808fb3a4164736f6c634300080700330000000000000000000000009c3b8273e8fcfd545fe1f261c701f0940facb3d1000000000000000000000000000000000000000000000000000000006b49d200

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101a95760003560e01c806374eb9b68116100f9578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e146104aa578063e816d97f146104da578063f26c159f1461050a578063f2fde38b14610526576101a9565b8063a457c2d71461042e578063a9059cbb1461045e578063bf620a451461048e576101a9565b80638da5cb5b116100d35780638da5cb5b146103b85780638f32d59b146103d6578063905295e3146103f457806395d89b4114610410576101a9565b806374eb9b681461036257806379cc6790146103925780638456cb59146103ae576101a9565b80633f4ba83a116101665780635c975abb116101405780635c975abb146102da57806370a08231146102f8578063715018a614610328578063718ccce914610332576101a9565b80633f4ba83a1461029857806342966c68146102a257806353cc2fae146102be576101a9565b806306fdde03146101ae578063095ea7b3146101cc57806318160ddd146101fc57806323b872dd1461021a578063313ce5671461024a5780633950935114610268575b600080fd5b6101b6610542565b6040516101c39190611f3d565b60405180910390f35b6101e660048036038101906101e19190611bf5565b6105d4565b6040516101f39190611f22565b60405180910390f35b6102046105f7565b604051610211919061215f565b60405180910390f35b610234600480360381019061022f9190611ba2565b610601565b6040516102419190611f22565b60405180910390f35b610252610630565b60405161025f919061217a565b60405180910390f35b610282600480360381019061027d9190611bf5565b610639565b60405161028f9190611f22565b60405180910390f35b6102a0610670565b005b6102bc60048036038101906102b79190611c35565b6106f6565b005b6102d860048036038101906102d39190611b35565b61070a565b005b6102e2610824565b6040516102ef9190611f22565b60405180910390f35b610312600480360381019061030d9190611b35565b61083b565b60405161031f919061215f565b60405180910390f35b610330610883565b005b61034c60048036038101906103479190611b35565b61090b565b604051610359919061215f565b60405180910390f35b61037c60048036038101906103779190611b35565b610954565b6040516103899190611f22565b60405180910390f35b6103ac60048036038101906103a79190611bf5565b6109af565b005b6103b66109cf565b005b6103c0610a55565b6040516103cd9190611f07565b60405180910390f35b6103de610a7f565b6040516103eb9190611f22565b60405180910390f35b61040e60048036038101906104099190611b35565b610abc565b005b610418610bc3565b6040516104259190611f3d565b60405180910390f35b61044860048036038101906104439190611bf5565b610c55565b6040516104559190611f22565b60405180910390f35b61047860048036038101906104739190611bf5565b610ccc565b6040516104859190611f22565b60405180910390f35b6104a860048036038101906104a39190611bf5565b610cef565b005b6104c460048036038101906104bf9190611b62565b610df6565b6040516104d1919061215f565b60405180910390f35b6104f460048036038101906104ef9190611b35565b610e7d565b6040516105019190611f22565b60405180910390f35b610524600480360381019061051f9190611b35565b610ed3565b005b610540600480360381019061053b9190611b35565b610fed565b005b606060038054610551906122c3565b80601f016020809104026020016040519081016040528092919081815260200182805461057d906122c3565b80156105ca5780601f1061059f576101008083540402835291602001916105ca565b820191906000526020600020905b8154815290600101906020018083116105ad57829003601f168201915b5050505050905090565b6000806105df6110e5565b90506105ec8185856110ed565b600191505092915050565b6000600254905090565b60008061060c6110e5565b90506106198582856112b8565b610624858585611344565b60019150509392505050565b60006012905090565b6000806106446110e5565b90506106658185856106568589610df6565b61066091906121b1565b6110ed565b600191505092915050565b6106786110e5565b73ffffffffffffffffffffffffffffffffffffffff16610696610a55565b73ffffffffffffffffffffffffffffffffffffffff16146106ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e39061209f565b60405180910390fd5b6106f46115c5565b565b6107076107016110e5565b82611667565b50565b6107126110e5565b73ffffffffffffffffffffffffffffffffffffffff16610730610a55565b73ffffffffffffffffffffffffffffffffffffffff1614610786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077d9061209f565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f4d97964cfd9c69dbe7ab7fc46220d1c9ccaf2399a2f8cdadb1df7960b0c7dd5660405160405180910390a250565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61088b6110e5565b73ffffffffffffffffffffffffffffffffffffffff166108a9610a55565b73ffffffffffffffffffffffffffffffffffffffff16146108ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f69061209f565b60405180910390fd5b610909600061183e565b565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600042600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106109a557600190506109aa565b600090505b919050565b6109c1826109bb6110e5565b836112b8565b6109cb8282611667565b5050565b6109d76110e5565b73ffffffffffffffffffffffffffffffffffffffff166109f5610a55565b73ffffffffffffffffffffffffffffffffffffffff1614610a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a429061209f565b60405180910390fd5b610a53611904565b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610a89610a55565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b610ac46110e5565b73ffffffffffffffffffffffffffffffffffffffff16610ae2610a55565b73ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f9061209f565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167fb9c97a444794ab1ae6b17546c4103860c32e39862de6be9887a683bd1c897c9460405160405180910390a250565b606060048054610bd2906122c3565b80601f0160208091040260200160405190810160405280929190818152602001828054610bfe906122c3565b8015610c4b5780601f10610c2057610100808354040283529160200191610c4b565b820191906000526020600020905b815481529060010190602001808311610c2e57829003601f168201915b5050505050905090565b600080610c606110e5565b90506000610c6e8286610df6565b905083811015610cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caa9061213f565b60405180910390fd5b610cc082868684036110ed565b60019250505092915050565b600080610cd76110e5565b9050610ce4818585611344565b600191505092915050565b610cf76110e5565b73ffffffffffffffffffffffffffffffffffffffff16610d15610a55565b73ffffffffffffffffffffffffffffffffffffffff1614610d6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d629061209f565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f2e42b012fe114d62bddb874b8e25a0e9053bdc64cd62e48ba623efe99742817e60405160405180910390a25050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610edb6110e5565b73ffffffffffffffffffffffffffffffffffffffff16610ef9610a55565b73ffffffffffffffffffffffffffffffffffffffff1614610f4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f469061209f565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fce0df06b09231a3cc8eb67053f0e84060651d5f6a0f48ae87f7646f120b430c860405160405180910390a250565b610ff56110e5565b73ffffffffffffffffffffffffffffffffffffffff16611013610a55565b73ffffffffffffffffffffffffffffffffffffffff1614611069576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110609061209f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d090611fbf565b60405180910390fd5b6110e28161183e565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561115d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111549061211f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c490611fdf565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112ab919061215f565b60405180910390a3505050565b60006112c48484610df6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461133e5781811015611330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132790611fff565b60405180910390fd5b61133d84848484036110ed565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ab906120df565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b90611f5f565b60405180910390fd5b61142f8383836119a7565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac9061201f565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461154891906121b1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115ac919061215f565b60405180910390a36115bf848484611b06565b50505050565b6115cd610824565b61160c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160390611f7f565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6116506110e5565b60405161165d9190611f07565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ce906120bf565b60405180910390fd5b6116e3826000836119a7565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176090611f9f565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546117c09190612207565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611825919061215f565b60405180910390a361183983600084611b06565b505050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190c610824565b1561194c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119439061203f565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119906110e5565b60405161199d9190611f07565b60405180910390a1565b82600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c9061205f565b60405180910390fd5b8342600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aae9061207f565b60405180910390fd5b611abf610824565b15611aff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af6906120ff565b60405180910390fd5b5050505050565b505050565b600081359050611b1a8161274f565b92915050565b600081359050611b2f81612766565b92915050565b600060208284031215611b4b57611b4a612353565b5b6000611b5984828501611b0b565b91505092915050565b60008060408385031215611b7957611b78612353565b5b6000611b8785828601611b0b565b9250506020611b9885828601611b0b565b9150509250929050565b600080600060608486031215611bbb57611bba612353565b5b6000611bc986828701611b0b565b9350506020611bda86828701611b0b565b9250506040611beb86828701611b20565b9150509250925092565b60008060408385031215611c0c57611c0b612353565b5b6000611c1a85828601611b0b565b9250506020611c2b85828601611b20565b9150509250929050565b600060208284031215611c4b57611c4a612353565b5b6000611c5984828501611b20565b91505092915050565b611c6b8161223b565b82525050565b611c7a8161224d565b82525050565b6000611c8b82612195565b611c9581856121a0565b9350611ca5818560208601612290565b611cae81612358565b840191505092915050565b6000611cc66023836121a0565b9150611cd182612369565b604082019050919050565b6000611ce96014836121a0565b9150611cf4826123b8565b602082019050919050565b6000611d0c6022836121a0565b9150611d17826123e1565b604082019050919050565b6000611d2f6026836121a0565b9150611d3a82612430565b604082019050919050565b6000611d526022836121a0565b9150611d5d8261247f565b604082019050919050565b6000611d75601d836121a0565b9150611d80826124ce565b602082019050919050565b6000611d986026836121a0565b9150611da3826124f7565b604082019050919050565b6000611dbb6010836121a0565b9150611dc682612546565b602082019050919050565b6000611dde600c836121a0565b9150611de98261256f565b602082019050919050565b6000611e01600b836121a0565b9150611e0c82612598565b602082019050919050565b6000611e246020836121a0565b9150611e2f826125c1565b602082019050919050565b6000611e476021836121a0565b9150611e52826125ea565b604082019050919050565b6000611e6a6025836121a0565b9150611e7582612639565b604082019050919050565b6000611e8d601c836121a0565b9150611e9882612688565b602082019050919050565b6000611eb06024836121a0565b9150611ebb826126b1565b604082019050919050565b6000611ed36025836121a0565b9150611ede82612700565b604082019050919050565b611ef281612279565b82525050565b611f0181612283565b82525050565b6000602082019050611f1c6000830184611c62565b92915050565b6000602082019050611f376000830184611c71565b92915050565b60006020820190508181036000830152611f578184611c80565b905092915050565b60006020820190508181036000830152611f7881611cb9565b9050919050565b60006020820190508181036000830152611f9881611cdc565b9050919050565b60006020820190508181036000830152611fb881611cff565b9050919050565b60006020820190508181036000830152611fd881611d22565b9050919050565b60006020820190508181036000830152611ff881611d45565b9050919050565b6000602082019050818103600083015261201881611d68565b9050919050565b6000602082019050818103600083015261203881611d8b565b9050919050565b6000602082019050818103600083015261205881611dae565b9050919050565b6000602082019050818103600083015261207881611dd1565b9050919050565b6000602082019050818103600083015261209881611df4565b9050919050565b600060208201905081810360008301526120b881611e17565b9050919050565b600060208201905081810360008301526120d881611e3a565b9050919050565b600060208201905081810360008301526120f881611e5d565b9050919050565b6000602082019050818103600083015261211881611e80565b9050919050565b6000602082019050818103600083015261213881611ea3565b9050919050565b6000602082019050818103600083015261215881611ec6565b9050919050565b60006020820190506121746000830184611ee9565b92915050565b600060208201905061218f6000830184611ef8565b92915050565b600081519050919050565b600082825260208201905092915050565b60006121bc82612279565b91506121c783612279565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156121fc576121fb6122f5565b5b828201905092915050565b600061221282612279565b915061221d83612279565b9250828210156122305761222f6122f5565b5b828203905092915050565b600061224682612259565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156122ae578082015181840152602081019050612293565b838111156122bd576000848401525b50505050565b600060028204905060018216806122db57607f821691505b602082108114156122ef576122ee612324565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f467265657a656420757365720000000000000000000000000000000000000000600082015250565b7f4c6f636b65642075736572000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f43616e2774207472616e73666572207768696c65207061757365642100000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6127588161223b565b811461276357600080fd5b50565b61276f81612279565b811461277a57600080fd5b5056fea26469706673582212202a2dbb98f3ce9650af328d68983c7a42f703070a12606eef77fc902808fb3a4164736f6c63430008070033

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

0000000000000000000000009c3b8273e8fcfd545fe1f261c701f0940facb3d1000000000000000000000000000000000000000000000000000000006b49d200

-----Decoded View---------------
Arg [0] : account (address): 0x9C3B8273e8fCfD545Fe1f261C701F0940fACB3D1
Arg [1] : initialSupply (uint256): 1800000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000009c3b8273e8fcfd545fe1f261c701f0940facb3d1
Arg [1] : 000000000000000000000000000000000000000000000000000000006b49d200


Deployed Bytecode Sourcemap

24631:951:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6468:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8819:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7588:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9600:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7430:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10304:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25102:66;;;:::i;:::-;;17646:91;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23391:142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19280:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7759:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22103:103;;;:::i;:::-;;24303:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24419:203;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18056:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25032:62;;;:::i;:::-;;21452:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25176:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24160:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6687:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11045:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8092:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23992:160;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8348:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23541:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23246:137;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22361:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6468:100;6522:13;6555:5;6548:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6468:100;:::o;8819:201::-;8902:4;8919:13;8935:12;:10;:12::i;:::-;8919:28;;8958:32;8967:5;8974:7;8983:6;8958:8;:32::i;:::-;9008:4;9001:11;;;8819:201;;;;:::o;7588:108::-;7649:7;7676:12;;7669:19;;7588:108;:::o;9600:295::-;9731:4;9748:15;9766:12;:10;:12::i;:::-;9748:30;;9789:38;9805:4;9811:7;9820:6;9789:15;:38::i;:::-;9838:27;9848:4;9854:2;9858:6;9838:9;:27::i;:::-;9883:4;9876:11;;;9600:295;;;;;:::o;7430:93::-;7488:5;7513:2;7506:9;;7430:93;:::o;10304:238::-;10392:4;10409:13;10425:12;:10;:12::i;:::-;10409:28;;10448:64;10457:5;10464:7;10501:10;10473:25;10483:5;10490:7;10473:9;:25::i;:::-;:38;;;;:::i;:::-;10448:8;:64::i;:::-;10530:4;10523:11;;;10304:238;;;;:::o;25102:66::-;21683:12;:10;:12::i;:::-;21672:23;;:7;:5;:7::i;:::-;:23;;;21664:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25150:10:::1;:8;:10::i;:::-;25102:66::o:0;17646:91::-;17702:27;17708:12;:10;:12::i;:::-;17722:6;17702:5;:27::i;:::-;17646:91;:::o;23391:142::-;21683:12;:10;:12::i;:::-;21672:23;;:7;:5;:7::i;:::-;:23;;;21664:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23474:5:::1;23457:9;:14;23467:3;23457:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;23521:3;23505:20;;;;;;;;;;;;23391:142:::0;:::o;19280:86::-;19327:4;19351:7;;;;;;;;;;;19344:14;;19280:86;:::o;7759:127::-;7833:7;7860:9;:18;7870:7;7860:18;;;;;;;;;;;;;;;;7853:25;;7759:127;;;:::o;22103:103::-;21683:12;:10;:12::i;:::-;21672:23;;:7;:5;:7::i;:::-;:23;;;21664:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22168:30:::1;22195:1;22168:18;:30::i;:::-;22103:103::o:0;24303:108::-;24361:7;24388:10;:15;24399:3;24388:15;;;;;;;;;;;;;;;;24381:22;;24303:108;;;:::o;24419:203::-;24479:4;24518:15;24499:10;:15;24510:3;24499:15;;;;;;;;;;;;;;;;:34;24496:119;;24556:4;24549:11;;;;24496:119;24598:5;24591:12;;24419:203;;;;:::o;18056:164::-;18133:46;18149:7;18158:12;:10;:12::i;:::-;18172:6;18133:15;:46::i;:::-;18190:22;18196:7;18205:6;18190:5;:22::i;:::-;18056:164;;:::o;25032:62::-;21683:12;:10;:12::i;:::-;21672:23;;:7;:5;:7::i;:::-;:23;;;21664:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25078:8:::1;:6;:8::i;:::-;25032:62::o:0;21452:87::-;21498:7;21525:6;;;;;;;;;;;21518:13;;21452:87;:::o;25176:92::-;25217:4;25253:7;:5;:7::i;:::-;25241:19;;:10;:19;;;25234:26;;25176:92;:::o;24160:135::-;21683:12;:10;:12::i;:::-;21672:23;;:7;:5;:7::i;:::-;:23;;;21664:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24242:1:::1;24224:10;:15;24235:3;24224:15;;;;;;;;;;;;;;;:19;;;;24283:3;24269:18;;;;;;;;;;;;24160:135:::0;:::o;6687:104::-;6743:13;6776:7;6769:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6687:104;:::o;11045:436::-;11138:4;11155:13;11171:12;:10;:12::i;:::-;11155:28;;11194:24;11221:25;11231:5;11238:7;11221:9;:25::i;:::-;11194:52;;11285:15;11265:16;:35;;11257:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11378:60;11387:5;11394:7;11422:15;11403:16;:34;11378:8;:60::i;:::-;11469:4;11462:11;;;;11045:436;;;;:::o;8092:193::-;8171:4;8188:13;8204:12;:10;:12::i;:::-;8188:28;;8227;8237:5;8244:2;8248:6;8227:9;:28::i;:::-;8273:4;8266:11;;;8092:193;;;;:::o;23992:160::-;21683:12;:10;:12::i;:::-;21672:23;;:7;:5;:7::i;:::-;:23;;;21664:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24092:10:::1;24074;:15;24085:3;24074:15;;;;;;;;;;;;;;;:28;;;;24140:3;24128:16;;;;;;;;;;;;23992:160:::0;;:::o;8348:151::-;8437:7;8464:11;:18;8476:5;8464:18;;;;;;;;;;;;;;;:27;8483:7;8464:27;;;;;;;;;;;;;;;;8457:34;;8348:151;;;;:::o;23541:105::-;23601:4;23624:9;:14;23634:3;23624:14;;;;;;;;;;;;;;;;;;;;;;;;;23617:21;;23541:105;;;:::o;23246:137::-;21683:12;:10;:12::i;:::-;21672:23;;:7;:5;:7::i;:::-;:23;;;21664:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23327:4:::1;23310:9;:14;23320:3;23310:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;23371:3;23357:18;;;;;;;;;;;;23246:137:::0;:::o;22361:201::-;21683:12;:10;:12::i;:::-;21672:23;;:7;:5;:7::i;:::-;:23;;;21664:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22470:1:::1;22450:22;;:8;:22;;;;22442:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;22526:28;22545:8;22526:18;:28::i;:::-;22361:201:::0;:::o;656:98::-;709:7;736:10;729:17;;656:98;:::o;14679:380::-;14832:1;14815:19;;:5;:19;;;;14807:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14913:1;14894:21;;:7;:21;;;;14886:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14997:6;14967:11;:18;14979:5;14967:18;;;;;;;;;;;;;;;:27;14986:7;14967:27;;;;;;;;;;;;;;;:36;;;;15035:7;15019:32;;15028:5;15019:32;;;15044:6;15019:32;;;;;;:::i;:::-;;;;;;;;14679:380;;;:::o;15350:453::-;15485:24;15512:25;15522:5;15529:7;15512:9;:25::i;:::-;15485:52;;15572:17;15552:16;:37;15548:248;;15634:6;15614:16;:26;;15606:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15718:51;15727:5;15734:7;15762:6;15743:16;:25;15718:8;:51::i;:::-;15548:248;15474:329;15350:453;;;:::o;11960:671::-;12107:1;12091:18;;:4;:18;;;;12083:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12184:1;12170:16;;:2;:16;;;;12162:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12239:38;12260:4;12266:2;12270:6;12239:20;:38::i;:::-;12290:19;12312:9;:15;12322:4;12312:15;;;;;;;;;;;;;;;;12290:37;;12361:6;12346:11;:21;;12338:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12478:6;12464:11;:20;12446:9;:15;12456:4;12446:15;;;;;;;;;;;;;;;:38;;;;12523:6;12506:9;:13;12516:2;12506:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;12562:2;12547:26;;12556:4;12547:26;;;12566:6;12547:26;;;;;;:::i;:::-;;;;;;;;12586:37;12606:4;12612:2;12616:6;12586:19;:37::i;:::-;12072:559;11960:671;;;:::o;20339:120::-;19883:8;:6;:8::i;:::-;19875:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;20408:5:::1;20398:7;;:15;;;;;;;;;;;;;;;;;;20429:22;20438:12;:10;:12::i;:::-;20429:22;;;;;;:::i;:::-;;;;;;;;20339:120::o:0;13650:591::-;13753:1;13734:21;;:7;:21;;;;13726:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13806:49;13827:7;13844:1;13848:6;13806:20;:49::i;:::-;13868:22;13893:9;:18;13903:7;13893:18;;;;;;;;;;;;;;;;13868:43;;13948:6;13930:14;:24;;13922:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14067:6;14050:14;:23;14029:9;:18;14039:7;14029:18;;;;;;;;;;;;;;;:44;;;;14111:6;14095:12;;:22;;;;;;;:::i;:::-;;;;;;;;14161:1;14135:37;;14144:7;14135:37;;;14165:6;14135:37;;;;;;:::i;:::-;;;;;;;;14185:48;14205:7;14222:1;14226:6;14185:19;:48::i;:::-;13715:526;13650:591;;:::o;22722:191::-;22796:16;22815:6;;;;;;;;;;;22796:25;;22841:8;22832:6;;:17;;;;;;;;;;;;;;;;;;22896:8;22865:40;;22886:8;22865:40;;;;;;;;;;;;22785:128;22722:191;:::o;20080:118::-;19606:8;:6;:8::i;:::-;19605:9;19597:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;20150:4:::1;20140:7;;:14;;;;;;;;;;;;;;;;;;20170:20;20177:12;:10;:12::i;:::-;20170:20;;;;;;:::i;:::-;;;;;;;;20080:118::o:0;25276:297::-;25421:4;23182:9;:15;23192:4;23182:15;;;;;;;;;;;;;;;;;;;;;;;;;23181:16;23173:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;25447:4:::1;23929:15;23910:10;:16;23921:4;23910:16;;;;;;;;;;;;;;;;:34;23902:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;25473:8:::2;:6;:8::i;:::-;25472:9;25464:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;23225:1:::1;25276:297:::0;;;;:::o;17132:124::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:119;;;411:79;;:::i;:::-;373:119;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;297:329;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:119;;;763:79;;:::i;:::-;725:119;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;632:474;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:119;;;1260:79;;:::i;:::-;1222:119;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1112:619;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:119;;;1868:79;;:::i;:::-;1830:119;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1737:474;;;;;:::o;2217:329::-;2276:6;2325:2;2313:9;2304:7;2300:23;2296:32;2293:119;;;2331:79;;:::i;:::-;2293:119;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2217:329;;;;:::o;2552:118::-;2639:24;2657:5;2639:24;:::i;:::-;2634:3;2627:37;2552:118;;:::o;2676:109::-;2757:21;2772:5;2757:21;:::i;:::-;2752:3;2745:34;2676:109;;:::o;2791:364::-;2879:3;2907:39;2940:5;2907:39;:::i;:::-;2962:71;3026:6;3021:3;2962:71;:::i;:::-;2955:78;;3042:52;3087:6;3082:3;3075:4;3068:5;3064:16;3042:52;:::i;:::-;3119:29;3141:6;3119:29;:::i;:::-;3114:3;3110:39;3103:46;;2883:272;2791:364;;;;:::o;3161:366::-;3303:3;3324:67;3388:2;3383:3;3324:67;:::i;:::-;3317:74;;3400:93;3489:3;3400:93;:::i;:::-;3518:2;3513:3;3509:12;3502:19;;3161:366;;;:::o;3533:::-;3675:3;3696:67;3760:2;3755:3;3696:67;:::i;:::-;3689:74;;3772:93;3861:3;3772:93;:::i;:::-;3890:2;3885:3;3881:12;3874:19;;3533:366;;;:::o;3905:::-;4047:3;4068:67;4132:2;4127:3;4068:67;:::i;:::-;4061:74;;4144:93;4233:3;4144:93;:::i;:::-;4262:2;4257:3;4253:12;4246:19;;3905:366;;;:::o;4277:::-;4419:3;4440:67;4504:2;4499:3;4440:67;:::i;:::-;4433:74;;4516:93;4605:3;4516:93;:::i;:::-;4634:2;4629:3;4625:12;4618:19;;4277:366;;;:::o;4649:::-;4791:3;4812:67;4876:2;4871:3;4812:67;:::i;:::-;4805:74;;4888:93;4977:3;4888:93;:::i;:::-;5006:2;5001:3;4997:12;4990:19;;4649:366;;;:::o;5021:::-;5163:3;5184:67;5248:2;5243:3;5184:67;:::i;:::-;5177:74;;5260:93;5349:3;5260:93;:::i;:::-;5378:2;5373:3;5369:12;5362:19;;5021:366;;;:::o;5393:::-;5535:3;5556:67;5620:2;5615:3;5556:67;:::i;:::-;5549:74;;5632:93;5721:3;5632:93;:::i;:::-;5750:2;5745:3;5741:12;5734:19;;5393:366;;;:::o;5765:::-;5907:3;5928:67;5992:2;5987:3;5928:67;:::i;:::-;5921:74;;6004:93;6093:3;6004:93;:::i;:::-;6122:2;6117:3;6113:12;6106:19;;5765:366;;;:::o;6137:::-;6279:3;6300:67;6364:2;6359:3;6300:67;:::i;:::-;6293:74;;6376:93;6465:3;6376:93;:::i;:::-;6494:2;6489:3;6485:12;6478:19;;6137:366;;;:::o;6509:::-;6651:3;6672:67;6736:2;6731:3;6672:67;:::i;:::-;6665:74;;6748:93;6837:3;6748:93;:::i;:::-;6866:2;6861:3;6857:12;6850:19;;6509:366;;;:::o;6881:::-;7023:3;7044:67;7108:2;7103:3;7044:67;:::i;:::-;7037:74;;7120:93;7209:3;7120:93;:::i;:::-;7238:2;7233:3;7229:12;7222:19;;6881:366;;;:::o;7253:::-;7395:3;7416:67;7480:2;7475:3;7416:67;:::i;:::-;7409:74;;7492:93;7581:3;7492:93;:::i;:::-;7610:2;7605:3;7601:12;7594:19;;7253:366;;;:::o;7625:::-;7767:3;7788:67;7852:2;7847:3;7788:67;:::i;:::-;7781:74;;7864:93;7953:3;7864:93;:::i;:::-;7982:2;7977:3;7973:12;7966:19;;7625:366;;;:::o;7997:::-;8139:3;8160:67;8224:2;8219:3;8160:67;:::i;:::-;8153:74;;8236:93;8325:3;8236:93;:::i;:::-;8354:2;8349:3;8345:12;8338:19;;7997:366;;;:::o;8369:::-;8511:3;8532:67;8596:2;8591:3;8532:67;:::i;:::-;8525:74;;8608:93;8697:3;8608:93;:::i;:::-;8726:2;8721:3;8717:12;8710:19;;8369:366;;;:::o;8741:::-;8883:3;8904:67;8968:2;8963:3;8904:67;:::i;:::-;8897:74;;8980:93;9069:3;8980:93;:::i;:::-;9098:2;9093:3;9089:12;9082:19;;8741:366;;;:::o;9113:118::-;9200:24;9218:5;9200:24;:::i;:::-;9195:3;9188:37;9113:118;;:::o;9237:112::-;9320:22;9336:5;9320:22;:::i;:::-;9315:3;9308:35;9237:112;;:::o;9355:222::-;9448:4;9486:2;9475:9;9471:18;9463:26;;9499:71;9567:1;9556:9;9552:17;9543:6;9499:71;:::i;:::-;9355:222;;;;:::o;9583:210::-;9670:4;9708:2;9697:9;9693:18;9685:26;;9721:65;9783:1;9772:9;9768:17;9759:6;9721:65;:::i;:::-;9583:210;;;;:::o;9799:313::-;9912:4;9950:2;9939:9;9935:18;9927:26;;9999:9;9993:4;9989:20;9985:1;9974:9;9970:17;9963:47;10027:78;10100:4;10091:6;10027:78;:::i;:::-;10019:86;;9799:313;;;;:::o;10118:419::-;10284:4;10322:2;10311:9;10307:18;10299:26;;10371:9;10365:4;10361:20;10357:1;10346:9;10342:17;10335:47;10399:131;10525:4;10399:131;:::i;:::-;10391:139;;10118:419;;;:::o;10543:::-;10709:4;10747:2;10736:9;10732:18;10724:26;;10796:9;10790:4;10786:20;10782:1;10771:9;10767:17;10760:47;10824:131;10950:4;10824:131;:::i;:::-;10816:139;;10543:419;;;:::o;10968:::-;11134:4;11172:2;11161:9;11157:18;11149:26;;11221:9;11215:4;11211:20;11207:1;11196:9;11192:17;11185:47;11249:131;11375:4;11249:131;:::i;:::-;11241:139;;10968:419;;;:::o;11393:::-;11559:4;11597:2;11586:9;11582:18;11574:26;;11646:9;11640:4;11636:20;11632:1;11621:9;11617:17;11610:47;11674:131;11800:4;11674:131;:::i;:::-;11666:139;;11393:419;;;:::o;11818:::-;11984:4;12022:2;12011:9;12007:18;11999:26;;12071:9;12065:4;12061:20;12057:1;12046:9;12042:17;12035:47;12099:131;12225:4;12099:131;:::i;:::-;12091:139;;11818:419;;;:::o;12243:::-;12409:4;12447:2;12436:9;12432:18;12424:26;;12496:9;12490:4;12486:20;12482:1;12471:9;12467:17;12460:47;12524:131;12650:4;12524:131;:::i;:::-;12516:139;;12243:419;;;:::o;12668:::-;12834:4;12872:2;12861:9;12857:18;12849:26;;12921:9;12915:4;12911:20;12907:1;12896:9;12892:17;12885:47;12949:131;13075:4;12949:131;:::i;:::-;12941:139;;12668:419;;;:::o;13093:::-;13259:4;13297:2;13286:9;13282:18;13274:26;;13346:9;13340:4;13336:20;13332:1;13321:9;13317:17;13310:47;13374:131;13500:4;13374:131;:::i;:::-;13366:139;;13093:419;;;:::o;13518:::-;13684:4;13722:2;13711:9;13707:18;13699:26;;13771:9;13765:4;13761:20;13757:1;13746:9;13742:17;13735:47;13799:131;13925:4;13799:131;:::i;:::-;13791:139;;13518:419;;;:::o;13943:::-;14109:4;14147:2;14136:9;14132:18;14124:26;;14196:9;14190:4;14186:20;14182:1;14171:9;14167:17;14160:47;14224:131;14350:4;14224:131;:::i;:::-;14216:139;;13943:419;;;:::o;14368:::-;14534:4;14572:2;14561:9;14557:18;14549:26;;14621:9;14615:4;14611:20;14607:1;14596:9;14592:17;14585:47;14649:131;14775:4;14649:131;:::i;:::-;14641:139;;14368:419;;;:::o;14793:::-;14959:4;14997:2;14986:9;14982:18;14974:26;;15046:9;15040:4;15036:20;15032:1;15021:9;15017:17;15010:47;15074:131;15200:4;15074:131;:::i;:::-;15066:139;;14793:419;;;:::o;15218:::-;15384:4;15422:2;15411:9;15407:18;15399:26;;15471:9;15465:4;15461:20;15457:1;15446:9;15442:17;15435:47;15499:131;15625:4;15499:131;:::i;:::-;15491:139;;15218:419;;;:::o;15643:::-;15809:4;15847:2;15836:9;15832:18;15824:26;;15896:9;15890:4;15886:20;15882:1;15871:9;15867:17;15860:47;15924:131;16050:4;15924:131;:::i;:::-;15916:139;;15643:419;;;:::o;16068:::-;16234:4;16272:2;16261:9;16257:18;16249:26;;16321:9;16315:4;16311:20;16307:1;16296:9;16292:17;16285:47;16349:131;16475:4;16349:131;:::i;:::-;16341:139;;16068:419;;;:::o;16493:::-;16659:4;16697:2;16686:9;16682:18;16674:26;;16746:9;16740:4;16736:20;16732:1;16721:9;16717:17;16710:47;16774:131;16900:4;16774:131;:::i;:::-;16766:139;;16493:419;;;:::o;16918:222::-;17011:4;17049:2;17038:9;17034:18;17026:26;;17062:71;17130:1;17119:9;17115:17;17106:6;17062:71;:::i;:::-;16918:222;;;;:::o;17146:214::-;17235:4;17273:2;17262:9;17258:18;17250:26;;17286:67;17350:1;17339:9;17335:17;17326:6;17286:67;:::i;:::-;17146:214;;;;:::o;17447:99::-;17499:6;17533:5;17527:12;17517:22;;17447:99;;;:::o;17552:169::-;17636:11;17670:6;17665:3;17658:19;17710:4;17705:3;17701:14;17686:29;;17552:169;;;;:::o;17727:305::-;17767:3;17786:20;17804:1;17786:20;:::i;:::-;17781:25;;17820:20;17838:1;17820:20;:::i;:::-;17815:25;;17974:1;17906:66;17902:74;17899:1;17896:81;17893:107;;;17980:18;;:::i;:::-;17893:107;18024:1;18021;18017:9;18010:16;;17727:305;;;;:::o;18038:191::-;18078:4;18098:20;18116:1;18098:20;:::i;:::-;18093:25;;18132:20;18150:1;18132:20;:::i;:::-;18127:25;;18171:1;18168;18165:8;18162:34;;;18176:18;;:::i;:::-;18162:34;18221:1;18218;18214:9;18206:17;;18038:191;;;;:::o;18235:96::-;18272:7;18301:24;18319:5;18301:24;:::i;:::-;18290:35;;18235:96;;;:::o;18337:90::-;18371:7;18414:5;18407:13;18400:21;18389:32;;18337:90;;;:::o;18433:126::-;18470:7;18510:42;18503:5;18499:54;18488:65;;18433:126;;;:::o;18565:77::-;18602:7;18631:5;18620:16;;18565:77;;;:::o;18648:86::-;18683:7;18723:4;18716:5;18712:16;18701:27;;18648:86;;;:::o;18740:307::-;18808:1;18818:113;18832:6;18829:1;18826:13;18818:113;;;18917:1;18912:3;18908:11;18902:18;18898:1;18893:3;18889:11;18882:39;18854:2;18851:1;18847:10;18842:15;;18818:113;;;18949:6;18946:1;18943:13;18940:101;;;19029:1;19020:6;19015:3;19011:16;19004:27;18940:101;18789:258;18740:307;;;:::o;19053:320::-;19097:6;19134:1;19128:4;19124:12;19114:22;;19181:1;19175:4;19171:12;19202:18;19192:81;;19258:4;19250:6;19246:17;19236:27;;19192:81;19320:2;19312:6;19309:14;19289:18;19286:38;19283:84;;;19339:18;;:::i;:::-;19283:84;19104:269;19053:320;;;:::o;19379:180::-;19427:77;19424:1;19417:88;19524:4;19521:1;19514:15;19548:4;19545:1;19538:15;19565:180;19613:77;19610:1;19603:88;19710:4;19707:1;19700:15;19734:4;19731:1;19724:15;19874:117;19983:1;19980;19973:12;19997:102;20038:6;20089:2;20085:7;20080:2;20073:5;20069:14;20065:28;20055:38;;19997:102;;;:::o;20105:222::-;20245:34;20241:1;20233:6;20229:14;20222:58;20314:5;20309:2;20301:6;20297:15;20290:30;20105:222;:::o;20333:170::-;20473:22;20469:1;20461:6;20457:14;20450:46;20333:170;:::o;20509:221::-;20649:34;20645:1;20637:6;20633:14;20626:58;20718:4;20713:2;20705:6;20701:15;20694:29;20509:221;:::o;20736:225::-;20876:34;20872:1;20864:6;20860:14;20853:58;20945:8;20940:2;20932:6;20928:15;20921:33;20736:225;:::o;20967:221::-;21107:34;21103:1;21095:6;21091:14;21084:58;21176:4;21171:2;21163:6;21159:15;21152:29;20967:221;:::o;21194:179::-;21334:31;21330:1;21322:6;21318:14;21311:55;21194:179;:::o;21379:225::-;21519:34;21515:1;21507:6;21503:14;21496:58;21588:8;21583:2;21575:6;21571:15;21564:33;21379:225;:::o;21610:166::-;21750:18;21746:1;21738:6;21734:14;21727:42;21610:166;:::o;21782:162::-;21922:14;21918:1;21910:6;21906:14;21899:38;21782:162;:::o;21950:161::-;22090:13;22086:1;22078:6;22074:14;22067:37;21950:161;:::o;22117:182::-;22257:34;22253:1;22245:6;22241:14;22234:58;22117:182;:::o;22305:220::-;22445:34;22441:1;22433:6;22429:14;22422:58;22514:3;22509:2;22501:6;22497:15;22490:28;22305:220;:::o;22531:224::-;22671:34;22667:1;22659:6;22655:14;22648:58;22740:7;22735:2;22727:6;22723:15;22716:32;22531:224;:::o;22761:178::-;22901:30;22897:1;22889:6;22885:14;22878:54;22761:178;:::o;22945:223::-;23085:34;23081:1;23073:6;23069:14;23062:58;23154:6;23149:2;23141:6;23137:15;23130:31;22945:223;:::o;23174:224::-;23314:34;23310:1;23302:6;23298:14;23291:58;23383:7;23378:2;23370:6;23366:15;23359:32;23174:224;:::o;23404:122::-;23477:24;23495:5;23477:24;:::i;:::-;23470:5;23467:35;23457:63;;23516:1;23513;23506:12;23457:63;23404:122;:::o;23532:::-;23605:24;23623:5;23605:24;:::i;:::-;23598:5;23595:35;23585:63;;23644:1;23641;23634:12;23585:63;23532:122;:::o

Swarm Source

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