ETH Price: $3,294.87 (-9.42%)

Token

PEPELON ($PEPELON)
 

Overview

Max Total Supply

420,690,000,000,000 $PEPELON

Holders

194

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 7 Decimals)

Balance
74,516,857,887.751896 $PEPELON

Value
$0.00
0xb703A306a212Eb15812c46C531F25532a4C5A8CB
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:
PEPELON

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-20
*/

/**
 *T.me/pepeloncoin
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

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

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

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

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

// File: openzeppelin-solidity/contracts/token/ERC20/extensions/IERC20Metadata.sol

pragma solidity ^0.8.0;

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

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

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

// File: openzeppelin-solidity/contracts/utils/Context.sol

pragma solidity ^0.8.0;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

// File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol

pragma solidity ^0.8.0;

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin 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(0), account, amount);
    }

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

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

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

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

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

        _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 {}
}

// File: openzeppelin-solidity/contracts/access/Ownable.sol

pragma solidity ^0.8.0;

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

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        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.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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


pragma solidity 0.8.4;

/// @title PEPELON
/// @notice ERC-20 implementation of PEPELON
contract PEPELON is ERC20, Ownable {
    uint8 public tokenDecimals;
    address public project;

    // PERCENT ARE DEFINED IN TERMS OF 10000
    // i.e. 3% = 30000
    uint256 public projectFee = 3_0000;
    uint256 public constant DIVISION_FACTOR = 1_000_000;
    uint256 public constant MAXIMUM_SUPPLY = 420690000000000;

    event LogFeeChanged(uint256 oldFee, uint256 newFee);
    event LogProjectChanged(address oldProject, address newProject);
    event LogDecimalsChanged(uint8 oldDecimal, uint8 newDecimal);

    modifier onlyProjectOrOwner() {
        //solhint-disable-next-line reason-string
        require(
            msg.sender == project || msg.sender == owner(),
            "Caller is neither project nor owner"
        );
        _;
    }

    /**
     * @dev Sets the values for {name = PEPELON}, {fixedSupply = 420,690,000,000,000} and {symbol = $PEPELON}.
     *
     * All of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(uint256 fixedSupply, address _project)
        ERC20("PEPELON", "$PEPELON")
    {
        require(_project != address(0), "Project cannot be address zero");
        tokenDecimals = 7;
        project = _project;
        super._mint(msg.sender, fixedSupply);
    }

    /**
     * @dev Contract might receive/hold ETH as part of the maintenance process.
     * The receive function is executed on a call to the contract with empty calldata.
     */
    // solhint-disable-next-line no-empty-blocks
    receive() external payable {}

    fallback() external payable {}

    /**
     * @dev To transfer project tokens without deducting fee
     *
     * Requirements:
     * - can only be invoked by the project or the contract owner
     */
    function transferWithoutFeeDeduction(address recipient, uint256 amount)
        external
        onlyProjectOrOwner
    {
        super.transfer(recipient, amount);
    }

    /**
     * @dev To update project wallet
     *
     * Requirements:
     * - can only be invoked by the contract owner
     */
    function updateProject(address _project) external onlyOwner {
        //solhint-disable-next-line reason-string
        require(_project != address(0), "New project can't be address zero");
        require(project != _project, "New project can't be old project");
        address oldProject = project;
        project = _project;
        emit LogProjectChanged(oldProject, _project);
    }

    /**
     * @dev To update number of decimals for a token
     *
     * Requirements:
     * - invocation can be done, only by the contract owner
     */
    function updateDecimals(uint8 noOfDecimals)
        external
        onlyOwner
    {
        uint8 oldDecimal = tokenDecimals;
        tokenDecimals = noOfDecimals;
        emit LogDecimalsChanged(oldDecimal, noOfDecimals);
    }

    /**
     * @dev To update fee percentage
     * @notice _newFee should be specified in terms of 10,000
     * For Example: 3.5% => 3.5*10000 => 35000
     *
     * Requirements:
     * - invocation can be done, only by the contract owner.
     */
    function updateFee(uint256 _newFee) external onlyOwner {
        uint256 oldFee = projectFee;
        projectFee = _newFee;
        emit LogFeeChanged(oldFee, _newFee);
    }

    /**
     * @dev To transfer all BNBs stored in the contract to the caller
     *
     * Requirements:
     */
    function withdrawAll() external payable onlyOwner {
        //solhint-disable-next-line avoid-low-level-calls
        (bool success, ) = payable(msg.sender).call{
            gas: 2300,
            value: address(this).balance
        }("");
        require(success, "Withdraw failed");
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     */
    function burn(uint256 amount) public {
        // Calculate fee and transfer the amount - fee
        uint256 fee = calculateFee(amount);
        amount -= fee;
        super.transfer(project, fee);
        _burn(msg.sender, amount);
    }


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

    /**
     * @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
        override
        
        returns (bool)
    {
        // Calculate fee and transfer the amount - fee
        uint256 fee = calculateFee(amount);
        amount -= fee;
        super.transfer(project, fee);
        return super.transfer(recipient, amount);
    }

    /**
     * @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 override returns (uint8) {
        return tokenDecimals;
    }

    /**
     * @dev Calculate and returns the fee amount
     */
    function calculateFee(uint256 amount) internal view returns (uint256) {
        return ((projectFee * amount) / DIVISION_FACTOR);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"fixedSupply","type":"uint256"},{"internalType":"address","name":"_project","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"oldDecimal","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"newDecimal","type":"uint8"}],"name":"LogDecimalsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"LogFeeChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldProject","type":"address"},{"indexed":false,"internalType":"address","name":"newProject","type":"address"}],"name":"LogProjectChanged","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"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"DIVISION_FACTOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAXIMUM_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":"project","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"projectFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferWithoutFeeDeduction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"noOfDecimals","type":"uint8"}],"name":"updateDecimals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"updateFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_project","type":"address"}],"name":"updateProject","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawAll","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526175306007553480156200001757600080fd5b506040516200333d3803806200333d83398181016040528101906200003d9190620004cd565b6040518060400160405280600781526020017f504550454c4f4e000000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f24504550454c4f4e0000000000000000000000000000000000000000000000008152508160039080519060200190620000c1929190620003ef565b508060049080519060200190620000da929190620003ef565b5050506000620000ef6200027d60201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000201576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001f8906200056d565b60405180910390fd5b6007600560146101000a81548160ff021916908360ff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200027533836200028560201b620014051760201c565b505062000794565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002f8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002ef906200058f565b60405180910390fd5b6200030c60008383620003ea60201b60201c565b8060026000828254620003209190620005df565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620003779190620005df565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003de9190620005b1565b60405180910390a35050565b505050565b828054620003fd906200067a565b90600052602060002090601f0160209004810192826200042157600085556200046d565b82601f106200043c57805160ff19168380011785556200046d565b828001600101855582156200046d579182015b828111156200046c5782518255916020019190600101906200044f565b5b5090506200047c919062000480565b5090565b5b808211156200049b57600081600090555060010162000481565b5090565b600081519050620004b08162000760565b92915050565b600081519050620004c7816200077a565b92915050565b60008060408385031215620004e157600080fd5b6000620004f185828601620004b6565b925050602062000504858286016200049f565b9150509250929050565b60006200051d601e83620005ce565b91506200052a826200070e565b602082019050919050565b600062000544601f83620005ce565b9150620005518262000737565b602082019050919050565b620005678162000670565b82525050565b6000602082019050818103600083015262000588816200050e565b9050919050565b60006020820190508181036000830152620005aa8162000535565b9050919050565b6000602082019050620005c860008301846200055c565b92915050565b600082825260208201905092915050565b6000620005ec8262000670565b9150620005f98362000670565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620006315762000630620006b0565b5b828201905092915050565b6000620006498262000650565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060028204905060018216806200069357607f821691505b60208210811415620006aa57620006a9620006df565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f50726f6a6563742063616e6e6f742062652061646472657373207a65726f0000600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6200076b816200063c565b81146200077757600080fd5b50565b620007858162000670565b81146200079157600080fd5b50565b612b9980620007a46000396000f3fe60806040526004361061016a5760003560e01c8063853828b6116100d1578063cc2849aa1161008a578063e9c2301611610064578063e9c230161461053b578063f2fde38b14610566578063f60ca60d1461058f578063f64ed983146105ba57610171565b8063cc2849aa146104aa578063d58f2f27146104d3578063dd62ed3e146104fe57610171565b8063853828b6146103a75780638da5cb5b146103b15780639012c4a8146103dc57806395d89b4114610405578063a457c2d714610430578063a9059cbb1461046d57610171565b8063395093511161012357806339509351146102975780633b97e856146102d45780633d0c4924146102ff57806342966c681461032a57806370a0823114610353578063715018a61461039057610171565b806306fdde0314610173578063095ea7b31461019e5780630ce83a61146101db57806318160ddd1461020457806323b872dd1461022f578063313ce5671461026c57610171565b3661017157005b005b34801561017f57600080fd5b506101886105e3565b6040516101959190612185565b60405180910390f35b3480156101aa57600080fd5b506101c560048036038101906101c09190611dbb565b610675565b6040516101d2919061216a565b60405180910390f35b3480156101e757600080fd5b5061020260048036038101906101fd9190611e20565b610693565b005b34801561021057600080fd5b5061021961077b565b60405161022691906123a7565b60405180910390f35b34801561023b57600080fd5b5061025660048036038101906102519190611d6c565b610785565b604051610263919061216a565b60405180910390f35b34801561027857600080fd5b506102816107e3565b60405161028e91906123eb565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190611dbb565b6107fa565b6040516102cb919061216a565b60405180910390f35b3480156102e057600080fd5b506102e96108a6565b6040516102f691906123eb565b60405180910390f35b34801561030b57600080fd5b506103146108b9565b60405161032191906123a7565b60405180910390f35b34801561033657600080fd5b50610351600480360381019061034c9190611df7565b6108c4565b005b34801561035f57600080fd5b5061037a60048036038101906103759190611d07565b61091a565b60405161038791906123a7565b60405180910390f35b34801561039c57600080fd5b506103a5610962565b005b6103af610a9f565b005b3480156103bd57600080fd5b506103c6610bce565b6040516103d39190612126565b60405180910390f35b3480156103e857600080fd5b5061040360048036038101906103fe9190611df7565b610bf8565b005b34801561041157600080fd5b5061041a610cbf565b6040516104279190612185565b60405180910390f35b34801561043c57600080fd5b5061045760048036038101906104529190611dbb565b610d51565b604051610464919061216a565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f9190611dbb565b610e45565b6040516104a1919061216a565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc9190611dbb565b610ea1565b005b3480156104df57600080fd5b506104e8610f7d565b6040516104f591906123a7565b60405180910390f35b34801561050a57600080fd5b5061052560048036038101906105209190611d30565b610f83565b60405161053291906123a7565b60405180910390f35b34801561054757600080fd5b5061055061100a565b60405161055d91906123a7565b60405180910390f35b34801561057257600080fd5b5061058d60048036038101906105889190611d07565b611011565b005b34801561059b57600080fd5b506105a46111bd565b6040516105b19190612126565b60405180910390f35b3480156105c657600080fd5b506105e160048036038101906105dc9190611d07565b6111e3565b005b6060600380546105f2906125f3565b80601f016020809104026020016040519081016040528092919081815260200182805461061e906125f3565b801561066b5780601f106106405761010080835404028352916020019161066b565b820191906000526020600020905b81548152906001019060200180831161064e57829003601f168201915b5050505050905090565b6000610689610682611559565b8484611561565b6001905092915050565b61069b611559565b73ffffffffffffffffffffffffffffffffffffffff166106b9610bce565b73ffffffffffffffffffffffffffffffffffffffff161461070f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610706906122c7565b60405180910390fd5b6000600560149054906101000a900460ff16905081600560146101000a81548160ff021916908360ff1602179055507f9648d4c1443be8fc53fcc586c7a6eee2e9c95e288e209cd856172b9f84e97e36818360405161076f929190612406565b60405180910390a15050565b6000600254905090565b6000806107918361172c565b9050808361079f9190612537565b92506107ce85600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611751565b6107d98585856119d0565b9150509392505050565b6000600560149054906101000a900460ff16905090565b600061089c610807611559565b848460016000610815611559565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108979190612456565b611561565b6001905092915050565b600560149054906101000a900460ff1681565b66017e9d8602b40081565b60006108cf8261172c565b905080826108dd9190612537565b915061090b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611ad1565b506109163383611aef565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61096a611559565b73ffffffffffffffffffffffffffffffffffffffff16610988610bce565b73ffffffffffffffffffffffffffffffffffffffff16146109de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d5906122c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610aa7611559565b73ffffffffffffffffffffffffffffffffffffffff16610ac5610bce565b73ffffffffffffffffffffffffffffffffffffffff1614610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b12906122c7565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff166108fc47604051610b4490612111565b600060405180830381858888f193505050503d8060008114610b82576040519150601f19603f3d011682016040523d82523d6000602084013e610b87565b606091505b5050905080610bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc290612247565b60405180910390fd5b50565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c00611559565b73ffffffffffffffffffffffffffffffffffffffff16610c1e610bce565b73ffffffffffffffffffffffffffffffffffffffff1614610c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6b906122c7565b60405180910390fd5b60006007549050816007819055507f78c8e963ce2ecd2b57165ba3caed355e782e19db99d6f322162dbeaaca9730bf8183604051610cb39291906123c2565b60405180910390a15050565b606060048054610cce906125f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610cfa906125f3565b8015610d475780601f10610d1c57610100808354040283529160200191610d47565b820191906000526020600020905b815481529060010190602001808311610d2a57829003601f168201915b5050505050905090565b60008060016000610d60611559565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1490612367565b60405180910390fd5b610e3a610e28611559565b858584610e359190612537565b611561565b600191505092915050565b600080610e518361172c565b90508083610e5f9190612537565b9250610e8d600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611ad1565b50610e988484611ad1565b91505092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f2f5750610f00610bce565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610f6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6590612327565b60405180910390fd5b610f788282611ad1565b505050565b60075481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b620f424081565b611019611559565b73ffffffffffffffffffffffffffffffffffffffff16611037610bce565b73ffffffffffffffffffffffffffffffffffffffff161461108d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611084906122c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f490612207565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111eb611559565b73ffffffffffffffffffffffffffffffffffffffff16611209610bce565b73ffffffffffffffffffffffffffffffffffffffff161461125f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611256906122c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690612267565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611360576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611357906121c7565b60405180910390fd5b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0f41dda93a51aa7193813de52cf1a2af083d73e0be890c3a4f7e7d2c9f9e314381836040516113f9929190612141565b60405180910390a15050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146c90612387565b60405180910390fd5b61148160008383611cc3565b80600260008282546114939190612456565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114e89190612456565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161154d91906123a7565b60405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156115d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c890612347565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163890612227565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161171f91906123a7565b60405180910390a3505050565b6000620f42408260075461174091906124dd565b61174a91906124ac565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b890612307565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611831576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611828906121a7565b60405180910390fd5b61183c838383611cc3565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156118c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b990612287565b60405180910390fd5b81816118ce9190612537565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461195e9190612456565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119c291906123a7565b60405180910390a350505050565b60006119dd848484611751565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611a28611559565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9f906122a7565b60405180910390fd5b611ac585611ab4611559565b8584611ac09190612537565b611561565b60019150509392505050565b6000611ae5611ade611559565b8484611751565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b56906122e7565b60405180910390fd5b611b6b82600083611cc3565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be8906121e7565b60405180910390fd5b8181611bfd9190612537565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254611c519190612537565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cb691906123a7565b60405180910390a3505050565b505050565b600081359050611cd781612b1e565b92915050565b600081359050611cec81612b35565b92915050565b600081359050611d0181612b4c565b92915050565b600060208284031215611d1957600080fd5b6000611d2784828501611cc8565b91505092915050565b60008060408385031215611d4357600080fd5b6000611d5185828601611cc8565b9250506020611d6285828601611cc8565b9150509250929050565b600080600060608486031215611d8157600080fd5b6000611d8f86828701611cc8565b9350506020611da086828701611cc8565b9250506040611db186828701611cdd565b9150509250925092565b60008060408385031215611dce57600080fd5b6000611ddc85828601611cc8565b9250506020611ded85828601611cdd565b9150509250929050565b600060208284031215611e0957600080fd5b6000611e1784828501611cdd565b91505092915050565b600060208284031215611e3257600080fd5b6000611e4084828501611cf2565b91505092915050565b611e528161256b565b82525050565b611e618161257d565b82525050565b6000611e728261242f565b611e7c8185612445565b9350611e8c8185602086016125c0565b611e95816126b2565b840191505092915050565b6000611ead602383612445565b9150611eb8826126c3565b604082019050919050565b6000611ed0602083612445565b9150611edb82612712565b602082019050919050565b6000611ef3602283612445565b9150611efe8261273b565b604082019050919050565b6000611f16602683612445565b9150611f218261278a565b604082019050919050565b6000611f39602283612445565b9150611f44826127d9565b604082019050919050565b6000611f5c600f83612445565b9150611f6782612828565b602082019050919050565b6000611f7f602183612445565b9150611f8a82612851565b604082019050919050565b6000611fa2602683612445565b9150611fad826128a0565b604082019050919050565b6000611fc5602883612445565b9150611fd0826128ef565b604082019050919050565b6000611fe8602083612445565b9150611ff38261293e565b602082019050919050565b600061200b602183612445565b915061201682612967565b604082019050919050565b600061202e602583612445565b9150612039826129b6565b604082019050919050565b6000612051602383612445565b915061205c82612a05565b604082019050919050565b600061207460008361243a565b915061207f82612a54565b600082019050919050565b6000612097602483612445565b91506120a282612a57565b604082019050919050565b60006120ba602583612445565b91506120c582612aa6565b604082019050919050565b60006120dd601f83612445565b91506120e882612af5565b602082019050919050565b6120fc816125a9565b82525050565b61210b816125b3565b82525050565b600061211c82612067565b9150819050919050565b600060208201905061213b6000830184611e49565b92915050565b60006040820190506121566000830185611e49565b6121636020830184611e49565b9392505050565b600060208201905061217f6000830184611e58565b92915050565b6000602082019050818103600083015261219f8184611e67565b905092915050565b600060208201905081810360008301526121c081611ea0565b9050919050565b600060208201905081810360008301526121e081611ec3565b9050919050565b6000602082019050818103600083015261220081611ee6565b9050919050565b6000602082019050818103600083015261222081611f09565b9050919050565b6000602082019050818103600083015261224081611f2c565b9050919050565b6000602082019050818103600083015261226081611f4f565b9050919050565b6000602082019050818103600083015261228081611f72565b9050919050565b600060208201905081810360008301526122a081611f95565b9050919050565b600060208201905081810360008301526122c081611fb8565b9050919050565b600060208201905081810360008301526122e081611fdb565b9050919050565b6000602082019050818103600083015261230081611ffe565b9050919050565b6000602082019050818103600083015261232081612021565b9050919050565b6000602082019050818103600083015261234081612044565b9050919050565b600060208201905081810360008301526123608161208a565b9050919050565b60006020820190508181036000830152612380816120ad565b9050919050565b600060208201905081810360008301526123a0816120d0565b9050919050565b60006020820190506123bc60008301846120f3565b92915050565b60006040820190506123d760008301856120f3565b6123e460208301846120f3565b9392505050565b60006020820190506124006000830184612102565b92915050565b600060408201905061241b6000830185612102565b6124286020830184612102565b9392505050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000612461826125a9565b915061246c836125a9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124a1576124a0612625565b5b828201905092915050565b60006124b7826125a9565b91506124c2836125a9565b9250826124d2576124d1612654565b5b828204905092915050565b60006124e8826125a9565b91506124f3836125a9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561252c5761252b612625565b5b828202905092915050565b6000612542826125a9565b915061254d836125a9565b9250828210156125605761255f612625565b5b828203905092915050565b600061257682612589565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156125de5780820151818401526020810190506125c3565b838111156125ed576000848401525b50505050565b6000600282049050600182168061260b57607f821691505b6020821081141561261f5761261e612683565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4e65772070726f6a6563742063616e2774206265206f6c642070726f6a656374600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f5769746864726177206661696c65640000000000000000000000000000000000600082015250565b7f4e65772070726f6a6563742063616e27742062652061646472657373207a657260008201527f6f00000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6569746865722070726f6a656374206e6f72206f7760008201527f6e65720000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b612b278161256b565b8114612b3257600080fd5b50565b612b3e816125a9565b8114612b4957600080fd5b50565b612b55816125b3565b8114612b6057600080fd5b5056fea2646970667358221220a7587138bd0504265ba6a3b894f1313f7da9a79909c7fb8d806439f3e605decc64736f6c634300080400330000000000000000000000000000000000000000000000e40e772ce376d200000000000000000000000000001597dc8b3774d92acbe4e78a6ac0f8354eb61af7

