ETH Price: $2,951.06 (+0.04%)
 

Overview

Max Total Supply

250,000,000 Cril

Holders

12

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
Crillux

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-09-22
*/

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Context.sol


// SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol


/**
 * @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: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/extensions/IERC20Metadata.sol

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

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

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


contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

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

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

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `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");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

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

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

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

        _afterTokenTransfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

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

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

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

        _afterTokenTransfer(account, address(0), amount);
    }

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

// File: Crillux.sol

contract Crillux is ERC20 {
    address public admin;
    constructor() ERC20 ('Crillux', 'Cril') {
        _mint(msg.sender, 300000000 * 10 ** 18);
        admin = msg.sender;
    }
    
        function burn(uint amount) external {
        _burn(msg.sender, amount);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":"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"}]

60806040523480156200001157600080fd5b506040518060400160405280600781526020017f4372696c6c7578000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4372696c0000000000000000000000000000000000000000000000000000000081525081600390805190602001906200009692919062000299565b508060049080519060200190620000af92919062000299565b505050620000cf336af8277896582678ac0000006200011660201b60201c565b33600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004f5565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000189576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001809062000381565b60405180910390fd5b6200019d600083836200028f60201b60201c565b8060026000828254620001b19190620003d1565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002089190620003d1565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200026f9190620003a3565b60405180910390a36200028b600083836200029460201b60201c565b5050565b505050565b505050565b828054620002a79062000438565b90600052602060002090601f016020900481019282620002cb576000855562000317565b82601f10620002e657805160ff191683800117855562000317565b8280016001018555821562000317579182015b8281111562000316578251825591602001919060010190620002f9565b5b5090506200032691906200032a565b5090565b5b80821115620003455760008160009055506001016200032b565b5090565b600062000358601f83620003c0565b91506200036582620004cc565b602082019050919050565b6200037b816200042e565b82525050565b600060208201905081810360008301526200039c8162000349565b9050919050565b6000602082019050620003ba600083018462000370565b92915050565b600082825260208201905092915050565b6000620003de826200042e565b9150620003eb836200042e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200042357620004226200046e565b5b828201905092915050565b6000819050919050565b600060028204905060018216806200045157607f821691505b602082108114156200046857620004676200049d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6117c380620005056000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c578063a457c2d711610066578063a457c2d714610228578063a9059cbb14610258578063dd62ed3e14610288578063f851a440146102b8576100cf565b806342966c68146101be57806370a08231146101da57806395d89b411461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d6565b6040516100e9919061114c565b60405180910390f35b61010c60048036038101906101079190610ef9565b610368565b6040516101199190611131565b60405180910390f35b61012a610386565b604051610137919061128e565b60405180910390f35b61015a60048036038101906101559190610ea6565b610390565b6040516101679190611131565b60405180910390f35b610178610488565b60405161018591906112a9565b60405180910390f35b6101a860048036038101906101a39190610ef9565b610491565b6040516101b59190611131565b60405180910390f35b6101d860048036038101906101d39190610f39565b61053d565b005b6101f460048036038101906101ef9190610e39565b61054a565b604051610201919061128e565b60405180910390f35b610212610592565b60405161021f919061114c565b60405180910390f35b610242600480360381019061023d9190610ef9565b610624565b60405161024f9190611131565b60405180910390f35b610272600480360381019061026d9190610ef9565b61070f565b60405161027f9190611131565b60405180910390f35b6102a2600480360381019061029d9190610e66565b61072d565b6040516102af919061128e565b60405180910390f35b6102c06107b4565b6040516102cd9190611116565b60405180910390f35b6060600380546102e5906113f2565b80601f0160208091040260200160405190810160405280929190818152602001828054610311906113f2565b801561035e5780601f106103335761010080835404028352916020019161035e565b820191906000526020600020905b81548152906001019060200180831161034157829003601f168201915b5050505050905090565b600061037c6103756107da565b84846107e2565b6001905092915050565b6000600254905090565b600061039d8484846109ad565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103e86107da565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045f906111ee565b60405180910390fd5b61047c856104746107da565b8584036107e2565b60019150509392505050565b60006012905090565b600061053361049e6107da565b8484600160006104ac6107da565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461052e91906112e0565b6107e2565b6001905092915050565b6105473382610c2e565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546105a1906113f2565b80601f01602080910402602001604051908101604052809291908181526020018280546105cd906113f2565b801561061a5780601f106105ef5761010080835404028352916020019161061a565b820191906000526020600020905b8154815290600101906020018083116105fd57829003601f168201915b5050505050905090565b600080600160006106336107da565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e79061126e565b60405180910390fd5b6107046106fb6107da565b858584036107e2565b600191505092915050565b600061072361071c6107da565b84846109ad565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610852576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108499061124e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b9906111ae565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109a0919061128e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a149061122e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a849061116e565b60405180910390fd5b610a98838383610e05565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b15906111ce565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bb191906112e0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c15919061128e565b60405180910390a3610c28848484610e0a565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c959061120e565b60405180910390fd5b610caa82600083610e05565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d279061118e565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610d879190611336565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610dec919061128e565b60405180910390a3610e0083600084610e0a565b505050565b505050565b505050565b600081359050610e1e8161175f565b92915050565b600081359050610e3381611776565b92915050565b600060208284031215610e4f57610e4e611482565b5b6000610e5d84828501610e0f565b91505092915050565b60008060408385031215610e7d57610e7c611482565b5b6000610e8b85828601610e0f565b9250506020610e9c85828601610e0f565b9150509250929050565b600080600060608486031215610ebf57610ebe611482565b5b6000610ecd86828701610e0f565b9350506020610ede86828701610e0f565b9250506040610eef86828701610e24565b9150509250925092565b60008060408385031215610f1057610f0f611482565b5b6000610f1e85828601610e0f565b9250506020610f2f85828601610e24565b9150509250929050565b600060208284031215610f4f57610f4e611482565b5b6000610f5d84828501610e24565b91505092915050565b610f6f8161136a565b82525050565b610f7e8161137c565b82525050565b6000610f8f826112c4565b610f9981856112cf565b9350610fa98185602086016113bf565b610fb281611487565b840191505092915050565b6000610fca6023836112cf565b9150610fd582611498565b604082019050919050565b6000610fed6022836112cf565b9150610ff8826114e7565b604082019050919050565b60006110106022836112cf565b915061101b82611536565b604082019050919050565b60006110336026836112cf565b915061103e82611585565b604082019050919050565b60006110566028836112cf565b9150611061826115d4565b604082019050919050565b60006110796021836112cf565b915061108482611623565b604082019050919050565b600061109c6025836112cf565b91506110a782611672565b604082019050919050565b60006110bf6024836112cf565b91506110ca826116c1565b604082019050919050565b60006110e26025836112cf565b91506110ed82611710565b604082019050919050565b611101816113a8565b82525050565b611110816113b2565b82525050565b600060208201905061112b6000830184610f66565b92915050565b60006020820190506111466000830184610f75565b92915050565b600060208201905081810360008301526111668184610f84565b905092915050565b6000602082019050818103600083015261118781610fbd565b9050919050565b600060208201905081810360008301526111a781610fe0565b9050919050565b600060208201905081810360008301526111c781611003565b9050919050565b600060208201905081810360008301526111e781611026565b9050919050565b6000602082019050818103600083015261120781611049565b9050919050565b600060208201905081810360008301526112278161106c565b9050919050565b600060208201905081810360008301526112478161108f565b9050919050565b60006020820190508181036000830152611267816110b2565b9050919050565b60006020820190508181036000830152611287816110d5565b9050919050565b60006020820190506112a360008301846110f8565b92915050565b60006020820190506112be6000830184611107565b92915050565b600081519050919050565b600082825260208201905092915050565b60006112eb826113a8565b91506112f6836113a8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561132b5761132a611424565b5b828201905092915050565b6000611341826113a8565b915061134c836113a8565b92508282101561135f5761135e611424565b5b828203905092915050565b600061137582611388565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156113dd5780820151818401526020810190506113c2565b838111156113ec576000848401525b50505050565b6000600282049050600182168061140a57607f821691505b6020821081141561141e5761141d611453565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6117688161136a565b811461177357600080fd5b50565b61177f816113a8565b811461178a57600080fd5b5056fea2646970667358221220c1e074caf268581ee4b5ad27df32422361b9e1f370a3914114bce7932df0968a64736f6c63430008050033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c578063a457c2d711610066578063a457c2d714610228578063a9059cbb14610258578063dd62ed3e14610288578063f851a440146102b8576100cf565b806342966c68146101be57806370a08231146101da57806395d89b411461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d6565b6040516100e9919061114c565b60405180910390f35b61010c60048036038101906101079190610ef9565b610368565b6040516101199190611131565b60405180910390f35b61012a610386565b604051610137919061128e565b60405180910390f35b61015a60048036038101906101559190610ea6565b610390565b6040516101679190611131565b60405180910390f35b610178610488565b60405161018591906112a9565b60405180910390f35b6101a860048036038101906101a39190610ef9565b610491565b6040516101b59190611131565b60405180910390f35b6101d860048036038101906101d39190610f39565b61053d565b005b6101f460048036038101906101ef9190610e39565b61054a565b604051610201919061128e565b60405180910390f35b610212610592565b60405161021f919061114c565b60405180910390f35b610242600480360381019061023d9190610ef9565b610624565b60405161024f9190611131565b60405180910390f35b610272600480360381019061026d9190610ef9565b61070f565b60405161027f9190611131565b60405180910390f35b6102a2600480360381019061029d9190610e66565b61072d565b6040516102af919061128e565b60405180910390f35b6102c06107b4565b6040516102cd9190611116565b60405180910390f35b6060600380546102e5906113f2565b80601f0160208091040260200160405190810160405280929190818152602001828054610311906113f2565b801561035e5780601f106103335761010080835404028352916020019161035e565b820191906000526020600020905b81548152906001019060200180831161034157829003601f168201915b5050505050905090565b600061037c6103756107da565b84846107e2565b6001905092915050565b6000600254905090565b600061039d8484846109ad565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103e86107da565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045f906111ee565b60405180910390fd5b61047c856104746107da565b8584036107e2565b60019150509392505050565b60006012905090565b600061053361049e6107da565b8484600160006104ac6107da565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461052e91906112e0565b6107e2565b6001905092915050565b6105473382610c2e565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546105a1906113f2565b80601f01602080910402602001604051908101604052809291908181526020018280546105cd906113f2565b801561061a5780601f106105ef5761010080835404028352916020019161061a565b820191906000526020600020905b8154815290600101906020018083116105fd57829003601f168201915b5050505050905090565b600080600160006106336107da565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e79061126e565b60405180910390fd5b6107046106fb6107da565b858584036107e2565b600191505092915050565b600061072361071c6107da565b84846109ad565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610852576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108499061124e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b9906111ae565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109a0919061128e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a149061122e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a849061116e565b60405180910390fd5b610a98838383610e05565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b15906111ce565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bb191906112e0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c15919061128e565b60405180910390a3610c28848484610e0a565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c959061120e565b60405180910390fd5b610caa82600083610e05565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d279061118e565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610d879190611336565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610dec919061128e565b60405180910390a3610e0083600084610e0a565b505050565b505050565b505050565b600081359050610e1e8161175f565b92915050565b600081359050610e3381611776565b92915050565b600060208284031215610e4f57610e4e611482565b5b6000610e5d84828501610e0f565b91505092915050565b60008060408385031215610e7d57610e7c611482565b5b6000610e8b85828601610e0f565b9250506020610e9c85828601610e0f565b9150509250929050565b600080600060608486031215610ebf57610ebe611482565b5b6000610ecd86828701610e0f565b9350506020610ede86828701610e0f565b9250506040610eef86828701610e24565b9150509250925092565b60008060408385031215610f1057610f0f611482565b5b6000610f1e85828601610e0f565b9250506020610f2f85828601610e24565b9150509250929050565b600060208284031215610f4f57610f4e611482565b5b6000610f5d84828501610e24565b91505092915050565b610f6f8161136a565b82525050565b610f7e8161137c565b82525050565b6000610f8f826112c4565b610f9981856112cf565b9350610fa98185602086016113bf565b610fb281611487565b840191505092915050565b6000610fca6023836112cf565b9150610fd582611498565b604082019050919050565b6000610fed6022836112cf565b9150610ff8826114e7565b604082019050919050565b60006110106022836112cf565b915061101b82611536565b604082019050919050565b60006110336026836112cf565b915061103e82611585565b604082019050919050565b60006110566028836112cf565b9150611061826115d4565b604082019050919050565b60006110796021836112cf565b915061108482611623565b604082019050919050565b600061109c6025836112cf565b91506110a782611672565b604082019050919050565b60006110bf6024836112cf565b91506110ca826116c1565b604082019050919050565b60006110e26025836112cf565b91506110ed82611710565b604082019050919050565b611101816113a8565b82525050565b611110816113b2565b82525050565b600060208201905061112b6000830184610f66565b92915050565b60006020820190506111466000830184610f75565b92915050565b600060208201905081810360008301526111668184610f84565b905092915050565b6000602082019050818103600083015261118781610fbd565b9050919050565b600060208201905081810360008301526111a781610fe0565b9050919050565b600060208201905081810360008301526111c781611003565b9050919050565b600060208201905081810360008301526111e781611026565b9050919050565b6000602082019050818103600083015261120781611049565b9050919050565b600060208201905081810360008301526112278161106c565b9050919050565b600060208201905081810360008301526112478161108f565b9050919050565b60006020820190508181036000830152611267816110b2565b9050919050565b60006020820190508181036000830152611287816110d5565b9050919050565b60006020820190506112a360008301846110f8565b92915050565b60006020820190506112be6000830184611107565b92915050565b600081519050919050565b600082825260208201905092915050565b60006112eb826113a8565b91506112f6836113a8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561132b5761132a611424565b5b828201905092915050565b6000611341826113a8565b915061134c836113a8565b92508282101561135f5761135e611424565b5b828203905092915050565b600061137582611388565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156113dd5780820151818401526020810190506113c2565b838111156113ec576000848401525b50505050565b6000600282049050600182168061140a57607f821691505b6020821081141561141e5761141d611453565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6117688161136a565b811461177357600080fd5b50565b61177f816113a8565b811461178a57600080fd5b5056fea2646970667358221220c1e074caf268581ee4b5ad27df32422361b9e1f370a3914114bce7932df0968a64736f6c63430008050033

Deployed Bytecode Sourcemap

16539:286:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6554:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8721:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7674:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9372:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7516:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10273:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16742:80;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7845:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6773:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10991:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8185:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8423:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16572:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6554:100;6608:13;6641:5;6634:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6554:100;:::o;8721:169::-;8804:4;8821:39;8830:12;:10;:12::i;:::-;8844:7;8853:6;8821:8;:39::i;:::-;8878:4;8871:11;;8721:169;;;;:::o;7674:108::-;7735:7;7762:12;;7755:19;;7674:108;:::o;9372:492::-;9512:4;9529:36;9539:6;9547:9;9558:6;9529:9;:36::i;:::-;9578:24;9605:11;:19;9617:6;9605:19;;;;;;;;;;;;;;;:33;9625:12;:10;:12::i;:::-;9605:33;;;;;;;;;;;;;;;;9578:60;;9677:6;9657:16;:26;;9649:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9764:57;9773:6;9781:12;:10;:12::i;:::-;9814:6;9795:16;:25;9764:8;:57::i;:::-;9852:4;9845:11;;;9372:492;;;;;:::o;7516:93::-;7574:5;7599:2;7592:9;;7516:93;:::o;10273:215::-;10361:4;10378:80;10387:12;:10;:12::i;:::-;10401:7;10447:10;10410:11;:25;10422:12;:10;:12::i;:::-;10410:25;;;;;;;;;;;;;;;:34;10436:7;10410:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10378:8;:80::i;:::-;10476:4;10469:11;;10273:215;;;;:::o;16742:80::-;16789:25;16795:10;16807:6;16789:5;:25::i;:::-;16742:80;:::o;7845:127::-;7919:7;7946:9;:18;7956:7;7946:18;;;;;;;;;;;;;;;;7939:25;;7845:127;;;:::o;6773:104::-;6829:13;6862:7;6855:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6773:104;:::o;10991:413::-;11084:4;11101:24;11128:11;:25;11140:12;:10;:12::i;:::-;11128:25;;;;;;;;;;;;;;;:34;11154:7;11128:34;;;;;;;;;;;;;;;;11101:61;;11201:15;11181:16;:35;;11173:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11294:67;11303:12;:10;:12::i;:::-;11317:7;11345:15;11326:16;:34;11294:8;:67::i;:::-;11392:4;11385:11;;;10991:413;;;;:::o;8185:175::-;8271:4;8288:42;8298:12;:10;:12::i;:::-;8312:9;8323:6;8288:9;:42::i;:::-;8348:4;8341:11;;8185:175;;;;:::o;8423:151::-;8512:7;8539:11;:18;8551:5;8539:18;;;;;;;;;;;;;;;:27;8558:7;8539:27;;;;;;;;;;;;;;;;8532:34;;8423:151;;;;:::o;16572:20::-;;;;;;;;;;;;;:::o;709:98::-;762:7;789:10;782:17;;709:98;:::o;14675:380::-;14828:1;14811:19;;:5;:19;;;;14803:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14909:1;14890:21;;:7;:21;;;;14882:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14993:6;14963:11;:18;14975:5;14963:18;;;;;;;;;;;;;;;:27;14982:7;14963:27;;;;;;;;;;;;;;;:36;;;;15031:7;15015:32;;15024:5;15015:32;;;15040:6;15015:32;;;;;;:::i;:::-;;;;;;;;14675:380;;;:::o;11894:733::-;12052:1;12034:20;;:6;:20;;;;12026:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12136:1;12115:23;;:9;:23;;;;12107:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12191:47;12212:6;12220:9;12231:6;12191:20;:47::i;:::-;12251:21;12275:9;:17;12285:6;12275:17;;;;;;;;;;;;;;;;12251:41;;12328:6;12311:13;:23;;12303:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12449:6;12433:13;:22;12413:9;:17;12423:6;12413:17;;;;;;;;;;;;;;;:42;;;;12501:6;12477:9;:20;12487:9;12477:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12542:9;12525:35;;12534:6;12525:35;;;12553:6;12525:35;;;;;;:::i;:::-;;;;;;;;12573:46;12593:6;12601:9;12612:6;12573:19;:46::i;:::-;12015:612;11894:733;;;:::o;13646:591::-;13749:1;13730:21;;:7;:21;;;;13722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13802:49;13823:7;13840:1;13844:6;13802:20;:49::i;:::-;13864:22;13889:9;:18;13899:7;13889:18;;;;;;;;;;;;;;;;13864:43;;13944:6;13926:14;:24;;13918:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14063:6;14046:14;:23;14025:9;:18;14035:7;14025:18;;;;;;;;;;;;;;;:44;;;;14107:6;14091:12;;:22;;;;;;;:::i;:::-;;;;;;;;14157:1;14131:37;;14140:7;14131:37;;;14161:6;14131:37;;;;;;:::i;:::-;;;;;;;;14181:48;14201:7;14218:1;14222:6;14181:19;:48::i;:::-;13711:526;13646:591;;:::o;15655:125::-;;;;:::o;16384:124::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;411:79;;:::i;:::-;373:2;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;363:263;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:2;;;763:79;;:::i;:::-;725:2;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;715:391;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:2;;;1260:79;;:::i;:::-;1222:2;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;1212:519;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:2;;;1868:79;;:::i;:::-;1830:2;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;1820:391;;;;;:::o;2217:329::-;2276:6;2325:2;2313:9;2304:7;2300:23;2296:32;2293:2;;;2331:79;;:::i;:::-;2293:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2283:263;;;;:::o;2552:118::-;2639:24;2657:5;2639:24;:::i;:::-;2634:3;2627:37;2617:53;;:::o;2676:109::-;2757:21;2772:5;2757:21;:::i;:::-;2752:3;2745:34;2735:50;;:::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;;;;;:::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;;3307:220;;;:::o;3533:366::-;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;;3679:220;;;:::o;3905:366::-;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;;4051:220;;;:::o;4277:366::-;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;;4423:220;;;:::o;4649:366::-;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;;4795:220;;;:::o;5021:366::-;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;;5167:220;;;:::o;5393:366::-;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;;5539:220;;;:::o;5765:366::-;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;;5911:220;;;:::o;6137:366::-;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;;6283:220;;;:::o;6509:118::-;6596:24;6614:5;6596:24;:::i;:::-;6591:3;6584:37;6574:53;;:::o;6633:112::-;6716:22;6732:5;6716:22;:::i;:::-;6711:3;6704:35;6694:51;;:::o;6751:222::-;6844:4;6882:2;6871:9;6867:18;6859:26;;6895:71;6963:1;6952:9;6948:17;6939:6;6895:71;:::i;:::-;6849:124;;;;:::o;6979:210::-;7066:4;7104:2;7093:9;7089:18;7081:26;;7117:65;7179:1;7168:9;7164:17;7155:6;7117:65;:::i;:::-;7071:118;;;;:::o;7195:313::-;7308:4;7346:2;7335:9;7331:18;7323:26;;7395:9;7389:4;7385:20;7381:1;7370:9;7366:17;7359:47;7423:78;7496:4;7487:6;7423:78;:::i;:::-;7415:86;;7313:195;;;;:::o;7514:419::-;7680:4;7718:2;7707:9;7703:18;7695:26;;7767:9;7761:4;7757:20;7753:1;7742:9;7738:17;7731:47;7795:131;7921:4;7795:131;:::i;:::-;7787:139;;7685:248;;;:::o;7939:419::-;8105:4;8143:2;8132:9;8128:18;8120:26;;8192:9;8186:4;8182:20;8178:1;8167:9;8163:17;8156:47;8220:131;8346:4;8220:131;:::i;:::-;8212:139;;8110:248;;;:::o;8364:419::-;8530:4;8568:2;8557:9;8553:18;8545:26;;8617:9;8611:4;8607:20;8603:1;8592:9;8588:17;8581:47;8645:131;8771:4;8645:131;:::i;:::-;8637:139;;8535:248;;;:::o;8789:419::-;8955:4;8993:2;8982:9;8978:18;8970:26;;9042:9;9036:4;9032:20;9028:1;9017:9;9013:17;9006:47;9070:131;9196:4;9070:131;:::i;:::-;9062:139;;8960:248;;;:::o;9214:419::-;9380:4;9418:2;9407:9;9403:18;9395:26;;9467:9;9461:4;9457:20;9453:1;9442:9;9438:17;9431:47;9495:131;9621:4;9495:131;:::i;:::-;9487:139;;9385:248;;;:::o;9639:419::-;9805:4;9843:2;9832:9;9828:18;9820:26;;9892:9;9886:4;9882:20;9878:1;9867:9;9863:17;9856:47;9920:131;10046:4;9920:131;:::i;:::-;9912:139;;9810:248;;;:::o;10064:419::-;10230:4;10268:2;10257:9;10253:18;10245:26;;10317:9;10311:4;10307:20;10303:1;10292:9;10288:17;10281:47;10345:131;10471:4;10345:131;:::i;:::-;10337:139;;10235:248;;;:::o;10489:419::-;10655:4;10693:2;10682:9;10678:18;10670:26;;10742:9;10736:4;10732:20;10728:1;10717:9;10713:17;10706:47;10770:131;10896:4;10770:131;:::i;:::-;10762:139;;10660:248;;;:::o;10914:419::-;11080:4;11118:2;11107:9;11103:18;11095:26;;11167:9;11161:4;11157:20;11153:1;11142:9;11138:17;11131:47;11195:131;11321:4;11195:131;:::i;:::-;11187:139;;11085:248;;;:::o;11339:222::-;11432:4;11470:2;11459:9;11455:18;11447:26;;11483:71;11551:1;11540:9;11536:17;11527:6;11483:71;:::i;:::-;11437:124;;;;:::o;11567:214::-;11656:4;11694:2;11683:9;11679:18;11671:26;;11707:67;11771:1;11760:9;11756:17;11747:6;11707:67;:::i;:::-;11661:120;;;;:::o;11868:99::-;11920:6;11954:5;11948:12;11938:22;;11927:40;;;:::o;11973:169::-;12057:11;12091:6;12086:3;12079:19;12131:4;12126:3;12122:14;12107:29;;12069:73;;;;:::o;12148:305::-;12188:3;12207:20;12225:1;12207:20;:::i;:::-;12202:25;;12241:20;12259:1;12241:20;:::i;:::-;12236:25;;12395:1;12327:66;12323:74;12320:1;12317:81;12314:2;;;12401:18;;:::i;:::-;12314:2;12445:1;12442;12438:9;12431:16;;12192:261;;;;:::o;12459:191::-;12499:4;12519:20;12537:1;12519:20;:::i;:::-;12514:25;;12553:20;12571:1;12553:20;:::i;:::-;12548:25;;12592:1;12589;12586:8;12583:2;;;12597:18;;:::i;:::-;12583:2;12642:1;12639;12635:9;12627:17;;12504:146;;;;:::o;12656:96::-;12693:7;12722:24;12740:5;12722:24;:::i;:::-;12711:35;;12701:51;;;:::o;12758:90::-;12792:7;12835:5;12828:13;12821:21;12810:32;;12800:48;;;:::o;12854:126::-;12891:7;12931:42;12924:5;12920:54;12909:65;;12899:81;;;:::o;12986:77::-;13023:7;13052:5;13041:16;;13031:32;;;:::o;13069:86::-;13104:7;13144:4;13137:5;13133:16;13122:27;;13112:43;;;:::o;13161:307::-;13229:1;13239:113;13253:6;13250:1;13247:13;13239:113;;;13338:1;13333:3;13329:11;13323:18;13319:1;13314:3;13310:11;13303:39;13275:2;13272:1;13268:10;13263:15;;13239:113;;;13370:6;13367:1;13364:13;13361:2;;;13450:1;13441:6;13436:3;13432:16;13425:27;13361:2;13210:258;;;;:::o;13474:320::-;13518:6;13555:1;13549:4;13545:12;13535:22;;13602:1;13596:4;13592:12;13623:18;13613:2;;13679:4;13671:6;13667:17;13657:27;;13613:2;13741;13733:6;13730:14;13710:18;13707:38;13704:2;;;13760:18;;:::i;:::-;13704:2;13525:269;;;;:::o;13800:180::-;13848:77;13845:1;13838:88;13945:4;13942:1;13935:15;13969:4;13966:1;13959:15;13986:180;14034:77;14031:1;14024:88;14131:4;14128:1;14121:15;14155:4;14152:1;14145:15;14295:117;14404:1;14401;14394:12;14418:102;14459:6;14510:2;14506:7;14501:2;14494:5;14490:14;14486:28;14476:38;;14466:54;;;:::o;14526:222::-;14666:34;14662:1;14654:6;14650:14;14643:58;14735:5;14730:2;14722:6;14718:15;14711:30;14632:116;:::o;14754:221::-;14894:34;14890:1;14882:6;14878:14;14871:58;14963:4;14958:2;14950:6;14946:15;14939:29;14860:115;:::o;14981:221::-;15121:34;15117:1;15109:6;15105:14;15098:58;15190:4;15185:2;15177:6;15173:15;15166:29;15087:115;:::o;15208:225::-;15348:34;15344:1;15336:6;15332:14;15325:58;15417:8;15412:2;15404:6;15400:15;15393:33;15314:119;:::o;15439:227::-;15579:34;15575:1;15567:6;15563:14;15556:58;15648:10;15643:2;15635:6;15631:15;15624:35;15545:121;:::o;15672:220::-;15812:34;15808:1;15800:6;15796:14;15789:58;15881:3;15876:2;15868:6;15864:15;15857:28;15778:114;:::o;15898:224::-;16038:34;16034:1;16026:6;16022:14;16015:58;16107:7;16102:2;16094:6;16090:15;16083:32;16004:118;:::o;16128:223::-;16268:34;16264:1;16256:6;16252:14;16245:58;16337:6;16332:2;16324:6;16320:15;16313:31;16234:117;:::o;16357:224::-;16497:34;16493:1;16485:6;16481:14;16474:58;16566:7;16561:2;16553:6;16549:15;16542:32;16463:118;:::o;16587:122::-;16660:24;16678:5;16660:24;:::i;:::-;16653:5;16650:35;16640:2;;16699:1;16696;16689:12;16640:2;16630:79;:::o;16715:122::-;16788:24;16806:5;16788:24;:::i;:::-;16781:5;16778:35;16768:2;;16827:1;16824;16817:12;16768:2;16758:79;:::o

Swarm Source

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