ETH Price: $3,283.97 (-0.48%)

Token

GalleryCoin (GLR)
 

Overview

Max Total Supply

2,000,000,000 GLR

Holders

466

Market

Price

$0.12 @ 0.000036 ETH (+0.71%)

Onchain Market Cap

$239,507,115.50

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,100 GLR

Value
$371.24 ( ~0.113046129684695 Eth) [0.0002%]
0xDC547bCFD37AAe6F55C27B48aCFFDb3b44859f90
Loading...
Loading
Loading...
Loading
Loading...
Loading

Market

Volume (24H):$14,517.61
Market Capitalization:$0.00
Circulating Supply:0.00 GLR
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
GALLERYCOIN_GLR_ERC20

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

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

pragma solidity ^0.8.0;

import "./IERC20.sol";
import "./IERC20Metadata.sol";
import "./Context.sol";

/**
 * GalleryCoin ERC-20 Token Smart Contract
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of 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 GALLERYCOIN_GLR_ERC20 is Context, IERC20, IERC20Metadata {
    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    
    address private _contractOwner;


    //Modifiers
    
    modifier onlyOwner {
        require (_contractOwner == msg.sender, "Contract Owner only Function");
        _;
    }
    
    modifier onlyUnlockedSender {
        require (_accountLock[msg.sender] == false, "Locked Account");
        _;
    }
    
    modifier onlyUnlocked (address _paramAddress) {
        require (_accountLock[_paramAddress] == false, "Locked Account");
        _;
    }
    
    
    //Events
    
    event AccountLocked(address indexed lockedAccount);
    event AccountUnlocked(address indexed unlockedAccount);
    
    event OwnershipTransferred(address indexed oldOwner, address indexed newOwner);
    
    
    
    
    /**
     * @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 (uint256 initialSupply) {
        _name = "GalleryCoin";
        _symbol = "GLR";
        _contractOwner = msg.sender;
        
        //planned minting supply : 2,000,000,000 GLR
        _mint(msg.sender, initialSupply*(10**18)); //exact mint initial supply once
    }
    

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

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

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

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

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

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

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

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

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

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _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");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }
    
    //Ownership-related functions
    
    //View function that returns the address of contract owner
    function getContractOwnerAddress() public view returns (address) {
        return _contractOwner;
    }
    
    //Transfers contract ownership to specified address, owner only function
    function transferOwnership(address newOwner) public onlyOwner returns (bool) {
        require (newOwner != address(0));
        require (newOwner != _contractOwner);
        
        _contractOwner = newOwner;
        
        emit OwnershipTransferred(msg.sender, newOwner);
        return true;
    }
    
    //Lockup-related functions
    
    //View function that returns account's lock status. True if the account is locked
    function getAccountLock(address addressToCheck) public view returns (bool isLocked) {
        return _accountLock[addressToCheck];
    }
    
    //Adds account lock, can only be executed ny owner account
    function addAccountLock(address addressToLock) public onlyOwner returns (bool) {
        require (addressToLock != address(0));
        require (_accountLock[addressToLock] == false);
        
        _accountLock[addressToLock] = true;
        
        emit AccountLocked(addressToLock);
        
        return true;
    }
    
    //Removes account lock, can only be executed by owner account
    function removeAccountLock(address addressToUnlock) public onlyOwner returns (bool) {
        require (addressToUnlock != address(0));
        require (_accountLock[addressToUnlock] == true);
        
        _accountLock[addressToUnlock] = false;
        
        emit AccountUnlocked(addressToUnlock);
        
        return true;
    }
    
    //Burn-mint-related functions
    
    //Mints exact amount of token and transfers to specified address
    //MINT FUNCTION REMOVED
    //function mint(address receiver, uint256 mintAmount) public onlyOwner returns (bool) {
    //    _mint(receiver, mintAmount);
    //    return true;
    //}
    
    //Burns exact amount of token from sender(owner) account
    function burn(uint256 burnAmount) public onlyOwner returns (bool) {
        _burn(msg.sender, burnAmount);
        return true;
    }
    

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is 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");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

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

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

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

    /**
     * @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");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

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

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

        _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 to 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) onlyUnlockedSender onlyUnlocked(from) onlyUnlocked(to) internal virtual { }
    function _beforeTokenApprove(address from, address to, uint256 amount) onlyUnlockedSender onlyUnlocked(from) onlyUnlocked(to) internal virtual { }
}

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

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) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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

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 4 of 4: IERC20Metadata.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "../IERC20.sol";

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"initialSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"lockedAccount","type":"address"}],"name":"AccountLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"unlockedAccount","type":"address"}],"name":"AccountUnlocked","type":"event"},{"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":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"addressToLock","type":"address"}],"name":"addAccountLock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"burnAmount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","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":"addressToCheck","type":"address"}],"name":"getAccountLock","outputs":[{"internalType":"bool","name":"isLocked","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContractOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addressToUnlock","type":"address"}],"name":"removeAccountLock","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":[{"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":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060405162002bad38038062002bad833981810160405281019062000037919062000539565b6040518060400160405280600b81526020017f47616c6c657279436f696e000000000000000000000000000000000000000000815250600490805190602001906200008492919062000472565b506040518060400160405280600381526020017f474c52000000000000000000000000000000000000000000000000000000000081525060059080519060200190620000d292919062000472565b5033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200013b33670de0b6b3a7640000836200012f919062000699565b6200014260201b60201c565b5062000809565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620001b5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001ac90620005ec565b60405180910390fd5b620001c960008383620002a760201b60201c565b8060036000828254620001dd91906200063c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200023491906200063c565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200029b91906200060e565b60405180910390a35050565b60001515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146200033d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200033490620005ca565b60405180910390fd5b8260001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514620003d4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003cb90620005ca565b60405180910390fd5b8260001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146200046b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200046290620005ca565b60405180910390fd5b5050505050565b828054620004809062000704565b90600052602060002090601f016020900481019282620004a45760008555620004f0565b82601f10620004bf57805160ff1916838001178555620004f0565b82800160010185558215620004f0579182015b82811115620004ef578251825591602001919060010190620004d2565b5b509050620004ff919062000503565b5090565b5b808211156200051e57600081600090555060010162000504565b5090565b6000815190506200053381620007ef565b92915050565b60006020828403121562000552576200055162000798565b5b6000620005628482850162000522565b91505092915050565b60006200057a600e836200062b565b915062000587826200079d565b602082019050919050565b6000620005a1601f836200062b565b9150620005ae82620007c6565b602082019050919050565b620005c481620006fa565b82525050565b60006020820190508181036000830152620005e5816200056b565b9050919050565b60006020820190508181036000830152620006078162000592565b9050919050565b6000602082019050620006256000830184620005b9565b92915050565b600082825260208201905092915050565b60006200064982620006fa565b91506200065683620006fa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200068e576200068d6200073a565b5b828201905092915050565b6000620006a682620006fa565b9150620006b383620006fa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006ef57620006ee6200073a565b5b828202905092915050565b6000819050919050565b600060028204905060018216806200071d57607f821691505b6020821081141562000734576200073362000769565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b7f4c6f636b6564204163636f756e74000000000000000000000000000000000000600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b620007fa81620006fa565b81146200080657600080fd5b50565b61239480620008196000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806342966c68116100a2578063a457c2d711610071578063a457c2d714610308578063a9059cbb14610338578063dd62ed3e14610368578063e0e7127a14610398578063f2fde38b146103b65761010b565b806342966c681461025a57806369eeea551461028a57806370a08231146102ba57806395d89b41146102ea5761010b565b80631d0136a6116100de5780631d0136a6146101ac57806323b872dd146101dc578063313ce5671461020c578063395093511461022a5761010b565b806303f002b91461011057806306fdde0314610140578063095ea7b31461015e57806318160ddd1461018e575b600080fd5b61012a60048036038101906101259190611932565b6103e6565b6040516101379190611c70565b60405180910390f35b6101486105b3565b6040516101559190611c8b565b60405180910390f35b610178600480360381019061017391906119f2565b610645565b6040516101859190611c70565b60405180910390f35b610196610663565b6040516101a39190611e0d565b60405180910390f35b6101c660048036038101906101c19190611932565b61066d565b6040516101d39190611c70565b60405180910390f35b6101f660048036038101906101f1919061199f565b6106c3565b6040516102039190611c70565b60405180910390f35b6102146107c4565b6040516102219190611e28565b60405180910390f35b610244600480360381019061023f91906119f2565b6107cd565b6040516102519190611c70565b60405180910390f35b610274600480360381019061026f9190611a32565b610879565b6040516102819190611c70565b60405180910390f35b6102a4600480360381019061029f9190611932565b61091e565b6040516102b19190611c70565b60405180910390f35b6102d460048036038101906102cf9190611932565b610aeb565b6040516102e19190611e0d565b60405180910390f35b6102f2610b33565b6040516102ff9190611c8b565b60405180910390f35b610322600480360381019061031d91906119f2565b610bc5565b60405161032f9190611c70565b60405180910390f35b610352600480360381019061034d91906119f2565b610cb9565b60405161035f9190611c70565b60405180910390f35b610382600480360381019061037d919061195f565b610cd7565b60405161038f9190611e0d565b60405180910390f35b6103a0610d5e565b6040516103ad9190611c55565b60405180910390f35b6103d060048036038101906103cb9190611932565b610d88565b6040516103dd9190611c70565b60405180910390f35b60003373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046f90611d4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156104b257600080fd5b60001515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461050f57600080fd5b6001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f78be06d07afe380e04d6deeba0f33c892db454f303fb739d9b768987a5ec6aca60405160405180910390a260019050919050565b6060600480546105c290611f71565b80601f01602080910402602001604051908101604052809291908181526020018280546105ee90611f71565b801561063b5780601f106106105761010080835404028352916020019161063b565b820191906000526020600020905b81548152906001019060200180831161061e57829003601f168201915b5050505050905090565b6000610659610652610f53565b8484610f5b565b6001905092915050565b6000600354905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60006106d0848484611131565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061071b610f53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079290611d6d565b60405180910390fd5b6107b8856107a7610f53565b85846107b39190611eb5565b610f5b565b60019150509392505050565b60006012905090565b600061086f6107da610f53565b8484600160006107e8610f53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461086a9190611e5f565b610f5b565b6001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461090b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090290611d4d565b60405180910390fd5b61091533836113b0565b60019050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a790611d4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109ea57600080fd5b60011515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610a4757600080fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fb7df7ef889418eecc895118f0d863c3074abf7769bfe39ba852192114c725dfc60405160405180910390a260019050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060058054610b4290611f71565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6e90611f71565b8015610bbb5780601f10610b9057610100808354040283529160200191610bbb565b820191906000526020600020905b815481529060010190602001808311610b9e57829003601f168201915b5050505050905090565b60008060016000610bd4610f53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8890611ded565b60405180910390fd5b610cae610c9c610f53565b858584610ca99190611eb5565b610f5b565b600191505092915050565b6000610ccd610cc6610f53565b8484611131565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60003373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1190611d4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e5457600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eaf57600080fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360019050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc290611dcd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561103b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103290611ced565b60405180910390fd5b611046838383611584565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111249190611e0d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119890611dad565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611211576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120890611cad565b60405180910390fd5b61121c838383611746565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156112a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129990611d0d565b60405180910390fd5b81816112ae9190611eb5565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461133e9190611e5f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113a29190611e0d565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141790611d8d565b60405180910390fd5b61142c82600083611746565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a990611ccd565b60405180910390fd5b81816114be9190611eb5565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546115129190611eb5565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115779190611e0d565b60405180910390a3505050565b60001515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160e90611d2d565b60405180910390fd5b8260001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146116ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a290611d2d565b60405180910390fd5b8260001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461173f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173690611d2d565b60405180910390fd5b5050505050565b60001515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d090611d2d565b60405180910390fd5b8260001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461186d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186490611d2d565b60405180910390fd5b8260001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f890611d2d565b60405180910390fd5b5050505050565b60008135905061191781612330565b92915050565b60008135905061192c81612347565b92915050565b60006020828403121561194857611947612001565b5b600061195684828501611908565b91505092915050565b6000806040838503121561197657611975612001565b5b600061198485828601611908565b925050602061199585828601611908565b9150509250929050565b6000806000606084860312156119b8576119b7612001565b5b60006119c686828701611908565b93505060206119d786828701611908565b92505060406119e88682870161191d565b9150509250925092565b60008060408385031215611a0957611a08612001565b5b6000611a1785828601611908565b9250506020611a288582860161191d565b9150509250929050565b600060208284031215611a4857611a47612001565b5b6000611a568482850161191d565b91505092915050565b611a6881611ee9565b82525050565b611a7781611efb565b82525050565b6000611a8882611e43565b611a928185611e4e565b9350611aa2818560208601611f3e565b611aab81612006565b840191505092915050565b6000611ac3602383611e4e565b9150611ace82612017565b604082019050919050565b6000611ae6602283611e4e565b9150611af182612066565b604082019050919050565b6000611b09602283611e4e565b9150611b14826120b5565b604082019050919050565b6000611b2c602683611e4e565b9150611b3782612104565b604082019050919050565b6000611b4f600e83611e4e565b9150611b5a82612153565b602082019050919050565b6000611b72601c83611e4e565b9150611b7d8261217c565b602082019050919050565b6000611b95602883611e4e565b9150611ba0826121a5565b604082019050919050565b6000611bb8602183611e4e565b9150611bc3826121f4565b604082019050919050565b6000611bdb602583611e4e565b9150611be682612243565b604082019050919050565b6000611bfe602483611e4e565b9150611c0982612292565b604082019050919050565b6000611c21602583611e4e565b9150611c2c826122e1565b604082019050919050565b611c4081611f27565b82525050565b611c4f81611f31565b82525050565b6000602082019050611c6a6000830184611a5f565b92915050565b6000602082019050611c856000830184611a6e565b92915050565b60006020820190508181036000830152611ca58184611a7d565b905092915050565b60006020820190508181036000830152611cc681611ab6565b9050919050565b60006020820190508181036000830152611ce681611ad9565b9050919050565b60006020820190508181036000830152611d0681611afc565b9050919050565b60006020820190508181036000830152611d2681611b1f565b9050919050565b60006020820190508181036000830152611d4681611b42565b9050919050565b60006020820190508181036000830152611d6681611b65565b9050919050565b60006020820190508181036000830152611d8681611b88565b9050919050565b60006020820190508181036000830152611da681611bab565b9050919050565b60006020820190508181036000830152611dc681611bce565b9050919050565b60006020820190508181036000830152611de681611bf1565b9050919050565b60006020820190508181036000830152611e0681611c14565b9050919050565b6000602082019050611e226000830184611c37565b92915050565b6000602082019050611e3d6000830184611c46565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611e6a82611f27565b9150611e7583611f27565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611eaa57611ea9611fa3565b5b828201905092915050565b6000611ec082611f27565b9150611ecb83611f27565b925082821015611ede57611edd611fa3565b5b828203905092915050565b6000611ef482611f07565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611f5c578082015181840152602081019050611f41565b83811115611f6b576000848401525b50505050565b60006002820490506001821680611f8957607f821691505b60208210811415611f9d57611f9c611fd2565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4c6f636b6564204163636f756e74000000000000000000000000000000000000600082015250565b7f436f6e7472616374204f776e6572206f6e6c792046756e6374696f6e00000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61233981611ee9565b811461234457600080fd5b50565b61235081611f27565b811461235b57600080fd5b5056fea2646970667358221220023e5b3bd37e977eeff0bceb23da866d17205953aabec28f6a346fc7abaab36c64736f6c634300080700330000000000000000000000000000000000000000000000000000000077359400

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806342966c68116100a2578063a457c2d711610071578063a457c2d714610308578063a9059cbb14610338578063dd62ed3e14610368578063e0e7127a14610398578063f2fde38b146103b65761010b565b806342966c681461025a57806369eeea551461028a57806370a08231146102ba57806395d89b41146102ea5761010b565b80631d0136a6116100de5780631d0136a6146101ac57806323b872dd146101dc578063313ce5671461020c578063395093511461022a5761010b565b806303f002b91461011057806306fdde0314610140578063095ea7b31461015e57806318160ddd1461018e575b600080fd5b61012a60048036038101906101259190611932565b6103e6565b6040516101379190611c70565b60405180910390f35b6101486105b3565b6040516101559190611c8b565b60405180910390f35b610178600480360381019061017391906119f2565b610645565b6040516101859190611c70565b60405180910390f35b610196610663565b6040516101a39190611e0d565b60405180910390f35b6101c660048036038101906101c19190611932565b61066d565b6040516101d39190611c70565b60405180910390f35b6101f660048036038101906101f1919061199f565b6106c3565b6040516102039190611c70565b60405180910390f35b6102146107c4565b6040516102219190611e28565b60405180910390f35b610244600480360381019061023f91906119f2565b6107cd565b6040516102519190611c70565b60405180910390f35b610274600480360381019061026f9190611a32565b610879565b6040516102819190611c70565b60405180910390f35b6102a4600480360381019061029f9190611932565b61091e565b6040516102b19190611c70565b60405180910390f35b6102d460048036038101906102cf9190611932565b610aeb565b6040516102e19190611e0d565b60405180910390f35b6102f2610b33565b6040516102ff9190611c8b565b60405180910390f35b610322600480360381019061031d91906119f2565b610bc5565b60405161032f9190611c70565b60405180910390f35b610352600480360381019061034d91906119f2565b610cb9565b60405161035f9190611c70565b60405180910390f35b610382600480360381019061037d919061195f565b610cd7565b60405161038f9190611e0d565b60405180910390f35b6103a0610d5e565b6040516103ad9190611c55565b60405180910390f35b6103d060048036038101906103cb9190611932565b610d88565b6040516103dd9190611c70565b60405180910390f35b60003373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046f90611d4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156104b257600080fd5b60001515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461050f57600080fd5b6001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f78be06d07afe380e04d6deeba0f33c892db454f303fb739d9b768987a5ec6aca60405160405180910390a260019050919050565b6060600480546105c290611f71565b80601f01602080910402602001604051908101604052809291908181526020018280546105ee90611f71565b801561063b5780601f106106105761010080835404028352916020019161063b565b820191906000526020600020905b81548152906001019060200180831161061e57829003601f168201915b5050505050905090565b6000610659610652610f53565b8484610f5b565b6001905092915050565b6000600354905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60006106d0848484611131565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061071b610f53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079290611d6d565b60405180910390fd5b6107b8856107a7610f53565b85846107b39190611eb5565b610f5b565b60019150509392505050565b60006012905090565b600061086f6107da610f53565b8484600160006107e8610f53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461086a9190611e5f565b610f5b565b6001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461090b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090290611d4d565b60405180910390fd5b61091533836113b0565b60019050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a790611d4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109ea57600080fd5b60011515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610a4757600080fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fb7df7ef889418eecc895118f0d863c3074abf7769bfe39ba852192114c725dfc60405160405180910390a260019050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060058054610b4290611f71565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6e90611f71565b8015610bbb5780601f10610b9057610100808354040283529160200191610bbb565b820191906000526020600020905b815481529060010190602001808311610b9e57829003601f168201915b5050505050905090565b60008060016000610bd4610f53565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8890611ded565b60405180910390fd5b610cae610c9c610f53565b858584610ca99190611eb5565b610f5b565b600191505092915050565b6000610ccd610cc6610f53565b8484611131565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60003373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1190611d4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e5457600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eaf57600080fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360019050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc290611dcd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561103b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103290611ced565b60405180910390fd5b611046838383611584565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111249190611e0d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119890611dad565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611211576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120890611cad565b60405180910390fd5b61121c838383611746565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156112a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129990611d0d565b60405180910390fd5b81816112ae9190611eb5565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461133e9190611e5f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113a29190611e0d565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141790611d8d565b60405180910390fd5b61142c82600083611746565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a990611ccd565b60405180910390fd5b81816114be9190611eb5565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546115129190611eb5565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115779190611e0d565b60405180910390a3505050565b60001515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160e90611d2d565b60405180910390fd5b8260001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146116ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a290611d2d565b60405180910390fd5b8260001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461173f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173690611d2d565b60405180910390fd5b5050505050565b60001515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d090611d2d565b60405180910390fd5b8260001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461186d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186490611d2d565b60405180910390fd5b8260001515600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f890611d2d565b60405180910390fd5b5050505050565b60008135905061191781612330565b92915050565b60008135905061192c81612347565b92915050565b60006020828403121561194857611947612001565b5b600061195684828501611908565b91505092915050565b6000806040838503121561197657611975612001565b5b600061198485828601611908565b925050602061199585828601611908565b9150509250929050565b6000806000606084860312156119b8576119b7612001565b5b60006119c686828701611908565b93505060206119d786828701611908565b92505060406119e88682870161191d565b9150509250925092565b60008060408385031215611a0957611a08612001565b5b6000611a1785828601611908565b9250506020611a288582860161191d565b9150509250929050565b600060208284031215611a4857611a47612001565b5b6000611a568482850161191d565b91505092915050565b611a6881611ee9565b82525050565b611a7781611efb565b82525050565b6000611a8882611e43565b611a928185611e4e565b9350611aa2818560208601611f3e565b611aab81612006565b840191505092915050565b6000611ac3602383611e4e565b9150611ace82612017565b604082019050919050565b6000611ae6602283611e4e565b9150611af182612066565b604082019050919050565b6000611b09602283611e4e565b9150611b14826120b5565b604082019050919050565b6000611b2c602683611e4e565b9150611b3782612104565b604082019050919050565b6000611b4f600e83611e4e565b9150611b5a82612153565b602082019050919050565b6000611b72601c83611e4e565b9150611b7d8261217c565b602082019050919050565b6000611b95602883611e4e565b9150611ba0826121a5565b604082019050919050565b6000611bb8602183611e4e565b9150611bc3826121f4565b604082019050919050565b6000611bdb602583611e4e565b9150611be682612243565b604082019050919050565b6000611bfe602483611e4e565b9150611c0982612292565b604082019050919050565b6000611c21602583611e4e565b9150611c2c826122e1565b604082019050919050565b611c4081611f27565b82525050565b611c4f81611f31565b82525050565b6000602082019050611c6a6000830184611a5f565b92915050565b6000602082019050611c856000830184611a6e565b92915050565b60006020820190508181036000830152611ca58184611a7d565b905092915050565b60006020820190508181036000830152611cc681611ab6565b9050919050565b60006020820190508181036000830152611ce681611ad9565b9050919050565b60006020820190508181036000830152611d0681611afc565b9050919050565b60006020820190508181036000830152611d2681611b1f565b9050919050565b60006020820190508181036000830152611d4681611b42565b9050919050565b60006020820190508181036000830152611d6681611b65565b9050919050565b60006020820190508181036000830152611d8681611b88565b9050919050565b60006020820190508181036000830152611da681611bab565b9050919050565b60006020820190508181036000830152611dc681611bce565b9050919050565b60006020820190508181036000830152611de681611bf1565b9050919050565b60006020820190508181036000830152611e0681611c14565b9050919050565b6000602082019050611e226000830184611c37565b92915050565b6000602082019050611e3d6000830184611c46565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611e6a82611f27565b9150611e7583611f27565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611eaa57611ea9611fa3565b5b828201905092915050565b6000611ec082611f27565b9150611ecb83611f27565b925082821015611ede57611edd611fa3565b5b828203905092915050565b6000611ef482611f07565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611f5c578082015181840152602081019050611f41565b83811115611f6b576000848401525b50505050565b60006002820490506001821680611f8957607f821691505b60208210811415611f9d57611f9c611fd2565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4c6f636b6564204163636f756e74000000000000000000000000000000000000600082015250565b7f436f6e7472616374204f776e6572206f6e6c792046756e6374696f6e00000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61233981611ee9565b811461234457600080fd5b50565b61235081611f27565b811461235b57600080fd5b5056fea2646970667358221220023e5b3bd37e977eeff0bceb23da866d17205953aabec28f6a346fc7abaab36c64736f6c63430008070033

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

0000000000000000000000000000000000000000000000000000000077359400

-----Decoded View---------------
Arg [0] : initialSupply (uint256): 2000000000

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


Deployed Bytecode Sourcemap

904:12709:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8175:324;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2620:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4717:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3708:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7966:136;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5350:414;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3557:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6159:212;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9288:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8575:339;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3872:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2831:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6858:371;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4200:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4430:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7341:103;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7531:303;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8175:324;8248:4;1371:10;1353:28;;:14;;;;;;;;;;;:28;;;1344:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;8298:1:::1;8273:27;;:13;:27;;;;8264:37;;;::::0;::::1;;8351:5;8320:36;;:12;:27;8333:13;8320:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;8311:46;;;::::0;::::1;;8406:4;8376:12;:27;8389:13;8376:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;8448:13;8434:28;;;;;;;;;;;;8488:4;8481:11;;8175:324:::0;;;:::o;2620:98::-;2674:13;2706:5;2699:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2620:98;:::o;4717:166::-;4800:4;4816:39;4825:12;:10;:12::i;:::-;4839:7;4848:6;4816:8;:39::i;:::-;4872:4;4865:11;;4717:166;;;;:::o;3708:106::-;3769:7;3795:12;;3788:19;;3708:106;:::o;7966:136::-;8035:13;8067:12;:28;8080:14;8067:28;;;;;;;;;;;;;;;;;;;;;;;;;8060:35;;7966:136;;;:::o;5350:414::-;5456:4;5472:36;5482:6;5490:9;5501:6;5472:9;:36::i;:::-;5519:24;5546:11;:19;5558:6;5546:19;;;;;;;;;;;;;;;:33;5566:12;:10;:12::i;:::-;5546:33;;;;;;;;;;;;;;;;5519:60;;5617:6;5597:16;:26;;5589:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5678:57;5687:6;5695:12;:10;:12::i;:::-;5728:6;5709:16;:25;;;;:::i;:::-;5678:8;:57::i;:::-;5753:4;5746:11;;;5350:414;;;;;:::o;3557:91::-;3615:5;3639:2;3632:9;;3557:91;:::o;6159:212::-;6247:4;6263:80;6272:12;:10;:12::i;:::-;6286:7;6332:10;6295:11;:25;6307:12;:10;:12::i;:::-;6295:25;;;;;;;;;;;;;;;:34;6321:7;6295:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;6263:8;:80::i;:::-;6360:4;6353:11;;6159:212;;;;:::o;9288:133::-;9348:4;1371:10;1353:28;;:14;;;;;;;;;;;:28;;;1344:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9364:29:::1;9370:10;9382;9364:5;:29::i;:::-;9410:4;9403:11;;9288:133:::0;;;:::o;8575:339::-;8653:4;1371:10;1353:28;;:14;;;;;;;;;;;:28;;;1344:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;8705:1:::1;8678:29;;:15;:29;;;;8669:39;;;::::0;::::1;;8760:4;8727:37;;:12;:29;8740:15;8727:29;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;8718:47;;;::::0;::::1;;8816:5;8784:12;:29;8797:15;8784:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;8861:15;8845:32;;;;;;;;;;;;8903:4;8896:11;;8575:339:::0;;;:::o;3872:125::-;3946:7;3972:9;:18;3982:7;3972:18;;;;;;;;;;;;;;;;3965:25;;3872:125;;;:::o;2831:102::-;2887:13;2919:7;2912:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2831:102;:::o;6858:371::-;6951:4;6967:24;6994:11;:25;7006:12;:10;:12::i;:::-;6994:25;;;;;;;;;;;;;;;:34;7020:7;6994:34;;;;;;;;;;;;;;;;6967:61;;7066:15;7046:16;:35;;7038:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;7133:67;7142:12;:10;:12::i;:::-;7156:7;7184:15;7165:16;:34;;;;:::i;:::-;7133:8;:67::i;:::-;7218:4;7211:11;;;6858:371;;;;:::o;4200:172::-;4286:4;4302:42;4312:12;:10;:12::i;:::-;4326:9;4337:6;4302:9;:42::i;:::-;4361:4;4354:11;;4200:172;;;;:::o;4430:149::-;4519:7;4545:11;:18;4557:5;4545:18;;;;;;;;;;;;;;;:27;4564:7;4545:27;;;;;;;;;;;;;;;;4538:34;;4430:149;;;;:::o;7341:103::-;7397:7;7423:14;;;;;;;;;;;7416:21;;7341:103;:::o;7531:303::-;7602:4;1371:10;1353:28;;:14;;;;;;;;;;;:28;;;1344:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7647:1:::1;7627:22;;:8;:22;;;;7618:32;;;::::0;::::1;;7681:14;;;;;;;;;;;7669:26;;:8;:26;;;;7660:36;;;::::0;::::1;;7732:8;7715:14;;:25;;;;;;;;;;;;;;;;;;7797:8;7764:42;;7785:10;7764:42;;;;;;;;;;;;7823:4;7816:11;;7531:303:::0;;;:::o;586:96:0:-;639:7;665:10;658:17;;586:96;:::o;12324:402:1:-;12442:1;12425:19;;:5;:19;;;;12417:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12522:1;12503:21;;:7;:21;;;;12495:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12582:43;12602:5;12609:7;12618:6;12582:19;:43::i;:::-;12666:6;12636:11;:18;12648:5;12636:18;;;;;;;;;;;;;;;:27;12655:7;12636:27;;;;;;;;;;;;;;;:36;;;;12703:7;12687:32;;12696:5;12687:32;;;12712:6;12687:32;;;;;;:::i;:::-;;;;;;;;12324:402;;;:::o;9900:592::-;10023:1;10005:20;;:6;:20;;;;9997:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;10106:1;10085:23;;:9;:23;;;;10077:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;10159:47;10180:6;10188:9;10199:6;10159:20;:47::i;:::-;10217:21;10241:9;:17;10251:6;10241:17;;;;;;;;;;;;;;;;10217:41;;10293:6;10276:13;:23;;10268:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;10388:6;10372:13;:22;;;;:::i;:::-;10352:9;:17;10362:6;10352:17;;;;;;;;;;;;;;;:42;;;;10428:6;10404:9;:20;10414:9;10404:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;10467:9;10450:35;;10459:6;10450:35;;;10478:6;10450:35;;;;;;:::i;:::-;;;;;;;;9987:505;9900:592;;;:::o;11418:483::-;11520:1;11501:21;;:7;:21;;;;11493:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11571:49;11592:7;11609:1;11613:6;11571:20;:49::i;:::-;11631:22;11656:9;:18;11666:7;11656:18;;;;;;;;;;;;;;;;11631:43;;11710:6;11692:14;:24;;11684:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11803:6;11786:14;:23;;;;:::i;:::-;11765:9;:18;11775:7;11765:18;;;;;;;;;;;;;;;:44;;;;11835:6;11819:12;;:22;;;;;;;:::i;:::-;;;;;;;;11883:1;11857:37;;11866:7;11857:37;;;11887:6;11857:37;;;;;;:::i;:::-;;;;;;;;11483:418;11418:483;;:::o;13465:146::-;1517:5;1489:33;;:12;:24;1502:10;1489:24;;;;;;;;;;;;;;;;;;;;;;;;;:33;;;1480:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;13568:4:::1;1665:5;1634:36;;:12;:27;1647:13;1634:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;1625:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13587:2:::2;1665:5;1634:36;;:12;:27;1647:13;1634:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;1625:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;1699:1;1551::::1;13465:146:::0;;;:::o;13313:147::-;1517:5;1489:33;;:12;:24;1502:10;1489:24;;;;;;;;;;;;;;;;;;;;;;;;;:33;;;1480:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;13417:4:::1;1665:5;1634:36;;:12;:27;1647:13;1634:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;1625:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13436:2:::2;1665:5;1634:36;;:12;:27;1647:13;1634:27;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;1625:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;1699:1;1551::::1;13313:147:::0;;;:::o;7:139:4:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:119;;;411:79;;:::i;:::-;373:119;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;297:329;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:119;;;763:79;;:::i;:::-;725:119;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;632:474;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:119;;;1260:79;;:::i;:::-;1222:119;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1112:619;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:119;;;1868:79;;:::i;:::-;1830:119;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1737:474;;;;;:::o;2217:329::-;2276:6;2325:2;2313:9;2304:7;2300:23;2296:32;2293:119;;;2331:79;;:::i;:::-;2293:119;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2217:329;;;;:::o;2552:118::-;2639:24;2657:5;2639:24;:::i;:::-;2634:3;2627:37;2552:118;;:::o;2676:109::-;2757:21;2772:5;2757:21;:::i;:::-;2752:3;2745:34;2676:109;;:::o;2791:364::-;2879:3;2907:39;2940:5;2907:39;:::i;:::-;2962:71;3026:6;3021:3;2962:71;:::i;:::-;2955:78;;3042:52;3087:6;3082:3;3075:4;3068:5;3064:16;3042:52;:::i;:::-;3119:29;3141:6;3119:29;:::i;:::-;3114:3;3110:39;3103:46;;2883:272;2791:364;;;;:::o;3161:366::-;3303:3;3324:67;3388:2;3383:3;3324:67;:::i;:::-;3317:74;;3400:93;3489:3;3400:93;:::i;:::-;3518:2;3513:3;3509:12;3502:19;;3161:366;;;:::o;3533:::-;3675:3;3696:67;3760:2;3755:3;3696:67;:::i;:::-;3689:74;;3772:93;3861:3;3772:93;:::i;:::-;3890:2;3885:3;3881:12;3874:19;;3533:366;;;:::o;3905:::-;4047:3;4068:67;4132:2;4127:3;4068:67;:::i;:::-;4061:74;;4144:93;4233:3;4144:93;:::i;:::-;4262:2;4257:3;4253:12;4246:19;;3905:366;;;:::o;4277:::-;4419:3;4440:67;4504:2;4499:3;4440:67;:::i;:::-;4433:74;;4516:93;4605:3;4516:93;:::i;:::-;4634:2;4629:3;4625:12;4618:19;;4277:366;;;:::o;4649:::-;4791:3;4812:67;4876:2;4871:3;4812:67;:::i;:::-;4805:74;;4888:93;4977:3;4888:93;:::i;:::-;5006:2;5001:3;4997:12;4990:19;;4649:366;;;:::o;5021:::-;5163:3;5184:67;5248:2;5243:3;5184:67;:::i;:::-;5177:74;;5260:93;5349:3;5260:93;:::i;:::-;5378:2;5373:3;5369:12;5362:19;;5021:366;;;:::o;5393:::-;5535:3;5556:67;5620:2;5615:3;5556:67;:::i;:::-;5549:74;;5632:93;5721:3;5632:93;:::i;:::-;5750:2;5745:3;5741:12;5734:19;;5393:366;;;:::o;5765:::-;5907:3;5928:67;5992:2;5987:3;5928:67;:::i;:::-;5921:74;;6004:93;6093:3;6004:93;:::i;:::-;6122:2;6117:3;6113:12;6106:19;;5765:366;;;:::o;6137:::-;6279:3;6300:67;6364:2;6359:3;6300:67;:::i;:::-;6293:74;;6376:93;6465:3;6376:93;:::i;:::-;6494:2;6489:3;6485:12;6478:19;;6137:366;;;:::o;6509:::-;6651:3;6672:67;6736:2;6731:3;6672:67;:::i;:::-;6665:74;;6748:93;6837:3;6748:93;:::i;:::-;6866:2;6861:3;6857:12;6850:19;;6509:366;;;:::o;6881:::-;7023:3;7044:67;7108:2;7103:3;7044:67;:::i;:::-;7037:74;;7120:93;7209:3;7120:93;:::i;:::-;7238:2;7233:3;7229:12;7222:19;;6881:366;;;:::o;7253:118::-;7340:24;7358:5;7340:24;:::i;:::-;7335:3;7328:37;7253:118;;:::o;7377:112::-;7460:22;7476:5;7460:22;:::i;:::-;7455:3;7448:35;7377:112;;:::o;7495:222::-;7588:4;7626:2;7615:9;7611:18;7603:26;;7639:71;7707:1;7696:9;7692:17;7683:6;7639:71;:::i;:::-;7495:222;;;;:::o;7723:210::-;7810:4;7848:2;7837:9;7833:18;7825:26;;7861:65;7923:1;7912:9;7908:17;7899:6;7861:65;:::i;:::-;7723:210;;;;:::o;7939:313::-;8052:4;8090:2;8079:9;8075:18;8067:26;;8139:9;8133:4;8129:20;8125:1;8114:9;8110:17;8103:47;8167:78;8240:4;8231:6;8167:78;:::i;:::-;8159:86;;7939:313;;;;:::o;8258:419::-;8424:4;8462:2;8451:9;8447:18;8439:26;;8511:9;8505:4;8501:20;8497:1;8486:9;8482:17;8475:47;8539:131;8665:4;8539:131;:::i;:::-;8531:139;;8258:419;;;:::o;8683:::-;8849:4;8887:2;8876:9;8872:18;8864:26;;8936:9;8930:4;8926:20;8922:1;8911:9;8907:17;8900:47;8964:131;9090:4;8964:131;:::i;:::-;8956:139;;8683:419;;;:::o;9108:::-;9274:4;9312:2;9301:9;9297:18;9289:26;;9361:9;9355:4;9351:20;9347:1;9336:9;9332:17;9325:47;9389:131;9515:4;9389:131;:::i;:::-;9381:139;;9108:419;;;:::o;9533:::-;9699:4;9737:2;9726:9;9722:18;9714:26;;9786:9;9780:4;9776:20;9772:1;9761:9;9757:17;9750:47;9814:131;9940:4;9814:131;:::i;:::-;9806:139;;9533:419;;;:::o;9958:::-;10124:4;10162:2;10151:9;10147:18;10139:26;;10211:9;10205:4;10201:20;10197:1;10186:9;10182:17;10175:47;10239:131;10365:4;10239:131;:::i;:::-;10231:139;;9958:419;;;:::o;10383:::-;10549:4;10587:2;10576:9;10572:18;10564:26;;10636:9;10630:4;10626:20;10622:1;10611:9;10607:17;10600:47;10664:131;10790:4;10664:131;:::i;:::-;10656:139;;10383:419;;;:::o;10808:::-;10974:4;11012:2;11001:9;10997:18;10989:26;;11061:9;11055:4;11051:20;11047:1;11036:9;11032:17;11025:47;11089:131;11215:4;11089:131;:::i;:::-;11081:139;;10808:419;;;:::o;11233:::-;11399:4;11437:2;11426:9;11422:18;11414:26;;11486:9;11480:4;11476:20;11472:1;11461:9;11457:17;11450:47;11514:131;11640:4;11514:131;:::i;:::-;11506:139;;11233:419;;;:::o;11658:::-;11824:4;11862:2;11851:9;11847:18;11839:26;;11911:9;11905:4;11901:20;11897:1;11886:9;11882:17;11875:47;11939:131;12065:4;11939:131;:::i;:::-;11931:139;;11658:419;;;:::o;12083:::-;12249:4;12287:2;12276:9;12272:18;12264:26;;12336:9;12330:4;12326:20;12322:1;12311:9;12307:17;12300:47;12364:131;12490:4;12364:131;:::i;:::-;12356:139;;12083:419;;;:::o;12508:::-;12674:4;12712:2;12701:9;12697:18;12689:26;;12761:9;12755:4;12751:20;12747:1;12736:9;12732:17;12725:47;12789:131;12915:4;12789:131;:::i;:::-;12781:139;;12508:419;;;:::o;12933:222::-;13026:4;13064:2;13053:9;13049:18;13041:26;;13077:71;13145:1;13134:9;13130:17;13121:6;13077:71;:::i;:::-;12933:222;;;;:::o;13161:214::-;13250:4;13288:2;13277:9;13273:18;13265:26;;13301:67;13365:1;13354:9;13350:17;13341:6;13301:67;:::i;:::-;13161:214;;;;:::o;13462:99::-;13514:6;13548:5;13542:12;13532:22;;13462:99;;;:::o;13567:169::-;13651:11;13685:6;13680:3;13673:19;13725:4;13720:3;13716:14;13701:29;;13567:169;;;;:::o;13742:305::-;13782:3;13801:20;13819:1;13801:20;:::i;:::-;13796:25;;13835:20;13853:1;13835:20;:::i;:::-;13830:25;;13989:1;13921:66;13917:74;13914:1;13911:81;13908:107;;;13995:18;;:::i;:::-;13908:107;14039:1;14036;14032:9;14025:16;;13742:305;;;;:::o;14053:191::-;14093:4;14113:20;14131:1;14113:20;:::i;:::-;14108:25;;14147:20;14165:1;14147:20;:::i;:::-;14142:25;;14186:1;14183;14180:8;14177:34;;;14191:18;;:::i;:::-;14177:34;14236:1;14233;14229:9;14221:17;;14053:191;;;;:::o;14250:96::-;14287:7;14316:24;14334:5;14316:24;:::i;:::-;14305:35;;14250:96;;;:::o;14352:90::-;14386:7;14429:5;14422:13;14415:21;14404:32;;14352:90;;;:::o;14448:126::-;14485:7;14525:42;14518:5;14514:54;14503:65;;14448:126;;;:::o;14580:77::-;14617:7;14646:5;14635:16;;14580:77;;;:::o;14663:86::-;14698:7;14738:4;14731:5;14727:16;14716:27;;14663:86;;;:::o;14755:307::-;14823:1;14833:113;14847:6;14844:1;14841:13;14833:113;;;14932:1;14927:3;14923:11;14917:18;14913:1;14908:3;14904:11;14897:39;14869:2;14866:1;14862:10;14857:15;;14833:113;;;14964:6;14961:1;14958:13;14955:101;;;15044:1;15035:6;15030:3;15026:16;15019:27;14955:101;14804:258;14755:307;;;:::o;15068:320::-;15112:6;15149:1;15143:4;15139:12;15129:22;;15196:1;15190:4;15186:12;15217:18;15207:81;;15273:4;15265:6;15261:17;15251:27;;15207:81;15335:2;15327:6;15324:14;15304:18;15301:38;15298:84;;;15354:18;;:::i;:::-;15298:84;15119:269;15068:320;;;:::o;15394:180::-;15442:77;15439:1;15432:88;15539:4;15536:1;15529:15;15563:4;15560:1;15553:15;15580:180;15628:77;15625:1;15618:88;15725:4;15722:1;15715:15;15749:4;15746:1;15739:15;15889:117;15998:1;15995;15988:12;16012:102;16053:6;16104:2;16100:7;16095:2;16088:5;16084:14;16080:28;16070:38;;16012:102;;;:::o;16120:222::-;16260:34;16256:1;16248:6;16244:14;16237:58;16329:5;16324:2;16316:6;16312:15;16305:30;16120:222;:::o;16348:221::-;16488:34;16484:1;16476:6;16472:14;16465:58;16557:4;16552:2;16544:6;16540:15;16533:29;16348:221;:::o;16575:::-;16715:34;16711:1;16703:6;16699:14;16692:58;16784:4;16779:2;16771:6;16767:15;16760:29;16575:221;:::o;16802:225::-;16942:34;16938:1;16930:6;16926:14;16919:58;17011:8;17006:2;16998:6;16994:15;16987:33;16802:225;:::o;17033:164::-;17173:16;17169:1;17161:6;17157:14;17150:40;17033:164;:::o;17203:178::-;17343:30;17339:1;17331:6;17327:14;17320:54;17203:178;:::o;17387:227::-;17527:34;17523:1;17515:6;17511:14;17504:58;17596:10;17591:2;17583:6;17579:15;17572:35;17387:227;:::o;17620:220::-;17760:34;17756:1;17748:6;17744:14;17737:58;17829:3;17824:2;17816:6;17812:15;17805:28;17620:220;:::o;17846:224::-;17986:34;17982:1;17974:6;17970:14;17963:58;18055:7;18050:2;18042:6;18038:15;18031:32;17846:224;:::o;18076:223::-;18216:34;18212:1;18204:6;18200:14;18193:58;18285:6;18280:2;18272:6;18268:15;18261:31;18076:223;:::o;18305:224::-;18445:34;18441:1;18433:6;18429:14;18422:58;18514:7;18509:2;18501:6;18497:15;18490:32;18305:224;:::o;18535:122::-;18608:24;18626:5;18608:24;:::i;:::-;18601:5;18598:35;18588:63;;18647:1;18644;18637:12;18588:63;18535:122;:::o;18663:::-;18736:24;18754:5;18736:24;:::i;:::-;18729:5;18726:35;18716:63;;18775:1;18772;18765:12;18716:63;18663:122;:::o

Swarm Source

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