Sepolia Testnet

Token

dv3tnt (v3 test net token)
ERC-20

Overview

Max Total Supply

1,000,000,000 v3 test net token

Holders

71

Total Transfers

-

Market

Fully Diluted Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
MockERC20

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-08-28
*/

pragma solidity ^0.8.21;

/**
  Interface of the ERC20 standard as defined in the EIP. Does not include
  the optional functions; to access them see {ERC20Detailed}.
*/
interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

    uint256 internal _totalSupply;
    string internal name_;
    string internal symbol_;
    uint8 internal decimals_;

    function name() external view override returns (string memory) {
        return name_;
    }

    function symbol() external view override returns (string memory) {
        return symbol_;
    }

    function decimals() external view override returns (uint8) {
        return decimals_;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 value) public override returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 sender_allowance = _allowances[sender][msg.sender];
        require(sender_allowance >= amount, "ERC20: transfer exceeds allowance");
        _approve(sender, msg.sender, sender_allowance - amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        uint256 spender_allowance = _allowances[msg.sender][spender];
        require(spender_allowance + addedValue >= spender_allowance, "ERC20: Overflow");
        _approve(msg.sender, spender, spender_allowance + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        uint256 sender_allowance = _allowances[msg.sender][spender];
        require(sender_allowance >= subtractedValue, "ERC20: transfer exceeds allowance");
        _approve(msg.sender, spender, sender_allowance - subtractedValue);
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        uint256 sender_balance = _balances[sender];
        uint256 recipient_balance = _balances[recipient];
        require(sender_balance >= amount, "ERC20: transfer amount exceeds balance");
        require(recipient_balance + amount >= recipient_balance, "ERC20: Overflow");
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");
        uint256 _total = _totalSupply;
        require(_total + amount >= _total, "ERC20: Overflow");
        _totalSupply = _total + amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");
        uint256 current_balance = _balances[account];
        require(current_balance >= value, "ERC20: burn amount exceeds balance");
        _balances[account] = current_balance - value;
        _totalSupply -= value;
        emit Transfer(account, address(0), value);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value
    ) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        uint256 current_allowance = _allowances[account][msg.sender];
        require(current_allowance >= amount, "ERC20: burn amount exceeds allowance");
        _approve(account, msg.sender, current_allowance - amount);
    }
}

abstract contract MintableMock {
    event LogMintFor(address to, uint256 amount, bytes mintingBlob);

    function mintFor(
        address to,
        uint256 amount,
        bytes memory mintingBlob
    ) public virtual;
}

