ETH Price: $3,101.84 (+0.15%)
Gas: 6 Gwei

Token

Vehicle Mining System (VMS)
 

Overview

Max Total Supply

4,000,000,000 VMS

Holders

862

Total Transfers

-

Market

Onchain 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:
CreateToken

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-01
*/

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

library Address {
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {

        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract Lockable is Context {
    event Locked(address account);
    event Unlocked(address account);

    mapping(address => bool) private _locked;

    function locked(address _to) internal view returns (bool) {
        return _locked[_to];
    }

    function _lock(address to) internal virtual {
        require(to != address(0), "ERC20: lock to the zero address");

        _locked[to] = true;
        emit Locked(to);
    }

    function _unlock(address to) internal virtual {
        require(to != address(0), "ERC20: lock to the zero address");

        _locked[to] = false;
        emit Unlocked(to);
    }
}

contract TimeLock {
    using SafeMath for uint256;
    using Address for address;

    event SetTimeLock(address account, uint timestamp);
    event RemoveTimeLock(address account);

    mapping(address => uint) private _endTimestamp;

    function getEndTime(address to) public view virtual returns(uint) {
        return _endTimestamp[to];
    }

    function _setTimeLock(address to, uint256 timestamp) internal virtual {
        require(to != address(0), "Timelock: account is the zero address");
        require(timestamp != uint256(0), "Timelock: is the zero day");

        _endTimestamp[to] = timestamp;

        emit SetTimeLock(to, timestamp);
    }

    function _removeTimeLock(address to) internal virtual {
        require(to != address(0), "Timelock: account is the zero address");

        _endTimestamp[to] = 0;

        emit RemoveTimeLock(to);
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, 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 IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata, Lockable, TimeLock {
    using SafeMath for uint256;
    using Address for address;

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

    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

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

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, _allowances[owner][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = _allowances[owner][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    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");
        require(locked(sender) != true, "ERC20: sender is locked");
        require((getEndTime(sender) <= block.timestamp) != false, "ERC20: sender is Time locked");

        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

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

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

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

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

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    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");

        emit Approval(owner, spender, amount);
    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract ERC20Pauser is Context, ERC20, Ownable {
    constructor(string memory name_, string memory symbol_) ERC20(name_, symbol_){}

    function mint(address account, uint256 amount) internal virtual onlyOwner {
        _mint(account, amount);
    }

    function lock(address account) public virtual onlyOwner {
        _lock(account);
    }

    function unlock(address account) public virtual onlyOwner {
        _unlock(account);
    }
    
    function burn(uint256 amount) public virtual onlyOwner {
        _burn(_msgSender(), amount*(10**uint256(decimals())));
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function setTimeLock(address account, uint256 timestamp) public virtual onlyOwner {
        _setTimeLock(account, timestamp);
    }

    function removeTimeLock(address account) public virtual onlyOwner {
        _removeTimeLock(account);
    }
}

contract CreateToken is ERC20Pauser {
    constructor () ERC20Pauser("Vehicle Mining System", "VMS") {
        mint(msg.sender, 40*(10**8)*(10**uint256(decimals())));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Locked","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":false,"internalType":"address","name":"account","type":"address"}],"name":"RemoveTimeLock","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SetTimeLock","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unlocked","type":"event"},{"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":"to","type":"address"}],"name":"getEndTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"lock","outputs":[],"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":[{"internalType":"address","name":"account","type":"address"}],"name":"removeTimeLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"setTimeLock","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":"to","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":"account","type":"address"}],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50604080518082018252601581527f56656869636c65204d696e696e672053797374656d0000000000000000000000602080830191825283518085019094526003845262564d5360e81b908401528151919291839183916200007691600591620002e2565b5080516200008c906006906020840190620002e2565b505050620000a9620000a3620000e760201b60201c565b620000eb565b50620000e1905033620000bb62000145565b620000cb9060ff16600a6200049c565b620000db9063ee6b280062000584565b6200014a565b620005f9565b3390565b600780546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b601290565b62000154620000e7565b6001600160a01b031662000167620001a9565b6001600160a01b031614620001995760405162461bcd60e51b81526004016200019090620003bf565b60405180910390fd5b620001a58282620001bd565b5050565b60075461010090046001600160a01b031690565b6001600160a01b038216620001e65760405162461bcd60e51b81526004016200019090620003f4565b620001f460008383620002a2565b6200021081600454620002a760201b6200073b1790919060201c565b6004556001600160a01b038216600090815260026020908152604090912054620002459183906200073b620002a7821b17901c565b6001600160a01b0383166000818152600260205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002969085906200042b565b60405180910390a35050565b505050565b600080620002b6838562000434565b905083811015620002db5760405162461bcd60e51b8152600401620001909062000388565b9392505050565b828054620002f090620005a6565b90600052602060002090601f0160209004810192826200031457600085556200035f565b82601f106200032f57805160ff19168380011785556200035f565b828001600101855582156200035f579182015b828111156200035f57825182559160200191906001019062000342565b506200036d92915062000371565b5090565b5b808211156200036d576000815560010162000372565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b600082198211156200044a576200044a620005e3565b500190565b80825b600180861162000463575062000493565b818704821115620004785762000478620005e3565b808616156200048657918102915b9490941c93800262000452565b94509492505050565b6000620002db6000198484600082620004b857506001620002db565b81620004c757506000620002db565b8160018114620004e05760028114620004eb576200051f565b6001915050620002db565b60ff841115620004ff57620004ff620005e3565b6001841b915084821115620005185762000518620005e3565b50620002db565b5060208310610133831016604e8410600b841016171562000557575081810a83811115620005515762000551620005e3565b620002db565b6200056684848460016200044f565b8086048211156200057b576200057b620005e3565b02949350505050565b6000816000190483118215151615620005a157620005a1620005e3565b500290565b600281046001821680620005bb57607f821691505b60208210811415620005dd57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61146d80620006096000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063644fab74116100ad578063a457c2d711610071578063a457c2d714610258578063a9059cbb1461026b578063dd62ed3e1461027e578063f2fde38b14610291578063f435f5a7146102a45761012c565b8063644fab741461020d57806370a0823114610220578063715018a6146102335780638da5cb5b1461023b57806395d89b41146102505761012c565b806323b872dd116100f457806323b872dd146101ac5780632f6c493c146101bf578063313ce567146101d257806339509351146101e757806342966c68146101fa5761012c565b806306fdde0314610131578063095ea7b31461014f57806317abee1e1461016f57806318160ddd146101845780631c260b5f14610199575b600080fd5b6101396102b7565b6040516101469190610e6b565b60405180910390f35b61016261015d366004610df2565b610349565b6040516101469190610e60565b61018261017d366004610d6b565b61036b565b005b61018c6103bf565b6040516101469190611225565b61018c6101a7366004610d6b565b6103c5565b6101626101ba366004610db7565b6103e4565b6101826101cd366004610d6b565b6103f8565b6101da610440565b604051610146919061122e565b6101626101f5366004610df2565b610445565b610182610208366004610e1b565b610491565b61018261021b366004610df2565b610500565b61018c61022e366004610d6b565b61054d565b610182610568565b6102436105b3565b6040516101469190610e33565b6101396105c7565b610162610266366004610df2565b6105d6565b610162610279366004610df2565b610642565b61018c61028c366004610d85565b61065a565b61018261029f366004610d6b565b610685565b6101826102b2366004610d6b565b6106f3565b6060600580546102c69061139e565b80601f01602080910402602001604051908101604052809291908181526020018280546102f29061139e565b801561033f5780601f106103145761010080835404028352916020019161033f565b820191906000526020600020905b81548152906001019060200180831161032257829003601f168201915b5050505050905090565b60008061035461076a565b905061036181858561076e565b5060019392505050565b61037361076a565b6001600160a01b03166103846105b3565b6001600160a01b0316146103b35760405162461bcd60e51b81526004016103aa9061102e565b60405180910390fd5b6103bc8161080a565b50565b60045490565b6001600160a01b0381166000908152600160205260409020545b919050565b6000610361848484610886565b9392505050565b61040061076a565b6001600160a01b03166104116105b3565b6001600160a01b0316146104375760405162461bcd60e51b81526004016103aa9061102e565b6103bc816109ee565b601290565b60008061045061076a565b6001600160a01b03808216600090815260036020908152604080832093891683529290522054909150610361908290869061048c90879061123c565b61076e565b61049961076a565b6001600160a01b03166104aa6105b3565b6001600160a01b0316146104d05760405162461bcd60e51b81526004016103aa9061102e565b6103bc6104db61076a565b6104e3610440565b6104f19060ff16600a61129a565b6104fb9084611368565b610a64565b61050861076a565b6001600160a01b03166105196105b3565b6001600160a01b03161461053f5760405162461bcd60e51b81526004016103aa9061102e565b6105498282610b46565b5050565b6001600160a01b031660009081526002602052604090205490565b61057061076a565b6001600160a01b03166105816105b3565b6001600160a01b0316146105a75760405162461bcd60e51b81526004016103aa9061102e565b6105b16000610be2565b565b60075461010090046001600160a01b031690565b6060600680546102c69061139e565b6000806105e161076a565b6001600160a01b038082166000908152600360209081526040808320938916835292905220549091508381101561062a5760405162461bcd60e51b81526004016103aa906111e0565b610637828686840361076e565b506001949350505050565b60008061064d61076a565b9050610361818585610886565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61068d61076a565b6001600160a01b031661069e6105b3565b6001600160a01b0316146106c45760405162461bcd60e51b81526004016103aa9061102e565b6001600160a01b0381166106ea5760405162461bcd60e51b81526004016103aa90610f38565b6103bc81610be2565b6106fb61076a565b6001600160a01b031661070c6105b3565b6001600160a01b0316146107325760405162461bcd60e51b81526004016103aa9061102e565b6103bc81610c3c565b600080610748838561123c565b9050838110156103f15760405162461bcd60e51b81526004016103aa90610fc0565b3390565b6001600160a01b0383166107945760405162461bcd60e51b81526004016103aa906110e9565b6001600160a01b0382166107ba5760405162461bcd60e51b81526004016103aa90610f7e565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107fd9190611225565b60405180910390a3505050565b6001600160a01b0381166108305760405162461bcd60e51b81526004016103aa90611164565b6001600160a01b03811660009081526001602052604080822091909155517f2411a6bc22519fe98a9db2ddbd83af278807704eac69a546c5d52fd3e0b2db919061087b908390610e33565b60405180910390a150565b6001600160a01b0383166108ac5760405162461bcd60e51b81526004016103aa906110a4565b6001600160a01b0382166108d25760405162461bcd60e51b81526004016103aa90610ebe565b6108db83610cb5565b1515600114156108fd5760405162461bcd60e51b81526004016103aa90610ff7565b42610907846103c5565b11156109255760405162461bcd60e51b81526004016103aa9061112d565b610930838383610cd3565b61096d81604051806060016040528060268152602001611412602691396001600160a01b0386166000908152600260205260409020549190610cd8565b6001600160a01b03808516600090815260026020526040808220939093559084168152205461099c908261073b565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107fd908590611225565b6001600160a01b038116610a145760405162461bcd60e51b81526004016103aa906111a9565b6001600160a01b03811660009081526020819052604090819020805460ff19169055517f7e6adfec7e3f286831a0200a754127c171a2da564078722cb97704741bbdb0ea9061087b908390610e33565b6001600160a01b038216610a8a5760405162461bcd60e51b81526004016103aa90611063565b610a9682600083610cd3565b610ad3816040518060600160405280602281526020016113f0602291396001600160a01b0385166000908152600260205260409020549190610cd8565b6001600160a01b038316600090815260026020526040902055600454610af99082610d12565b6004556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b3a908590611225565b60405180910390a35050565b6001600160a01b038216610b6c5760405162461bcd60e51b81526004016103aa90611164565b80610b895760405162461bcd60e51b81526004016103aa90610f01565b6001600160a01b03821660009081526001602052604090819020829055517fde6a7e6fbd24aa298ba27260cb50684143d79f1132db1e14ba235be2a603061090610bd69084908490610e47565b60405180910390a15050565b600780546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116610c625760405162461bcd60e51b81526004016103aa906111a9565b6001600160a01b03811660009081526020819052604090819020805460ff19166001179055517f44427e3003a08f22cf803894075ac0297524e09e521fc1c15bc91741ce3dc1599061087b908390610e33565b6001600160a01b031660009081526020819052604090205460ff1690565b505050565b60008184841115610cfc5760405162461bcd60e51b81526004016103aa9190610e6b565b506000610d098486611387565b95945050505050565b60006103f183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cd8565b80356001600160a01b03811681146103df57600080fd5b600060208284031215610d7c578081fd5b6103f182610d54565b60008060408385031215610d97578081fd5b610da083610d54565b9150610dae60208401610d54565b90509250929050565b600080600060608486031215610dcb578081fd5b610dd484610d54565b9250610de260208501610d54565b9150604084013590509250925092565b60008060408385031215610e04578182fd5b610e0d83610d54565b946020939093013593505050565b600060208284031215610e2c578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602080835283518082850152825b81811015610e9757858101830151858201604001528201610e7b565b81811115610ea85783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f54696d656c6f636b3a20697320746865207a65726f2064617900000000000000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f45524332303a2073656e646572206973206c6f636b6564000000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601c908201527f45524332303a2073656e6465722069732054696d65206c6f636b656400000000604082015260600190565b60208082526025908201527f54696d656c6f636b3a206163636f756e7420697320746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601f908201527f45524332303a206c6f636b20746f20746865207a65726f206164647265737300604082015260600190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b6000821982111561124f5761124f6113d9565b500190565b80825b60018086116112665750611291565b818704821115611278576112786113d9565b8086161561128557918102915b9490941c938002611257565b94509492505050565b60006103f160001984846000826112b3575060016103f1565b816112c0575060006103f1565b81600181146112d657600281146112e05761130d565b60019150506103f1565b60ff8411156112f1576112f16113d9565b6001841b915084821115611307576113076113d9565b506103f1565b5060208310610133831016604e8410600b8410161715611340575081810a8381111561133b5761133b6113d9565b6103f1565b61134d8484846001611254565b80860482111561135f5761135f6113d9565b02949350505050565b6000816000190483118215151615611382576113826113d9565b500290565b600082821015611399576113996113d9565b500390565b6002810460018216806113b257607f821691505b602082108114156113d357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365a264697066735822122027a5586b2378268be116a0aceece8fae659f2c1846390a616c70770642642e6964736f6c63430008000033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063644fab74116100ad578063a457c2d711610071578063a457c2d714610258578063a9059cbb1461026b578063dd62ed3e1461027e578063f2fde38b14610291578063f435f5a7146102a45761012c565b8063644fab741461020d57806370a0823114610220578063715018a6146102335780638da5cb5b1461023b57806395d89b41146102505761012c565b806323b872dd116100f457806323b872dd146101ac5780632f6c493c146101bf578063313ce567146101d257806339509351146101e757806342966c68146101fa5761012c565b806306fdde0314610131578063095ea7b31461014f57806317abee1e1461016f57806318160ddd146101845780631c260b5f14610199575b600080fd5b6101396102b7565b6040516101469190610e6b565b60405180910390f35b61016261015d366004610df2565b610349565b6040516101469190610e60565b61018261017d366004610d6b565b61036b565b005b61018c6103bf565b6040516101469190611225565b61018c6101a7366004610d6b565b6103c5565b6101626101ba366004610db7565b6103e4565b6101826101cd366004610d6b565b6103f8565b6101da610440565b604051610146919061122e565b6101626101f5366004610df2565b610445565b610182610208366004610e1b565b610491565b61018261021b366004610df2565b610500565b61018c61022e366004610d6b565b61054d565b610182610568565b6102436105b3565b6040516101469190610e33565b6101396105c7565b610162610266366004610df2565b6105d6565b610162610279366004610df2565b610642565b61018c61028c366004610d85565b61065a565b61018261029f366004610d6b565b610685565b6101826102b2366004610d6b565b6106f3565b6060600580546102c69061139e565b80601f01602080910402602001604051908101604052809291908181526020018280546102f29061139e565b801561033f5780601f106103145761010080835404028352916020019161033f565b820191906000526020600020905b81548152906001019060200180831161032257829003601f168201915b5050505050905090565b60008061035461076a565b905061036181858561076e565b5060019392505050565b61037361076a565b6001600160a01b03166103846105b3565b6001600160a01b0316146103b35760405162461bcd60e51b81526004016103aa9061102e565b60405180910390fd5b6103bc8161080a565b50565b60045490565b6001600160a01b0381166000908152600160205260409020545b919050565b6000610361848484610886565b9392505050565b61040061076a565b6001600160a01b03166104116105b3565b6001600160a01b0316146104375760405162461bcd60e51b81526004016103aa9061102e565b6103bc816109ee565b601290565b60008061045061076a565b6001600160a01b03808216600090815260036020908152604080832093891683529290522054909150610361908290869061048c90879061123c565b61076e565b61049961076a565b6001600160a01b03166104aa6105b3565b6001600160a01b0316146104d05760405162461bcd60e51b81526004016103aa9061102e565b6103bc6104db61076a565b6104e3610440565b6104f19060ff16600a61129a565b6104fb9084611368565b610a64565b61050861076a565b6001600160a01b03166105196105b3565b6001600160a01b03161461053f5760405162461bcd60e51b81526004016103aa9061102e565b6105498282610b46565b5050565b6001600160a01b031660009081526002602052604090205490565b61057061076a565b6001600160a01b03166105816105b3565b6001600160a01b0316146105a75760405162461bcd60e51b81526004016103aa9061102e565b6105b16000610be2565b565b60075461010090046001600160a01b031690565b6060600680546102c69061139e565b6000806105e161076a565b6001600160a01b038082166000908152600360209081526040808320938916835292905220549091508381101561062a5760405162461bcd60e51b81526004016103aa906111e0565b610637828686840361076e565b506001949350505050565b60008061064d61076a565b9050610361818585610886565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61068d61076a565b6001600160a01b031661069e6105b3565b6001600160a01b0316146106c45760405162461bcd60e51b81526004016103aa9061102e565b6001600160a01b0381166106ea5760405162461bcd60e51b81526004016103aa90610f38565b6103bc81610be2565b6106fb61076a565b6001600160a01b031661070c6105b3565b6001600160a01b0316146107325760405162461bcd60e51b81526004016103aa9061102e565b6103bc81610c3c565b600080610748838561123c565b9050838110156103f15760405162461bcd60e51b81526004016103aa90610fc0565b3390565b6001600160a01b0383166107945760405162461bcd60e51b81526004016103aa906110e9565b6001600160a01b0382166107ba5760405162461bcd60e51b81526004016103aa90610f7e565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107fd9190611225565b60405180910390a3505050565b6001600160a01b0381166108305760405162461bcd60e51b81526004016103aa90611164565b6001600160a01b03811660009081526001602052604080822091909155517f2411a6bc22519fe98a9db2ddbd83af278807704eac69a546c5d52fd3e0b2db919061087b908390610e33565b60405180910390a150565b6001600160a01b0383166108ac5760405162461bcd60e51b81526004016103aa906110a4565b6001600160a01b0382166108d25760405162461bcd60e51b81526004016103aa90610ebe565b6108db83610cb5565b1515600114156108fd5760405162461bcd60e51b81526004016103aa90610ff7565b42610907846103c5565b11156109255760405162461bcd60e51b81526004016103aa9061112d565b610930838383610cd3565b61096d81604051806060016040528060268152602001611412602691396001600160a01b0386166000908152600260205260409020549190610cd8565b6001600160a01b03808516600090815260026020526040808220939093559084168152205461099c908261073b565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107fd908590611225565b6001600160a01b038116610a145760405162461bcd60e51b81526004016103aa906111a9565b6001600160a01b03811660009081526020819052604090819020805460ff19169055517f7e6adfec7e3f286831a0200a754127c171a2da564078722cb97704741bbdb0ea9061087b908390610e33565b6001600160a01b038216610a8a5760405162461bcd60e51b81526004016103aa90611063565b610a9682600083610cd3565b610ad3816040518060600160405280602281526020016113f0602291396001600160a01b0385166000908152600260205260409020549190610cd8565b6001600160a01b038316600090815260026020526040902055600454610af99082610d12565b6004556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b3a908590611225565b60405180910390a35050565b6001600160a01b038216610b6c5760405162461bcd60e51b81526004016103aa90611164565b80610b895760405162461bcd60e51b81526004016103aa90610f01565b6001600160a01b03821660009081526001602052604090819020829055517fde6a7e6fbd24aa298ba27260cb50684143d79f1132db1e14ba235be2a603061090610bd69084908490610e47565b60405180910390a15050565b600780546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116610c625760405162461bcd60e51b81526004016103aa906111a9565b6001600160a01b03811660009081526020819052604090819020805460ff19166001179055517f44427e3003a08f22cf803894075ac0297524e09e521fc1c15bc91741ce3dc1599061087b908390610e33565b6001600160a01b031660009081526020819052604090205460ff1690565b505050565b60008184841115610cfc5760405162461bcd60e51b81526004016103aa9190610e6b565b506000610d098486611387565b95945050505050565b60006103f183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cd8565b80356001600160a01b03811681146103df57600080fd5b600060208284031215610d7c578081fd5b6103f182610d54565b60008060408385031215610d97578081fd5b610da083610d54565b9150610dae60208401610d54565b90509250929050565b600080600060608486031215610dcb578081fd5b610dd484610d54565b9250610de260208501610d54565b9150604084013590509250925092565b60008060408385031215610e04578182fd5b610e0d83610d54565b946020939093013593505050565b600060208284031215610e2c578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602080835283518082850152825b81811015610e9757858101830151858201604001528201610e7b565b81811115610ea85783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526019908201527f54696d656c6f636b3a20697320746865207a65726f2064617900000000000000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f45524332303a2073656e646572206973206c6f636b6564000000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601c908201527f45524332303a2073656e6465722069732054696d65206c6f636b656400000000604082015260600190565b60208082526025908201527f54696d656c6f636b3a206163636f756e7420697320746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252601f908201527f45524332303a206c6f636b20746f20746865207a65726f206164647265737300604082015260600190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b6000821982111561124f5761124f6113d9565b500190565b80825b60018086116112665750611291565b818704821115611278576112786113d9565b8086161561128557918102915b9490941c938002611257565b94509492505050565b60006103f160001984846000826112b3575060016103f1565b816112c0575060006103f1565b81600181146112d657600281146112e05761130d565b60019150506103f1565b60ff8411156112f1576112f16113d9565b6001841b915084821115611307576113076113d9565b506103f1565b5060208310610133831016604e8410600b8410161715611340575081810a8381111561133b5761133b6113d9565b6103f1565b61134d8484846001611254565b80860482111561135f5761135f6113d9565b02949350505050565b6000816000190483118215151615611382576113826113d9565b500290565b600082821015611399576113996113d9565b500390565b6002810460018216806113b257607f821691505b602082108114156113d357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365a264697066735822122027a5586b2378268be116a0aceece8fae659f2c1846390a616c70770642642e6964736f6c63430008000033

Deployed Bytecode Sourcemap

13401:178:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7630:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8562:201;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13285:109::-;;;;;;:::i;:::-;;:::i;:::-;;7951:108;;;:::i;:::-;;;;;;;:::i;5573:109::-;;;;;;:::i;:::-;;:::i;8771:189::-;;;;;;:::i;:::-;;:::i;12584:93::-;;;;;;:::i;:::-;;:::i;7850:::-;;;:::i;:::-;;;;;;;:::i;8968:240::-;;;;;;:::i;:::-;;:::i;12689:127::-;;;;;;:::i;:::-;;:::i;13144:133::-;;;;;;:::i;:::-;;:::i;8067:127::-;;;;;;:::i;:::-;;:::i;12824:103::-;;;:::i;4257:87::-;;;:::i;:::-;;;;;;;:::i;7738:104::-;;;:::i;9216:438::-;;;;;;:::i;:::-;;:::i;8202:193::-;;;;;;:::i;:::-;;:::i;8403:151::-;;;;;;:::i;:::-;;:::i;12935:201::-;;;;;;:::i;:::-;;:::i;12487:89::-;;;;;;:::i;:::-;;:::i;7630:100::-;7684:13;7717:5;7710:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7630:100;:::o;8562:201::-;8645:4;8662:13;8678:12;:10;:12::i;:::-;8662:28;;8701:32;8710:5;8717:7;8726:6;8701:8;:32::i;:::-;-1:-1:-1;8751:4:0;;8562:201;-1:-1:-1;;;8562:201:0:o;13285:109::-;4403:12;:10;:12::i;:::-;-1:-1:-1;;;;;4392:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4392:23:0;;4384:68;;;;-1:-1:-1;;;4384:68:0;;;;;;;:::i;:::-;;;;;;;;;13362:24:::1;13378:7;13362:15;:24::i;:::-;13285:109:::0;:::o;7951:108::-;8039:12;;7951:108;:::o;5573:109::-;-1:-1:-1;;;;;5657:17:0;;5633:4;5657:17;;;:13;:17;;;;;;5573:109;;;;:::o;8771:189::-;8877:4;8894:36;8904:6;8912:9;8923:6;8894:9;:36::i;8771:189::-;;;;;;:::o;12584:93::-;4403:12;:10;:12::i;:::-;-1:-1:-1;;;;;4392:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4392:23:0;;4384:68;;;;-1:-1:-1;;;4384:68:0;;;;;;;:::i;:::-;12653:16:::1;12661:7;12653;:16::i;7850:93::-:0;7933:2;7850:93;:::o;8968:240::-;9056:4;9073:13;9089:12;:10;:12::i;:::-;-1:-1:-1;;;;;9137:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;9073:28;;-1:-1:-1;9112:66:0;;9073:28;;9128:7;;9137:40;;9167:10;;9137:40;:::i;:::-;9112:8;:66::i;12689:127::-;4403:12;:10;:12::i;:::-;-1:-1:-1;;;;;4392:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4392:23:0;;4384:68;;;;-1:-1:-1;;;4384:68:0;;;;;;;:::i;:::-;12755:53:::1;12761:12;:10;:12::i;:::-;12795:10;:8;:10::i;:::-;12783:23;::::0;12787:19:::1;;12783:2;:23;:::i;:::-;12775:32;::::0;:6;:32:::1;:::i;:::-;12755:5;:53::i;13144:133::-:0;4403:12;:10;:12::i;:::-;-1:-1:-1;;;;;4392:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4392:23:0;;4384:68;;;;-1:-1:-1;;;4384:68:0;;;;;;;:::i;:::-;13237:32:::1;13250:7;13259:9;13237:12;:32::i;:::-;13144:133:::0;;:::o;8067:127::-;-1:-1:-1;;;;;8168:18:0;8141:7;8168:18;;;:9;:18;;;;;;;8067:127::o;12824:103::-;4403:12;:10;:12::i;:::-;-1:-1:-1;;;;;4392:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4392:23:0;;4384:68;;;;-1:-1:-1;;;4384:68:0;;;;;;;:::i;:::-;12889:30:::1;12916:1;12889:18;:30::i;:::-;12824:103::o:0;4257:87::-;4330:6;;;;;-1:-1:-1;;;;;4330:6:0;;4257:87::o;7738:104::-;7794:13;7827:7;7820:14;;;;;:::i;9216:438::-;9309:4;9326:13;9342:12;:10;:12::i;:::-;-1:-1:-1;;;;;9392:18:0;;;9365:24;9392:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;9326:28;;-1:-1:-1;9438:35:0;;;;9430:85;;;;-1:-1:-1;;;9430:85:0;;;;;;;:::i;:::-;9551:60;9560:5;9567:7;9595:15;9576:16;:34;9551:8;:60::i;:::-;-1:-1:-1;9642:4:0;;9216:438;-1:-1:-1;;;;9216:438:0:o;8202:193::-;8281:4;8298:13;8314:12;:10;:12::i;:::-;8298:28;;8337;8347:5;8354:2;8358:6;8337:9;:28::i;8403:151::-;-1:-1:-1;;;;;8519:18:0;;;8492:7;8519:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8403:151::o;12935:201::-;4403:12;:10;:12::i;:::-;-1:-1:-1;;;;;4392:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4392:23:0;;4384:68;;;;-1:-1:-1;;;4384:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13024:22:0;::::1;13016:73;;;;-1:-1:-1::0;;;13016:73:0::1;;;;;;;:::i;:::-;13100:28;13119:8;13100:18;:28::i;12487:89::-:0;4403:12;:10;:12::i;:::-;-1:-1:-1;;;;;4392:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;4392:23:0;;4384:68;;;;-1:-1:-1;;;4384:68:0;;;;;;;:::i;:::-;12554:14:::1;12560:7;12554:5;:14::i;2496:181::-:0;2554:7;;2586:5;2590:1;2586;:5;:::i;:::-;2574:17;;2615:1;2610;:6;;2602:46;;;;-1:-1:-1;;;2602:46:0;;;;;;;:::i;2258:98::-;2338:10;2258:98;:::o;11190:299::-;-1:-1:-1;;;;;11292:19:0;;11284:68;;;;-1:-1:-1;;;11284:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11371:21:0;;11363:68;;;;-1:-1:-1;;;11363:68:0;;;;;;;:::i;:::-;11465:7;-1:-1:-1;;;;;11449:32:0;11458:5;-1:-1:-1;;;;;11449:32:0;;11474:6;11449:32;;;;;;:::i;:::-;;;;;;;;11190:299;;;:::o;6011:209::-;-1:-1:-1;;;;;6084:16:0;;6076:66;;;;-1:-1:-1;;;6076:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6155:17:0;;6175:1;6155:17;;;:13;:17;;;;;;:21;;;;6194:18;;;;;6169:2;;6194:18;:::i;:::-;;;;;;;;6011:209;:::o;9662:708::-;-1:-1:-1;;;;;9768:20:0;;9760:70;;;;-1:-1:-1;;;9760:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9849:23:0;;9841:71;;;;-1:-1:-1;;;9841:71:0;;;;;;;:::i;:::-;9931:14;9938:6;9931;:14::i;:::-;:22;;9949:4;9931:22;;9923:58;;;;-1:-1:-1;;;9923:58:0;;;;;;;:::i;:::-;10023:15;10001:18;10012:6;10001:10;:18::i;:::-;:37;;9992:89;;;;-1:-1:-1;;;9992:89:0;;;;;;;:::i;:::-;10094:47;10115:6;10123:9;10134:6;10094:20;:47::i;:::-;10174:71;10196:6;10174:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10174:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;10154:17:0;;;;;;;:9;:17;;;;;;:91;;;;10279:20;;;;;;;:32;;10304:6;10279:24;:32::i;:::-;-1:-1:-1;;;;;10256:20:0;;;;;;;:9;:20;;;;;;;:55;;;;10327:35;;;;;;;;;;10355:6;;10327:35;:::i;5131:185::-;-1:-1:-1;;;;;5196:16:0;;5188:60;;;;-1:-1:-1;;;5188:60:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5261:11:0;;5275:5;5261:11;;;;;;;;;;;;:19;;-1:-1:-1;;5261:19:0;;;5296:12;;;;;5269:2;;5296:12;:::i;10764:418::-;-1:-1:-1;;;;;10848:21:0;;10840:67;;;;-1:-1:-1;;;10840:67:0;;;;;;;:::i;:::-;10920:49;10941:7;10958:1;10962:6;10920:20;:49::i;:::-;11003:68;11026:6;11003:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11003:18:0;;;;;;:9;:18;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;10982:18:0;;;;;;:9;:18;;;;;:89;11097:12;;:24;;11114:6;11097:16;:24::i;:::-;11082:12;:39;11137:37;;11163:1;;-1:-1:-1;;;;;11137:37:0;;;;;;;11167:6;;11137:37;:::i;:::-;;;;;;;;10764:418;;:::o;5690:313::-;-1:-1:-1;;;;;5779:16:0;;5771:66;;;;-1:-1:-1;;;5771:66:0;;;;;;;:::i;:::-;5856:23;5848:61;;;;-1:-1:-1;;;5848:61:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5922:17:0;;;;;;:13;:17;;;;;;;:29;;;5969:26;;;;;5936:2;;5942:9;;5969:26;:::i;:::-;;;;;;;;5690:313;;:::o;4480:191::-;4573:6;;;-1:-1:-1;;;;;4590:17:0;;;4573:6;4590:17;;;-1:-1:-1;;;;;;4590:17:0;;;;;;4623:40;;4573:6;;;;;;;;4623:40;;4554:16;;4623:40;4480:191;;:::o;4943:180::-;-1:-1:-1;;;;;5006:16:0;;4998:60;;;;-1:-1:-1;;;4998:60:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5071:11:0;;:7;:11;;;;;;;;;;;;:18;;-1:-1:-1;;5071:18:0;5085:4;5071:18;;;5105:10;;;;;5079:2;;5105:10;:::i;4839:96::-;-1:-1:-1;;;;;4915:12:0;4891:4;4915:12;;;;;;;;;;;;;;4839:96::o;11958:125::-;;;;:::o;2829:192::-;2915:7;2951:12;2943:6;;;;2935:29;;;;-1:-1:-1;;;2935:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2975:9:0;2987:5;2991:1;2987;:5;:::i;:::-;2975:17;2829:192;-1:-1:-1;;;;;2829:192:0:o;2685:136::-;2743:7;2770:43;2774:1;2777;2770:43;;;;;;;;;;;;;;;;;:3;:43::i;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:198;;306:2;294:9;285:7;281:23;277:32;274:2;;;327:6;319;312:22;274:2;355:31;376:9;355:31;:::i;397:274::-;;;526:2;514:9;505:7;501:23;497:32;494:2;;;547:6;539;532:22;494:2;575:31;596:9;575:31;:::i;:::-;565:41;;625:40;661:2;650:9;646:18;625:40;:::i;:::-;615:50;;484:187;;;;;:::o;676:342::-;;;;822:2;810:9;801:7;797:23;793:32;790:2;;;843:6;835;828:22;790:2;871:31;892:9;871:31;:::i;:::-;861:41;;921:40;957:2;946:9;942:18;921:40;:::i;:::-;911:50;;1008:2;997:9;993:18;980:32;970:42;;780:238;;;;;:::o;1023:266::-;;;1152:2;1140:9;1131:7;1127:23;1123:32;1120:2;;;1173:6;1165;1158:22;1120:2;1201:31;1222:9;1201:31;:::i;:::-;1191:41;1279:2;1264:18;;;;1251:32;;-1:-1:-1;;;1110:179:1:o;1294:190::-;;1406:2;1394:9;1385:7;1381:23;1377:32;1374:2;;;1427:6;1419;1412:22;1374:2;-1:-1:-1;1455:23:1;;1364:120;-1:-1:-1;1364:120:1:o;1489:203::-;-1:-1:-1;;;;;1653:32:1;;;;1635:51;;1623:2;1608:18;;1590:102::o;1697:274::-;-1:-1:-1;;;;;1889:32:1;;;;1871:51;;1953:2;1938:18;;1931:34;1859:2;1844:18;;1826:145::o;1976:187::-;2141:14;;2134:22;2116:41;;2104:2;2089:18;;2071:92::o;2168:603::-;;2309:2;2338;2327:9;2320:21;2370:6;2364:13;2413:6;2408:2;2397:9;2393:18;2386:34;2438:4;2451:140;2465:6;2462:1;2459:13;2451:140;;;2560:14;;;2556:23;;2550:30;2526:17;;;2545:2;2522:26;2515:66;2480:10;;2451:140;;;2609:6;2606:1;2603:13;2600:2;;;2679:4;2674:2;2665:6;2654:9;2650:22;2646:31;2639:45;2600:2;-1:-1:-1;2755:2:1;2734:15;-1:-1:-1;;2730:29:1;2715:45;;;;2762:2;2711:54;;2289:482;-1:-1:-1;;;2289:482:1:o;2776:399::-;2978:2;2960:21;;;3017:2;2997:18;;;2990:30;3056:34;3051:2;3036:18;;3029:62;-1:-1:-1;;;3122:2:1;3107:18;;3100:33;3165:3;3150:19;;2950:225::o;3180:349::-;3382:2;3364:21;;;3421:2;3401:18;;;3394:30;3460:27;3455:2;3440:18;;3433:55;3520:2;3505:18;;3354:175::o;3534:402::-;3736:2;3718:21;;;3775:2;3755:18;;;3748:30;3814:34;3809:2;3794:18;;3787:62;-1:-1:-1;;;3880:2:1;3865:18;;3858:36;3926:3;3911:19;;3708:228::o;3941:398::-;4143:2;4125:21;;;4182:2;4162:18;;;4155:30;4221:34;4216:2;4201:18;;4194:62;-1:-1:-1;;;4287:2:1;4272:18;;4265:32;4329:3;4314:19;;4115:224::o;4344:351::-;4546:2;4528:21;;;4585:2;4565:18;;;4558:30;4624:29;4619:2;4604:18;;4597:57;4686:2;4671:18;;4518:177::o;4700:347::-;4902:2;4884:21;;;4941:2;4921:18;;;4914:30;4980:25;4975:2;4960:18;;4953:53;5038:2;5023:18;;4874:173::o;5052:356::-;5254:2;5236:21;;;5273:18;;;5266:30;5332:34;5327:2;5312:18;;5305:62;5399:2;5384:18;;5226:182::o;5413:397::-;5615:2;5597:21;;;5654:2;5634:18;;;5627:30;5693:34;5688:2;5673:18;;5666:62;-1:-1:-1;;;5759:2:1;5744:18;;5737:31;5800:3;5785:19;;5587:223::o;5815:401::-;6017:2;5999:21;;;6056:2;6036:18;;;6029:30;6095:34;6090:2;6075:18;;6068:62;-1:-1:-1;;;6161:2:1;6146:18;;6139:35;6206:3;6191:19;;5989:227::o;6221:400::-;6423:2;6405:21;;;6462:2;6442:18;;;6435:30;6501:34;6496:2;6481:18;;6474:62;-1:-1:-1;;;6567:2:1;6552:18;;6545:34;6611:3;6596:19;;6395:226::o;6626:352::-;6828:2;6810:21;;;6867:2;6847:18;;;6840:30;6906;6901:2;6886:18;;6879:58;6969:2;6954:18;;6800:178::o;6983:401::-;7185:2;7167:21;;;7224:2;7204:18;;;7197:30;7263:34;7258:2;7243:18;;7236:62;-1:-1:-1;;;7329:2:1;7314:18;;7307:35;7374:3;7359:19;;7157:227::o;7389:355::-;7591:2;7573:21;;;7630:2;7610:18;;;7603:30;7669:33;7664:2;7649:18;;7642:61;7735:2;7720:18;;7563:181::o;7749:401::-;7951:2;7933:21;;;7990:2;7970:18;;;7963:30;8029:34;8024:2;8009:18;;8002:62;-1:-1:-1;;;8095:2:1;8080:18;;8073:35;8140:3;8125:19;;7923:227::o;8155:177::-;8301:25;;;8289:2;8274:18;;8256:76::o;8337:184::-;8509:4;8497:17;;;;8479:36;;8467:2;8452:18;;8434:87::o;8526:128::-;;8597:1;8593:6;8590:1;8587:13;8584:2;;;8603:18;;:::i;:::-;-1:-1:-1;8639:9:1;;8574:80::o;8659:453::-;8755:6;8778:5;8792:314;8841:1;8878:2;8868:8;8865:16;8855:2;;8885:5;;;8855:2;8926:4;8921:3;8917:14;8911:4;8908:24;8905:2;;;8935:18;;:::i;:::-;8985:2;8975:8;8971:17;8968:2;;;9000:16;;;;8968:2;9079:17;;;;;9039:15;;8792:314;;;8736:376;;;;;;;:::o;9117:139::-;;9206:44;-1:-1:-1;;9233:8:1;9227:4;9261:922;9345:8;9335:2;;-1:-1:-1;9386:1:1;9400:5;;9335:2;9434:4;9424:2;;-1:-1:-1;9471:1:1;9485:5;;9424:2;9516:4;9534:1;9529:59;;;;9602:1;9597:183;;;;9509:271;;9529:59;9559:1;9550:10;;9573:5;;;9597:183;9634:3;9624:8;9621:17;9618:2;;;9641:18;;:::i;:::-;9697:1;9687:8;9683:16;9674:25;;9725:3;9718:5;9715:14;9712:2;;;9732:18;;:::i;:::-;9765:5;;;9509:271;;9864:2;9854:8;9851:16;9845:3;9839:4;9836:13;9832:36;9826:2;9816:8;9813:16;9808:2;9802:4;9799:12;9795:35;9792:77;9789:2;;;-1:-1:-1;9901:19:1;;;9936:14;;;9933:2;;;9953:18;;:::i;:::-;9986:5;;9789:2;10033:42;10071:3;10061:8;10055:4;10052:1;10033:42;:::i;:::-;10108:6;10103:3;10099:16;10090:7;10087:29;10084:2;;;10119:18;;:::i;:::-;10157:20;;9325:858;-1:-1:-1;;;;9325:858:1:o;10188:168::-;;10294:1;10290;10286:6;10282:14;10279:1;10276:21;10271:1;10264:9;10257:17;10253:45;10250:2;;;10301:18;;:::i;:::-;-1:-1:-1;10341:9:1;;10240:116::o;10361:125::-;;10429:1;10426;10423:8;10420:2;;;10434:18;;:::i;:::-;-1:-1:-1;10471:9:1;;10410:76::o;10491:380::-;10576:1;10566:12;;10623:1;10613:12;;;10634:2;;10688:4;10680:6;10676:17;10666:27;;10634:2;10741;10733:6;10730:14;10710:18;10707:38;10704:2;;;10787:10;10782:3;10778:20;10775:1;10768:31;10822:4;10819:1;10812:15;10850:4;10847:1;10840:15;10704:2;;10546:325;;;:::o;10876:127::-;10937:10;10932:3;10928:20;10925:1;10918:31;10968:4;10965:1;10958:15;10992:4;10989:1;10982:15

Swarm Source

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