FTM Price: $0.891403 (+13.51%)
Gas: 19 GWei
 

Overview

Max Total Supply

69,696,969,696,969.69696969696969 FORG

Holders

34,029

Market

Price

$0.00 @ 0.000000 FTM

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
999,999 FORG

Value
$0.00
0x94e1460d35309d20e1e9e8ed2217f47bff002ec6
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
forgcoin_a_social_experiment_of_word_of_mouth

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at ftmscan.com on 2022-02-07
*/

//SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.0;
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);
}



pragma solidity ^0.8.0;
interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}



pragma solidity ^0.8.0;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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



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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    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 recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, 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) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

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

        return true;
    }
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

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

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

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

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

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

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

        emit Transfer(account, address(0), amount);
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}



pragma solidity ^0.8.0;
abstract contract ERC20Burnable is Context, ERC20 {
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }
    function burnFrom(address account, uint256 amount) public virtual {
        uint256 currentAllowance = allowance(account, _msgSender());
        require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance");
        _approve(account, _msgSender(), currentAllowance - amount);
        _burn(account, amount);
    }
}



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");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}



pragma solidity ^0.8.0;
interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}



pragma solidity ^0.8.0;
abstract contract ERC165 is IERC165 {
    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(IERC165).interfaceId;
    }
}



pragma solidity ^0.8.0;
interface IERC1363 is IERC20, IERC165 {
    function transferAndCall(address recipient, uint256 amount) external returns (bool);
    function transferAndCall(
        address recipient,
        uint256 amount,
        bytes calldata data
    ) external returns (bool);
    function transferFromAndCall(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    function transferFromAndCall(
        address sender,
        address recipient,
        uint256 amount,
        bytes calldata data
    ) external returns (bool);
    function approveAndCall(address spender, uint256 amount) external returns (bool);
    function approveAndCall(
        address spender,
        uint256 amount,
        bytes calldata data
    ) external returns (bool);
}



pragma solidity ^0.8.0;
interface IERC1363Receiver {
    function onTransferReceived(
        address operator,
        address sender,
        uint256 amount,
        bytes calldata data
    ) external returns (bytes4);
}



pragma solidity ^0.8.0;
interface IERC1363Spender {
    function onApprovalReceived(
        address sender,
        uint256 amount,
        bytes calldata data
    ) external returns (bytes4);
}



pragma solidity ^0.8.0;
abstract contract ERC1363 is ERC20, IERC1363, ERC165 {
    using Address for address;
    function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {
        return interfaceId == type(IERC1363).interfaceId || super.supportsInterface(interfaceId);
    }
    function transferAndCall(address recipient, uint256 amount) public virtual override returns (bool) {
        return transferAndCall(recipient, amount, "");
    }
    function transferAndCall(
        address recipient,
        uint256 amount,
        bytes memory data
    ) public virtual override returns (bool) {
        transfer(recipient, amount);
        require(_checkAndCallTransfer(_msgSender(), recipient, amount, data), "ERC1363: _checkAndCallTransfer reverts");
        return true;
    }
    function transferFromAndCall(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        return transferFromAndCall(sender, recipient, amount, "");
    }
    function transferFromAndCall(
        address sender,
        address recipient,
        uint256 amount,
        bytes memory data
    ) public virtual override returns (bool) {
        transferFrom(sender, recipient, amount);
        require(_checkAndCallTransfer(sender, recipient, amount, data), "ERC1363: _checkAndCallTransfer reverts");
        return true;
    }
    function approveAndCall(address spender, uint256 amount) public virtual override returns (bool) {
        return approveAndCall(spender, amount, "");
    }
    function approveAndCall(
        address spender,
        uint256 amount,
        bytes memory data
    ) public virtual override returns (bool) {
        approve(spender, amount);
        require(_checkAndCallApprove(spender, amount, data), "ERC1363: _checkAndCallApprove reverts");
        return true;
    }
    function _checkAndCallTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bytes memory data
    ) internal virtual returns (bool) {
        if (!recipient.isContract()) {
            return false;
        }
        bytes4 retval = IERC1363Receiver(recipient).onTransferReceived(_msgSender(), sender, amount, data);
        return (retval == IERC1363Receiver(recipient).onTransferReceived.selector);
    }
    function _checkAndCallApprove(
        address spender,
        uint256 amount,
        bytes memory data
    ) internal virtual returns (bool) {
        if (!spender.isContract()) {
            return false;
        }
        bytes4 retval = IERC1363Spender(spender).onApprovalReceived(_msgSender(), amount, data);
        return (retval == IERC1363Spender(spender).onApprovalReceived.selector);
    }
}



pragma solidity ^0.8.0;
abstract contract Ownable is Context {
    address public _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}



pragma solidity ^0.8.0;
contract TokenRecover is Ownable {
    function recoverERC20(address tokenAddress, uint256 tokenAmount) public virtual onlyOwner {
        IERC20(tokenAddress).transfer(owner(), tokenAmount);
    }
}