Deployed Bytecode

0x60806040526004361061016a5760003560e01c8063853828b6116100d1578063cc2849aa1161008a578063e9c2301611610064578063e9c230161461053b578063f2fde38b14610566578063f60ca60d1461058f578063f64ed983146105ba57610171565b8063cc2849aa146104aa578063d58f2f27146104d3578063dd62ed3e146104fe57610171565b8063853828b6146103a75780638da5cb5b146103b15780639012c4a8146103dc57806395d89b4114610405578063a457c2d714610430578063a9059cbb1461046d57610171565b8063395093511161012357806339509351146102975780633b97e856146102d45780633d0c4924146102ff57806342966c681461032a57806370a0823114610353578063715018a61461039057610171565b806306fdde0314610173578063095ea7b31461019e5780630ce83a61146101db57806318160ddd1461020457806323b872dd1461022f578063313ce5671461026c57610171565b3661017157005b005b34801561017f57600080fd5b506101886105e3565b6040516101959190612185565b60405180910390f35b3480156101aa57600080fd5b506101c560048036038101906101c09190611dbb565b610675565b6040516101d2919061216a565b60405180910390f35b3480156101e757600080fd5b5061020260048036038101906101fd9190611e20565b610693565b005b34801561021057600080fd5b5061021961077b565b60405161022691906123a7565b60405180910390f35b34801561023b57600080fd5b5061025660048036038101906102519190611d6c565b610785565b604051610263919061216a565b60405180910390f35b34801561027857600080fd5b506102816107e3565b60405161028e91906123eb565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190611dbb565b6107fa565b6040516102cb919061216a565b60405180910390f35b3480156102e057600080fd5b506102e96108a6565b6040516102f691906123eb565b60405180910390f35b34801561030b57600080fd5b506103146108b9565b60405161032191906123a7565b60405180910390f35b34801561033657600080fd5b50610351600480360381019061034c9190611df7565b6108c4565b005b34801561035f57600080fd5b5061037a60048036038101906103759190611d07565b61091a565b60405161038791906123a7565b60405180910390f35b34801561039c57600080fd5b506103a5610962565b005b6103af610a9f565b005b3480156103bd57600080fd5b506103c6610bce565b6040516103d39190612126565b60405180910390f35b3480156103e857600080fd5b5061040360048036038101906103fe9190611df7565b610bf8565b005b34801561041157600080fd5b5061041a610cbf565b6040516104279190612185565b60405180910390f35b34801561043c57600080fd5b5061045760048036038101906104529190611dbb565b610d51565b604051610464919061216a565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f9190611dbb565b610e45565b6040516104a1919061216a565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc9190611dbb565b610ea1565b005b3480156104df57600080fd5b506104e8610f7d565b6040516104f591906123a7565b60405180910390f35b34801561050a57600080fd5b5061052560048036038101906105209190611d30565b610f83565b60405161053291906123a7565b60405180910390f35b34801561054757600080fd5b5061055061100a565b60405161055d91906123a7565b60405180910390f35b34801561057257600080fd5b5061058d60048036038101906105889190611d07565b611011565b005b34801561059b57600080fd5b506105a46111bd565b6040516105b19190612126565b60405180910390f35b3480156105c657600080fd5b506105e160048036038101906105dc9190611d07565b6111e3565b005b6060600380546105f2906125f3565b80601f016020809104026020016040519081016040528092919081815260200182805461061e906125f3565b801561066b5780601f106106405761010080835404028352916020019161066b565b820191906000526020600020905b81548152906001019060200180831161064e57829003601f168201915b5050505050905090565b6000610689610682611559565b8484611561565b6001905092915050565b61069b611559565b73ffffffffffffffffffffffffffffffffffffffff166106b9610bce565b73ffffffffffffffffffffffffffffffffffffffff161461070f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610706906122c7565b60405180910390fd5b6000600560149054906101000a900460ff16905081600560146101000a81548160ff021916908360ff1602179055507f9648d4c1443be8fc53fcc586c7a6eee2e9c95e288e209cd856172b9f84e97e36818360405161076f929190612406565b60405180910390a15050565b6000600254905090565b6000806107918361172c565b9050808361079f9190612537565b92506107ce85600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611751565b6107d98585856119d0565b9150509392505050565b6000600560149054906101000a900460ff16905090565b600061089c610807611559565b848460016000610815611559565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108979190612456565b611561565b6001905092915050565b600560149054906101000a900460ff1681565b66017e9d8602b40081565b60006108cf8261172c565b905080826108dd9190612537565b915061090b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611ad1565b506109163383611aef565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61096a611559565b73ffffffffffffffffffffffffffffffffffffffff16610988610bce565b73ffffffffffffffffffffffffffffffffffffffff16146109de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d5906122c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610aa7611559565b73ffffffffffffffffffffffffffffffffffffffff16610ac5610bce565b73ffffffffffffffffffffffffffffffffffffffff1614610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b12906122c7565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff166108fc47604051610b4490612111565b600060405180830381858888f193505050503d8060008114610b82576040519150601f19603f3d011682016040523d82523d6000602084013e610b87565b606091505b5050905080610bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc290612247565b60405180910390fd5b50565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c00611559565b73ffffffffffffffffffffffffffffffffffffffff16610c1e610bce565b73ffffffffffffffffffffffffffffffffffffffff1614610c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6b906122c7565b60405180910390fd5b60006007549050816007819055507f78c8e963ce2ecd2b57165ba3caed355e782e19db99d6f322162dbeaaca9730bf8183604051610cb39291906123c2565b60405180910390a15050565b606060048054610cce906125f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610cfa906125f3565b8015610d475780601f10610d1c57610100808354040283529160200191610d47565b820191906000526020600020905b815481529060010190602001808311610d2a57829003601f168201915b5050505050905090565b60008060016000610d60611559565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1490612367565b60405180910390fd5b610e3a610e28611559565b858584610e359190612537565b611561565b600191505092915050565b600080610e518361172c565b90508083610e5f9190612537565b9250610e8d600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611ad1565b50610e988484611ad1565b91505092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f2f5750610f00610bce565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610f6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6590612327565b60405180910390fd5b610f788282611ad1565b505050565b60075481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b620f424081565b611019611559565b73ffffffffffffffffffffffffffffffffffffffff16611037610bce565b73ffffffffffffffffffffffffffffffffffffffff161461108d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611084906122c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f490612207565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111eb611559565b73ffffffffffffffffffffffffffffffffffffffff16611209610bce565b73ffffffffffffffffffffffffffffffffffffffff161461125f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611256906122c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690612267565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611360576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611357906121c7565b60405180910390fd5b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0f41dda93a51aa7193813de52cf1a2af083d73e0be890c3a4f7e7d2c9f9e314381836040516113f9929190612141565b60405180910390a15050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146c90612387565b60405180910390fd5b61148160008383611cc3565b80600260008282546114939190612456565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114e89190612456565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161154d91906123a7565b60405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156115d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c890612347565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163890612227565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161171f91906123a7565b60405180910390a3505050565b6000620f42408260075461174091906124dd565b61174a91906124ac565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b890612307565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611831576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611828906121a7565b60405180910390fd5b61183c838383611cc3565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156118c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b990612287565b60405180910390fd5b81816118ce9190612537565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461195e9190612456565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119c291906123a7565b60405180910390a350505050565b60006119dd848484611751565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611a28611559565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9f906122a7565b60405180910390fd5b611ac585611ab4611559565b8584611ac09190612537565b611561565b60019150509392505050565b6000611ae5611ade611559565b8484611751565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b56906122e7565b60405180910390fd5b611b6b82600083611cc3565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be8906121e7565b60405180910390fd5b8181611bfd9190612537565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254611c519190612537565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cb691906123a7565b60405180910390a3505050565b505050565b600081359050611cd781612b1e565b92915050565b600081359050611cec81612b35565b92915050565b600081359050611d0181612b4c565b92915050565b600060208284031215611d1957600080fd5b6000611d2784828501611cc8565b91505092915050565b60008060408385031215611d4357600080fd5b6000611d5185828601611cc8565b9250506020611d6285828601611cc8565b9150509250929050565b600080600060608486031215611d8157600080fd5b6000611d8f86828701611cc8565b9350506020611da086828701611cc8565b9250506040611db186828701611cdd565b9150509250925092565b60008060408385031215611dce57600080fd5b6000611ddc85828601611cc8565b9250506020611ded85828601611cdd565b9150509250929050565b600060208284031215611e0957600080fd5b6000611e1784828501611cdd565b91505092915050565b600060208284031215611e3257600080fd5b6000611e4084828501611cf2565b91505092915050565b611e528161256b565b82525050565b611e618161257d565b82525050565b6000611e728261242f565b611e7c8185612445565b9350611e8c8185602086016125c0565b611e95816126b2565b840191505092915050565b6000611ead602383612445565b9150611eb8826126c3565b604082019050919050565b6000611ed0602083612445565b9150611edb82612712565b602082019050919050565b6000611ef3602283612445565b9150611efe8261273b565b604082019050919050565b6000611f16602683612445565b9150611f218261278a565b604082019050919050565b6000611f39602283612445565b9150611f44826127d9565b604082019050919050565b6000611f5c600f83612445565b9150611f6782612828565b602082019050919050565b6000611f7f602183612445565b9150611f8a82612851565b604082019050919050565b6000611fa2602683612445565b9150611fad826128a0565b604082019050919050565b6000611fc5602883612445565b9150611fd0826128ef565b604082019050919050565b6000611fe8602083612445565b9150611ff38261293e565b602082019050919050565b600061200b602183612445565b915061201682612967565b604082019050919050565b600061202e602583612445565b9150612039826129b6565b604082019050919050565b6000612051602383612445565b915061205c82612a05565b604082019050919050565b600061207460008361243a565b915061207f82612a54565b600082019050919050565b6000612097602483612445565b91506120a282612a57565b604082019050919050565b60006120ba602583612445565b91506120c582612aa6565b604082019050919050565b60006120dd601f83612445565b91506120e882612af5565b602082019050919050565b6120fc816125a9565b82525050565b61210b816125b3565b82525050565b600061211c82612067565b9150819050919050565b600060208201905061213b6000830184611e49565b92915050565b60006040820190506121566000830185611e49565b6121636020830184611e49565b9392505050565b600060208201905061217f6000830184611e58565b92915050565b6000602082019050818103600083015261219f8184611e67565b905092915050565b600060208201905081810360008301526121c081611ea0565b9050919050565b600060208201905081810360008301526121e081611ec3565b9050919050565b6000602082019050818103600083015261220081611ee6565b9050919050565b6000602082019050818103600083015261222081611f09565b9050919050565b6000602082019050818103600083015261224081611f2c565b9050919050565b6000602082019050818103600083015261226081611f4f565b9050919050565b6000602082019050818103600083015261228081611f72565b9050919050565b600060208201905081810360008301526122a081611f95565b9050919050565b600060208201905081810360008301526122c081611fb8565b9050919050565b600060208201905081810360008301526122e081611fdb565b9050919050565b6000602082019050818103600083015261230081611ffe565b9050919050565b6000602082019050818103600083015261232081612021565b9050919050565b6000602082019050818103600083015261234081612044565b9050919050565b600060208201905081810360008301526123608161208a565b9050919050565b60006020820190508181036000830152612380816120ad565b9050919050565b600060208201905081810360008301526123a0816120d0565b9050919050565b60006020820190506123bc60008301846120f3565b92915050565b60006040820190506123d760008301856120f3565b6123e460208301846120f3565b9392505050565b60006020820190506124006000830184612102565b92915050565b600060408201905061241b6000830185612102565b6124286020830184612102565b9392505050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000612461826125a9565b915061246c836125a9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124a1576124a0612625565b5b828201905092915050565b60006124b7826125a9565b91506124c2836125a9565b9250826124d2576124d1612654565b5b828204905092915050565b60006124e8826125a9565b91506124f3836125a9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561252c5761252b612625565b5b828202905092915050565b6000612542826125a9565b915061254d836125a9565b9250828210156125605761255f612625565b5b828203905092915050565b600061257682612589565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156125de5780820151818401526020810190506125c3565b838111156125ed576000848401525b50505050565b6000600282049050600182168061260b57607f821691505b6020821081141561261f5761261e612683565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4e65772070726f6a6563742063616e2774206265206f6c642070726f6a656374600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f5769746864726177206661696c65640000000000000000000000000000000000600082015250565b7f4e65772070726f6a6563742063616e27742062652061646472657373207a657260008201527f6f00000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6569746865722070726f6a656374206e6f72206f7760008201527f6e65720000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b612b278161256b565b8114612b3257600080fd5b50565b612b3e816125a9565b8114612b4957600080fd5b50565b612b55816125b3565b8114612b6057600080fd5b5056fea2646970667358221220a7587138bd0504265ba6a3b894f1313f7da9a79909c7fb8d806439f3e605decc64736f6c63430008040033

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