/*
  Fake MockERC20 proxy.
  Admins can manipulate balances.
*/
contract MockERC20 is ERC20, MintableMock {
    // Simple permissions management.
    mapping(address => bool) admins;
    address owner;

    function initlialize(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) external onlyOwner {
        require(decimals_ == 0, "ALREADY_INITIALIZED");
        require(_decimals != 0, "ILLEGAL_INIT_VALUE");
        name_ = _name;
        symbol_ = _symbol;
        decimals_ = _decimals;
    }

    constructor() public {
        admins[msg.sender] = true;
        owner = msg.sender;
    }

    modifier onlyAdmin() {
        require(admins[msg.sender], "ONLY_ADMIN");
        _;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "ONLY_OWNER");
        _;
    }

    /*
      While some functions are protected with onlyAdmin modifier,
      registerAdmin was changed to be w/o such modifier,
      to ease and decouple deployment and admin in testing and integration.
    */
    function registerAdmin(address newAdmin) external onlyOwner {
        admins[newAdmin] = true;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        admins[newOwner] = true;
        owner = newOwner;
    }

    function adminApproval(
        address fundsOwner,
        address spender,
        uint256 value
    ) external onlyAdmin {
        _approve(fundsOwner, spender, value);
    }

    function setBalance(address account, uint256 amount) external onlyAdmin {
        _totalSupply -= _balances[account];
        require(_totalSupply <= _totalSupply + amount, "TOTAL_SUPPLY_OVERFLOW");
        _balances[account] = amount;
        _totalSupply += amount;
    }

    function mintFor(
        address to,
        uint256 amount,
        bytes memory mintingBlob
    ) public override onlyAdmin {
        _mint(to, amount);
        emit LogMintFor(to, amount, mintingBlob);
    }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"mintingBlob","type":"bytes"}],"name":"LogMintFor","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"fundsOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"adminApproval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"name":"initlialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"mintingBlob","type":"bytes"}],"name":"mintFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"registerAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561000f575f80fd5b50600160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612535806100b25f395ff3fe608060405234801561000f575f80fd5b5060043610610109575f3560e01c806395d89b41116100a0578063c38c58131161006f578063c38c5813146102dd578063c700362d146102f9578063dd62ed3e14610315578063e30443bc14610345578063f2fde38b1461036157610109565b806395d89b4114610243578063a457c2d714610261578063a9059cbb14610291578063ab25aec6146102c157610109565b806323b872dd116100dc57806323b872dd14610195578063313ce567146101c557806339509351146101e357806370a082311461021357610109565b806306fdde031461010d578063095ea7b31461012b57806318160ddd1461015b57806319ee6e3f14610179575b5f80fd5b61011561037d565b60405161012291906115ae565b60405180910390f35b6101456004803603810190610140919061166c565b61040d565b60405161015291906116c4565b60405180910390f35b610163610423565b60405161017091906116ec565b60405180910390f35b610193600480360381019061018e9190611831565b61042c565b005b6101af60048036038101906101aa919061189d565b6104ff565b6040516101bc91906116c4565b60405180910390f35b6101cd6105ec565b6040516101da9190611908565b60405180910390f35b6101fd60048036038101906101f8919061166c565b610601565b60405161020a91906116c4565b60405180910390f35b61022d60048036038101906102289190611921565b6106ed565b60405161023a91906116ec565b60405180910390f35b61024b610732565b60405161025891906115ae565b60405180910390f35b61027b6004803603810190610276919061166c565b6107c2565b60405161028891906116c4565b60405180910390f35b6102ab60048036038101906102a6919061166c565b6108a3565b6040516102b891906116c4565b60405180910390f35b6102db60048036038101906102d69190611a14565b6108b9565b005b6102f760048036038101906102f29190611921565b610a1f565b005b610313600480360381019061030e919061189d565b610b06565b005b61032f600480360381019061032a9190611a9c565b610b9f565b60405161033c91906116ec565b60405180910390f35b61035f600480360381019061035a919061166c565b610c21565b005b61037b60048036038101906103769190611921565b610dad565b005b60606003805461038c90611b07565b80601f01602080910402602001604051908101604052809291908181526020018280546103b890611b07565b80156104035780601f106103da57610100808354040283529160200191610403565b820191905f5260205f20905b8154815290600101906020018083116103e657829003601f168201915b5050505050905090565b5f610419338484610ed4565b6001905092915050565b5f600254905090565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166104b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ac90611b81565b60405180910390fd5b6104bf8383611097565b7fa8c2ebeabbd30457dba7fa1f1fd49436d93980106bbc5920319073745fc5d9328383836040516104f293929190611c00565b60405180910390a1505050565b5f61050b848484611227565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156105ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c190611cac565b60405180910390fd5b6105e0853385846105db9190611cf7565b610ed4565b60019150509392505050565b5f60055f9054906101000a900460ff16905090565b5f8060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905080838261068b9190611d2a565b10156106cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c390611da7565b60405180910390fd5b6106e2338585846106dd9190611d2a565b610ed4565b600191505092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461074190611b07565b80601f016020809104026020016040519081016040528092919081815260200182805461076d90611b07565b80156107b85780601f1061078f576101008083540402835291602001916107b8565b820191905f5260205f20905b81548152906001019060200180831161079b57829003601f168201915b5050505050905090565b5f8060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087990611cac565b60405180910390fd5b610898338585846108939190611cf7565b610ed4565b600191505092915050565b5f6108af338484611227565b6001905092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093f90611e0f565b60405180910390fd5b5f60055f9054906101000a900460ff1660ff161461099b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099290611e77565b60405180910390fd5b5f8160ff16036109e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d790611edf565b60405180910390fd5b82600390816109ef919061209a565b5081600490816109ff919061209a565b508060055f6101000a81548160ff021916908360ff160217905550505050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa590611e0f565b60405180910390fd5b600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8690611b81565b60405180910390fd5b610b9a838383610ed4565b505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca190611b81565b60405180910390fd5b5f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460025f828254610cf79190611cf7565b9250508190555080600254610d0c9190611d2a565b6002541115610d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d47906121b3565b60405180910390fd5b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060025f828254610da29190611d2a565b925050819055505050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3390611e0f565b60405180910390fd5b600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3990612241565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa7906122cf565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161108a91906116ec565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90612337565b60405180910390fd5b5f60025490508082826111189190611d2a565b1015611159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115090611da7565b60405180910390fd5b81816111659190611d2a565b600281905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111b69190611d2a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161121a91906116ec565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c906123c5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa90612453565b60405180910390fd5b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828210156113c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd906124e1565b60405180910390fd5b8083826113d39190611d2a565b1015611414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140b90611da7565b60405180910390fd5b825f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461145f9190611cf7565b92505081905550825f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546114b19190611d2a565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161151591906116ec565b60405180910390a35050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561155b578082015181840152602081019050611540565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61158082611524565b61158a818561152e565b935061159a81856020860161153e565b6115a381611566565b840191505092915050565b5f6020820190508181035f8301526115c68184611576565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611608826115df565b9050919050565b611618816115fe565b8114611622575f80fd5b50565b5f813590506116338161160f565b92915050565b5f819050919050565b61164b81611639565b8114611655575f80fd5b50565b5f8135905061166681611642565b92915050565b5f8060408385031215611682576116816115d7565b5b5f61168f85828601611625565b92505060206116a085828601611658565b9150509250929050565b5f8115159050919050565b6116be816116aa565b82525050565b5f6020820190506116d75f8301846116b5565b92915050565b6116e681611639565b82525050565b5f6020820190506116ff5f8301846116dd565b92915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61174382611566565b810181811067ffffffffffffffff821117156117625761176161170d565b5b80604052505050565b5f6117746115ce565b9050611780828261173a565b919050565b5f67ffffffffffffffff82111561179f5761179e61170d565b5b6117a882611566565b9050602081019050919050565b828183375f83830152505050565b5f6117d56117d084611785565b61176b565b9050828152602081018484840111156117f1576117f0611709565b5b6117fc8482856117b5565b509392505050565b5f82601f83011261181857611817611705565b5b81356118288482602086016117c3565b91505092915050565b5f805f60608486031215611848576118476115d7565b5b5f61185586828701611625565b935050602061186686828701611658565b925050604084013567ffffffffffffffff811115611887576118866115db565b5b61189386828701611804565b9150509250925092565b5f805f606084860312156118b4576118b36115d7565b5b5f6118c186828701611625565b93505060206118d286828701611625565b92505060406118e386828701611658565b9150509250925092565b5f60ff82169050919050565b611902816118ed565b82525050565b5f60208201905061191b5f8301846118f9565b92915050565b5f60208284031215611936576119356115d7565b5b5f61194384828501611625565b91505092915050565b5f67ffffffffffffffff8211156119665761196561170d565b5b61196f82611566565b9050602081019050919050565b5f61198e6119898461194c565b61176b565b9050828152602081018484840111156119aa576119a9611709565b5b6119b58482856117b5565b509392505050565b5f82601f8301126119d1576119d0611705565b5b81356119e184826020860161197c565b91505092915050565b6119f3816118ed565b81146119fd575f80fd5b50565b5f81359050611a0e816119ea565b92915050565b5f805f60608486031215611a2b57611a2a6115d7565b5b5f84013567ffffffffffffffff811115611a4857611a476115db565b5b611a54868287016119bd565b935050602084013567ffffffffffffffff811115611a7557611a746115db565b5b611a81868287016119bd565b9250506040611a9286828701611a00565b9150509250925092565b5f8060408385031215611ab257611ab16115d7565b5b5f611abf85828601611625565b9250506020611ad085828601611625565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b1e57607f821691505b602082108103611b3157611b30611ada565b5b50919050565b7f4f4e4c595f41444d494e000000000000000000000000000000000000000000005f82015250565b5f611b6b600a8361152e565b9150611b7682611b37565b602082019050919050565b5f6020820190508181035f830152611b9881611b5f565b9050919050565b611ba8816115fe565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f611bd282611bae565b611bdc8185611bb8565b9350611bec81856020860161153e565b611bf581611566565b840191505092915050565b5f606082019050611c135f830186611b9f565b611c2060208301856116dd565b8181036040830152611c328184611bc8565b9050949350505050565b7f45524332303a207472616e73666572206578636565647320616c6c6f77616e635f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f611c9660218361152e565b9150611ca182611c3c565b604082019050919050565b5f6020820190508181035f830152611cc381611c8a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611d0182611639565b9150611d0c83611639565b9250828203905081811115611d2457611d23611cca565b5b92915050565b5f611d3482611639565b9150611d3f83611639565b9250828201905080821115611d5757611d56611cca565b5b92915050565b7f45524332303a204f766572666c6f7700000000000000000000000000000000005f82015250565b5f611d91600f8361152e565b9150611d9c82611d5d565b602082019050919050565b5f6020820190508181035f830152611dbe81611d85565b9050919050565b7f4f4e4c595f4f574e4552000000000000000000000000000000000000000000005f82015250565b5f611df9600a8361152e565b9150611e0482611dc5565b602082019050919050565b5f6020820190508181035f830152611e2681611ded565b9050919050565b7f414c52454144595f494e495449414c495a4544000000000000000000000000005f82015250565b5f611e6160138361152e565b9150611e6c82611e2d565b602082019050919050565b5f6020820190508181035f830152611e8e81611e55565b9050919050565b7f494c4c4547414c5f494e49545f56414c554500000000000000000000000000005f82015250565b5f611ec960128361152e565b9150611ed482611e95565b602082019050919050565b5f6020820190508181035f830152611ef681611ebd565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302611f597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611f1e565b611f638683611f1e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f611f9e611f99611f9484611639565b611f7b565b611639565b9050919050565b5f819050919050565b611fb783611f84565b611fcb611fc382611fa5565b848454611f2a565b825550505050565b5f90565b611fdf611fd3565b611fea818484611fae565b505050565b5b8181101561200d576120025f82611fd7565b600181019050611ff0565b5050565b601f8211156120525761202381611efd565b61202c84611f0f565b8101602085101561203b578190505b61204f61204785611f0f565b830182611fef565b50505b505050565b5f82821c905092915050565b5f6120725f1984600802612057565b1980831691505092915050565b5f61208a8383612063565b9150826002028217905092915050565b6120a382611524565b67ffffffffffffffff8111156120bc576120bb61170d565b5b6120c68254611b07565b6120d1828285612011565b5f60209050601f831160018114612102575f84156120f0578287015190505b6120fa858261207f565b865550612161565b601f19841661211086611efd565b5f5b8281101561213757848901518255600182019150602085019450602081019050612112565b868310156121545784890151612150601f891682612063565b8355505b6001600288020188555050505b505050505050565b7f544f54414c5f535550504c595f4f564552464c4f5700000000000000000000005f82015250565b5f61219d60158361152e565b91506121a882612169565b602082019050919050565b5f6020820190508181035f8301526121ca81612191565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61222b60248361152e565b9150612236826121d1565b604082019050919050565b5f6020820190508181035f8301526122588161221f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6122b960228361152e565b91506122c48261225f565b604082019050919050565b5f6020820190508181035f8301526122e6816122ad565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f612321601f8361152e565b915061232c826122ed565b602082019050919050565b5f6020820190508181035f83015261234e81612315565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6123af60258361152e565b91506123ba82612355565b604082019050919050565b5f6020820190508181035f8301526123dc816123a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61243d60238361152e565b9150612448826123e3565b604082019050919050565b5f6020820190508181035f83015261246a81612431565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6124cb60268361152e565b91506124d682612471565b604082019050919050565b5f6020820190508181035f8301526124f8816124bf565b905091905056fea2646970667358221220319acc14ac7f534bb6ff22492d047d6687df058d0735437baaffc2144195277364736f6c63430008150033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610109575f3560e01c806395d89b41116100a0578063c38c58131161006f578063c38c5813146102dd578063c700362d146102f9578063dd62ed3e14610315578063e30443bc14610345578063f2fde38b1461036157610109565b806395d89b4114610243578063a457c2d714610261578063a9059cbb14610291578063ab25aec6146102c157610109565b806323b872dd116100dc57806323b872dd14610195578063313ce567146101c557806339509351146101e357806370a082311461021357610109565b806306fdde031461010d578063095ea7b31461012b57806318160ddd1461015b57806319ee6e3f14610179575b5f80fd5b61011561037d565b60405161012291906115ae565b60405180910390f35b6101456004803603810190610140919061166c565b61040d565b60405161015291906116c4565b60405180910390f35b610163610423565b60405161017091906116ec565b60405180910390f35b610193600480360381019061018e9190611831565b61042c565b005b6101af60048036038101906101aa919061189d565b6104ff565b6040516101bc91906116c4565b60405180910390f35b6101cd6105ec565b6040516101da9190611908565b60405180910390f35b6101fd60048036038101906101f8919061166c565b610601565b60405161020a91906116c4565b60405180910390f35b61022d60048036038101906102289190611921565b6106ed565b60405161023a91906116ec565b60405180910390f35b61024b610732565b60405161025891906115ae565b60405180910390f35b61027b6004803603810190610276919061166c565b6107c2565b60405161028891906116c4565b60405180910390f35b6102ab60048036038101906102a6919061166c565b6108a3565b6040516102b891906116c4565b60405180910390f35b6102db60048036038101906102d69190611a14565b6108b9565b005b6102f760048036038101906102f29190611921565b610a1f565b005b610313600480360381019061030e919061189d565b610b06565b005b61032f600480360381019061032a9190611a9c565b610b9f565b60405161033c91906116ec565b60405180910390f35b61035f600480360381019061035a919061166c565b610c21565b005b61037b60048036038101906103769190611921565b610dad565b005b60606003805461038c90611b07565b80601f01602080910402602001604051908101604052809291908181526020018280546103b890611b07565b80156104035780601f106103da57610100808354040283529160200191610403565b820191905f5260205f20905b8154815290600101906020018083116103e657829003601f168201915b5050505050905090565b5f610419338484610ed4565b6001905092915050565b5f600254905090565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166104b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ac90611b81565b60405180910390fd5b6104bf8383611097565b7fa8c2ebeabbd30457dba7fa1f1fd49436d93980106bbc5920319073745fc5d9328383836040516104f293929190611c00565b60405180910390a1505050565b5f61050b848484611227565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156105ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c190611cac565b60405180910390fd5b6105e0853385846105db9190611cf7565b610ed4565b60019150509392505050565b5f60055f9054906101000a900460ff16905090565b5f8060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905080838261068b9190611d2a565b10156106cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c390611da7565b60405180910390fd5b6106e2338585846106dd9190611d2a565b610ed4565b600191505092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461074190611b07565b80601f016020809104026020016040519081016040528092919081815260200182805461076d90611b07565b80156107b85780601f1061078f576101008083540402835291602001916107b8565b820191905f5260205f20905b81548152906001019060200180831161079b57829003601f168201915b5050505050905090565b5f8060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087990611cac565b60405180910390fd5b610898338585846108939190611cf7565b610ed4565b600191505092915050565b5f6108af338484611227565b6001905092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093f90611e0f565b60405180910390fd5b5f60055f9054906101000a900460ff1660ff161461099b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099290611e77565b60405180910390fd5b5f8160ff16036109e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d790611edf565b60405180910390fd5b82600390816109ef919061209a565b5081600490816109ff919061209a565b508060055f6101000a81548160ff021916908360ff160217905550505050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa590611e0f565b60405180910390fd5b600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8690611b81565b60405180910390fd5b610b9a838383610ed4565b505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca190611b81565b60405180910390fd5b5f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460025f828254610cf79190611cf7565b9250508190555080600254610d0c9190611d2a565b6002541115610d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d47906121b3565b60405180910390fd5b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060025f828254610da29190611d2a565b925050819055505050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3390611e0f565b60405180910390fd5b600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3990612241565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa7906122cf565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161108a91906116ec565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90612337565b60405180910390fd5b5f60025490508082826111189190611d2a565b1015611159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115090611da7565b60405180910390fd5b81816111659190611d2a565b600281905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111b69190611d2a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161121a91906116ec565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c906123c5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa90612453565b60405180910390fd5b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828210156113c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd906124e1565b60405180910390fd5b8083826113d39190611d2a565b1015611414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140b90611da7565b60405180910390fd5b825f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461145f9190611cf7565b92505081905550825f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546114b19190611d2a565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161151591906116ec565b60405180910390a35050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561155b578082015181840152602081019050611540565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61158082611524565b61158a818561152e565b935061159a81856020860161153e565b6115a381611566565b840191505092915050565b5f6020820190508181035f8301526115c68184611576565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611608826115df565b9050919050565b611618816115fe565b8114611622575f80fd5b50565b5f813590506116338161160f565b92915050565b5f819050919050565b61164b81611639565b8114611655575f80fd5b50565b5f8135905061166681611642565b92915050565b5f8060408385031215611682576116816115d7565b5b5f61168f85828601611625565b92505060206116a085828601611658565b9150509250929050565b5f8115159050919050565b6116be816116aa565b82525050565b5f6020820190506116d75f8301846116b5565b92915050565b6116e681611639565b82525050565b5f6020820190506116ff5f8301846116dd565b92915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61174382611566565b810181811067ffffffffffffffff821117156117625761176161170d565b5b80604052505050565b5f6117746115ce565b9050611780828261173a565b919050565b5f67ffffffffffffffff82111561179f5761179e61170d565b5b6117a882611566565b9050602081019050919050565b828183375f83830152505050565b5f6117d56117d084611785565b61176b565b9050828152602081018484840111156117f1576117f0611709565b5b6117fc8482856117b5565b509392505050565b5f82601f83011261181857611817611705565b5b81356118288482602086016117c3565b91505092915050565b5f805f60608486031215611848576118476115d7565b5b5f61185586828701611625565b935050602061186686828701611658565b925050604084013567ffffffffffffffff811115611887576118866115db565b5b61189386828701611804565b9150509250925092565b5f805f606084860312156118b4576118b36115d7565b5b5f6118c186828701611625565b93505060206118d286828701611625565b92505060406118e386828701611658565b9150509250925092565b5f60ff82169050919050565b611902816118ed565b82525050565b5f60208201905061191b5f8301846118f9565b92915050565b5f60208284031215611936576119356115d7565b5b5f61194384828501611625565b91505092915050565b5f67ffffffffffffffff8211156119665761196561170d565b5b61196f82611566565b9050602081019050919050565b5f61198e6119898461194c565b61176b565b9050828152602081018484840111156119aa576119a9611709565b5b6119b58482856117b5565b509392505050565b5f82601f8301126119d1576119d0611705565b5b81356119e184826020860161197c565b91505092915050565b6119f3816118ed565b81146119fd575f80fd5b50565b5f81359050611a0e816119ea565b92915050565b5f805f60608486031215611a2b57611a2a6115d7565b5b5f84013567ffffffffffffffff811115611a4857611a476115db565b5b611a54868287016119bd565b935050602084013567ffffffffffffffff811115611a7557611a746115db565b5b611a81868287016119bd565b9250506040611a9286828701611a00565b9150509250925092565b5f8060408385031215611ab257611ab16115d7565b5b5f611abf85828601611625565b9250506020611ad085828601611625565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b1e57607f821691505b602082108103611b3157611b30611ada565b5b50919050565b7f4f4e4c595f41444d494e000000000000000000000000000000000000000000005f82015250565b5f611b6b600a8361152e565b9150611b7682611b37565b602082019050919050565b5f6020820190508181035f830152611b9881611b5f565b9050919050565b611ba8816115fe565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f611bd282611bae565b611bdc8185611bb8565b9350611bec81856020860161153e565b611bf581611566565b840191505092915050565b5f606082019050611c135f830186611b9f565b611c2060208301856116dd565b8181036040830152611c328184611bc8565b9050949350505050565b7f45524332303a207472616e73666572206578636565647320616c6c6f77616e635f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f611c9660218361152e565b9150611ca182611c3c565b604082019050919050565b5f6020820190508181035f830152611cc381611c8a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611d0182611639565b9150611d0c83611639565b9250828203905081811115611d2457611d23611cca565b5b92915050565b5f611d3482611639565b9150611d3f83611639565b9250828201905080821115611d5757611d56611cca565b5b92915050565b7f45524332303a204f766572666c6f7700000000000000000000000000000000005f82015250565b5f611d91600f8361152e565b9150611d9c82611d5d565b602082019050919050565b5f6020820190508181035f830152611dbe81611d85565b9050919050565b7f4f4e4c595f4f574e4552000000000000000000000000000000000000000000005f82015250565b5f611df9600a8361152e565b9150611e0482611dc5565b602082019050919050565b5f6020820190508181035f830152611e2681611ded565b9050919050565b7f414c52454144595f494e495449414c495a4544000000000000000000000000005f82015250565b5f611e6160138361152e565b9150611e6c82611e2d565b602082019050919050565b5f6020820190508181035f830152611e8e81611e55565b9050919050565b7f494c4c4547414c5f494e49545f56414c554500000000000000000000000000005f82015250565b5f611ec960128361152e565b9150611ed482611e95565b602082019050919050565b5f6020820190508181035f830152611ef681611ebd565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302611f597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611f1e565b611f638683611f1e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f611f9e611f99611f9484611639565b611f7b565b611639565b9050919050565b5f819050919050565b611fb783611f84565b611fcb611fc382611fa5565b848454611f2a565b825550505050565b5f90565b611fdf611fd3565b611fea818484611fae565b505050565b5b8181101561200d576120025f82611fd7565b600181019050611ff0565b5050565b601f8211156120525761202381611efd565b61202c84611f0f565b8101602085101561203b578190505b61204f61204785611f0f565b830182611fef565b50505b505050565b5f82821c905092915050565b5f6120725f1984600802612057565b1980831691505092915050565b5f61208a8383612063565b9150826002028217905092915050565b6120a382611524565b67ffffffffffffffff8111156120bc576120bb61170d565b5b6120c68254611b07565b6120d1828285612011565b5f60209050601f831160018114612102575f84156120f0578287015190505b6120fa858261207f565b865550612161565b601f19841661211086611efd565b5f5b8281101561213757848901518255600182019150602085019450602081019050612112565b868310156121545784890151612150601f891682612063565b8355505b6001600288020188555050505b505050505050565b7f544f54414c5f535550504c595f4f564552464c4f5700000000000000000000005f82015250565b5f61219d60158361152e565b91506121a882612169565b602082019050919050565b5f6020820190508181035f8301526121ca81612191565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61222b60248361152e565b9150612236826121d1565b604082019050919050565b5f6020820190508181035f8301526122588161221f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6122b960228361152e565b91506122c48261225f565b604082019050919050565b5f6020820190508181035f8301526122e6816122ad565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f612321601f8361152e565b915061232c826122ed565b602082019050919050565b5f6020820190508181035f83015261234e81612315565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6123af60258361152e565b91506123ba82612355565b604082019050919050565b5f6020820190508181035f8301526123dc816123a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61243d60238361152e565b9150612448826123e3565b604082019050919050565b5f6020820190508181035f83015261246a81612431565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6124cb60268361152e565b91506124d682612471565b604082019050919050565b5f6020820190508181035f8301526124f8816124bf565b905091905056fea2646970667358221220319acc14ac7f534bb6ff22492d047d6687df058d0735437baaffc2144195277364736f6c63430008150033

