ETH Price: $1,972.69 (+0.54%)
 

Overview

Max Total Supply

690,000,000 MINDFAK

Holders

3,855 ( -0.026%)

Market

Price

$0.00 @ 0.000000 ETH (+7.61%)

Onchain Market Cap

-

Circulating Supply Market Cap

$167,096.00

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
1inch: Aggregation Executor 5
Balance
0.000000000000000001 MINDFAK

Value
$0.00 ( ~0 Eth) [0.0000%]
0x990636ecb3ff04d33d92e970d3d588bf5cd8d086
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

The crypto game’s been full of snakes and fake flex, but I am rolling up to clean the mess. No scams, no bullshit - just straight hustle, community trust, and meme glory. The beast of this bull run is here.

Market

Volume (24H):$182,684.00
Market Capitalization:$167,096.00
Circulating Supply:690,000,000.00 MINDFAK
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MindfakToken

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-07-13
*/

// SPDX-License-Identifier: MIT



// Telegram - https://t.me/mindfak_mf

// Telegram Announcements - https://t.me/mindfak_mattfurie

// X/Twitter - https://x.com/mindfak_mf



// File: @openzeppelin/contracts/utils/Context.sol

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

// File: @openzeppelin/contracts/access/Ownable.sol


// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;


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

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

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

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

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

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

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol


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

pragma solidity ^0.8.0;

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

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

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

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

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

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

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

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

// File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol


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

pragma solidity ^0.8.0;


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

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

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

// File: @openzeppelin/contracts/token/ERC20/ERC20.sol


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

pragma solidity ^0.8.0;




/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.openzeppelin.com/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 `from` to `to`.
     *
     * 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;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _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;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _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;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _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 {}
}

// File: @openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol


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

pragma solidity ^0.8.0;



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



// File: contracts/MindfakToken.sol


pragma solidity ^0.8.0;


contract MindfakToken is ERC20, ERC20Burnable, Ownable {
    // Token supply and decimals configuration
    uint256 private constant INITIAL_SUPPLY = 690000000 * 10**18;
    
    // Core security feature state variables
    uint256 public maxTransactionLimit;
    uint256 public tradeCooldown;
    bool public tradingEnabled;
    
    // Trading delay mechanism state variables
    uint256 public tradingEnabledTimestamp;
    uint256 public constant TRADING_DELAY = 5 minutes;
    
    // Mapping to track last transaction timestamp for each address
    mapping(address => uint256) public lastTransactionTimestamp;
    
    // Events for tracking security parameter changes
    event MaxTransactionLimitUpdated(uint256 newLimit);
    event TradeCooldownUpdated(uint256 newCooldown);
    event TradingStatusUpdated(bool enabled);
    event TradingScheduled(uint256 enableTime);
    
    constructor() ERC20("Mindfak By Matt Furie", "MINDFAK") {
        // Initial token minting to contract deployer
        _mint(msg.sender, INITIAL_SUPPLY);
        
        // Initialize security parameters
        maxTransactionLimit = INITIAL_SUPPLY / 200;
        tradeCooldown = 60 seconds;
        tradingEnabled = false;
        tradingEnabledTimestamp = 0; 
    }
    
    // Owner function to update maximum transaction limit
    function setMaxTransactionLimit(uint256 newLimit) external onlyOwner {
        require(newLimit > 0, "Limit must be greater than 0");
        require(newLimit <= INITIAL_SUPPLY, "Limit cannot exceed total supply");
        maxTransactionLimit = newLimit;
        emit MaxTransactionLimitUpdated(newLimit);
    }
    
    // Owner function to update trade cooldown period
    function setTradeCooldown(uint256 newCooldown) external onlyOwner {
        tradeCooldown = newCooldown;
        emit TradeCooldownUpdated(newCooldown);
    }
    
    // Owner function to enable/disable trading with delay mechanism
    function setTradingStatus(bool _enabled) external onlyOwner {
        if (_enabled) {
            tradingEnabled = true;  // Set trading enabled flag
            tradingEnabledTimestamp = block.timestamp + TRADING_DELAY;
            emit TradingScheduled(tradingEnabledTimestamp);
        } else {
            tradingEnabled = false;
            tradingEnabledTimestamp = 0;
        }
        emit TradingStatusUpdated(_enabled);
    }
    
    // Internal function to enforce security measures on transfers
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual override {
        super._beforeTokenTransfer(from, to, amount);
        
        // Skip checks for minting and burning operations
        if (from == address(0) || to == address(0)) return;
        
        // Skip checks if sender is contract owner
        if (from == owner()) return;
        
        // First check if trading is enabled
        require(tradingEnabled, "Trading is not enabled");
        
        // Then check if trading delay has passed
        require(
            tradingEnabledTimestamp > 0 && 
            block.timestamp >= tradingEnabledTimestamp,
            "Trading is not yet active"
        );
        
        // Enforce maximum transaction limit
        require(amount <= maxTransactionLimit, "Amount exceeds transaction limit");
        
        // Enforce cooldown period between transactions
        require(
            block.timestamp >= lastTransactionTimestamp[from] + tradeCooldown,
            "Please wait for cooldown period"
        );
        
        // Update last transaction timestamp for sender
        lastTransactionTimestamp[from] = block.timestamp;
    }


    // Function for initial token distribution
    function distributeTokens(address distributionWallet) external onlyOwner {
        require(distributionWallet != address(0), "Invalid distribution address");
        uint256 supply = balanceOf(msg.sender);
        require(supply == INITIAL_SUPPLY, "Tokens already distributed");
        _transfer(msg.sender, distributionWallet, supply);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"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":false,"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"MaxTransactionLimitUpdated","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":"uint256","name":"newCooldown","type":"uint256"}],"name":"TradeCooldownUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"enableTime","type":"uint256"}],"name":"TradingScheduled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"TradingStatusUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TRADING_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"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":"distributionWallet","type":"address"}],"name":"distributeTokens","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":"","type":"address"}],"name":"lastTransactionTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxTransactionLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newCooldown","type":"uint256"}],"name":"setTradeCooldown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setTradingStatus","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":[],"name":"tradeCooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabledTimestamp","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"}]