0000000000000000000000000000000000000000000000e40e772ce376d200000000000000000000000000001597dc8b3774d92acbe4e78a6ac0f8354eb61af7

-----Decoded View---------------
Arg [0] : fixedSupply (uint256): 4206900000000000000000
Arg [1] : _project (address): 0x1597dC8b3774d92AcBE4e78a6ac0f8354eb61af7

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000e40e772ce376d20000
Arg [1] : 0000000000000000000000001597dc8b3774d92acbe4e78a6ac0f8354eb61af7


Deployed Bytecode Sourcemap

18384:6537:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6613:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8921:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21075:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7733:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23026:382;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24609:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10515:297;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18426:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18659:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22297:245;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7904:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17699:148;;;;;;;;;;;;;:::i;:::-;;21883:299;;;:::i;:::-;;17048:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21578:178;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6832:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11315:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23621:349;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20187:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18560:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8573:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18601:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18002:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18459:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20508:396;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6613:100;6667:13;6700:5;6693:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6613:100;:::o;8921:210::-;9040:4;9062:39;9071:12;:10;:12::i;:::-;9085:7;9094:6;9062:8;:39::i;:::-;9119:4;9112:11;;8921:210;;;;:::o;21075:236::-;17279:12;:10;:12::i;:::-;17268:23;;:7;:5;:7::i;:::-;:23;;;17260:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21172:16:::1;21191:13;;;;;;;;;;;21172:32;;21231:12;21215:13;;:28;;;;;;;;;;;;;;;;;;21259:44;21278:10;21290:12;21259:44;;;;;;;:::i;:::-;;;;;;;;17339:1;21075:236:::0;:::o;7733:108::-;7794:7;7821:12;;7814:19;;7733:108;:::o;23026:382::-;23158:4;23231:11;23245:20;23258:6;23245:12;:20::i;:::-;23231:34;;23286:3;23276:13;;;;;:::i;:::-;;;23300:37;23316:6;23324:7;;;;;;;;;;;23333:3;23300:15;:37::i;:::-;23355:45;23374:6;23382:9;23393:6;23355:18;:45::i;:::-;23348:52;;;23026:382;;;;;:::o;24609:96::-;24659:5;24684:13;;;;;;;;;;;24677:20;;24609:96;:::o;10515:297::-;10630:4;10652:130;10675:12;:10;:12::i;:::-;10702:7;10761:10;10724:11;:25;10736:12;:10;:12::i;:::-;10724:25;;;;;;;;;;;;;;;:34;10750:7;10724:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10652:8;:130::i;:::-;10800:4;10793:11;;10515:297;;;;:::o;18426:26::-;;;;;;;;;;;;;:::o;18659:56::-;18700:15;18659:56;:::o;22297:245::-;22401:11;22415:20;22428:6;22415:12;:20::i;:::-;22401:34;;22456:3;22446:13;;;;;:::i;:::-;;;22470:28;22485:7;;;;;;;;;;;22494:3;22470:14;:28::i;:::-;;22509:25;22515:10;22527:6;22509:5;:25::i;:::-;22297:245;;:::o;7904:177::-;8023:7;8055:9;:18;8065:7;8055:18;;;;;;;;;;;;;;;;8048:25;;7904:177;;;:::o;17699:148::-;17279:12;:10;:12::i;:::-;17268:23;;:7;:5;:7::i;:::-;:23;;;17260:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17806:1:::1;17769:40;;17790:6;;;;;;;;;;;17769:40;;;;;;;;;;;;17837:1;17820:6;;:19;;;;;;;;;;;;;;;;;;17699:148::o:0;21883:299::-;17279:12;:10;:12::i;:::-;17268:23;;:7;:5;:7::i;:::-;:23;;;17260:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22004:12:::1;22030:10;22022:24;;22066:4;22092:21;22022:106;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22003:125;;;22147:7;22139:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;17339:1;21883:299::o:0;17048:87::-;17094:7;17121:6;;;;;;;;;;;17114:13;;17048:87;:::o;21578:178::-;17279:12;:10;:12::i;:::-;17268:23;;:7;:5;:7::i;:::-;:23;;;17260:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21644:14:::1;21661:10;;21644:27;;21695:7;21682:10;:20;;;;21718:30;21732:6;21740:7;21718:30;;;;;;;:::i;:::-;;;;;;;;17339:1;21578:178:::0;:::o;6832:104::-;6888:13;6921:7;6914:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6832:104;:::o;11315:446::-;11435:4;11457:24;11484:11;:25;11496:12;:10;:12::i;:::-;11484:25;;;;;;;;;;;;;;;:34;11510:7;11484:34;;;;;;;;;;;;;;;;11457:61;;11571:15;11551:16;:35;;11529:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;11662:67;11671:12;:10;:12::i;:::-;11685:7;11713:15;11694:16;:34;;;;:::i;:::-;11662:8;:67::i;:::-;11749:4;11742:11;;;11315:446;;;;:::o;23621:349::-;23736:4;23814:11;23828:20;23841:6;23828:12;:20::i;:::-;23814:34;;23869:3;23859:13;;;;;:::i;:::-;;;23883:28;23898:7;;;;;;;;;;;23907:3;23883:14;:28::i;:::-;;23929:33;23944:9;23955:6;23929:14;:33::i;:::-;23922:40;;;23621:349;;;;:::o;20187:175::-;19049:7;;;;;;;;;;;19035:21;;:10;:21;;;:46;;;;19074:7;:5;:7::i;:::-;19060:21;;:10;:21;;;19035:46;19013:131;;;;;;;;;;;;:::i;:::-;;;;;;;;;20321:33:::1;20336:9;20347:6;20321:14;:33::i;:::-;;20187:175:::0;;:::o;18560:34::-;;;;:::o;8573:201::-;8707:7;8739:11;:18;8751:5;8739:18;;;;;;;;;;;;;;;:27;8758:7;8739:27;;;;;;;;;;;;;;;;8732:34;;8573:201;;;;:::o;18601:51::-;18643:9;18601:51;:::o;18002:281::-;17279:12;:10;:12::i;:::-;17268:23;;:7;:5;:7::i;:::-;:23;;;17260:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18125:1:::1;18105:22;;:8;:22;;;;18083:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;18238:8;18209:38;;18230:6;;;;;;;;;;;18209:38;;;;;;;;;;;;18267:8;18258:6;;:17;;;;;;;;;;;;;;;;;;18002:281:::0;:::o;18459:22::-;;;;;;;;;;;;;:::o;20508:396::-;17279:12;:10;:12::i;:::-;17268:23;;:7;:5;:7::i;:::-;:23;;;17260:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20658:1:::1;20638:22;;:8;:22;;;;20630:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20728:8;20717:19;;:7;;;;;;;;;;;:19;;;;20709:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;20784:18;20805:7;;;;;;;;;;;20784:28;;20833:8;20823:7;;:18;;;;;;;;;;;;;;;;;;20857:39;20875:10;20887:8;20857:39;;;;;;;:::i;:::-;;;;;;;;17339:1;20508:396:::0;:::o;13208:338::-;13311:1;13292:21;;:7;:21;;;;13284:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;13362:49;13391:1;13395:7;13404:6;13362:20;:49::i;:::-;13440:6;13424:12;;:22;;;;;;;:::i;:::-;;;;;;;;13479:6;13457:9;:18;13467:7;13457:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;13522:7;13501:37;;13518:1;13501:37;;;13531:6;13501:37;;;;;;:::i;:::-;;;;;;;;13208:338;;:::o;4206:98::-;4259:7;4286:10;4279:17;;4206:98;:::o;14811:380::-;14964:1;14947:19;;:5;:19;;;;14939:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15045:1;15026:21;;:7;:21;;;;15018:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15129:6;15099:11;:18;15111:5;15099:18;;;;;;;;;;;;;;;:27;15118:7;15099:27;;;;;;;;;;;;;;;:36;;;;15167:7;15151:32;;15160:5;15151:32;;;15176:6;15151:32;;;;;;:::i;:::-;;;;;;;;14811:380;;;:::o;24781:137::-;24842:7;18643:9;24884:6;24871:10;;:19;;;;:::i;:::-;24870:39;;;;:::i;:::-;24862:48;;24781:137;;;:::o;12251:675::-;12409:1;12391:20;;:6;:20;;;;12383:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12493:1;12472:23;;:9;:23;;;;12464:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12548:47;12569:6;12577:9;12588:6;12548:20;:47::i;:::-;12608:21;12632:9;:17;12642:6;12632:17;;;;;;;;;;;;;;;;12608:41;;12699:6;12682:13;:23;;12660:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;12818:6;12802:13;:22;;;;:::i;:::-;12782:9;:17;12792:6;12782:17;;;;;;;;;;;;;;;:42;;;;12859:6;12835:9;:20;12845:9;12835:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12900:9;12883:35;;12892:6;12883:35;;;12911:6;12883:35;;;;;;:::i;:::-;;;;;;;;12251:675;;;;:::o;9613:493::-;9753:4;9770:36;9780:6;9788:9;9799:6;9770:9;:36::i;:::-;9819:24;9846:11;:19;9858:6;9846:19;;;;;;;;;;;;;;;:33;9866:12;:10;:12::i;:::-;9846:33;;;;;;;;;;;;;;;;9819:60;;9932:6;9912:16;:26;;9890:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;10017:57;10026:6;10034:12;:10;:12::i;:::-;10067:6;10048:16;:25;;;;:::i;:::-;10017:8;:57::i;:::-;10094:4;10087:11;;;9613:493;;;;;:::o;8294:216::-;8416:4;8438:42;8448:12;:10;:12::i;:::-;8462:9;8473:6;8438:9;:42::i;:::-;8498:4;8491:11;;8294:216;;;;:::o;13879:494::-;13982:1;13963:21;;:7;:21;;;;13955:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14035:49;14056:7;14073:1;14077:6;14035:20;:49::i;:::-;14097:22;14122:9;:18;14132:7;14122:18;;;;;;;;;;;;;;;;14097:43;;14177:6;14159:14;:24;;14151:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14271:6;14254:14;:23;;;;:::i;:::-;14233:9;:18;14243:7;14233:18;;;;;;;;;;;;;;;:44;;;;14304:6;14288:12;;:22;;;;;;;:::i;:::-;;;;;;;;14354:1;14328:37;;14337:7;14328:37;;;14358:6;14328:37;;;;;;:::i;:::-;;;;;;;;13879:494;;;:::o;15794:125::-;;;;:::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:135::-;341:5;379:6;366:20;357:29;;395:31;420:5;395:31;:::i;:::-;347:85;;;;:::o;438:262::-;497:6;546:2;534:9;525:7;521:23;517:32;514:2;;;562:1;559;552:12;514:2;605:1;630:53;675:7;666:6;655:9;651:22;630:53;:::i;:::-;620:63;;576:117;504:196;;;;:::o;706:407::-;774:6;782;831:2;819:9;810:7;806:23;802:32;799:2;;;847:1;844;837:12;799:2;890:1;915:53;960:7;951:6;940:9;936:22;915:53;:::i;:::-;905:63;;861:117;1017:2;1043:53;1088:7;1079:6;1068:9;1064:22;1043:53;:::i;:::-;1033:63;;988:118;789:324;;;;;:::o;1119:552::-;1196:6;1204;1212;1261:2;1249:9;1240:7;1236:23;1232:32;1229:2;;;1277:1;1274;1267:12;1229:2;1320:1;1345:53;1390:7;1381:6;1370:9;1366:22;1345:53;:::i;:::-;1335:63;;1291:117;1447:2;1473:53;1518:7;1509:6;1498:9;1494:22;1473:53;:::i;:::-;1463:63;;1418:118;1575:2;1601:53;1646:7;1637:6;1626:9;1622:22;1601:53;:::i;:::-;1591:63;;1546:118;1219:452;;;;;:::o;1677:407::-;1745:6;1753;1802:2;1790:9;1781:7;1777:23;1773:32;1770:2;;;1818:1;1815;1808:12;1770:2;1861:1;1886:53;1931:7;1922:6;1911:9;1907:22;1886:53;:::i;:::-;1876:63;;1832:117;1988:2;2014:53;2059:7;2050:6;2039:9;2035:22;2014:53;:::i;:::-;2004:63;;1959:118;1760:324;;;;;:::o;2090:262::-;2149:6;2198:2;2186:9;2177:7;2173:23;2169:32;2166:2;;;2214:1;2211;2204:12;2166:2;2257:1;2282:53;2327:7;2318:6;2307:9;2303:22;2282:53;:::i;:::-;2272:63;;2228:117;2156:196;;;;:::o;2358:258::-;2415:6;2464:2;2452:9;2443:7;2439:23;2435:32;2432:2;;;2480:1;2477;2470:12;2432:2;2523:1;2548:51;2591:7;2582:6;2571:9;2567:22;2548:51;:::i;:::-;2538:61;;2494:115;2422:194;;;;:::o;2622:118::-;2709:24;2727:5;2709:24;:::i;:::-;2704:3;2697:37;2687:53;;:::o;2746:109::-;2827:21;2842:5;2827:21;:::i;:::-;2822:3;2815:34;2805:50;;:::o;2861:364::-;2949:3;2977:39;3010:5;2977:39;:::i;:::-;3032:71;3096:6;3091:3;3032:71;:::i;:::-;3025:78;;3112:52;3157:6;3152:3;3145:4;3138:5;3134:16;3112:52;:::i;:::-;3189:29;3211:6;3189:29;:::i;:::-;3184:3;3180:39;3173:46;;2953:272;;;;;:::o;3231:366::-;3373:3;3394:67;3458:2;3453:3;3394:67;:::i;:::-;3387:74;;3470:93;3559:3;3470:93;:::i;:::-;3588:2;3583:3;3579:12;3572:19;;3377:220;;;:::o;3603:366::-;3745:3;3766:67;3830:2;3825:3;3766:67;:::i;:::-;3759:74;;3842:93;3931:3;3842:93;:::i;:::-;3960:2;3955:3;3951:12;3944:19;;3749:220;;;:::o;3975:366::-;4117:3;4138:67;4202:2;4197:3;4138:67;:::i;:::-;4131:74;;4214:93;4303:3;4214:93;:::i;:::-;4332:2;4327:3;4323:12;4316:19;;4121:220;;;:::o;4347:366::-;4489:3;4510:67;4574:2;4569:3;4510:67;:::i;:::-;4503:74;;4586:93;4675:3;4586:93;:::i;:::-;4704:2;4699:3;4695:12;4688:19;;4493:220;;;:::o;4719:366::-;4861:3;4882:67;4946:2;4941:3;4882:67;:::i;:::-;4875:74;;4958:93;5047:3;4958:93;:::i;:::-;5076:2;5071:3;5067:12;5060:19;;4865:220;;;:::o;5091:366::-;5233:3;5254:67;5318:2;5313:3;5254:67;:::i;:::-;5247:74;;5330:93;5419:3;5330:93;:::i;:::-;5448:2;5443:3;5439:12;5432:19;;5237:220;;;:::o;5463:366::-;5605:3;5626:67;5690:2;5685:3;5626:67;:::i;:::-;5619:74;;5702:93;5791:3;5702:93;:::i;:::-;5820:2;5815:3;5811:12;5804:19;;5609:220;;;:::o;5835:366::-;5977:3;5998:67;6062:2;6057:3;5998:67;:::i;:::-;5991:74;;6074:93;6163:3;6074:93;:::i;:::-;6192:2;6187:3;6183:12;6176:19;;5981:220;;;:::o;6207:366::-;6349:3;6370:67;6434:2;6429:3;6370:67;:::i;:::-;6363:74;;6446:93;6535:3;6446:93;:::i;:::-;6564:2;6559:3;6555:12;6548:19;;6353:220;;;:::o;6579:366::-;6721:3;6742:67;6806:2;6801:3;6742:67;:::i;:::-;6735:74;;6818:93;6907:3;6818:93;:::i;:::-;6936:2;6931:3;6927:12;6920:19;;6725:220;;;:::o;6951:366::-;7093:3;7114:67;7178:2;7173:3;7114:67;:::i;:::-;7107:74;;7190:93;7279:3;7190:93;:::i;:::-;7308:2;7303:3;7299:12;7292:19;;7097:220;;;:::o;7323:366::-;7465:3;7486:67;7550:2;7545:3;7486:67;:::i;:::-;7479:74;;7562:93;7651:3;7562:93;:::i;:::-;7680:2;7675:3;7671:12;7664:19;;7469:220;;;:::o;7695:366::-;7837:3;7858:67;7922:2;7917:3;7858:67;:::i;:::-;7851:74;;7934:93;8023:3;7934:93;:::i;:::-;8052:2;8047:3;8043:12;8036:19;;7841:220;;;:::o;8067:398::-;8226:3;8247:83;8328:1;8323:3;8247:83;:::i;:::-;8240:90;;8339:93;8428:3;8339:93;:::i;:::-;8457:1;8452:3;8448:11;8441:18;;8230:235;;;:::o;8471:366::-;8613:3;8634:67;8698:2;8693:3;8634:67;:::i;:::-;8627:74;;8710:93;8799:3;8710:93;:::i;:::-;8828:2;8823:3;8819:12;8812:19;;8617:220;;;:::o;8843:366::-;8985:3;9006:67;9070:2;9065:3;9006:67;:::i;:::-;8999:74;;9082:93;9171:3;9082:93;:::i;:::-;9200:2;9195:3;9191:12;9184:19;;8989:220;;;:::o;9215:366::-;9357:3;9378:67;9442:2;9437:3;9378:67;:::i;:::-;9371:74;;9454:93;9543:3;9454:93;:::i;:::-;9572:2;9567:3;9563:12;9556:19;;9361:220;;;:::o;9587:118::-;9674:24;9692:5;9674:24;:::i;:::-;9669:3;9662:37;9652:53;;:::o;9711:112::-;9794:22;9810:5;9794:22;:::i;:::-;9789:3;9782:35;9772:51;;:::o;9829:379::-;10013:3;10035:147;10178:3;10035:147;:::i;:::-;10028:154;;10199:3;10192:10;;10017:191;;;:::o;10214:222::-;10307:4;10345:2;10334:9;10330:18;10322:26;;10358:71;10426:1;10415:9;10411:17;10402:6;10358:71;:::i;:::-;10312:124;;;;:::o;10442:332::-;10563:4;10601:2;10590:9;10586:18;10578:26;;10614:71;10682:1;10671:9;10667:17;10658:6;10614:71;:::i;:::-;10695:72;10763:2;10752:9;10748:18;10739:6;10695:72;:::i;:::-;10568:206;;;;;:::o;10780:210::-;10867:4;10905:2;10894:9;10890:18;10882:26;;10918:65;10980:1;10969:9;10965:17;10956:6;10918:65;:::i;:::-;10872:118;;;;:::o;10996:313::-;11109:4;11147:2;11136:9;11132:18;11124:26;;11196:9;11190:4;11186:20;11182:1;11171:9;11167:17;11160:47;11224:78;11297:4;11288:6;11224:78;:::i;:::-;11216:86;;11114:195;;;;:::o;11315:419::-;11481:4;11519:2;11508:9;11504:18;11496:26;;11568:9;11562:4;11558:20;11554:1;11543:9;11539:17;11532:47;11596:131;11722:4;11596:131;:::i;:::-;11588:139;;11486:248;;;:::o;11740:419::-;11906:4;11944:2;11933:9;11929:18;11921:26;;11993:9;11987:4;11983:20;11979:1;11968:9;11964:17;11957:47;12021:131;12147:4;12021:131;:::i;:::-;12013:139;;11911:248;;;:::o;12165:419::-;12331:4;12369:2;12358:9;12354:18;12346:26;;12418:9;12412:4;12408:20;12404:1;12393:9;12389:17;12382:47;12446:131;12572:4;12446:131;:::i;:::-;12438:139;;12336:248;;;:::o;12590:419::-;12756:4;12794:2;12783:9;12779:18;12771:26;;12843:9;12837:4;12833:20;12829:1;12818:9;12814:17;12807:47;12871:131;12997:4;12871:131;:::i;:::-;12863:139;;12761:248;;;:::o;13015:419::-;13181:4;13219:2;13208:9;13204:18;13196:26;;13268:9;13262:4;13258:20;13254:1;13243:9;13239:17;13232:47;13296:131;13422:4;13296:131;:::i;:::-;13288:139;;13186:248;;;:::o;13440:419::-;13606:4;13644:2;13633:9;13629:18;13621:26;;13693:9;13687:4;13683:20;13679:1;13668:9;13664:17;13657:47;13721:131;13847:4;13721:131;:::i;:::-;13713:139;;13611:248;;;:::o;13865:419::-;14031:4;14069:2;14058:9;14054:18;14046:26;;14118:9;14112:4;14108:20;14104:1;14093:9;14089:17;14082:47;14146:131;14272:4;14146:131;:::i;:::-;14138:139;;14036:248;;;:::o;14290:419::-;14456:4;14494:2;14483:9;14479:18;14471:26;;14543:9;14537:4;14533:20;14529:1;14518:9;14514:17;14507:47;14571:131;14697:4;14571:131;:::i;:::-;14563:139;;14461:248;;;:::o;14715:419::-;14881:4;14919:2;14908:9;14904:18;14896:26;;14968:9;14962:4;14958:20;14954:1;14943:9;14939:17;14932:47;14996:131;15122:4;14996:131;:::i;:::-;14988:139;;14886:248;;;:::o;15140:419::-;15306:4;15344:2;15333:9;15329:18;15321:26;;15393:9;15387:4;15383:20;15379:1;15368:9;15364:17;15357:47;15421:131;15547:4;15421:131;:::i;:::-;15413:139;;15311:248;;;:::o;15565:419::-;15731:4;15769:2;15758:9;15754:18;15746:26;;15818:9;15812:4;15808:20;15804:1;15793:9;15789:17;15782:47;15846:131;15972:4;15846:131;:::i;:::-;15838:139;;15736:248;;;:::o;15990:419::-;16156:4;16194:2;16183:9;16179:18;16171:26;;16243:9;16237:4;16233:20;16229:1;16218:9;16214:17;16207:47;16271:131;16397:4;16271:131;:::i;:::-;16263:139;;16161:248;;;:::o;16415:419::-;16581:4;16619:2;16608:9;16604:18;16596:26;;16668:9;16662:4;16658:20;16654:1;16643:9;16639:17;16632:47;16696:131;16822:4;16696:131;:::i;:::-;16688:139;;16586:248;;;:::o;16840:419::-;17006:4;17044:2;17033:9;17029:18;17021:26;;17093:9;17087:4;17083:20;17079:1;17068:9;17064:17;17057:47;17121:131;17247:4;17121:131;:::i;:::-;17113:139;;17011:248;;;:::o;17265:419::-;17431:4;17469:2;17458:9;17454:18;17446:26;;17518:9;17512:4;17508:20;17504:1;17493:9;17489:17;17482:47;17546:131;17672:4;17546:131;:::i;:::-;17538:139;;17436:248;;;:::o;17690:419::-;17856:4;17894:2;17883:9;17879:18;17871:26;;17943:9;17937:4;17933:20;17929:1;17918:9;17914:17;17907:47;17971:131;18097:4;17971:131;:::i;:::-;17963:139;;17861:248;;;:::o;18115:222::-;18208:4;18246:2;18235:9;18231:18;18223:26;;18259:71;18327:1;18316:9;18312:17;18303:6;18259:71;:::i;:::-;18213:124;;;;:::o;18343:332::-;18464:4;18502:2;18491:9;18487:18;18479:26;;18515:71;18583:1;18572:9;18568:17;18559:6;18515:71;:::i;:::-;18596:72;18664:2;18653:9;18649:18;18640:6;18596:72;:::i;:::-;18469:206;;;;;:::o;18681:214::-;18770:4;18808:2;18797:9;18793:18;18785:26;;18821:67;18885:1;18874:9;18870:17;18861:6;18821:67;:::i;:::-;18775:120;;;;:::o;18901:316::-;19014:4;19052:2;19041:9;19037:18;19029:26;;19065:67;19129:1;19118:9;19114:17;19105:6;19065:67;:::i;:::-;19142:68;19206:2;19195:9;19191:18;19182:6;19142:68;:::i;:::-;19019:198;;;;;:::o;19223:99::-;19275:6;19309:5;19303:12;19293:22;;19282:40;;;:::o;19328:147::-;19429:11;19466:3;19451:18;;19441:34;;;;:::o;19481:169::-;19565:11;19599:6;19594:3;19587:19;19639:4;19634:3;19630:14;19615:29;;19577:73;;;;:::o;19656:305::-;19696:3;19715:20;19733:1;19715:20;:::i;:::-;19710:25;;19749:20;19767:1;19749:20;:::i;:::-;19744:25;;19903:1;19835:66;19831:74;19828:1;19825:81;19822:2;;;19909:18;;:::i;:::-;19822:2;19953:1;19950;19946:9;19939:16;;19700:261;;;;:::o;19967:185::-;20007:1;20024:20;20042:1;20024:20;:::i;:::-;20019:25;;20058:20;20076:1;20058:20;:::i;:::-;20053:25;;20097:1;20087:2;;20102:18;;:::i;:::-;20087:2;20144:1;20141;20137:9;20132:14;;20009:143;;;;:::o;20158:348::-;20198:7;20221:20;20239:1;20221:20;:::i;:::-;20216:25;;20255:20;20273:1;20255:20;:::i;:::-;20250:25;;20443:1;20375:66;20371:74;20368:1;20365:81;20360:1;20353:9;20346:17;20342:105;20339:2;;;20450:18;;:::i;:::-;20339:2;20498:1;20495;20491:9;20480:20;;20206:300;;;;:::o;20512:191::-;20552:4;20572:20;20590:1;20572:20;:::i;:::-;20567:25;;20606:20;20624:1;20606:20;:::i;:::-;20601:25;;20645:1;20642;20639:8;20636:2;;;20650:18;;:::i;:::-;20636:2;20695:1;20692;20688:9;20680:17;;20557:146;;;;:::o;20709:96::-;20746:7;20775:24;20793:5;20775:24;:::i;:::-;20764:35;;20754:51;;;:::o;20811:90::-;20845:7;20888:5;20881:13;20874:21;20863:32;;20853:48;;;:::o;20907:126::-;20944:7;20984:42;20977:5;20973:54;20962:65;;20952:81;;;:::o;21039:77::-;21076:7;21105:5;21094:16;;21084:32;;;:::o;21122:86::-;21157:7;21197:4;21190:5;21186:16;21175:27;;21165:43;;;:::o;21214:307::-;21282:1;21292:113;21306:6;21303:1;21300:13;21292:113;;;21391:1;21386:3;21382:11;21376:18;21372:1;21367:3;21363:11;21356:39;21328:2;21325:1;21321:10;21316:15;;21292:113;;;21423:6;21420:1;21417:13;21414:2;;;21503:1;21494:6;21489:3;21485:16;21478:27;21414:2;21263:258;;;;:::o;21527:320::-;21571:6;21608:1;21602:4;21598:12;21588:22;;21655:1;21649:4;21645:12;21676:18;21666:2;;21732:4;21724:6;21720:17;21710:27;;21666:2;21794;21786:6;21783:14;21763:18;21760:38;21757:2;;;21813:18;;:::i;:::-;21757:2;21578:269;;;;:::o;21853:180::-;21901:77;21898:1;21891:88;21998:4;21995:1;21988:15;22022:4;22019:1;22012:15;22039:180;22087:77;22084:1;22077:88;22184:4;22181:1;22174:15;22208:4;22205:1;22198:15;22225:180;22273:77;22270:1;22263:88;22370:4;22367:1;22360:15;22394:4;22391:1;22384:15;22411:102;22452:6;22503:2;22499:7;22494:2;22487:5;22483:14;22479:28;22469:38;;22459:54;;;:::o;22519:222::-;22659:34;22655:1;22647:6;22643:14;22636:58;22728:5;22723:2;22715:6;22711:15;22704:30;22625:116;:::o;22747:182::-;22887:34;22883:1;22875:6;22871:14;22864:58;22853:76;:::o;22935:221::-;23075:34;23071:1;23063:6;23059:14;23052:58;23144:4;23139:2;23131:6;23127:15;23120:29;23041:115;:::o;23162:225::-;23302:34;23298:1;23290:6;23286:14;23279:58;23371:8;23366:2;23358:6;23354:15;23347:33;23268:119;:::o;23393:221::-;23533:34;23529:1;23521:6;23517:14;23510:58;23602:4;23597:2;23589:6;23585:15;23578:29;23499:115;:::o;23620:165::-;23760:17;23756:1;23748:6;23744:14;23737:41;23726:59;:::o;23791:220::-;23931:34;23927:1;23919:6;23915:14;23908:58;24000:3;23995:2;23987:6;23983:15;23976:28;23897:114;:::o;24017:225::-;24157:34;24153:1;24145:6;24141:14;24134:58;24226:8;24221:2;24213:6;24209:15;24202:33;24123:119;:::o;24248:227::-;24388:34;24384:1;24376:6;24372:14;24365:58;24457:10;24452:2;24444:6;24440:15;24433:35;24354:121;:::o;24481:182::-;24621:34;24617:1;24609:6;24605:14;24598:58;24587:76;:::o;24669:220::-;24809:34;24805:1;24797:6;24793:14;24786:58;24878:3;24873:2;24865:6;24861:15;24854:28;24775:114;:::o;24895:224::-;25035:34;25031:1;25023:6;25019:14;25012:58;25104:7;25099:2;25091:6;25087:15;25080:32;25001:118;:::o;25125:222::-;25265:34;25261:1;25253:6;25249:14;25242:58;25334:5;25329:2;25321:6;25317:15;25310:30;25231:116;:::o;25353:114::-;25459:8;:::o;25473:223::-;25613:34;25609:1;25601:6;25597:14;25590:58;25682:6;25677:2;25669:6;25665:15;25658:31;25579:117;:::o;25702:224::-;25842:34;25838:1;25830:6;25826:14;25819:58;25911:7;25906:2;25898:6;25894:15;25887:32;25808:118;:::o;25932:181::-;26072:33;26068:1;26060:6;26056:14;26049:57;26038:75;:::o;26119:122::-;26192:24;26210:5;26192:24;:::i;:::-;26185:5;26182:35;26172:2;;26231:1;26228;26221:12;26172:2;26162:79;:::o;26247:122::-;26320:24;26338:5;26320:24;:::i;:::-;26313:5;26310:35;26300:2;;26359:1;26356;26349:12;26300:2;26290:79;:::o;26375:118::-;26446:22;26462:5;26446:22;:::i;:::-;26439:5;26436:33;26426:2;;26483:1;26480;26473:12;26426:2;26416:77;:::o

Swarm Source

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