pragma solidity ^0.8.0;
abstract contract ERC20Decimals is ERC20 {
    uint8 private immutable _decimals;
    constructor(uint8 decimals_) {
        _decimals = decimals_;
    }

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



pragma solidity ^0.8.0;
abstract contract ERC20Mintable is ERC20 {
    bool private _mintingFinished = false;
    event MintFinished();
    modifier canMint() {
        require(!_mintingFinished, "ERC20Mintable: minting is finished");
        _;
    }
    function mintingFinished() external view returns (bool) {
        return _mintingFinished;
    }
    function mint(address account, uint256 amount) external canMint {
        _mint(account, amount);
    }
    function finishMinting() external canMint {
        _finishMinting();
    }
    function _finishMinting() internal virtual {
        _mintingFinished = true;

        emit MintFinished();
    }
}





pragma solidity ^0.8.0;





contract forgcoin_a_social_experiment_of_word_of_mouth is ERC20Decimals, ERC20Mintable, ERC20Burnable, ERC1363, TokenRecover {
    constructor(
        string memory name_,
        string memory symbol_,
        uint8 decimals_,
        uint256 initialBalance_,
        address tokenOwner
    ) payable ERC20(name_, symbol_) ERC20Decimals(decimals_)  {
        _owner  = tokenOwner;
        _mint(tokenOwner, initialBalance_*10**uint256(decimals_));
        
    }

    function decimals() public view virtual override(ERC20, ERC20Decimals) returns (uint8) {
        return super.decimals();
    }
    function _mint(address account, uint256 amount) internal override onlyOwner {
        super._mint(account, amount);
    }
    function _finishMinting() internal override onlyOwner {
        super._finishMinting();
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"initialBalance_","type":"uint256"},{"internalType":"address","name":"tokenOwner","type":"address"}],"stateMutability":"payable","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":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"approveAndCall","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","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":[],"name":"finishMinting","outputs":[],"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":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintingFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"transferAndCall","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":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"transferFromAndCall","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":"transferFromAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60a060408190526005805460ff191690556200200e388190039081908339810160408190526200002f9162000380565b82858581600390805190602001906200004a9291906200022f565b508051620000609060049060208401906200022f565b50505060f81b7fff000000000000000000000000000000000000000000000000000000000000001660805260058054610100600160a81b0319166101006001600160a01b03841602179055620000d281620000c060ff8616600a62000508565b620000cc9085620005fd565b620000dd565b505050505062000688565b620000e762000147565b6001600160a01b0316620000fa6200014b565b6001600160a01b0316146200012c5760405162461bcd60e51b815260040162000123906200042b565b60405180910390fd5b6200014382826200015f60201b62000aad1760201c565b5050565b3390565b60055461010090046001600160a01b031690565b6001600160a01b038216620001885760405162461bcd60e51b8152600401620001239062000460565b62000196600083836200022a565b8060026000828254620001aa9190620004a0565b90915550506001600160a01b03821660009081526020819052604081208054839290620001d9908490620004a0565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200021e90859062000497565b60405180910390a35050565b505050565b8280546200023d906200061f565b90600052602060002090601f016020900481019282620002615760008555620002ac565b82601f106200027c57805160ff1916838001178555620002ac565b82800160010185558215620002ac579182015b82811115620002ac5782518255916020019190600101906200028f565b50620002ba929150620002be565b5090565b5b80821115620002ba5760008155600101620002bf565b600082601f830112620002e6578081fd5b81516001600160401b038082111562000303576200030362000672565b6040516020601f8401601f19168201810183811183821017156200032b576200032b62000672565b604052838252858401810187101562000342578485fd5b8492505b8383101562000365578583018101518284018201529182019162000346565b838311156200037657848185840101525b5095945050505050565b600080600080600060a0868803121562000398578081fd5b85516001600160401b0380821115620003af578283fd5b620003bd89838a01620002d5565b96506020880151915080821115620003d3578283fd5b50620003e288828901620002d5565b945050604086015160ff81168114620003f9578182fd5b6060870151608088015191945092506001600160a01b03811681146200041d578182fd5b809150509295509295909350565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b60008219821115620004b657620004b66200065c565b500190565b80825b6001808611620004cf5750620004ff565b818704821115620004e457620004e46200065c565b80861615620004f257918102915b9490941c938002620004be565b94509492505050565b600062000519600019848462000520565b9392505050565b600082620005315750600162000519565b81620005405750600062000519565b8160018114620005595760028114620005645762000598565b600191505062000519565b60ff8411156200057857620005786200065c565b6001841b9150848211156200059157620005916200065c565b5062000519565b5060208310610133831016604e8410600b8410161715620005d0575081810a83811115620005ca57620005ca6200065c565b62000519565b620005df8484846001620004bb565b808604821115620005f457620005f46200065c565b02949350505050565b60008160001904831182151516156200061a576200061a6200065c565b500290565b6002810460018216806200063457607f821691505b602082108114156200065657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60805160f81c611967620006a76000396000610d6801526119676000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063715018a6116100f9578063a9059cbb11610097578063cae9ca5111610071578063cae9ca511461037a578063d8fbe9941461038d578063dd62ed3e146103a0578063f2fde38b146103b3576101c4565b8063a9059cbb1461034c578063b2bdfa7b1461035f578063c1d34b8914610367576101c4565b80638980f11f116100d35780638980f11f146103095780638da5cb5b1461031c57806395d89b4114610331578063a457c2d714610339576101c4565b8063715018a6146102e657806379cc6790146102ee5780637d64bcb414610301576101c4565b8063313ce567116101665780634000aea0116101405780634000aea01461029857806340c10f19146102ab57806342966c68146102c057806370a08231146102d3576101c4565b8063313ce5671461025d5780633177029f146102725780633950935114610285576101c4565b8063095ea7b3116101a2578063095ea7b31461020f5780631296ee621461022257806318160ddd1461023557806323b872dd1461024a576101c4565b806301ffc9a7146101c957806305d2035b146101f257806306fdde03146101fa575b600080fd5b6101dc6101d73660046112f4565b6103c6565b6040516101e99190611429565b60405180910390f35b6101dc6103f3565b6102026103fc565b6040516101e99190611434565b6101dc61021d366004611256565b61048e565b6101dc610230366004611256565b6104ab565b61023d6104ce565b6040516101e9919061186e565b6101dc6102583660046111b5565b6104d4565b610265610574565b6040516101e99190611877565b6101dc610280366004611256565b610583565b6101dc610293366004611256565b61059f565b6101dc6102a636600461127f565b6105ee565b6102be6102b9366004611256565b610634565b005b6102be6102ce36600461132c565b610665565b61023d6102e1366004611169565b610679565b6102be610694565b6102be6102fc366004611256565b610723565b6102be610778565b6102be610317366004611256565b6107a5565b61032461086b565b6040516101e9919061138f565b61020261087f565b6101dc610347366004611256565b61088e565b6101dc61035a366004611256565b6108ff565b610324610913565b6101dc6103753660046111f0565b610927565b6101dc61038836600461127f565b610965565b6101dc61039b3660046111b5565b610999565b61023d6103ae366004611183565b6109b6565b6102be6103c1366004611169565b6109e1565b60006001600160e01b0319821663b0202a1160e01b14806103eb57506103eb82610b6d565b90505b919050565b60055460ff1690565b60606003805461040b906118b4565b80601f0160208091040260200160405190810160405280929190818152602001828054610437906118b4565b80156104845780601f1061045957610100808354040283529160200191610484565b820191906000526020600020905b81548152906001019060200180831161046757829003601f168201915b5050505050905090565b60006104a261049b610b86565b8484610b8a565b50600192915050565b60006104c78383604051806020016040528060008152506105ee565b9392505050565b60025490565b60006104e1848484610c3e565b6001600160a01b038416600090815260016020526040812081610502610b86565b6001600160a01b03166001600160a01b031681526020019081526020016000205490508281101561054e5760405162461bcd60e51b815260040161054590611625565b60405180910390fd5b6105698561055a610b86565b610564868561189d565b610b8a565b506001949350505050565b600061057e610d66565b905090565b60006104c7838360405180602001604052806000815250610965565b60006104a26105ac610b86565b8484600160006105ba610b86565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546105649190611885565b60006105fa84846108ff565b5061060e610606610b86565b858585610d8a565b61062a5760405162461bcd60e51b8152600401610545906115df565b5060019392505050565b60055460ff16156106575760405162461bcd60e51b8152600401610545906117b0565b6106618282610e55565b5050565b610676610670610b86565b82610e9e565b50565b6001600160a01b031660009081526020819052604090205490565b61069c610b86565b6001600160a01b03166106ad61086b565b6001600160a01b0316146106d35760405162461bcd60e51b81526004016105459061166d565b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b6000610731836103ae610b86565b9050818110156107535760405162461bcd60e51b8152600401610545906116a2565b6107698361075f610b86565b610564858561189d565b6107738383610e9e565b505050565b60055460ff161561079b5760405162461bcd60e51b8152600401610545906117b0565b6107a3610f84565b565b6107ad610b86565b6001600160a01b03166107be61086b565b6001600160a01b0316146107e45760405162461bcd60e51b81526004016105459061166d565b816001600160a01b031663a9059cbb6107fb61086b565b836040518363ffffffff1660e01b81526004016108199291906113e0565b602060405180830381600087803b15801561083357600080fd5b505af1158015610847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077391906112d4565b60055461010090046001600160a01b031690565b60606004805461040b906118b4565b6000806001600061089d610b86565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156108e95760405162461bcd60e51b8152600401610545906117f2565b61062a6108f4610b86565b85610564868561189d565b60006104a261090c610b86565b8484610c3e565b60055461010090046001600160a01b031681565b60006109348585856104d4565b5061094185858585610d8a565b6105695760405162461bcd60e51b8152600401610545906115df565b949350505050565b6000610971848461048e565b5061097d848484610fcb565b61062a5760405162461bcd60e51b815260040161054590611554565b600061095d84848460405180602001604052806000815250610927565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6109e9610b86565b6001600160a01b03166109fa61086b565b6001600160a01b031614610a205760405162461bcd60e51b81526004016105459061166d565b6001600160a01b038116610a465760405162461bcd60e51b8152600401610545906114cc565b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b038216610ad35760405162461bcd60e51b815260040161054590611837565b610adf60008383610773565b8060026000828254610af19190611885565b90915550506001600160a01b03821660009081526020819052604081208054839290610b1e908490611885565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b6190859061186e565b60405180910390a35050565b6001600160e01b031981166301ffc9a760e01b14919050565b3390565b6001600160a01b038316610bb05760405162461bcd60e51b81526004016105459061176c565b6001600160a01b038216610bd65760405162461bcd60e51b815260040161054590611512565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c3190859061186e565b60405180910390a3505050565b6001600160a01b038316610c645760405162461bcd60e51b815260040161054590611727565b6001600160a01b038216610c8a5760405162461bcd60e51b815260040161054590611447565b610c95838383610773565b6001600160a01b03831660009081526020819052604090205481811015610cce5760405162461bcd60e51b815260040161054590611599565b610cd8828261189d565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610d0e908490611885565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d58919061186e565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610d9e846001600160a01b0316611093565b610daa5750600061095d565b6000846001600160a01b03166388a7ca5c610dc3610b86565b8887876040518563ffffffff1660e01b8152600401610de594939291906113a3565b602060405180830381600087803b158015610dff57600080fd5b505af1158015610e13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e379190611310565b6001600160e01b031916632229f29760e21b14915050949350505050565b610e5d610b86565b6001600160a01b0316610e6e61086b565b6001600160a01b031614610e945760405162461bcd60e51b81526004016105459061166d565b6106618282610aad565b6001600160a01b038216610ec45760405162461bcd60e51b8152600401610545906116e6565b610ed082600083610773565b6001600160a01b03821660009081526020819052604090205481811015610f095760405162461bcd60e51b81526004016105459061148a565b610f13828261189d565b6001600160a01b03841660009081526020819052604081209190915560028054849290610f4190849061189d565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c3190869061186e565b610f8c610b86565b6001600160a01b0316610f9d61086b565b6001600160a01b031614610fc35760405162461bcd60e51b81526004016105459061166d565b6107a3611099565b6000610fdf846001600160a01b0316611093565b610feb575060006104c7565b6000846001600160a01b0316637b04a2d0611004610b86565b86866040518463ffffffff1660e01b8152600401611024939291906113f9565b602060405180830381600087803b15801561103e57600080fd5b505af1158015611052573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110769190611310565b6001600160e01b0319166307b04a2d60e41b149150509392505050565b3b151590565b6005805460ff191660011790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a1565b80356001600160a01b03811681146103ee57600080fd5b600082601f8301126110f8578081fd5b813567ffffffffffffffff8082111561111357611113611905565b604051601f8301601f19168101602001828111828210171561113757611137611905565b60405282815284830160200186101561114e578384fd5b82602086016020830137918201602001929092529392505050565b60006020828403121561117a578081fd5b6104c7826110d1565b60008060408385031215611195578081fd5b61119e836110d1565b91506111ac602084016110d1565b90509250929050565b6000806000606084860312156111c9578081fd5b6111d2846110d1565b92506111e0602085016110d1565b9150604084013590509250925092565b60008060008060808587031215611205578081fd5b61120e856110d1565b935061121c602086016110d1565b925060408501359150606085013567ffffffffffffffff81111561123e578182fd5b61124a878288016110e8565b91505092959194509250565b60008060408385031215611268578182fd5b611271836110d1565b946020939093013593505050565b600080600060608486031215611293578283fd5b61129c846110d1565b925060208401359150604084013567ffffffffffffffff8111156112be578182fd5b6112ca868287016110e8565b9150509250925092565b6000602082840312156112e5578081fd5b815180151581146104c7578182fd5b600060208284031215611305578081fd5b81356104c78161191b565b600060208284031215611321578081fd5b81516104c78161191b565b60006020828403121561133d578081fd5b5035919050565b60008151808452815b818110156113695760208185018101518683018201520161134d565b8181111561137a5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906113d690830184611344565b9695505050505050565b6001600160a01b03929092168252602082015260400190565b600060018060a01b0385168252836020830152606060408301526114206060830184611344565b95945050505050565b901515815260200190565b6000602082526104c76020830184611344565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526025908201527f455243313336333a205f636865636b416e6443616c6c417070726f7665207265604082015264766572747360d81b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526026908201527f455243313336333a205f636865636b416e6443616c6c5472616e73666572207260408201526565766572747360d01b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526024908201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604082015263616e636560e01b606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526022908201527f45524332304d696e7461626c653a206d696e74696e672069732066696e697368604082015261195960f21b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b60ff91909116815260200190565b60008219821115611898576118986118ef565b500190565b6000828210156118af576118af6118ef565b500390565b6002810460018216806118c857607f821691505b602082108114156118e957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461067657600080fdfea2646970667358221220fd52215eaea432997ecadfa91ec4e375240efb712d4df5e44585715d2a60458364736f6c6343000800003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000080035b8f8f2122fd1c8878ea3734584000000000000000000000000000000000087c4cebffb95746d1935de7fbcab092f400000000000000000000000000000000000000000000000000000000000000019466f72673a204120536f6369616c204578706572696d656e74000000000000000000000000000000000000000000000000000000000000000000000000000004464f524700000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c8063715018a6116100f9578063a9059cbb11610097578063cae9ca5111610071578063cae9ca511461037a578063d8fbe9941461038d578063dd62ed3e146103a0578063f2fde38b146103b3576101c4565b8063a9059cbb1461034c578063b2bdfa7b1461035f578063c1d34b8914610367576101c4565b80638980f11f116100d35780638980f11f146103095780638da5cb5b1461031c57806395d89b4114610331578063a457c2d714610339576101c4565b8063715018a6146102e657806379cc6790146102ee5780637d64bcb414610301576101c4565b8063313ce567116101665780634000aea0116101405780634000aea01461029857806340c10f19146102ab57806342966c68146102c057806370a08231146102d3576101c4565b8063313ce5671461025d5780633177029f146102725780633950935114610285576101c4565b8063095ea7b3116101a2578063095ea7b31461020f5780631296ee621461022257806318160ddd1461023557806323b872dd1461024a576101c4565b806301ffc9a7146101c957806305d2035b146101f257806306fdde03146101fa575b600080fd5b6101dc6101d73660046112f4565b6103c6565b6040516101e99190611429565b60405180910390f35b6101dc6103f3565b6102026103fc565b6040516101e99190611434565b6101dc61021d366004611256565b61048e565b6101dc610230366004611256565b6104ab565b61023d6104ce565b6040516101e9919061186e565b6101dc6102583660046111b5565b6104d4565b610265610574565b6040516101e99190611877565b6101dc610280366004611256565b610583565b6101dc610293366004611256565b61059f565b6101dc6102a636600461127f565b6105ee565b6102be6102b9366004611256565b610634565b005b6102be6102ce36600461132c565b610665565b61023d6102e1366004611169565b610679565b6102be610694565b6102be6102fc366004611256565b610723565b6102be610778565b6102be610317366004611256565b6107a5565b61032461086b565b6040516101e9919061138f565b61020261087f565b6101dc610347366004611256565b61088e565b6101dc61035a366004611256565b6108ff565b610324610913565b6101dc6103753660046111f0565b610927565b6101dc61038836600461127f565b610965565b6101dc61039b3660046111b5565b610999565b61023d6103ae366004611183565b6109b6565b6102be6103c1366004611169565b6109e1565b60006001600160e01b0319821663b0202a1160e01b14806103eb57506103eb82610b6d565b90505b919050565b60055460ff1690565b60606003805461040b906118b4565b80601f0160208091040260200160405190810160405280929190818152602001828054610437906118b4565b80156104845780601f1061045957610100808354040283529160200191610484565b820191906000526020600020905b81548152906001019060200180831161046757829003601f168201915b5050505050905090565b60006104a261049b610b86565b8484610b8a565b50600192915050565b60006104c78383604051806020016040528060008152506105ee565b9392505050565b60025490565b60006104e1848484610c3e565b6001600160a01b038416600090815260016020526040812081610502610b86565b6001600160a01b03166001600160a01b031681526020019081526020016000205490508281101561054e5760405162461bcd60e51b815260040161054590611625565b60405180910390fd5b6105698561055a610b86565b610564868561189d565b610b8a565b506001949350505050565b600061057e610d66565b905090565b60006104c7838360405180602001604052806000815250610965565b60006104a26105ac610b86565b8484600160006105ba610b86565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546105649190611885565b60006105fa84846108ff565b5061060e610606610b86565b858585610d8a565b61062a5760405162461bcd60e51b8152600401610545906115df565b5060019392505050565b60055460ff16156106575760405162461bcd60e51b8152600401610545906117b0565b6106618282610e55565b5050565b610676610670610b86565b82610e9e565b50565b6001600160a01b031660009081526020819052604090205490565b61069c610b86565b6001600160a01b03166106ad61086b565b6001600160a01b0316146106d35760405162461bcd60e51b81526004016105459061166d565b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b6000610731836103ae610b86565b9050818110156107535760405162461bcd60e51b8152600401610545906116a2565b6107698361075f610b86565b610564858561189d565b6107738383610e9e565b505050565b60055460ff161561079b5760405162461bcd60e51b8152600401610545906117b0565b6107a3610f84565b565b6107ad610b86565b6001600160a01b03166107be61086b565b6001600160a01b0316146107e45760405162461bcd60e51b81526004016105459061166d565b816001600160a01b031663a9059cbb6107fb61086b565b836040518363ffffffff1660e01b81526004016108199291906113e0565b602060405180830381600087803b15801561083357600080fd5b505af1158015610847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077391906112d4565b60055461010090046001600160a01b031690565b60606004805461040b906118b4565b6000806001600061089d610b86565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156108e95760405162461bcd60e51b8152600401610545906117f2565b61062a6108f4610b86565b85610564868561189d565b60006104a261090c610b86565b8484610c3e565b60055461010090046001600160a01b031681565b60006109348585856104d4565b5061094185858585610d8a565b6105695760405162461bcd60e51b8152600401610545906115df565b949350505050565b6000610971848461048e565b5061097d848484610fcb565b61062a5760405162461bcd60e51b815260040161054590611554565b600061095d84848460405180602001604052806000815250610927565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6109e9610b86565b6001600160a01b03166109fa61086b565b6001600160a01b031614610a205760405162461bcd60e51b81526004016105459061166d565b6001600160a01b038116610a465760405162461bcd60e51b8152600401610545906114cc565b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b038216610ad35760405162461bcd60e51b815260040161054590611837565b610adf60008383610773565b8060026000828254610af19190611885565b90915550506001600160a01b03821660009081526020819052604081208054839290610b1e908490611885565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b6190859061186e565b60405180910390a35050565b6001600160e01b031981166301ffc9a760e01b14919050565b3390565b6001600160a01b038316610bb05760405162461bcd60e51b81526004016105459061176c565b6001600160a01b038216610bd65760405162461bcd60e51b815260040161054590611512565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c3190859061186e565b60405180910390a3505050565b6001600160a01b038316610c645760405162461bcd60e51b815260040161054590611727565b6001600160a01b038216610c8a5760405162461bcd60e51b815260040161054590611447565b610c95838383610773565b6001600160a01b03831660009081526020819052604090205481811015610cce5760405162461bcd60e51b815260040161054590611599565b610cd8828261189d565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610d0e908490611885565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d58919061186e565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000001290565b6000610d9e846001600160a01b0316611093565b610daa5750600061095d565b6000846001600160a01b03166388a7ca5c610dc3610b86565b8887876040518563ffffffff1660e01b8152600401610de594939291906113a3565b602060405180830381600087803b158015610dff57600080fd5b505af1158015610e13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e379190611310565b6001600160e01b031916632229f29760e21b14915050949350505050565b610e5d610b86565b6001600160a01b0316610e6e61086b565b6001600160a01b031614610e945760405162461bcd60e51b81526004016105459061166d565b6106618282610aad565b6001600160a01b038216610ec45760405162461bcd60e51b8152600401610545906116e6565b610ed082600083610773565b6001600160a01b03821660009081526020819052604090205481811015610f095760405162461bcd60e51b81526004016105459061148a565b610f13828261189d565b6001600160a01b03841660009081526020819052604081209190915560028054849290610f4190849061189d565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c3190869061186e565b610f8c610b86565b6001600160a01b0316610f9d61086b565b6001600160a01b031614610fc35760405162461bcd60e51b81526004016105459061166d565b6107a3611099565b6000610fdf846001600160a01b0316611093565b610feb575060006104c7565b6000846001600160a01b0316637b04a2d0611004610b86565b86866040518463ffffffff1660e01b8152600401611024939291906113f9565b602060405180830381600087803b15801561103e57600080fd5b505af1158015611052573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110769190611310565b6001600160e01b0319166307b04a2d60e41b149150509392505050565b3b151590565b6005805460ff191660011790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a1565b80356001600160a01b03811681146103ee57600080fd5b600082601f8301126110f8578081fd5b813567ffffffffffffffff8082111561111357611113611905565b604051601f8301601f19168101602001828111828210171561113757611137611905565b60405282815284830160200186101561114e578384fd5b82602086016020830137918201602001929092529392505050565b60006020828403121561117a578081fd5b6104c7826110d1565b60008060408385031215611195578081fd5b61119e836110d1565b91506111ac602084016110d1565b90509250929050565b6000806000606084860312156111c9578081fd5b6111d2846110d1565b92506111e0602085016110d1565b9150604084013590509250925092565b60008060008060808587031215611205578081fd5b61120e856110d1565b935061121c602086016110d1565b925060408501359150606085013567ffffffffffffffff81111561123e578182fd5b61124a878288016110e8565b91505092959194509250565b60008060408385031215611268578182fd5b611271836110d1565b946020939093013593505050565b600080600060608486031215611293578283fd5b61129c846110d1565b925060208401359150604084013567ffffffffffffffff8111156112be578182fd5b6112ca868287016110e8565b9150509250925092565b6000602082840312156112e5578081fd5b815180151581146104c7578182fd5b600060208284031215611305578081fd5b81356104c78161191b565b600060208284031215611321578081fd5b81516104c78161191b565b60006020828403121561133d578081fd5b5035919050565b60008151808452815b818110156113695760208185018101518683018201520161134d565b8181111561137a5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906113d690830184611344565b9695505050505050565b6001600160a01b03929092168252602082015260400190565b600060018060a01b0385168252836020830152606060408301526114206060830184611344565b95945050505050565b901515815260200190565b6000602082526104c76020830184611344565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526025908201527f455243313336333a205f636865636b416e6443616c6c417070726f7665207265604082015264766572747360d81b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526026908201527f455243313336333a205f636865636b416e6443616c6c5472616e73666572207260408201526565766572747360d01b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526024908201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604082015263616e636560e01b606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526022908201527f45524332304d696e7461626c653a206d696e74696e672069732066696e697368604082015261195960f21b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b60ff91909116815260200190565b60008219821115611898576118986118ef565b500190565b6000828210156118af576118af6118ef565b500390565b6002810460018216806118c857607f821691505b602082108114156118e957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461067657600080fdfea2646970667358221220fd52215eaea432997ecadfa91ec4e375240efb712d4df5e44585715d2a60458364736f6c63430008000033

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

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000080035b8f8f2122fd1c8878ea3734584000000000000000000000000000000000087c4cebffb95746d1935de7fbcab092f400000000000000000000000000000000000000000000000000000000000000019466f72673a204120536f6369616c204578706572696d656e74000000000000000000000000000000000000000000000000000000000000000000000000000004464f524700000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Forg: A Social Experiment
Arg [1] : symbol_ (string): FORG
Arg [2] : decimals_ (uint8): 18
Arg [3] : initialBalance_ (uint256): 696969696969696969696969000000000000000000
Arg [4] : tokenOwner (address): 0x00000087C4ceBfFb95746d1935DE7fBcAb092F40

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000080035b8f8f2122fd1c8878ea37345840000
Arg [4] : 00000000000000000000000000000087c4cebffb95746d1935de7fbcab092f40
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000019
Arg [6] : 466f72673a204120536f6369616c204578706572696d656e7400000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [8] : 464f524700000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

16174:845:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11363:215;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15709:98;;;:::i;1717:100::-;;;:::i;:::-;;;;;;;:::i;2617:169::-;;;;;;:::i;:::-;;:::i;11584:163::-;;;;;;:::i;:::-;;:::i;2032:108::-;;;:::i;:::-;;;;;;;:::i;2792:422::-;;;;;;:::i;:::-;;:::i;16657:129::-;;;:::i;:::-;;;;;;;:::i;12719:157::-;;;;;;:::i;:::-;;:::i;3220:215::-;;;;;;:::i;:::-;;:::i;11753:342::-;;;;;;:::i;:::-;;:::i;15813:105::-;;;;;;:::i;:::-;;:::i;:::-;;5815:91;;;;;;:::i;:::-;;:::i;2146:127::-;;;;;;:::i;:::-;;:::i;14499:148::-;;;:::i;5912:332::-;;;;;;:::i;:::-;;:::i;15924:77::-;;;:::i;14973:160::-;;;;;;:::i;:::-;;:::i;14280:87::-;;;:::i;:::-;;;;;;;:::i;1823:104::-;;;:::i;3441:377::-;;;;;;:::i;:::-;;:::i;2279:175::-;;;;;;:::i;:::-;;:::i;14160:21::-;;;:::i;12336:377::-;;;;;;:::i;:::-;;:::i;12882:318::-;;;;;;:::i;:::-;;:::i;12101:229::-;;;;;;:::i;:::-;;:::i;2460:151::-;;;;;;:::i;:::-;;:::i;14653:244::-;;;;;;:::i;:::-;;:::i;11363:215::-;11465:4;-1:-1:-1;;;;;;11489:41:0;;-1:-1:-1;;;11489:41:0;;:81;;;11534:36;11558:11;11534:23;:36::i;:::-;11482:88;;11363:215;;;;:::o;15709:98::-;15783:16;;;;15709:98;:::o;1717:100::-;1771:13;1804:5;1797:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1717:100;:::o;2617:169::-;2700:4;2717:39;2726:12;:10;:12::i;:::-;2740:7;2749:6;2717:8;:39::i;:::-;-1:-1:-1;2774:4:0;2617:169;;;;:::o;11584:163::-;11677:4;11701:38;11717:9;11728:6;11701:38;;;;;;;;;;;;:15;:38::i;:::-;11694:45;11584:163;-1:-1:-1;;;11584:163:0:o;2032:108::-;2120:12;;2032:108;:::o;2792:422::-;2898:4;2915:36;2925:6;2933:9;2944:6;2915:9;:36::i;:::-;-1:-1:-1;;;;;2991:19:0;;2964:24;2991:19;;;:11;:19;;;;;2964:24;3011:12;:10;:12::i;:::-;-1:-1:-1;;;;;2991:33:0;-1:-1:-1;;;;;2991:33:0;;;;;;;;;;;;;2964:60;;3063:6;3043:16;:26;;3035:79;;;;-1:-1:-1;;;3035:79:0;;;;;;;:::i;:::-;;;;;;;;;3125:57;3134:6;3142:12;:10;:12::i;:::-;3156:25;3175:6;3156:16;:25;:::i;:::-;3125:8;:57::i;:::-;-1:-1:-1;3202:4:0;;2792:422;-1:-1:-1;;;;2792:422:0:o;16657:129::-;16737:5;16762:16;:14;:16::i;:::-;16755:23;;16657:129;:::o;12719:157::-;12809:4;12833:35;12848:7;12857:6;12833:35;;;;;;;;;;;;:14;:35::i;3220:215::-;3308:4;3325:80;3334:12;:10;:12::i;:::-;3348:7;3394:10;3357:11;:25;3369:12;:10;:12::i;:::-;-1:-1:-1;;;;;3357:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;3357:25:0;;;:34;;;;;;;;;;:47;;;;:::i;11753:342::-;11899:4;11916:27;11925:9;11936:6;11916:8;:27::i;:::-;;11962:60;11984:12;:10;:12::i;:::-;11998:9;12009:6;12017:4;11962:21;:60::i;:::-;11954:111;;;;-1:-1:-1;;;11954:111:0;;;;;;;:::i;:::-;-1:-1:-1;12083:4:0;11753:342;;;;;:::o;15813:105::-;15628:16;;;;15627:17;15619:64;;;;-1:-1:-1;;;15619:64:0;;;;;;;:::i;:::-;15888:22:::1;15894:7;15903:6;15888:5;:22::i;:::-;15813:105:::0;;:::o;5815:91::-;5871:27;5877:12;:10;:12::i;:::-;5891:6;5871:5;:27::i;:::-;5815:91;:::o;2146:127::-;-1:-1:-1;;;;;2247:18:0;2220:7;2247:18;;;;;;;;;;;;2146:127::o;14499:148::-;14424:12;:10;:12::i;:::-;-1:-1:-1;;;;;14413:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;14413:23:0;;14405:68;;;;-1:-1:-1;;;14405:68:0;;;;;;;:::i;:::-;14590:6:::1;::::0;14569:40:::1;::::0;14606:1:::1;::::0;14590:6:::1;::::0;::::1;-1:-1:-1::0;;;;;14590:6:0::1;::::0;14569:40:::1;::::0;14606:1;;14569:40:::1;14620:6;:19:::0;;-1:-1:-1;;;;;;14620:19:0::1;::::0;;14499:148::o;5912:332::-;5989:24;6016:32;6026:7;6035:12;:10;:12::i;6016:32::-;5989:59;;6087:6;6067:16;:26;;6059:75;;;;-1:-1:-1;;;6059:75:0;;;;;;;:::i;:::-;6145:58;6154:7;6163:12;:10;:12::i;:::-;6177:25;6196:6;6177:16;:25;:::i;6145:58::-;6214:22;6220:7;6229:6;6214:5;:22::i;:::-;5912:332;;;:::o;15924:77::-;15628:16;;;;15627:17;15619:64;;;;-1:-1:-1;;;15619:64:0;;;;;;;:::i;:::-;15977:16:::1;:14;:16::i;:::-;15924:77::o:0;14973:160::-;14424:12;:10;:12::i;:::-;-1:-1:-1;;;;;14413:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;14413:23:0;;14405:68;;;;-1:-1:-1;;;14405:68:0;;;;;;;:::i;:::-;15081:12:::1;-1:-1:-1::0;;;;;15074:29:0::1;;15104:7;:5;:7::i;:::-;15113:11;15074:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14280:87::-:0;14353:6;;;;;-1:-1:-1;;;;;14353:6:0;;14280:87::o;1823:104::-;1879:13;1912:7;1905:14;;;;;:::i;3441:377::-;3534:4;3551:24;3578:11;:25;3590:12;:10;:12::i;:::-;-1:-1:-1;;;;;3578:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;3578:25:0;;;:34;;;;;;;;;;;-1:-1:-1;3631:35:0;;;;3623:85;;;;-1:-1:-1;;;3623:85:0;;;;;;;:::i;:::-;3719:67;3728:12;:10;:12::i;:::-;3742:7;3751:34;3770:15;3751:16;:34;:::i;2279:175::-;2365:4;2382:42;2392:12;:10;:12::i;:::-;2406:9;2417:6;2382:9;:42::i;14160:21::-;;;;;;-1:-1:-1;;;;;14160:21:0;;:::o;12336:377::-;12511:4;12528:39;12541:6;12549:9;12560:6;12528:12;:39::i;:::-;;12586:54;12608:6;12616:9;12627:6;12635:4;12586:21;:54::i;:::-;12578:105;;;;-1:-1:-1;;;12578:105:0;;;;;;;:::i;12336:377::-;;;;;;;:::o;12882:318::-;13025:4;13042:24;13050:7;13059:6;13042:7;:24::i;:::-;;13085:43;13106:7;13115:6;13123:4;13085:20;:43::i;:::-;13077:93;;;;-1:-1:-1;;;13077:93:0;;;;;;;:::i;12101:229::-;12248:4;12272:50;12292:6;12300:9;12311:6;12272:50;;;;;;;;;;;;:19;:50::i;2460:151::-;-1:-1:-1;;;;;2576:18:0;;;2549:7;2576:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2460:151::o;14653:244::-;14424:12;:10;:12::i;:::-;-1:-1:-1;;;;;14413:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;14413:23:0;;14405:68;;;;-1:-1:-1;;;14405:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14742:22:0;::::1;14734:73;;;;-1:-1:-1::0;;;14734:73:0::1;;;;;;;:::i;:::-;14844:6;::::0;14823:38:::1;::::0;-1:-1:-1;;;;;14823:38:0;;::::1;::::0;14844:6:::1;::::0;::::1;;::::0;14823:38:::1;::::0;;;::::1;14872:6;:17:::0;;-1:-1:-1;;;;;14872:17:0;;::::1;;;-1:-1:-1::0;;;;;;14872:17:0;;::::1;::::0;;;::::1;::::0;;14653:244::o;4434:338::-;-1:-1:-1;;;;;4518:21:0;;4510:65;;;;-1:-1:-1;;;4510:65:0;;;;;;;:::i;:::-;4588:49;4617:1;4621:7;4630:6;4588:20;:49::i;:::-;4666:6;4650:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;4683:18:0;;:9;:18;;;;;;;;;;:28;;4705:6;;4683:9;:28;;4705:6;;4683:28;:::i;:::-;;;;-1:-1:-1;;4727:37:0;;-1:-1:-1;;;;;4727:37:0;;;4744:1;;4727:37;;;;4757:6;;4727:37;:::i;:::-;;;;;;;;4434:338;;:::o;9773:157::-;-1:-1:-1;;;;;;9882:40:0;;-1:-1:-1;;;9882:40:0;9773:157;;;:::o;1053:98::-;1133:10;1053:98;:::o;5278:346::-;-1:-1:-1;;;;;5380:19:0;;5372:68;;;;-1:-1:-1;;;5372:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5459:21:0;;5451:68;;;;-1:-1:-1;;;5451:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5532:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;5584:32;;;;;5562:6;;5584:32;:::i;:::-;;;;;;;;5278:346;;;:::o;3824:604::-;-1:-1:-1;;;;;3930:20:0;;3922:70;;;;-1:-1:-1;;;3922:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4011:23:0;;4003:71;;;;-1:-1:-1;;;4003:71:0;;;;;;;:::i;:::-;4087:47;4108:6;4116:9;4127:6;4087:20;:47::i;:::-;-1:-1:-1;;;;;4171:17:0;;4147:21;4171:17;;;;;;;;;;;4207:23;;;;4199:74;;;;-1:-1:-1;;;4199:74:0;;;;;;;:::i;:::-;4304:22;4320:6;4304:13;:22;:::i;:::-;-1:-1:-1;;;;;4284:17:0;;;:9;:17;;;;;;;;;;;:42;;;;4337:20;;;;;;;;:30;;4361:6;;4284:9;4337:30;;4361:6;;4337:30;:::i;:::-;;;;;;;;4402:9;-1:-1:-1;;;;;4385:35:0;4394:6;-1:-1:-1;;;;;4385:35:0;;4413:6;4385:35;;;;;;:::i;:::-;;;;;;;;3824:604;;;;:::o;15334:100::-;15417:9;15334:100;:::o;13206:456::-;13376:4;13398:22;:9;-1:-1:-1;;;;;13398:20:0;;:22::i;:::-;13393:68;;-1:-1:-1;13444:5:0;13437:12;;13393:68;13471:13;13504:9;-1:-1:-1;;;;;13487:46:0;;13534:12;:10;:12::i;:::-;13548:6;13556;13564:4;13487:82;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;13588:65:0;-1:-1:-1;;;13588:65:0;;-1:-1:-1;;13206:456:0;;;;;;:::o;16792:123::-;14424:12;:10;:12::i;:::-;-1:-1:-1;;;;;14413:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;14413:23:0;;14405:68;;;;-1:-1:-1;;;14405:68:0;;;;;;;:::i;:::-;16879:28:::1;16891:7;16900:6;16879:11;:28::i;4778:494::-:0;-1:-1:-1;;;;;4862:21:0;;4854:67;;;;-1:-1:-1;;;4854:67:0;;;;;;;:::i;:::-;4934:49;4955:7;4972:1;4976:6;4934:20;:49::i;:::-;-1:-1:-1;;;;;5021:18:0;;4996:22;5021:18;;;;;;;;;;;5058:24;;;;5050:71;;;;-1:-1:-1;;;5050:71:0;;;;;;;:::i;:::-;5153:23;5170:6;5153:14;:23;:::i;:::-;-1:-1:-1;;;;;5132:18:0;;:9;:18;;;;;;;;;;:44;;;;5187:12;:22;;5203:6;;5132:9;5187:22;;5203:6;;5187:22;:::i;:::-;;;;-1:-1:-1;;5227:37:0;;5253:1;;-1:-1:-1;;;;;5227:37:0;;;;;;;5257:6;;5227:37;:::i;16921:95::-;14424:12;:10;:12::i;:::-;-1:-1:-1;;;;;14413:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;14413:23:0;;14405:68;;;;-1:-1:-1;;;14405:68:0;;;;;;;:::i;:::-;16986:22:::1;:20;:22::i;13668:412::-:0;13810:4;13832:20;:7;-1:-1:-1;;;;;13832:18:0;;:20::i;:::-;13827:66;;-1:-1:-1;13876:5:0;13869:12;;13827:66;13903:13;13935:7;-1:-1:-1;;;;;13919:43:0;;13963:12;:10;:12::i;:::-;13977:6;13985:4;13919:71;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;14009:62:0;-1:-1:-1;;;14009:62:0;;-1:-1:-1;;13668:412:0;;;;;:::o;6303:176::-;6424:20;6463:8;;;6303:176::o;16007:117::-;16061:16;:23;;-1:-1:-1;;16061:23:0;16080:4;16061:23;;;16102:14;;;;16061:16;;16102:14;16007:117::o;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:712;;291:3;284:4;276:6;272:17;268:27;258:2;;313:5;306;299:20;258:2;353:6;340:20;379:18;416:2;412;409:10;406:2;;;422:18;;:::i;:::-;471:2;465:9;540:2;521:13;;-1:-1:-1;;517:27:1;505:40;;547:4;501:51;567:18;;;587:22;;;564:46;561:2;;;613:18;;:::i;:::-;649:2;642:22;673:18;;;710:15;;;727:4;706:26;703:35;-1:-1:-1;700:2:1;;;755:5;748;741:20;700:2;823;816:4;808:6;804:17;797:4;789:6;785:17;772:54;846:15;;;863:4;842:26;835:41;;;;850:6;248:658;-1:-1:-1;;;248:658:1:o;911:198::-;;1023:2;1011:9;1002:7;998:23;994:32;991:2;;;1044:6;1036;1029:22;991:2;1072:31;1093:9;1072:31;:::i;1114:274::-;;;1243:2;1231:9;1222:7;1218:23;1214:32;1211:2;;;1264:6;1256;1249:22;1211:2;1292:31;1313:9;1292:31;:::i;:::-;1282:41;;1342:40;1378:2;1367:9;1363:18;1342:40;:::i;:::-;1332:50;;1201:187;;;;;:::o;1393:342::-;;;;1539:2;1527:9;1518:7;1514:23;1510:32;1507:2;;;1560:6;1552;1545:22;1507:2;1588:31;1609:9;1588:31;:::i;:::-;1578:41;;1638:40;1674:2;1663:9;1659:18;1638:40;:::i;:::-;1628:50;;1725:2;1714:9;1710:18;1697:32;1687:42;;1497:238;;;;;:::o;1740:563::-;;;;;1912:3;1900:9;1891:7;1887:23;1883:33;1880:2;;;1934:6;1926;1919:22;1880:2;1962:31;1983:9;1962:31;:::i;:::-;1952:41;;2012:40;2048:2;2037:9;2033:18;2012:40;:::i;:::-;2002:50;;2099:2;2088:9;2084:18;2071:32;2061:42;;2154:2;2143:9;2139:18;2126:32;2181:18;2173:6;2170:30;2167:2;;;2218:6;2210;2203:22;2167:2;2246:51;2289:7;2280:6;2269:9;2265:22;2246:51;:::i;:::-;2236:61;;;1870:433;;;;;;;:::o;2308:266::-;;;2437:2;2425:9;2416:7;2412:23;2408:32;2405:2;;;2458:6;2450;2443:22;2405:2;2486:31;2507:9;2486:31;:::i;:::-;2476:41;2564:2;2549:18;;;;2536:32;;-1:-1:-1;;;2395:179:1:o;2579:486::-;;;;2734:2;2722:9;2713:7;2709:23;2705:32;2702:2;;;2755:6;2747;2740:22;2702:2;2783:31;2804:9;2783:31;:::i;:::-;2773:41;;2861:2;2850:9;2846:18;2833:32;2823:42;;2916:2;2905:9;2901:18;2888:32;2943:18;2935:6;2932:30;2929:2;;;2980:6;2972;2965:22;2929:2;3008:51;3051:7;3042:6;3031:9;3027:22;3008:51;:::i;:::-;2998:61;;;2692:373;;;;;:::o;3070:297::-;;3190:2;3178:9;3169:7;3165:23;3161:32;3158:2;;;3211:6;3203;3196:22;3158:2;3248:9;3242:16;3301:5;3294:13;3287:21;3280:5;3277:32;3267:2;;3328:6;3320;3313:22;3372:257;;3483:2;3471:9;3462:7;3458:23;3454:32;3451:2;;;3504:6;3496;3489:22;3451:2;3548:9;3535:23;3567:32;3593:5;3567:32;:::i;3634:261::-;;3756:2;3744:9;3735:7;3731:23;3727:32;3724:2;;;3777:6;3769;3762:22;3724:2;3814:9;3808:16;3833:32;3859:5;3833:32;:::i;3900:190::-;;4012:2;4000:9;3991:7;3987:23;3983:32;3980:2;;;4033:6;4025;4018:22;3980:2;-1:-1:-1;4061:23:1;;3970:120;-1:-1:-1;3970:120:1:o;4095:477::-;;4176:5;4170:12;4203:6;4198:3;4191:19;4228:3;4240:162;4254:6;4251:1;4248:13;4240:162;;;4316:4;4372:13;;;4368:22;;4362:29;4344:11;;;4340:20;;4333:59;4269:12;4240:162;;;4420:6;4417:1;4414:13;4411:2;;;4486:3;4479:4;4470:6;4465:3;4461:16;4457:27;4450:40;4411:2;-1:-1:-1;4554:2:1;4533:15;-1:-1:-1;;4529:29:1;4520:39;;;;4561:4;4516:50;;4146:426;-1:-1:-1;;4146:426:1:o;4577:203::-;-1:-1:-1;;;;;4741:32:1;;;;4723:51;;4711:2;4696:18;;4678:102::o;4785:490::-;-1:-1:-1;;;;;5054:15:1;;;5036:34;;5106:15;;5101:2;5086:18;;5079:43;5153:2;5138:18;;5131:34;;;5201:3;5196:2;5181:18;;5174:31;;;4785:490;;5222:47;;5249:19;;5241:6;5222:47;:::i;:::-;5214:55;4988:287;-1:-1:-1;;;;;;4988:287:1:o;5280:274::-;-1:-1:-1;;;;;5472:32:1;;;;5454:51;;5536:2;5521:18;;5514:34;5442:2;5427:18;;5409:145::o;5559:387::-;;5791:1;5787;5782:3;5778:11;5774:19;5766:6;5762:32;5751:9;5744:51;5831:6;5826:2;5815:9;5811:18;5804:34;5874:2;5869;5858:9;5854:18;5847:30;5894:46;5936:2;5925:9;5921:18;5913:6;5894:46;:::i;:::-;5886:54;5734:212;-1:-1:-1;;;;;5734:212:1:o;5951:187::-;6116:14;;6109:22;6091:41;;6079:2;6064:18;;6046:92::o;6143:221::-;;6292:2;6281:9;6274:21;6312:46;6354:2;6343:9;6339:18;6331:6;6312:46;:::i;6369:399::-;6571:2;6553:21;;;6610:2;6590:18;;;6583:30;6649:34;6644:2;6629:18;;6622:62;-1:-1:-1;;;6715:2:1;6700:18;;6693:33;6758:3;6743:19;;6543:225::o;6773:398::-;6975:2;6957:21;;;7014:2;6994:18;;;6987:30;7053:34;7048:2;7033:18;;7026:62;-1:-1:-1;;;7119:2:1;7104:18;;7097:32;7161:3;7146:19;;6947:224::o;7176:402::-;7378:2;7360:21;;;7417:2;7397:18;;;7390:30;7456:34;7451:2;7436:18;;7429:62;-1:-1:-1;;;7522:2:1;7507:18;;7500:36;7568:3;7553:19;;7350:228::o;7583:398::-;7785:2;7767:21;;;7824:2;7804:18;;;7797:30;7863:34;7858:2;7843:18;;7836:62;-1:-1:-1;;;7929:2:1;7914:18;;7907:32;7971:3;7956:19;;7757:224::o;7986:401::-;8188:2;8170:21;;;8227:2;8207:18;;;8200:30;8266:34;8261:2;8246:18;;8239:62;-1:-1:-1;;;8332:2:1;8317:18;;8310:35;8377:3;8362:19;;8160:227::o;8392:402::-;8594:2;8576:21;;;8633:2;8613:18;;;8606:30;8672:34;8667:2;8652:18;;8645:62;-1:-1:-1;;;8738:2:1;8723:18;;8716:36;8784:3;8769:19;;8566:228::o;8799:402::-;9001:2;8983:21;;;9040:2;9020:18;;;9013:30;9079:34;9074:2;9059:18;;9052:62;-1:-1:-1;;;9145:2:1;9130:18;;9123:36;9191:3;9176:19;;8973:228::o;9206:404::-;9408:2;9390:21;;;9447:2;9427:18;;;9420:30;9486:34;9481:2;9466:18;;9459:62;-1:-1:-1;;;9552:2:1;9537:18;;9530:38;9600:3;9585:19;;9380:230::o;9615:356::-;9817:2;9799:21;;;9836:18;;;9829:30;9895:34;9890:2;9875:18;;9868:62;9962:2;9947:18;;9789:182::o;9976:400::-;10178:2;10160:21;;;10217:2;10197:18;;;10190:30;10256:34;10251:2;10236:18;;10229:62;-1:-1:-1;;;10322:2:1;10307:18;;10300:34;10366:3;10351:19;;10150:226::o;10381:397::-;10583:2;10565:21;;;10622:2;10602:18;;;10595:30;10661:34;10656:2;10641:18;;10634:62;-1:-1:-1;;;10727:2:1;10712:18;;10705:31;10768:3;10753:19;;10555:223::o;10783:401::-;10985:2;10967:21;;;11024:2;11004:18;;;10997:30;11063:34;11058:2;11043:18;;11036:62;-1:-1:-1;;;11129:2:1;11114:18;;11107:35;11174:3;11159:19;;10957:227::o;11189:400::-;11391:2;11373:21;;;11430:2;11410:18;;;11403:30;11469:34;11464:2;11449:18;;11442:62;-1:-1:-1;;;11535:2:1;11520:18;;11513:34;11579:3;11564:19;;11363:226::o;11594:398::-;11796:2;11778:21;;;11835:2;11815:18;;;11808:30;11874:34;11869:2;11854:18;;11847:62;-1:-1:-1;;;11940:2:1;11925:18;;11918:32;11982:3;11967:19;;11768:224::o;11997:401::-;12199:2;12181:21;;;12238:2;12218:18;;;12211:30;12277:34;12272:2;12257:18;;12250:62;-1:-1:-1;;;12343:2:1;12328:18;;12321:35;12388:3;12373:19;;12171:227::o;12403:355::-;12605:2;12587:21;;;12644:2;12624:18;;;12617:30;12683:33;12678:2;12663:18;;12656:61;12749:2;12734:18;;12577:181::o;12763:177::-;12909:25;;;12897:2;12882:18;;12864:76::o;12945:184::-;13117:4;13105:17;;;;13087:36;;13075:2;13060:18;;13042:87::o;13134:128::-;;13205:1;13201:6;13198:1;13195:13;13192:2;;;13211:18;;:::i;:::-;-1:-1:-1;13247:9:1;;13182:80::o;13267:125::-;;13335:1;13332;13329:8;13326:2;;;13340:18;;:::i;:::-;-1:-1:-1;13377:9:1;;13316:76::o;13397:380::-;13482:1;13472:12;;13529:1;13519:12;;;13540:2;;13594:4;13586:6;13582:17;13572:27;;13540:2;13647;13639:6;13636:14;13616:18;13613:38;13610:2;;;13693:10;13688:3;13684:20;13681:1;13674:31;13728:4;13725:1;13718:15;13756:4;13753:1;13746:15;13610:2;;13452:325;;;:::o;13782:127::-;13843:10;13838:3;13834:20;13831:1;13824:31;13874:4;13871:1;13864:15;13898:4;13895:1;13888:15;13914:127;13975:10;13970:3;13966:20;13963:1;13956:31;14006:4;14003:1;13996:15;14030:4;14027:1;14020:15;14046:133;-1:-1:-1;;;;;;14122:32:1;;14112:43;;14102:2;;14169:1;14166;14159:12

Swarm Source

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