608060405234801561000f575f5ffd5b506040518060400160405280601581526020017f4d696e6466616b204279204d61747420467572696500000000000000000000008152506040518060400160405280600781526020017f4d494e4446414b00000000000000000000000000000000000000000000000000815250816003908161008b919061082a565b50806004908161009b919061082a565b5050506100ba6100af61012260201b60201c565b61012960201b60201c565b6100d6336b023ac12ef364587bf20000006101ec60201b60201c565b60c86b023ac12ef364587bf20000006100ef9190610953565b600681905550603c6007819055505f60085f6101000a81548160ff0219169083151502179055505f600981905550610bf6565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361025a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610251906109dd565b60405180910390fd5b61026b5f838361034660201b60201c565b8060025f82825461027c91906109fb565b92505081905550805f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516103299190610a3d565b60405180910390a36103425f83836105bb60201b60201c565b5050565b6103578383836105c060201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806103bc57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6105b6576103ce6105c560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603156105b65760085f9054906101000a900460ff1661044f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044690610aa0565b60405180910390fd5b5f60095411801561046257506009544210155b6104a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049890610b08565b60405180910390fd5b6006548111156104e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104dd90610b70565b60405180910390fd5b600754600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461053191906109fb565b421015610573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056a90610bd8565b60405180910390fd5b42600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b505050565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061066857607f821691505b60208210810361067b5761067a610624565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106dd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826106a2565b6106e786836106a2565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61072b610726610721846106ff565b610708565b6106ff565b9050919050565b5f819050919050565b61074483610711565b61075861075082610732565b8484546106ae565b825550505050565b5f5f905090565b61076f610760565b61077a81848461073b565b505050565b5b8181101561079d576107925f82610767565b600181019050610780565b5050565b601f8211156107e2576107b381610681565b6107bc84610693565b810160208510156107cb578190505b6107df6107d785610693565b83018261077f565b50505b505050565b5f82821c905092915050565b5f6108025f19846008026107e7565b1980831691505092915050565b5f61081a83836107f3565b9150826002028217905092915050565b610833826105ed565b67ffffffffffffffff81111561084c5761084b6105f7565b5b6108568254610651565b6108618282856107a1565b5f60209050601f831160018114610892575f8415610880578287015190505b61088a858261080f565b8655506108f1565b601f1984166108a086610681565b5f5b828110156108c7578489015182556001820191506020850194506020810190506108a2565b868310156108e457848901516108e0601f8916826107f3565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61095d826106ff565b9150610968836106ff565b925082610978576109776108f9565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6109c7601f83610983565b91506109d282610993565b602082019050919050565b5f6020820190508181035f8301526109f4816109bb565b9050919050565b5f610a05826106ff565b9150610a10836106ff565b9250828201905080821115610a2857610a27610926565b5b92915050565b610a37816106ff565b82525050565b5f602082019050610a505f830184610a2e565b92915050565b7f54726164696e67206973206e6f7420656e61626c6564000000000000000000005f82015250565b5f610a8a601683610983565b9150610a9582610a56565b602082019050919050565b5f6020820190508181035f830152610ab781610a7e565b9050919050565b7f54726164696e67206973206e6f742079657420616374697665000000000000005f82015250565b5f610af2601983610983565b9150610afd82610abe565b602082019050919050565b5f6020820190508181035f830152610b1f81610ae6565b9050919050565b7f416d6f756e742065786365656473207472616e73616374696f6e206c696d69745f82015250565b5f610b5a602083610983565b9150610b6582610b26565b602082019050919050565b5f6020820190508181035f830152610b8781610b4e565b9050919050565b7f506c65617365207761697420666f7220636f6f6c646f776e20706572696f64005f82015250565b5f610bc2601f83610983565b9150610bcd82610b8e565b602082019050919050565b5f6020820190508181035f830152610bef81610bb6565b9050919050565b6123ae80610c035f395ff3fe608060405234801561000f575f5ffd5b506004361061018c575f3560e01c806370a08231116100dc57806393ee15ca11610095578063a9059cbb1161006f578063a9059cbb14610472578063b1d17c98146104a2578063dd62ed3e146104be578063f2fde38b146104ee5761018c565b806393ee15ca1461040657806395d89b4114610424578063a457c2d7146104425761018c565b806370a0823114610358578063715018a61461038857806376ee241d1461039257806379cc6790146103b05780637a9d7c14146103cc5780638da5cb5b146103e85761018c565b8063313ce5671161014957806342966c681161012357806342966c68146102d05780634ada218b146102ec57806356cf37b71461030a578063676c84581461033a5761018c565b8063313ce56714610266578063379ba1d91461028457806339509351146102a05761018c565b806306fdde0314610190578063095ea7b3146101ae57806318160ddd146101de57806323b872dd146101fc57806325b617031461022c5780633049b5801461024a575b5f5ffd5b61019861050a565b6040516101a591906116ce565b60405180910390f35b6101c860048036038101906101c3919061177f565b61059a565b6040516101d591906117d7565b60405180910390f35b6101e66105bc565b6040516101f391906117ff565b60405180910390f35b61021660048036038101906102119190611818565b6105c5565b60405161022391906117d7565b60405180910390f35b6102346105f3565b60405161024191906117ff565b60405180910390f35b610264600480360381019061025f9190611868565b6105f9565b005b61026e610642565b60405161027b91906118ae565b60405180910390f35b61029e600480360381019061029991906118f1565b61064a565b005b6102ba60048036038101906102b5919061177f565b61071f565b6040516102c791906117d7565b60405180910390f35b6102ea60048036038101906102e59190611868565b610755565b005b6102f4610769565b60405161030191906117d7565b60405180910390f35b610324600480360381019061031f919061191c565b61077b565b60405161033191906117ff565b60405180910390f35b610342610790565b60405161034f91906117ff565b60405180910390f35b610372600480360381019061036d919061191c565b610796565b60405161037f91906117ff565b60405180910390f35b6103906107db565b005b61039a6107ee565b6040516103a791906117ff565b60405180910390f35b6103ca60048036038101906103c5919061177f565b6107f4565b005b6103e660048036038101906103e19190611868565b610814565b005b6103f06108ee565b6040516103fd9190611956565b60405180910390f35b61040e610916565b60405161041b91906117ff565b60405180910390f35b61042c61091c565b60405161043991906116ce565b60405180910390f35b61045c6004803603810190610457919061177f565b6109ac565b60405161046991906117d7565b60405180910390f35b61048c6004803603810190610487919061177f565b610a21565b60405161049991906117d7565b60405180910390f35b6104bc60048036038101906104b7919061191c565b610a43565b005b6104d860048036038101906104d3919061196f565b610b22565b6040516104e591906117ff565b60405180910390f35b6105086004803603810190610503919061191c565b610ba4565b005b606060038054610519906119da565b80601f0160208091040260200160405190810160405280929190818152602001828054610545906119da565b80156105905780601f1061056757610100808354040283529160200191610590565b820191905f5260205f20905b81548152906001019060200180831161057357829003601f168201915b5050505050905090565b5f5f6105a4610c26565b90506105b1818585610c2d565b600191505092915050565b5f600254905090565b5f5f6105cf610c26565b90506105dc858285610df0565b6105e7858585610e7b565b60019150509392505050565b60095481565b6106016110e7565b806007819055507ff221348c99c95366e69a11aaaa1801f74c5008d8a5bed062cd05b03718e9bca38160405161063791906117ff565b60405180910390a150565b5f6012905090565b6106526110e7565b80156106c457600160085f6101000a81548160ff02191690831515021790555061012c426106809190611a37565b6009819055507f9312395a4f7df2e78261a7b9f2b566aa0615fd564215350ee0865d73f989059d6009546040516106b791906117ff565b60405180910390a16106e5565b5f60085f6101000a81548160ff0219169083151502179055505f6009819055505b7f44025b4c6266facf728a25ba1ed858c89e2215e03094486152577b87636ea7ab8160405161071491906117d7565b60405180910390a150565b5f5f610729610c26565b905061074a81858561073b8589610b22565b6107459190611a37565b610c2d565b600191505092915050565b610766610760610c26565b82611165565b50565b60085f9054906101000a900460ff1681565b600a602052805f5260405f205f915090505481565b60065481565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107e36110e7565b6107ec5f611328565b565b61012c81565b61080682610800610c26565b83610df0565b6108108282611165565b5050565b61081c6110e7565b5f811161085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590611ab4565b60405180910390fd5b6b023ac12ef364587bf20000008111156108ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a490611b1c565b60405180910390fd5b806006819055507f61a9d76f1023cf14660a9917af7526f9a626983e3f0cdd80e1b319af249adaf9816040516108e391906117ff565b60405180910390a150565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606004805461092b906119da565b80601f0160208091040260200160405190810160405280929190818152602001828054610957906119da565b80156109a25780601f10610979576101008083540402835291602001916109a2565b820191905f5260205f20905b81548152906001019060200180831161098557829003601f168201915b5050505050905090565b5f5f6109b6610c26565b90505f6109c38286610b22565b905083811015610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff90611baa565b60405180910390fd5b610a158286868403610c2d565b60019250505092915050565b5f5f610a2b610c26565b9050610a38818585610e7b565b600191505092915050565b610a4b6110e7565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab090611c12565b60405180910390fd5b5f610ac333610796565b90506b023ac12ef364587bf20000008114610b13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0a90611c7a565b60405180910390fd5b610b1e338383610e7b565b5050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610bac6110e7565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1190611d08565b60405180910390fd5b610c2381611328565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9290611d96565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0090611e24565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610de391906117ff565b60405180910390a3505050565b5f610dfb8484610b22565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e755781811015610e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5e90611e8c565b60405180910390fd5b610e748484848403610c2d565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee090611f1a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4e90611fa8565b60405180910390fd5b610f628383836113eb565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610fe5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdc90612036565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110ce91906117ff565b60405180910390a36110e1848484611654565b50505050565b6110ef610c26565b73ffffffffffffffffffffffffffffffffffffffff1661110d6108ee565b73ffffffffffffffffffffffffffffffffffffffff1614611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115a9061209e565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca9061212c565b60405180910390fd5b6111de825f836113eb565b5f5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611261576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611258906121ba565b60405180910390fd5b8181035f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161131091906117ff565b60405180910390a3611323835f84611654565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6113f6838383611659565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061145b57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61164f576114676108ee565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16031561164f5760085f9054906101000a900460ff166114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df90612222565b60405180910390fd5b5f6009541180156114fb57506009544210155b61153a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115319061228a565b60405180910390fd5b60065481111561157f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611576906122f2565b60405180910390fd5b600754600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115ca9190611a37565b42101561160c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116039061235a565b60405180910390fd5b42600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6116a08261165e565b6116aa8185611668565b93506116ba818560208601611678565b6116c381611686565b840191505092915050565b5f6020820190508181035f8301526116e68184611696565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61171b826116f2565b9050919050565b61172b81611711565b8114611735575f5ffd5b50565b5f8135905061174681611722565b92915050565b5f819050919050565b61175e8161174c565b8114611768575f5ffd5b50565b5f8135905061177981611755565b92915050565b5f5f60408385031215611795576117946116ee565b5b5f6117a285828601611738565b92505060206117b38582860161176b565b9150509250929050565b5f8115159050919050565b6117d1816117bd565b82525050565b5f6020820190506117ea5f8301846117c8565b92915050565b6117f98161174c565b82525050565b5f6020820190506118125f8301846117f0565b92915050565b5f5f5f6060848603121561182f5761182e6116ee565b5b5f61183c86828701611738565b935050602061184d86828701611738565b925050604061185e8682870161176b565b9150509250925092565b5f6020828403121561187d5761187c6116ee565b5b5f61188a8482850161176b565b91505092915050565b5f60ff82169050919050565b6118a881611893565b82525050565b5f6020820190506118c15f83018461189f565b92915050565b6118d0816117bd565b81146118da575f5ffd5b50565b5f813590506118eb816118c7565b92915050565b5f60208284031215611906576119056116ee565b5b5f611913848285016118dd565b91505092915050565b5f60208284031215611931576119306116ee565b5b5f61193e84828501611738565b91505092915050565b61195081611711565b82525050565b5f6020820190506119695f830184611947565b92915050565b5f5f60408385031215611985576119846116ee565b5b5f61199285828601611738565b92505060206119a385828601611738565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806119f157607f821691505b602082108103611a0457611a036119ad565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611a418261174c565b9150611a4c8361174c565b9250828201905080821115611a6457611a63611a0a565b5b92915050565b7f4c696d6974206d7573742062652067726561746572207468616e2030000000005f82015250565b5f611a9e601c83611668565b9150611aa982611a6a565b602082019050919050565b5f6020820190508181035f830152611acb81611a92565b9050919050565b7f4c696d69742063616e6e6f742065786365656420746f74616c20737570706c795f82015250565b5f611b06602083611668565b9150611b1182611ad2565b602082019050919050565b5f6020820190508181035f830152611b3381611afa565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611b94602583611668565b9150611b9f82611b3a565b604082019050919050565b5f6020820190508181035f830152611bc181611b88565b9050919050565b7f496e76616c696420646973747269627574696f6e2061646472657373000000005f82015250565b5f611bfc601c83611668565b9150611c0782611bc8565b602082019050919050565b5f6020820190508181035f830152611c2981611bf0565b9050919050565b7f546f6b656e7320616c72656164792064697374726962757465640000000000005f82015250565b5f611c64601a83611668565b9150611c6f82611c30565b602082019050919050565b5f6020820190508181035f830152611c9181611c58565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611cf2602683611668565b9150611cfd82611c98565b604082019050919050565b5f6020820190508181035f830152611d1f81611ce6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611d80602483611668565b9150611d8b82611d26565b604082019050919050565b5f6020820190508181035f830152611dad81611d74565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611e0e602283611668565b9150611e1982611db4565b604082019050919050565b5f6020820190508181035f830152611e3b81611e02565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611e76601d83611668565b9150611e8182611e42565b602082019050919050565b5f6020820190508181035f830152611ea381611e6a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611f04602583611668565b9150611f0f82611eaa565b604082019050919050565b5f6020820190508181035f830152611f3181611ef8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611f92602383611668565b9150611f9d82611f38565b604082019050919050565b5f6020820190508181035f830152611fbf81611f86565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612020602683611668565b915061202b82611fc6565b604082019050919050565b5f6020820190508181035f83015261204d81612014565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612088602083611668565b915061209382612054565b602082019050919050565b5f6020820190508181035f8301526120b58161207c565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612116602183611668565b9150612121826120bc565b604082019050919050565b5f6020820190508181035f8301526121438161210a565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121a4602283611668565b91506121af8261214a565b604082019050919050565b5f6020820190508181035f8301526121d181612198565b9050919050565b7f54726164696e67206973206e6f7420656e61626c6564000000000000000000005f82015250565b5f61220c601683611668565b9150612217826121d8565b602082019050919050565b5f6020820190508181035f83015261223981612200565b9050919050565b7f54726164696e67206973206e6f742079657420616374697665000000000000005f82015250565b5f612274601983611668565b915061227f82612240565b602082019050919050565b5f6020820190508181035f8301526122a181612268565b9050919050565b7f416d6f756e742065786365656473207472616e73616374696f6e206c696d69745f82015250565b5f6122dc602083611668565b91506122e7826122a8565b602082019050919050565b5f6020820190508181035f830152612309816122d0565b9050919050565b7f506c65617365207761697420666f7220636f6f6c646f776e20706572696f64005f82015250565b5f612344601f83611668565b915061234f82612310565b602082019050919050565b5f6020820190508181035f83015261237181612338565b905091905056fea26469706673582212200d001aa10f158b9d824b1e8ba23187d245db1daf41c13d0984e0f32c1c78fa3d64736f6c634300081e0033