Deployed Bytecode Sourcemap

6452:1966:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1702:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2579:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2012:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8197:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2744:441;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1910:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3193:349;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2120:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1804:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3550:359;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2247:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6600:340;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7471:102;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7720:183;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2428:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7911:278;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7581:131;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1702:94;1750:13;1783:5;1776:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1702:94;:::o;2579:157::-;2653:4;2670:36;2679:10;2691:7;2700:5;2670:8;:36::i;:::-;2724:4;2717:11;;2579:157;;;;:::o;2012:100::-;2065:7;2092:12;;2085:19;;2012:100;:::o;8197:218::-;7090:6;:18;7097:10;7090:18;;;;;;;;;;;;;;;;;;;;;;;;;7082:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;8339:17:::1;8345:2;8349:6;8339:5;:17::i;:::-;8372:35;8383:2;8387:6;8395:11;8372:35;;;;;;;;:::i;:::-;;;;;;;;8197:218:::0;;;:::o;2744:441::-;2884:4;2901:36;2911:6;2919:9;2930:6;2901:9;:36::i;:::-;2948:24;2975:11;:19;2987:6;2975:19;;;;;;;;;;;;;;;:31;2995:10;2975:31;;;;;;;;;;;;;;;;2948:58;;3045:6;3025:16;:26;;3017:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;3100:55;3109:6;3117:10;3148:6;3129:16;:25;;;;:::i;:::-;3100:8;:55::i;:::-;3173:4;3166:11;;;2744:441;;;;;:::o;1910:94::-;1962:5;1987:9;;;;;;;;;;;1980:16;;1910:94;:::o;3193:349::-;3273:4;3290:25;3318:11;:23;3330:10;3318:23;;;;;;;;;;;;;;;:32;3342:7;3318:32;;;;;;;;;;;;;;;;3290:60;;3403:17;3389:10;3369:17;:30;;;;:::i;:::-;:51;;3361:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;3451:61;3460:10;3472:7;3501:10;3481:17;:30;;;;:::i;:::-;3451:8;:61::i;:::-;3530:4;3523:11;;;3193:349;;;;:::o;2120:119::-;2186:7;2213:9;:18;2223:7;2213:18;;;;;;;;;;;;;;;;2206:25;;2120:119;;;:::o;1804:98::-;1854:13;1887:7;1880:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1804:98;:::o;3550:359::-;3635:4;3652:24;3679:11;:23;3691:10;3679:23;;;;;;;;;;;;;;;:32;3703:7;3679:32;;;;;;;;;;;;;;;;3652:59;;3750:15;3730:16;:35;;3722:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;3814:65;3823:10;3835:7;3863:15;3844:16;:34;;;;:::i;:::-;3814:8;:65::i;:::-;3897:4;3890:11;;;3550:359;;;;:::o;2247:173::-;2333:4;2350:40;2360:10;2372:9;2383:6;2350:9;:40::i;:::-;2408:4;2401:11;;2247:173;;;;:::o;6600:340::-;7205:5;;;;;;;;;;;7191:19;;:10;:19;;;7183:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;6767:1:::1;6754:9;;;;;;;;;;;:14;;;6746:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;6824:1;6811:9;:14;;::::0;6803:45:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6867:5;6859;:13;;;;;;:::i;:::-;;6893:7;6883;:17;;;;;;:::i;:::-;;6923:9;6911;;:21;;;;;;;;;;;;;;;;;;6600:340:::0;;;:::o;7471:102::-;7205:5;;;;;;;;;;;7191:19;;:10;:19;;;7183:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;7561:4:::1;7542:6;:16;7549:8;7542:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;7471:102:::0;:::o;7720:183::-;7090:6;:18;7097:10;7090:18;;;;;;;;;;;;;;;;;;;;;;;;;7082:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;7859:36:::1;7868:10;7880:7;7889:5;7859:8;:36::i;:::-;7720:183:::0;;;:::o;2428:143::-;2509:7;2536:11;:18;2548:5;2536:18;;;;;;;;;;;;;;;:27;2555:7;2536:27;;;;;;;;;;;;;;;;2529:34;;2428:143;;;;:::o;7911:278::-;7090:6;:18;7097:10;7090:18;;;;;;;;;;;;;;;;;;;;;;;;;7082:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;8010:9:::1;:18:::0;8020:7:::1;8010:18;;;;;;;;;;;;;;;;7994:12;;:34;;;;;;;:::i;:::-;;;;;;;;8078:6;8063:12;;:21;;;;:::i;:::-;8047:12;;:37;;8039:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8142:6;8121:9;:18:::0;8131:7:::1;8121:18;;;;;;;;;;;;;;;:27;;;;8175:6;8159:12;;:22;;;;;;;:::i;:::-;;;;;;;;7911:278:::0;;:::o;7581:131::-;7205:5;;;;;;;;;;;7191:19;;:10;:19;;;7183:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;7673:4:::1;7654:6;:16;7661:8;7654:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;7696:8;7688:5;;:16;;;;;;;;;;;;;;;;;;7581:131:::0;:::o;5435:369::-;5579:1;5562:19;;:5;:19;;;5554:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5660:1;5641:21;;:7;:21;;;5633:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5744:5;5714:11;:18;5726:5;5714:18;;;;;;;;;;;;;;;:27;5733:7;5714:27;;;;;;;;;;;;;;;:35;;;;5781:7;5765:31;;5774:5;5765:31;;;5790:5;5765:31;;;;;;:::i;:::-;;;;;;;;5435:369;;;:::o;4623:378::-;4718:1;4699:21;;:7;:21;;;4691:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;4767:14;4784:12;;4767:29;;4834:6;4824;4815;:15;;;;:::i;:::-;:25;;4807:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;4895:6;4886;:15;;;;:::i;:::-;4871:12;:30;;;;4934:6;4912:9;:18;4922:7;4912:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;4977:7;4956:37;;4973:1;4956:37;;;4986:6;4956:37;;;;;;:::i;:::-;;;;;;;;4680:321;4623:378;;:::o;3917:698::-;4067:1;4049:20;;:6;:20;;;4041:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4151:1;4130:23;;:9;:23;;;4122:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4204:22;4229:9;:17;4239:6;4229:17;;;;;;;;;;;;;;;;4204:42;;4257:25;4285:9;:20;4295:9;4285:20;;;;;;;;;;;;;;;;4257:48;;4342:6;4324:14;:24;;4316:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;4440:17;4430:6;4410:17;:26;;;;:::i;:::-;:47;;4402:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;4509:6;4488:9;:17;4498:6;4488:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;4550:6;4526:9;:20;4536:9;4526:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;4589:9;4572:35;;4581:6;4572:35;;;4600:6;4572:35;;;;;;:::i;:::-;;;;;;;;4030:585;;3917:698;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:117::-;3907:1;3904;3897:12;3921:117;4030:1;4027;4020:12;4044:180;4092:77;4089:1;4082:88;4189:4;4186:1;4179:15;4213:4;4210:1;4203:15;4230:281;4313:27;4335:4;4313:27;:::i;:::-;4305:6;4301:40;4443:6;4431:10;4428:22;4407:18;4395:10;4392:34;4389:62;4386:88;;;4454:18;;:::i;:::-;4386:88;4494:10;4490:2;4483:22;4273:238;4230:281;;:::o;4517:129::-;4551:6;4578:20;;:::i;:::-;4568:30;;4607:33;4635:4;4627:6;4607:33;:::i;:::-;4517:129;;;:::o;4652:307::-;4713:4;4803:18;4795:6;4792:30;4789:56;;;4825:18;;:::i;:::-;4789:56;4863:29;4885:6;4863:29;:::i;:::-;4855:37;;4947:4;4941;4937:15;4929:23;;4652:307;;;:::o;4965:146::-;5062:6;5057:3;5052;5039:30;5103:1;5094:6;5089:3;5085:16;5078:27;4965:146;;;:::o;5117:423::-;5194:5;5219:65;5235:48;5276:6;5235:48;:::i;:::-;5219:65;:::i;:::-;5210:74;;5307:6;5300:5;5293:21;5345:4;5338:5;5334:16;5383:3;5374:6;5369:3;5365:16;5362:25;5359:112;;;5390:79;;:::i;:::-;5359:112;5480:54;5527:6;5522:3;5517;5480:54;:::i;:::-;5200:340;5117:423;;;;;:::o;5559:338::-;5614:5;5663:3;5656:4;5648:6;5644:17;5640:27;5630:122;;5671:79;;:::i;:::-;5630:122;5788:6;5775:20;5813:78;5887:3;5879:6;5872:4;5864:6;5860:17;5813:78;:::i;:::-;5804:87;;5620:277;5559:338;;;;:::o;5903:797::-;5989:6;5997;6005;6054:2;6042:9;6033:7;6029:23;6025:32;6022:119;;;6060:79;;:::i;:::-;6022:119;6180:1;6205:53;6250:7;6241:6;6230:9;6226:22;6205:53;:::i;:::-;6195:63;;6151:117;6307:2;6333:53;6378:7;6369:6;6358:9;6354:22;6333:53;:::i;:::-;6323:63;;6278:118;6463:2;6452:9;6448:18;6435:32;6494:18;6486:6;6483:30;6480:117;;;6516:79;;:::i;:::-;6480:117;6621:62;6675:7;6666:6;6655:9;6651:22;6621:62;:::i;:::-;6611:72;;6406:287;5903:797;;;;;:::o;6706:619::-;6783:6;6791;6799;6848:2;6836:9;6827:7;6823:23;6819:32;6816:119;;;6854:79;;:::i;:::-;6816:119;6974:1;6999:53;7044:7;7035:6;7024:9;7020:22;6999:53;:::i;:::-;6989:63;;6945:117;7101:2;7127:53;7172:7;7163:6;7152:9;7148:22;7127:53;:::i;:::-;7117:63;;7072:118;7229:2;7255:53;7300:7;7291:6;7280:9;7276:22;7255:53;:::i;:::-;7245:63;;7200:118;6706:619;;;;;:::o;7331:86::-;7366:7;7406:4;7399:5;7395:16;7384:27;;7331:86;;;:::o;7423:112::-;7506:22;7522:5;7506:22;:::i;:::-;7501:3;7494:35;7423:112;;:::o;7541:214::-;7630:4;7668:2;7657:9;7653:18;7645:26;;7681:67;7745:1;7734:9;7730:17;7721:6;7681:67;:::i;:::-;7541:214;;;;:::o;7761:329::-;7820:6;7869:2;7857:9;7848:7;7844:23;7840:32;7837:119;;;7875:79;;:::i;:::-;7837:119;7995:1;8020:53;8065:7;8056:6;8045:9;8041:22;8020:53;:::i;:::-;8010:63;;7966:117;7761:329;;;;:::o;8096:308::-;8158:4;8248:18;8240:6;8237:30;8234:56;;;8270:18;;:::i;:::-;8234:56;8308:29;8330:6;8308:29;:::i;:::-;8300:37;;8392:4;8386;8382:15;8374:23;;8096:308;;;:::o;8410:425::-;8488:5;8513:66;8529:49;8571:6;8529:49;:::i;:::-;8513:66;:::i;:::-;8504:75;;8602:6;8595:5;8588:21;8640:4;8633:5;8629:16;8678:3;8669:6;8664:3;8660:16;8657:25;8654:112;;;8685:79;;:::i;:::-;8654:112;8775:54;8822:6;8817:3;8812;8775:54;:::i;:::-;8494:341;8410:425;;;;;:::o;8855:340::-;8911:5;8960:3;8953:4;8945:6;8941:17;8937:27;8927:122;;8968:79;;:::i;:::-;8927:122;9085:6;9072:20;9110:79;9185:3;9177:6;9170:4;9162:6;9158:17;9110:79;:::i;:::-;9101:88;;8917:278;8855:340;;;;:::o;9201:118::-;9272:22;9288:5;9272:22;:::i;:::-;9265:5;9262:33;9252:61;;9309:1;9306;9299:12;9252:61;9201:118;:::o;9325:135::-;9369:5;9407:6;9394:20;9385:29;;9423:31;9448:5;9423:31;:::i;:::-;9325:135;;;;:::o;9466:975::-;9561:6;9569;9577;9626:2;9614:9;9605:7;9601:23;9597:32;9594:119;;;9632:79;;:::i;:::-;9594:119;9780:1;9769:9;9765:17;9752:31;9810:18;9802:6;9799:30;9796:117;;;9832:79;;:::i;:::-;9796:117;9937:63;9992:7;9983:6;9972:9;9968:22;9937:63;:::i;:::-;9927:73;;9723:287;10077:2;10066:9;10062:18;10049:32;10108:18;10100:6;10097:30;10094:117;;;10130:79;;:::i;:::-;10094:117;10235:63;10290:7;10281:6;10270:9;10266:22;10235:63;:::i;:::-;10225:73;;10020:288;10347:2;10373:51;10416:7;10407:6;10396:9;10392:22;10373:51;:::i;:::-;10363:61;;10318:116;9466:975;;;;;:::o;10447:474::-;10515:6;10523;10572:2;10560:9;10551:7;10547:23;10543:32;10540:119;;;10578:79;;:::i;:::-;10540:119;10698:1;10723:53;10768:7;10759:6;10748:9;10744:22;10723:53;:::i;:::-;10713:63;;10669:117;10825:2;10851:53;10896:7;10887:6;10876:9;10872:22;10851:53;:::i;:::-;10841:63;;10796:118;10447:474;;;;;:::o;10927:180::-;10975:77;10972:1;10965:88;11072:4;11069:1;11062:15;11096:4;11093:1;11086:15;11113:320;11157:6;11194:1;11188:4;11184:12;11174:22;;11241:1;11235:4;11231:12;11262:18;11252:81;;11318:4;11310:6;11306:17;11296:27;;11252:81;11380:2;11372:6;11369:14;11349:18;11346:38;11343:84;;11399:18;;:::i;:::-;11343:84;11164:269;11113:320;;;:::o;11439:160::-;11579:12;11575:1;11567:6;11563:14;11556:36;11439:160;:::o;11605:366::-;11747:3;11768:67;11832:2;11827:3;11768:67;:::i;:::-;11761:74;;11844:93;11933:3;11844:93;:::i;:::-;11962:2;11957:3;11953:12;11946:19;;11605:366;;;:::o;11977:419::-;12143:4;12181:2;12170:9;12166:18;12158:26;;12230:9;12224:4;12220:20;12216:1;12205:9;12201:17;12194:47;12258:131;12384:4;12258:131;:::i;:::-;12250:139;;11977:419;;;:::o;12402:118::-;12489:24;12507:5;12489:24;:::i;:::-;12484:3;12477:37;12402:118;;:::o;12526:98::-;12577:6;12611:5;12605:12;12595:22;;12526:98;;;:::o;12630:168::-;12713:11;12747:6;12742:3;12735:19;12787:4;12782:3;12778:14;12763:29;;12630:168;;;;:::o;12804:373::-;12890:3;12918:38;12950:5;12918:38;:::i;:::-;12972:70;13035:6;13030:3;12972:70;:::i;:::-;12965:77;;13051:65;13109:6;13104:3;13097:4;13090:5;13086:16;13051:65;:::i;:::-;13141:29;13163:6;13141:29;:::i;:::-;13136:3;13132:39;13125:46;;12894:283;12804:373;;;;:::o;13183:529::-;13350:4;13388:2;13377:9;13373:18;13365:26;;13401:71;13469:1;13458:9;13454:17;13445:6;13401:71;:::i;:::-;13482:72;13550:2;13539:9;13535:18;13526:6;13482:72;:::i;:::-;13601:9;13595:4;13591:20;13586:2;13575:9;13571:18;13564:48;13629:76;13700:4;13691:6;13629:76;:::i;:::-;13621:84;;13183:529;;;;;;:::o;13718:220::-;13858:34;13854:1;13846:6;13842:14;13835:58;13927:3;13922:2;13914:6;13910:15;13903:28;13718:220;:::o;13944:366::-;14086:3;14107:67;14171:2;14166:3;14107:67;:::i;:::-;14100:74;;14183:93;14272:3;14183:93;:::i;:::-;14301:2;14296:3;14292:12;14285:19;;13944:366;;;:::o;14316:419::-;14482:4;14520:2;14509:9;14505:18;14497:26;;14569:9;14563:4;14559:20;14555:1;14544:9;14540:17;14533:47;14597:131;14723:4;14597:131;:::i;:::-;14589:139;;14316:419;;;:::o;14741:180::-;14789:77;14786:1;14779:88;14886:4;14883:1;14876:15;14910:4;14907:1;14900:15;14927:194;14967:4;14987:20;15005:1;14987:20;:::i;:::-;14982:25;;15021:20;15039:1;15021:20;:::i;:::-;15016:25;;15065:1;15062;15058:9;15050:17;;15089:1;15083:4;15080:11;15077:37;;;15094:18;;:::i;:::-;15077:37;14927:194;;;;:::o;15127:191::-;15167:3;15186:20;15204:1;15186:20;:::i;:::-;15181:25;;15220:20;15238:1;15220:20;:::i;:::-;15215:25;;15263:1;15260;15256:9;15249:16;;15284:3;15281:1;15278:10;15275:36;;;15291:18;;:::i;:::-;15275:36;15127:191;;;;:::o;15324:165::-;15464:17;15460:1;15452:6;15448:14;15441:41;15324:165;:::o;15495:366::-;15637:3;15658:67;15722:2;15717:3;15658:67;:::i;:::-;15651:74;;15734:93;15823:3;15734:93;:::i;:::-;15852:2;15847:3;15843:12;15836:19;;15495:366;;;:::o;15867:419::-;16033:4;16071:2;16060:9;16056:18;16048:26;;16120:9;16114:4;16110:20;16106:1;16095:9;16091:17;16084:47;16148:131;16274:4;16148:131;:::i;:::-;16140:139;;15867:419;;;:::o;16292:160::-;16432:12;16428:1;16420:6;16416:14;16409:36;16292:160;:::o;16458:366::-;16600:3;16621:67;16685:2;16680:3;16621:67;:::i;:::-;16614:74;;16697:93;16786:3;16697:93;:::i;:::-;16815:2;16810:3;16806:12;16799:19;;16458:366;;;:::o;16830:419::-;16996:4;17034:2;17023:9;17019:18;17011:26;;17083:9;17077:4;17073:20;17069:1;17058:9;17054:17;17047:47;17111:131;17237:4;17111:131;:::i;:::-;17103:139;;16830:419;;;:::o;17255:169::-;17395:21;17391:1;17383:6;17379:14;17372:45;17255:169;:::o;17430:366::-;17572:3;17593:67;17657:2;17652:3;17593:67;:::i;:::-;17586:74;;17669:93;17758:3;17669:93;:::i;:::-;17787:2;17782:3;17778:12;17771:19;;17430:366;;;:::o;17802:419::-;17968:4;18006:2;17995:9;17991:18;17983:26;;18055:9;18049:4;18045:20;18041:1;18030:9;18026:17;18019:47;18083:131;18209:4;18083:131;:::i;:::-;18075:139;;17802:419;;;:::o;18227:168::-;18367:20;18363:1;18355:6;18351:14;18344:44;18227:168;:::o;18401:366::-;18543:3;18564:67;18628:2;18623:3;18564:67;:::i;:::-;18557:74;;18640:93;18729:3;18640:93;:::i;:::-;18758:2;18753:3;18749:12;18742:19;;18401:366;;;:::o;18773:419::-;18939:4;18977:2;18966:9;18962:18;18954:26;;19026:9;19020:4;19016:20;19012:1;19001:9;18997:17;18990:47;19054:131;19180:4;19054:131;:::i;:::-;19046:139;;18773:419;;;:::o;19198:141::-;19247:4;19270:3;19262:11;;19293:3;19290:1;19283:14;19327:4;19324:1;19314:18;19306:26;;19198:141;;;:::o;19345:93::-;19382:6;19429:2;19424;19417:5;19413:14;19409:23;19399:33;;19345:93;;;:::o;19444:107::-;19488:8;19538:5;19532:4;19528:16;19507:37;;19444:107;;;;:::o;19557:393::-;19626:6;19676:1;19664:10;19660:18;19699:97;19729:66;19718:9;19699:97;:::i;:::-;19817:39;19847:8;19836:9;19817:39;:::i;:::-;19805:51;;19889:4;19885:9;19878:5;19874:21;19865:30;;19938:4;19928:8;19924:19;19917:5;19914:30;19904:40;;19633:317;;19557:393;;;;;:::o;19956:60::-;19984:3;20005:5;19998:12;;19956:60;;;:::o;20022:142::-;20072:9;20105:53;20123:34;20132:24;20150:5;20132:24;:::i;:::-;20123:34;:::i;:::-;20105:53;:::i;:::-;20092:66;;20022:142;;;:::o;20170:75::-;20213:3;20234:5;20227:12;;20170:75;;;:::o;20251:269::-;20361:39;20392:7;20361:39;:::i;:::-;20422:91;20471:41;20495:16;20471:41;:::i;:::-;20463:6;20456:4;20450:11;20422:91;:::i;:::-;20416:4;20409:105;20327:193;20251:269;;;:::o;20526:73::-;20571:3;20526:73;:::o;20605:189::-;20682:32;;:::i;:::-;20723:65;20781:6;20773;20767:4;20723:65;:::i;:::-;20658:136;20605:189;;:::o;20800:186::-;20860:120;20877:3;20870:5;20867:14;20860:120;;;20931:39;20968:1;20961:5;20931:39;:::i;:::-;20904:1;20897:5;20893:13;20884:22;;20860:120;;;20800:186;;:::o;20992:543::-;21093:2;21088:3;21085:11;21082:446;;;21127:38;21159:5;21127:38;:::i;:::-;21211:29;21229:10;21211:29;:::i;:::-;21201:8;21197:44;21394:2;21382:10;21379:18;21376:49;;;21415:8;21400:23;;21376:49;21438:80;21494:22;21512:3;21494:22;:::i;:::-;21484:8;21480:37;21467:11;21438:80;:::i;:::-;21097:431;;21082:446;20992:543;;;:::o;21541:117::-;21595:8;21645:5;21639:4;21635:16;21614:37;;21541:117;;;;:::o;21664:169::-;21708:6;21741:51;21789:1;21785:6;21777:5;21774:1;21770:13;21741:51;:::i;:::-;21737:56;21822:4;21816;21812:15;21802:25;;21715:118;21664:169;;;;:::o;21838:295::-;21914:4;22060:29;22085:3;22079:4;22060:29;:::i;:::-;22052:37;;22122:3;22119:1;22115:11;22109:4;22106:21;22098:29;;21838:295;;;;:::o;22138:1395::-;22255:37;22288:3;22255:37;:::i;:::-;22357:18;22349:6;22346:30;22343:56;;;22379:18;;:::i;:::-;22343:56;22423:38;22455:4;22449:11;22423:38;:::i;:::-;22508:67;22568:6;22560;22554:4;22508:67;:::i;:::-;22602:1;22626:4;22613:17;;22658:2;22650:6;22647:14;22675:1;22670:618;;;;23332:1;23349:6;23346:77;;;23398:9;23393:3;23389:19;23383:26;23374:35;;23346:77;23449:67;23509:6;23502:5;23449:67;:::i;:::-;23443:4;23436:81;23305:222;22640:887;;22670:618;22722:4;22718:9;22710:6;22706:22;22756:37;22788:4;22756:37;:::i;:::-;22815:1;22829:208;22843:7;22840:1;22837:14;22829:208;;;22922:9;22917:3;22913:19;22907:26;22899:6;22892:42;22973:1;22965:6;22961:14;22951:24;;23020:2;23009:9;23005:18;22992:31;;22866:4;22863:1;22859:12;22854:17;;22829:208;;;23065:6;23056:7;23053:19;23050:179;;;23123:9;23118:3;23114:19;23108:26;23166:48;23208:4;23200:6;23196:17;23185:9;23166:48;:::i;:::-;23158:6;23151:64;23073:156;23050:179;23275:1;23271;23263:6;23259:14;23255:22;23249:4;23242:36;22677:611;;;22640:887;;22230:1303;;;22138:1395;;:::o;23539:171::-;23679:23;23675:1;23667:6;23663:14;23656:47;23539:171;:::o;23716:366::-;23858:3;23879:67;23943:2;23938:3;23879:67;:::i;:::-;23872:74;;23955:93;24044:3;23955:93;:::i;:::-;24073:2;24068:3;24064:12;24057:19;;23716:366;;;:::o;24088:419::-;24254:4;24292:2;24281:9;24277:18;24269:26;;24341:9;24335:4;24331:20;24327:1;24316:9;24312:17;24305:47;24369:131;24495:4;24369:131;:::i;:::-;24361:139;;24088:419;;;:::o;24513:223::-;24653:34;24649:1;24641:6;24637:14;24630:58;24722:6;24717:2;24709:6;24705:15;24698:31;24513:223;:::o;24742:366::-;24884:3;24905:67;24969:2;24964:3;24905:67;:::i;:::-;24898:74;;24981:93;25070:3;24981:93;:::i;:::-;25099:2;25094:3;25090:12;25083:19;;24742:366;;;:::o;25114:419::-;25280:4;25318:2;25307:9;25303:18;25295:26;;25367:9;25361:4;25357:20;25353:1;25342:9;25338:17;25331:47;25395:131;25521:4;25395:131;:::i;:::-;25387:139;;25114:419;;;:::o;25539:221::-;25679:34;25675:1;25667:6;25663:14;25656:58;25748:4;25743:2;25735:6;25731:15;25724:29;25539:221;:::o;25766:366::-;25908:3;25929:67;25993:2;25988:3;25929:67;:::i;:::-;25922:74;;26005:93;26094:3;26005:93;:::i;:::-;26123:2;26118:3;26114:12;26107:19;;25766:366;;;:::o;26138:419::-;26304:4;26342:2;26331:9;26327:18;26319:26;;26391:9;26385:4;26381:20;26377:1;26366:9;26362:17;26355:47;26419:131;26545:4;26419:131;:::i;:::-;26411:139;;26138:419;;;:::o;26563:181::-;26703:33;26699:1;26691:6;26687:14;26680:57;26563:181;:::o;26750:366::-;26892:3;26913:67;26977:2;26972:3;26913:67;:::i;:::-;26906:74;;26989:93;27078:3;26989:93;:::i;:::-;27107:2;27102:3;27098:12;27091:19;;26750:366;;;:::o;27122:419::-;27288:4;27326:2;27315:9;27311:18;27303:26;;27375:9;27369:4;27365:20;27361:1;27350:9;27346:17;27339:47;27403:131;27529:4;27403:131;:::i;:::-;27395:139;;27122:419;;;:::o;27547:224::-;27687:34;27683:1;27675:6;27671:14;27664:58;27756:7;27751:2;27743:6;27739:15;27732:32;27547:224;:::o;27777:366::-;27919:3;27940:67;28004:2;27999:3;27940:67;:::i;:::-;27933:74;;28016:93;28105:3;28016:93;:::i;:::-;28134:2;28129:3;28125:12;28118:19;;27777:366;;;:::o;28149:419::-;28315:4;28353:2;28342:9;28338:18;28330:26;;28402:9;28396:4;28392:20;28388:1;28377:9;28373:17;28366:47;28430:131;28556:4;28430:131;:::i;:::-;28422:139;;28149:419;;;:::o;28574:222::-;28714:34;28710:1;28702:6;28698:14;28691:58;28783:5;28778:2;28770:6;28766:15;28759:30;28574:222;:::o;28802:366::-;28944:3;28965:67;29029:2;29024:3;28965:67;:::i;:::-;28958:74;;29041:93;29130:3;29041:93;:::i;:::-;29159:2;29154:3;29150:12;29143:19;;28802:366;;;:::o;29174:419::-;29340:4;29378:2;29367:9;29363:18;29355:26;;29427:9;29421:4;29417:20;29413:1;29402:9;29398:17;29391:47;29455:131;29581:4;29455:131;:::i;:::-;29447:139;;29174:419;;;:::o;29599:225::-;29739:34;29735:1;29727:6;29723:14;29716:58;29808:8;29803:2;29795:6;29791:15;29784:33;29599:225;:::o;29830:366::-;29972:3;29993:67;30057:2;30052:3;29993:67;:::i;:::-;29986:74;;30069:93;30158:3;30069:93;:::i;:::-;30187:2;30182:3;30178:12;30171:19;;29830:366;;;:::o;30202:419::-;30368:4;30406:2;30395:9;30391:18;30383:26;;30455:9;30449:4;30445:20;30441:1;30430:9;30426:17;30419:47;30483:131;30609:4;30483:131;:::i;:::-;30475:139;;30202:419;;;:::o

Swarm Source

ipfs://319acc14ac7f534bb6ff22492d047d6687df058d0735437baaffc21441952773
[ 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.