Deployed Bytecode

0x608060405234801561000f575f5ffd5b506004361061018c575f3560e01c806370a08231116100dc57806393ee15ca11610095578063a9059cbb1161006f578063a9059cbb14610472578063b1d17c98146104a2578063dd62ed3e146104be578063f2fde38b146104ee5761018c565b806393ee15ca1461040657806395d89b4114610424578063a457c2d7146104425761018c565b806370a0823114610358578063715018a61461038857806376ee241d1461039257806379cc6790146103b05780637a9d7c14146103cc5780638da5cb5b146103e85761018c565b8063313ce5671161014957806342966c681161012357806342966c68146102d05780634ada218b146102ec57806356cf37b71461030a578063676c84581461033a5761018c565b8063313ce56714610266578063379ba1d91461028457806339509351146102a05761018c565b806306fdde0314610190578063095ea7b3146101ae57806318160ddd146101de57806323b872dd146101fc57806325b617031461022c5780633049b5801461024a575b5f5ffd5b61019861050a565b6040516101a591906116ce565b60405180910390f35b6101c860048036038101906101c3919061177f565b61059a565b6040516101d591906117d7565b60405180910390f35b6101e66105bc565b6040516101f391906117ff565b60405180910390f35b61021660048036038101906102119190611818565b6105c5565b60405161022391906117d7565b60405180910390f35b6102346105f3565b60405161024191906117ff565b60405180910390f35b610264600480360381019061025f9190611868565b6105f9565b005b61026e610642565b60405161027b91906118ae565b60405180910390f35b61029e600480360381019061029991906118f1565b61064a565b005b6102ba60048036038101906102b5919061177f565b61071f565b6040516102c791906117d7565b60405180910390f35b6102ea60048036038101906102e59190611868565b610755565b005b6102f4610769565b60405161030191906117d7565b60405180910390f35b610324600480360381019061031f919061191c565b61077b565b60405161033191906117ff565b60405180910390f35b610342610790565b60405161034f91906117ff565b60405180910390f35b610372600480360381019061036d919061191c565b610796565b60405161037f91906117ff565b60405180910390f35b6103906107db565b005b61039a6107ee565b6040516103a791906117ff565b60405180910390f35b6103ca60048036038101906103c5919061177f565b6107f4565b005b6103e660048036038101906103e19190611868565b610814565b005b6103f06108ee565b6040516103fd9190611956565b60405180910390f35b61040e610916565b60405161041b91906117ff565b60405180910390f35b61042c61091c565b60405161043991906116ce565b60405180910390f35b61045c6004803603810190610457919061177f565b6109ac565b60405161046991906117d7565b60405180910390f35b61048c6004803603810190610487919061177f565b610a21565b60405161049991906117d7565b60405180910390f35b6104bc60048036038101906104b7919061191c565b610a43565b005b6104d860048036038101906104d3919061196f565b610b22565b6040516104e591906117ff565b60405180910390f35b6105086004803603810190610503919061191c565b610ba4565b005b606060038054610519906119da565b80601f0160208091040260200160405190810160405280929190818152602001828054610545906119da565b80156105905780601f1061056757610100808354040283529160200191610590565b820191905f5260205f20905b81548152906001019060200180831161057357829003601f168201915b5050505050905090565b5f5f6105a4610c26565b90506105b1818585610c2d565b600191505092915050565b5f600254905090565b5f5f6105cf610c26565b90506105dc858285610df0565b6105e7858585610e7b565b60019150509392505050565b60095481565b6106016110e7565b806007819055507ff221348c99c95366e69a11aaaa1801f74c5008d8a5bed062cd05b03718e9bca38160405161063791906117ff565b60405180910390a150565b5f6012905090565b6106526110e7565b80156106c457600160085f6101000a81548160ff02191690831515021790555061012c426106809190611a37565b6009819055507f9312395a4f7df2e78261a7b9f2b566aa0615fd564215350ee0865d73f989059d6009546040516106b791906117ff565b60405180910390a16106e5565b5f60085f6101000a81548160ff0219169083151502179055505f6009819055505b7f44025b4c6266facf728a25ba1ed858c89e2215e03094486152577b87636ea7ab8160405161071491906117d7565b60405180910390a150565b5f5f610729610c26565b905061074a81858561073b8589610b22565b6107459190611a37565b610c2d565b600191505092915050565b610766610760610c26565b82611165565b50565b60085f9054906101000a900460ff1681565b600a602052805f5260405f205f915090505481565b60065481565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107e36110e7565b6107ec5f611328565b565b61012c81565b61080682610800610c26565b83610df0565b6108108282611165565b5050565b61081c6110e7565b5f811161085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590611ab4565b60405180910390fd5b6b023ac12ef364587bf20000008111156108ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a490611b1c565b60405180910390fd5b806006819055507f61a9d76f1023cf14660a9917af7526f9a626983e3f0cdd80e1b319af249adaf9816040516108e391906117ff565b60405180910390a150565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606004805461092b906119da565b80601f0160208091040260200160405190810160405280929190818152602001828054610957906119da565b80156109a25780601f10610979576101008083540402835291602001916109a2565b820191905f5260205f20905b81548152906001019060200180831161098557829003601f168201915b5050505050905090565b5f5f6109b6610c26565b90505f6109c38286610b22565b905083811015610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff90611baa565b60405180910390fd5b610a158286868403610c2d565b60019250505092915050565b5f5f610a2b610c26565b9050610a38818585610e7b565b600191505092915050565b610a4b6110e7565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab090611c12565b60405180910390fd5b5f610ac333610796565b90506b023ac12ef364587bf20000008114610b13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0a90611c7a565b60405180910390fd5b610b1e338383610e7b565b5050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610bac6110e7565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1190611d08565b60405180910390fd5b610c2381611328565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9290611d96565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0090611e24565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610de391906117ff565b60405180910390a3505050565b5f610dfb8484610b22565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e755781811015610e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5e90611e8c565b60405180910390fd5b610e748484848403610c2d565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ee9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee090611f1a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4e90611fa8565b60405180910390fd5b610f628383836113eb565b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610fe5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdc90612036565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110ce91906117ff565b60405180910390a36110e1848484611654565b50505050565b6110ef610c26565b73ffffffffffffffffffffffffffffffffffffffff1661110d6108ee565b73ffffffffffffffffffffffffffffffffffffffff1614611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115a9061209e565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca9061212c565b60405180910390fd5b6111de825f836113eb565b5f5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611261576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611258906121ba565b60405180910390fd5b8181035f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161131091906117ff565b60405180910390a3611323835f84611654565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6113f6838383611659565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061145b57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61164f576114676108ee565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16031561164f5760085f9054906101000a900460ff166114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df90612222565b60405180910390fd5b5f6009541180156114fb57506009544210155b61153a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115319061228a565b60405180910390fd5b60065481111561157f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611576906122f2565b60405180910390fd5b600754600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115ca9190611a37565b42101561160c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116039061235a565b60405180910390fd5b42600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6116a08261165e565b6116aa8185611668565b93506116ba818560208601611678565b6116c381611686565b840191505092915050565b5f6020820190508181035f8301526116e68184611696565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61171b826116f2565b9050919050565b61172b81611711565b8114611735575f5ffd5b50565b5f8135905061174681611722565b92915050565b5f819050919050565b61175e8161174c565b8114611768575f5ffd5b50565b5f8135905061177981611755565b92915050565b5f5f60408385031215611795576117946116ee565b5b5f6117a285828601611738565b92505060206117b38582860161176b565b9150509250929050565b5f8115159050919050565b6117d1816117bd565b82525050565b5f6020820190506117ea5f8301846117c8565b92915050565b6117f98161174c565b82525050565b5f6020820190506118125f8301846117f0565b92915050565b5f5f5f6060848603121561182f5761182e6116ee565b5b5f61183c86828701611738565b935050602061184d86828701611738565b925050604061185e8682870161176b565b9150509250925092565b5f6020828403121561187d5761187c6116ee565b5b5f61188a8482850161176b565b91505092915050565b5f60ff82169050919050565b6118a881611893565b82525050565b5f6020820190506118c15f83018461189f565b92915050565b6118d0816117bd565b81146118da575f5ffd5b50565b5f813590506118eb816118c7565b92915050565b5f60208284031215611906576119056116ee565b5b5f611913848285016118dd565b91505092915050565b5f60208284031215611931576119306116ee565b5b5f61193e84828501611738565b91505092915050565b61195081611711565b82525050565b5f6020820190506119695f830184611947565b92915050565b5f5f60408385031215611985576119846116ee565b5b5f61199285828601611738565b92505060206119a385828601611738565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806119f157607f821691505b602082108103611a0457611a036119ad565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611a418261174c565b9150611a4c8361174c565b9250828201905080821115611a6457611a63611a0a565b5b92915050565b7f4c696d6974206d7573742062652067726561746572207468616e2030000000005f82015250565b5f611a9e601c83611668565b9150611aa982611a6a565b602082019050919050565b5f6020820190508181035f830152611acb81611a92565b9050919050565b7f4c696d69742063616e6e6f742065786365656420746f74616c20737570706c795f82015250565b5f611b06602083611668565b9150611b1182611ad2565b602082019050919050565b5f6020820190508181035f830152611b3381611afa565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611b94602583611668565b9150611b9f82611b3a565b604082019050919050565b5f6020820190508181035f830152611bc181611b88565b9050919050565b7f496e76616c696420646973747269627574696f6e2061646472657373000000005f82015250565b5f611bfc601c83611668565b9150611c0782611bc8565b602082019050919050565b5f6020820190508181035f830152611c2981611bf0565b9050919050565b7f546f6b656e7320616c72656164792064697374726962757465640000000000005f82015250565b5f611c64601a83611668565b9150611c6f82611c30565b602082019050919050565b5f6020820190508181035f830152611c9181611c58565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611cf2602683611668565b9150611cfd82611c98565b604082019050919050565b5f6020820190508181035f830152611d1f81611ce6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611d80602483611668565b9150611d8b82611d26565b604082019050919050565b5f6020820190508181035f830152611dad81611d74565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611e0e602283611668565b9150611e1982611db4565b604082019050919050565b5f6020820190508181035f830152611e3b81611e02565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611e76601d83611668565b9150611e8182611e42565b602082019050919050565b5f6020820190508181035f830152611ea381611e6a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611f04602583611668565b9150611f0f82611eaa565b604082019050919050565b5f6020820190508181035f830152611f3181611ef8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611f92602383611668565b9150611f9d82611f38565b604082019050919050565b5f6020820190508181035f830152611fbf81611f86565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612020602683611668565b915061202b82611fc6565b604082019050919050565b5f6020820190508181035f83015261204d81612014565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612088602083611668565b915061209382612054565b602082019050919050565b5f6020820190508181035f8301526120b58161207c565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612116602183611668565b9150612121826120bc565b604082019050919050565b5f6020820190508181035f8301526121438161210a565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121a4602283611668565b91506121af8261214a565b604082019050919050565b5f6020820190508181035f8301526121d181612198565b9050919050565b7f54726164696e67206973206e6f7420656e61626c6564000000000000000000005f82015250565b5f61220c601683611668565b9150612217826121d8565b602082019050919050565b5f6020820190508181035f83015261223981612200565b9050919050565b7f54726164696e67206973206e6f742079657420616374697665000000000000005f82015250565b5f612274601983611668565b915061227f82612240565b602082019050919050565b5f6020820190508181035f8301526122a181612268565b9050919050565b7f416d6f756e742065786365656473207472616e73616374696f6e206c696d69745f82015250565b5f6122dc602083611668565b91506122e7826122a8565b602082019050919050565b5f6020820190508181035f830152612309816122d0565b9050919050565b7f506c65617365207761697420666f7220636f6f6c646f776e20706572696f64005f82015250565b5f612344601f83611668565b915061234f82612310565b602082019050919050565b5f6020820190508181035f83015261237181612338565b905091905056fea26469706673582212200d001aa10f158b9d824b1e8ba23187d245db1daf41c13d0984e0f32c1c78fa3d64736f6c634300081e0033

Deployed Bytecode Sourcemap

21964:4183:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9538:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11889:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10658:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12670:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22356:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23704:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10500:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23947:445;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13374:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21309:91;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22269:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22532:59;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22193:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10829:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2963:103;;;:::i;:::-;;22401:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21719:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23321:316;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2315:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22234:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9757:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14115:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11162:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25796:348;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11418:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3221:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9538:100;9592:13;9625:5;9618:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9538:100;:::o;11889:201::-;11972:4;11989:13;12005:12;:10;:12::i;:::-;11989:28;;12028:32;12037:5;12044:7;12053:6;12028:8;:32::i;:::-;12078:4;12071:11;;;11889:201;;;;:::o;10658:108::-;10719:7;10746:12;;10739:19;;10658:108;:::o;12670:295::-;12801:4;12818:15;12836:12;:10;:12::i;:::-;12818:30;;12859:38;12875:4;12881:7;12890:6;12859:15;:38::i;:::-;12908:27;12918:4;12924:2;12928:6;12908:9;:27::i;:::-;12953:4;12946:11;;;12670:295;;;;;:::o;22356:38::-;;;;:::o;23704:161::-;2201:13;:11;:13::i;:::-;23797:11:::1;23781:13;:27;;;;23824:33;23845:11;23824:33;;;;;;:::i;:::-;;;;;;;;23704:161:::0;:::o;10500:93::-;10558:5;10583:2;10576:9;;10500:93;:::o;23947:445::-;2201:13;:11;:13::i;:::-;24022:8:::1;24018:321;;;24064:4;24047:14;;:21;;;;;;;;;;;;;;;;;;22441:9;24138:15;:31;;;;:::i;:::-;24112:23;:57;;;;24189:41;24206:23;;24189:41;;;;;;:::i;:::-;;;;;;;;24018:321;;;24280:5;24263:14;;:22;;;;;;;;;;;;;;;;;;24326:1;24300:23;:27;;;;24018:321;24354:30;24375:8;24354:30;;;;;;:::i;:::-;;;;;;;;23947:445:::0;:::o;13374:238::-;13462:4;13479:13;13495:12;:10;:12::i;:::-;13479:28;;13518:64;13527:5;13534:7;13571:10;13543:25;13553:5;13560:7;13543:9;:25::i;:::-;:38;;;;:::i;:::-;13518:8;:64::i;:::-;13600:4;13593:11;;;13374:238;;;;:::o;21309:91::-;21365:27;21371:12;:10;:12::i;:::-;21385:6;21365:5;:27::i;:::-;21309:91;:::o;22269:26::-;;;;;;;;;;;;;:::o;22532:59::-;;;;;;;;;;;;;;;;;:::o;22193:34::-;;;;:::o;10829:127::-;10903:7;10930:9;:18;10940:7;10930:18;;;;;;;;;;;;;;;;10923:25;;10829:127;;;:::o;2963:103::-;2201:13;:11;:13::i;:::-;3028:30:::1;3055:1;3028:18;:30::i;:::-;2963:103::o:0;22401:49::-;22441:9;22401:49;:::o;21719:164::-;21796:46;21812:7;21821:12;:10;:12::i;:::-;21835:6;21796:15;:46::i;:::-;21853:22;21859:7;21868:6;21853:5;:22::i;:::-;21719:164;;:::o;23321:316::-;2201:13;:11;:13::i;:::-;23420:1:::1;23409:8;:12;23401:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;22116:18;23473:8;:26;;23465:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;23569:8;23547:19;:30;;;;23593:36;23620:8;23593:36;;;;;;:::i;:::-;;;;;;;;23321:316:::0;:::o;2315:87::-;2361:7;2388:6;;;;;;;;;;;2381:13;;2315:87;:::o;22234:28::-;;;;:::o;9757:104::-;9813:13;9846:7;9839:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9757:104;:::o;14115:436::-;14208:4;14225:13;14241:12;:10;:12::i;:::-;14225:28;;14264:24;14291:25;14301:5;14308:7;14291:9;:25::i;:::-;14264:52;;14355:15;14335:16;:35;;14327:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14448:60;14457:5;14464:7;14492:15;14473:16;:34;14448:8;:60::i;:::-;14539:4;14532:11;;;;14115:436;;;;:::o;11162:193::-;11241:4;11258:13;11274:12;:10;:12::i;:::-;11258:28;;11297;11307:5;11314:2;11318:6;11297:9;:28::i;:::-;11343:4;11336:11;;;11162:193;;;;:::o;25796:348::-;2201:13;:11;:13::i;:::-;25918:1:::1;25888:32;;:18;:32;;::::0;25880:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;25964:14;25981:21;25991:10;25981:9;:21::i;:::-;25964:38;;22116:18;26021:6;:24;26013:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;26087:49;26097:10;26109:18;26129:6;26087:9;:49::i;:::-;25869:275;25796:348:::0;:::o;11418:151::-;11507:7;11534:11;:18;11546:5;11534:18;;;;;;;;;;;;;;;:27;11553:7;11534:27;;;;;;;;;;;;;;;;11527:34;;11418:151;;;;:::o;3221:201::-;2201:13;:11;:13::i;:::-;3330:1:::1;3310:22;;:8;:22;;::::0;3302:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3386:28;3405:8;3386:18;:28::i;:::-;3221:201:::0;:::o;866:98::-;919:7;946:10;939:17;;866:98;:::o;18142:380::-;18295:1;18278:19;;:5;:19;;;18270:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18376:1;18357:21;;:7;:21;;;18349:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18460:6;18430:11;:18;18442:5;18430:18;;;;;;;;;;;;;;;:27;18449:7;18430:27;;;;;;;;;;;;;;;:36;;;;18498:7;18482:32;;18491:5;18482:32;;;18507:6;18482:32;;;;;;:::i;:::-;;;;;;;;18142:380;;;:::o;18813:453::-;18948:24;18975:25;18985:5;18992:7;18975:9;:25::i;:::-;18948:52;;19035:17;19015:16;:37;19011:248;;19097:6;19077:16;:26;;19069:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19181:51;19190:5;19197:7;19225:6;19206:16;:25;19181:8;:51::i;:::-;19011:248;18937:329;18813:453;;;:::o;15021:840::-;15168:1;15152:18;;:4;:18;;;15144:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15245:1;15231:16;;:2;:16;;;15223:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15300:38;15321:4;15327:2;15331:6;15300:20;:38::i;:::-;15351:19;15373:9;:15;15383:4;15373:15;;;;;;;;;;;;;;;;15351:37;;15422:6;15407:11;:21;;15399:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15539:6;15525:11;:20;15507:9;:15;15517:4;15507:15;;;;;;;;;;;;;;;:38;;;;15742:6;15725:9;:13;15735:2;15725:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;15792:2;15777:26;;15786:4;15777:26;;;15796:6;15777:26;;;;;;:::i;:::-;;;;;;;;15816:37;15836:4;15842:2;15846:6;15816:19;:37::i;:::-;15133:728;15021:840;;;:::o;2480:132::-;2555:12;:10;:12::i;:::-;2544:23;;:7;:5;:7::i;:::-;:23;;;2536:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2480:132::o;17029:675::-;17132:1;17113:21;;:7;:21;;;17105:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17185:49;17206:7;17223:1;17227:6;17185:20;:49::i;:::-;17247:22;17272:9;:18;17282:7;17272:18;;;;;;;;;;;;;;;;17247:43;;17327:6;17309:14;:24;;17301:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;17446:6;17429:14;:23;17408:9;:18;17418:7;17408:18;;;;;;;;;;;;;;;:44;;;;17563:6;17547:12;;:22;;;;;;;;;;;17624:1;17598:37;;17607:7;17598:37;;;17628:6;17598:37;;;;;;:::i;:::-;;;;;;;;17648:48;17668:7;17685:1;17689:6;17648:19;:48::i;:::-;17094:610;17029:675;;:::o;3582:191::-;3656:16;3675:6;;;;;;;;;;;3656:25;;3701:8;3692:6;;:17;;;;;;;;;;;;;;;;;;3756:8;3725:40;;3746:8;3725:40;;;;;;;;;;;;3645:128;3582:191;:::o;24472:1266::-;24615:44;24642:4;24648:2;24652:6;24615:26;:44::i;:::-;24759:1;24743:18;;:4;:18;;;:38;;;;24779:1;24765:16;;:2;:16;;;24743:38;24783:7;24739:51;24874:7;:5;:7::i;:::-;24866:15;;:4;:15;;;24862:28;24883:7;24862:28;24964:14;;;;;;;;;;;24956:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;25125:1;25099:23;;:27;:87;;;;;25163:23;;25144:15;:42;;25099:87;25077:162;;;;;;;;;;;;:::i;:::-;;;;;;;;;25324:19;;25314:6;:29;;25306:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;25532:13;;25499:24;:30;25524:4;25499:30;;;;;;;;;;;;;;;;:46;;;;:::i;:::-;25480:15;:65;;25458:146;;;;;;;;;;;;:::i;:::-;;;;;;;;;25715:15;25682:24;:30;25707:4;25682:30;;;;;;;;;;;;;;;:48;;;;24472:1266;;;;:::o;20595:124::-;;;;:::o;19866:125::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:329::-;4375:6;4424:2;4412:9;4403:7;4399:23;4395:32;4392:119;;;4430:79;;:::i;:::-;4392:119;4550:1;4575:53;4620:7;4611:6;4600:9;4596:22;4575:53;:::i;:::-;4565:63;;4521:117;4316:329;;;;:::o;4651:86::-;4686:7;4726:4;4719:5;4715:16;4704:27;;4651:86;;;:::o;4743:112::-;4826:22;4842:5;4826:22;:::i;:::-;4821:3;4814:35;4743:112;;:::o;4861:214::-;4950:4;4988:2;4977:9;4973:18;4965:26;;5001:67;5065:1;5054:9;5050:17;5041:6;5001:67;:::i;:::-;4861:214;;;;:::o;5081:116::-;5151:21;5166:5;5151:21;:::i;:::-;5144:5;5141:32;5131:60;;5187:1;5184;5177:12;5131:60;5081:116;:::o;5203:133::-;5246:5;5284:6;5271:20;5262:29;;5300:30;5324:5;5300:30;:::i;:::-;5203:133;;;;:::o;5342:323::-;5398:6;5447:2;5435:9;5426:7;5422:23;5418:32;5415:119;;;5453:79;;:::i;:::-;5415:119;5573:1;5598:50;5640:7;5631:6;5620:9;5616:22;5598:50;:::i;:::-;5588:60;;5544:114;5342:323;;;;:::o;5671:329::-;5730:6;5779:2;5767:9;5758:7;5754:23;5750:32;5747:119;;;5785:79;;:::i;:::-;5747:119;5905:1;5930:53;5975:7;5966:6;5955:9;5951:22;5930:53;:::i;:::-;5920:63;;5876:117;5671:329;;;;:::o;6006:118::-;6093:24;6111:5;6093:24;:::i;:::-;6088:3;6081:37;6006:118;;:::o;6130:222::-;6223:4;6261:2;6250:9;6246:18;6238:26;;6274:71;6342:1;6331:9;6327:17;6318:6;6274:71;:::i;:::-;6130:222;;;;:::o;6358:474::-;6426:6;6434;6483:2;6471:9;6462:7;6458:23;6454:32;6451:119;;;6489:79;;:::i;:::-;6451:119;6609:1;6634:53;6679:7;6670:6;6659:9;6655:22;6634:53;:::i;:::-;6624:63;;6580:117;6736:2;6762:53;6807:7;6798:6;6787:9;6783:22;6762:53;:::i;:::-;6752:63;;6707:118;6358:474;;;;;:::o;6838:180::-;6886:77;6883:1;6876:88;6983:4;6980:1;6973:15;7007:4;7004:1;6997:15;7024:320;7068:6;7105:1;7099:4;7095:12;7085:22;;7152:1;7146:4;7142:12;7173:18;7163:81;;7229:4;7221:6;7217:17;7207:27;;7163:81;7291:2;7283:6;7280:14;7260:18;7257:38;7254:84;;7310:18;;:::i;:::-;7254:84;7075:269;7024:320;;;:::o;7350:180::-;7398:77;7395:1;7388:88;7495:4;7492:1;7485:15;7519:4;7516:1;7509:15;7536:191;7576:3;7595:20;7613:1;7595:20;:::i;:::-;7590:25;;7629:20;7647:1;7629:20;:::i;:::-;7624:25;;7672:1;7669;7665:9;7658:16;;7693:3;7690:1;7687:10;7684:36;;;7700:18;;:::i;:::-;7684:36;7536:191;;;;:::o;7733:178::-;7873:30;7869:1;7861:6;7857:14;7850:54;7733:178;:::o;7917:366::-;8059:3;8080:67;8144:2;8139:3;8080:67;:::i;:::-;8073:74;;8156:93;8245:3;8156:93;:::i;:::-;8274:2;8269:3;8265:12;8258:19;;7917:366;;;:::o;8289:419::-;8455:4;8493:2;8482:9;8478:18;8470:26;;8542:9;8536:4;8532:20;8528:1;8517:9;8513:17;8506:47;8570:131;8696:4;8570:131;:::i;:::-;8562:139;;8289:419;;;:::o;8714:182::-;8854:34;8850:1;8842:6;8838:14;8831:58;8714:182;:::o;8902:366::-;9044:3;9065:67;9129:2;9124:3;9065:67;:::i;:::-;9058:74;;9141:93;9230:3;9141:93;:::i;:::-;9259:2;9254:3;9250:12;9243:19;;8902:366;;;:::o;9274:419::-;9440:4;9478:2;9467:9;9463:18;9455:26;;9527:9;9521:4;9517:20;9513:1;9502:9;9498:17;9491:47;9555:131;9681:4;9555:131;:::i;:::-;9547:139;;9274:419;;;:::o;9699:224::-;9839:34;9835:1;9827:6;9823:14;9816:58;9908:7;9903:2;9895:6;9891:15;9884:32;9699:224;:::o;9929:366::-;10071:3;10092:67;10156:2;10151:3;10092:67;:::i;:::-;10085:74;;10168:93;10257:3;10168:93;:::i;:::-;10286:2;10281:3;10277:12;10270:19;;9929:366;;;:::o;10301:419::-;10467:4;10505:2;10494:9;10490:18;10482:26;;10554:9;10548:4;10544:20;10540:1;10529:9;10525:17;10518:47;10582:131;10708:4;10582:131;:::i;:::-;10574:139;;10301:419;;;:::o;10726:178::-;10866:30;10862:1;10854:6;10850:14;10843:54;10726:178;:::o;10910:366::-;11052:3;11073:67;11137:2;11132:3;11073:67;:::i;:::-;11066:74;;11149:93;11238:3;11149:93;:::i;:::-;11267:2;11262:3;11258:12;11251:19;;10910:366;;;:::o;11282:419::-;11448:4;11486:2;11475:9;11471:18;11463:26;;11535:9;11529:4;11525:20;11521:1;11510:9;11506:17;11499:47;11563:131;11689:4;11563:131;:::i;:::-;11555:139;;11282:419;;;:::o;11707:176::-;11847:28;11843:1;11835:6;11831:14;11824:52;11707:176;:::o;11889:366::-;12031:3;12052:67;12116:2;12111:3;12052:67;:::i;:::-;12045:74;;12128:93;12217:3;12128:93;:::i;:::-;12246:2;12241:3;12237:12;12230:19;;11889:366;;;:::o;12261:419::-;12427:4;12465:2;12454:9;12450:18;12442:26;;12514:9;12508:4;12504:20;12500:1;12489:9;12485:17;12478:47;12542:131;12668:4;12542:131;:::i;:::-;12534:139;;12261:419;;;:::o;12686:225::-;12826:34;12822:1;12814:6;12810:14;12803:58;12895:8;12890:2;12882:6;12878:15;12871:33;12686:225;:::o;12917:366::-;13059:3;13080:67;13144:2;13139:3;13080:67;:::i;:::-;13073:74;;13156:93;13245:3;13156:93;:::i;:::-;13274:2;13269:3;13265:12;13258:19;;12917:366;;;:::o;13289:419::-;13455:4;13493:2;13482:9;13478:18;13470:26;;13542:9;13536:4;13532:20;13528:1;13517:9;13513:17;13506:47;13570:131;13696:4;13570:131;:::i;:::-;13562:139;;13289:419;;;:::o;13714:223::-;13854:34;13850:1;13842:6;13838:14;13831:58;13923:6;13918:2;13910:6;13906:15;13899:31;13714:223;:::o;13943:366::-;14085:3;14106:67;14170:2;14165:3;14106:67;:::i;:::-;14099:74;;14182:93;14271:3;14182:93;:::i;:::-;14300:2;14295:3;14291:12;14284:19;;13943:366;;;:::o;14315:419::-;14481:4;14519:2;14508:9;14504:18;14496:26;;14568:9;14562:4;14558:20;14554:1;14543:9;14539:17;14532:47;14596:131;14722:4;14596:131;:::i;:::-;14588:139;;14315:419;;;:::o;14740:221::-;14880:34;14876:1;14868:6;14864:14;14857:58;14949:4;14944:2;14936:6;14932:15;14925:29;14740:221;:::o;14967:366::-;15109:3;15130:67;15194:2;15189:3;15130:67;:::i;:::-;15123:74;;15206:93;15295:3;15206:93;:::i;:::-;15324:2;15319:3;15315:12;15308:19;;14967:366;;;:::o;15339:419::-;15505:4;15543:2;15532:9;15528:18;15520:26;;15592:9;15586:4;15582:20;15578:1;15567:9;15563:17;15556:47;15620:131;15746:4;15620:131;:::i;:::-;15612:139;;15339:419;;;:::o;15764:179::-;15904:31;15900:1;15892:6;15888:14;15881:55;15764:179;:::o;15949:366::-;16091:3;16112:67;16176:2;16171:3;16112:67;:::i;:::-;16105:74;;16188:93;16277:3;16188:93;:::i;:::-;16306:2;16301:3;16297:12;16290:19;;15949:366;;;:::o;16321:419::-;16487:4;16525:2;16514:9;16510:18;16502:26;;16574:9;16568:4;16564:20;16560:1;16549:9;16545:17;16538:47;16602:131;16728:4;16602:131;:::i;:::-;16594:139;;16321:419;;;:::o;16746:224::-;16886:34;16882:1;16874:6;16870:14;16863:58;16955:7;16950:2;16942:6;16938:15;16931:32;16746:224;:::o;16976:366::-;17118:3;17139:67;17203:2;17198:3;17139:67;:::i;:::-;17132:74;;17215:93;17304:3;17215:93;:::i;:::-;17333:2;17328:3;17324:12;17317:19;;16976:366;;;:::o;17348:419::-;17514:4;17552:2;17541:9;17537:18;17529:26;;17601:9;17595:4;17591:20;17587:1;17576:9;17572:17;17565:47;17629:131;17755:4;17629:131;:::i;:::-;17621:139;;17348:419;;;:::o;17773:222::-;17913:34;17909:1;17901:6;17897:14;17890:58;17982:5;17977:2;17969:6;17965:15;17958:30;17773:222;:::o;18001:366::-;18143:3;18164:67;18228:2;18223:3;18164:67;:::i;:::-;18157:74;;18240:93;18329:3;18240:93;:::i;:::-;18358:2;18353:3;18349:12;18342:19;;18001:366;;;:::o;18373:419::-;18539:4;18577:2;18566:9;18562:18;18554:26;;18626:9;18620:4;18616:20;18612:1;18601:9;18597:17;18590:47;18654:131;18780:4;18654:131;:::i;:::-;18646:139;;18373:419;;;:::o;18798:225::-;18938:34;18934:1;18926:6;18922:14;18915:58;19007:8;19002:2;18994:6;18990:15;18983:33;18798:225;:::o;19029:366::-;19171:3;19192:67;19256:2;19251:3;19192:67;:::i;:::-;19185:74;;19268:93;19357:3;19268:93;:::i;:::-;19386:2;19381:3;19377:12;19370:19;;19029:366;;;:::o;19401:419::-;19567:4;19605:2;19594:9;19590:18;19582:26;;19654:9;19648:4;19644:20;19640:1;19629:9;19625:17;19618:47;19682:131;19808:4;19682:131;:::i;:::-;19674:139;;19401:419;;;:::o;19826:182::-;19966:34;19962:1;19954:6;19950:14;19943:58;19826:182;:::o;20014:366::-;20156:3;20177:67;20241:2;20236:3;20177:67;:::i;:::-;20170:74;;20253:93;20342:3;20253:93;:::i;:::-;20371:2;20366:3;20362:12;20355:19;;20014:366;;;:::o;20386:419::-;20552:4;20590:2;20579:9;20575:18;20567:26;;20639:9;20633:4;20629:20;20625:1;20614:9;20610:17;20603:47;20667:131;20793:4;20667:131;:::i;:::-;20659:139;;20386:419;;;:::o;20811:220::-;20951:34;20947:1;20939:6;20935:14;20928:58;21020:3;21015:2;21007:6;21003:15;20996:28;20811:220;:::o;21037:366::-;21179:3;21200:67;21264:2;21259:3;21200:67;:::i;:::-;21193:74;;21276:93;21365:3;21276:93;:::i;:::-;21394:2;21389:3;21385:12;21378:19;;21037:366;;;:::o;21409:419::-;21575:4;21613:2;21602:9;21598:18;21590:26;;21662:9;21656:4;21652:20;21648:1;21637:9;21633:17;21626:47;21690:131;21816:4;21690:131;:::i;:::-;21682:139;;21409:419;;;:::o;21834:221::-;21974:34;21970:1;21962:6;21958:14;21951:58;22043:4;22038:2;22030:6;22026:15;22019:29;21834:221;:::o;22061:366::-;22203:3;22224:67;22288:2;22283:3;22224:67;:::i;:::-;22217:74;;22300:93;22389:3;22300:93;:::i;:::-;22418:2;22413:3;22409:12;22402:19;;22061:366;;;:::o;22433:419::-;22599:4;22637:2;22626:9;22622:18;22614:26;;22686:9;22680:4;22676:20;22672:1;22661:9;22657:17;22650:47;22714:131;22840:4;22714:131;:::i;:::-;22706:139;;22433:419;;;:::o;22858:172::-;22998:24;22994:1;22986:6;22982:14;22975:48;22858:172;:::o;23036:366::-;23178:3;23199:67;23263:2;23258:3;23199:67;:::i;:::-;23192:74;;23275:93;23364:3;23275:93;:::i;:::-;23393:2;23388:3;23384:12;23377:19;;23036:366;;;:::o;23408:419::-;23574:4;23612:2;23601:9;23597:18;23589:26;;23661:9;23655:4;23651:20;23647:1;23636:9;23632:17;23625:47;23689:131;23815:4;23689:131;:::i;:::-;23681:139;;23408:419;;;:::o;23833:175::-;23973:27;23969:1;23961:6;23957:14;23950:51;23833:175;:::o;24014:366::-;24156:3;24177:67;24241:2;24236:3;24177:67;:::i;:::-;24170:74;;24253:93;24342:3;24253:93;:::i;:::-;24371:2;24366:3;24362:12;24355:19;;24014:366;;;:::o;24386:419::-;24552:4;24590:2;24579:9;24575:18;24567:26;;24639:9;24633:4;24629:20;24625:1;24614:9;24610:17;24603:47;24667:131;24793:4;24667:131;:::i;:::-;24659:139;;24386:419;;;:::o;24811:182::-;24951:34;24947:1;24939:6;24935:14;24928:58;24811:182;:::o;24999:366::-;25141:3;25162:67;25226:2;25221:3;25162:67;:::i;:::-;25155:74;;25238:93;25327:3;25238:93;:::i;:::-;25356:2;25351:3;25347:12;25340:19;;24999:366;;;:::o;25371:419::-;25537:4;25575:2;25564:9;25560:18;25552:26;;25624:9;25618:4;25614:20;25610:1;25599:9;25595:17;25588:47;25652:131;25778:4;25652:131;:::i;:::-;25644:139;;25371:419;;;:::o;25796:181::-;25936:33;25932:1;25924:6;25920:14;25913:57;25796:181;:::o;25983:366::-;26125:3;26146:67;26210:2;26205:3;26146:67;:::i;:::-;26139:74;;26222:93;26311:3;26222:93;:::i;:::-;26340:2;26335:3;26331:12;26324:19;;25983:366;;;:::o;26355:419::-;26521:4;26559:2;26548:9;26544:18;26536:26;;26608:9;26602:4;26598:20;26594:1;26583:9;26579:17;26572:47;26636:131;26762:4;26636:131;:::i;:::-;26628:139;;26355:419;;;:::o

Swarm Source

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