Token FohoCoin

 

Overview [ERC-20]

Max Total Supply:
1,000,000,000 FOHO

Holders:
91

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
FohoCoin

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.5.16;
pragma experimental ABIEncoderV2;

contract FohoCoin {
    /// @notice EIP-20 token name for this token
    string public constant name = "FohoCoin";

    /// @notice EIP-20 token symbol for this token
    string public constant symbol = "FOHO";

    /// @notice EIP-20 token decimals for this token
    uint8 public constant decimals = 8;

    /// @notice Total number of tokens in circulation
    uint public constant totalSupply = 1000000000e8; // 1 Billion FOHO // Change supply as per need

    /// @notice Allowance amounts on behalf of others
    mapping (address => mapping (address => uint96)) internal allowances;

    /// @notice Official record of token balances for each account
    mapping (address => uint96) internal balances;

    /// @notice A record of each accounts delegate
    mapping (address => address) public delegates;

    /// @notice A checkpoint for marking number of votes from a given block
    struct Checkpoint {
        uint32 fromBlock;
        uint96 votes;
    }

    /// @notice A record of votes checkpoints for each account, by index
    mapping (address => mapping (uint32 => Checkpoint)) public checkpoints;

    /// @notice The number of checkpoints for each account
    mapping (address => uint32) public numCheckpoints;

    /// @notice The EIP-712 typehash for the contract's domain
    bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)");

    /// @notice The EIP-712 typehash for the delegation struct used by the contract
    bytes32 public constant DELEGATION_TYPEHASH = keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)");

    /// @notice A record of states for signing / validating signatures
    mapping (address => uint) public nonces;

    /// @notice An event thats emitted when an account changes its delegate
    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);

    /// @notice An event thats emitted when a delegate account's vote balance changes
    event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);

    /// @notice The standard EIP-20 transfer event
    event Transfer(address indexed from, address indexed to, uint256 amount);

    /// @notice The standard EIP-20 approval event
    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /**
     * @notice Construct a new FOHO token
     * @param account The initial account to grant all the tokens
     */
    constructor(address account) public {
        balances[account] = uint96(totalSupply);
        emit Transfer(address(0), account, totalSupply);
    }

    /**
     * @notice Get the number of tokens `spender` is approved to spend on behalf of `account`
     * @param account The address of the account holding the funds
     * @param spender The address of the account spending the funds
     * @return The number of tokens approved
     */
    function allowance(address account, address spender) external view returns (uint) {
        return allowances[account][spender];
    }

    /**
     * @notice Approve `spender` to transfer up to `amount` from `src`
     * @dev This will overwrite the approval amount for `spender`
     *  and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve)
     * @param spender The address of the account which may transfer tokens
     * @param rawAmount The number of tokens that are approved (2^256-1 means infinite)
     * @return Whether or not the approval succeeded
     */
    function approve(address spender, uint rawAmount) external returns (bool) {
        uint96 amount;
        if (rawAmount == uint(-1)) {
            amount = uint96(-1);
        } else {
            amount = safe96(rawAmount, "FOHO::approve: amount exceeds 96 bits");
        }

        allowances[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);
        return true;
    }

    /**
     * @notice Get the number of tokens held by the `account`
     * @param account The address of the account to get the balance of
     * @return The number of tokens held
     */
    function balanceOf(address account) external view returns (uint) {
        return balances[account];
    }

    /**
     * @notice Transfer `amount` tokens from `msg.sender` to `dst`
     * @param dst The address of the destination account
     * @param rawAmount The number of tokens to transfer
     * @return Whether or not the transfer succeeded
     */
    function transfer(address dst, uint rawAmount) external returns (bool) {
        uint96 amount = safe96(rawAmount, "FOHO::transfer: amount exceeds 96 bits");
        _transferTokens(msg.sender, dst, amount);
        return true;
    }

    /**
     * @notice Transfer `amount` tokens from `src` to `dst`
     * @param src The address of the source account
     * @param dst The address of the destination account
     * @param rawAmount The number of tokens to transfer
     * @return Whether or not the transfer succeeded
     */
    function transferFrom(address src, address dst, uint rawAmount) external returns (bool) {
        address spender = msg.sender;
        uint96 spenderAllowance = allowances[src][spender];
        uint96 amount = safe96(rawAmount, "FOHO::approve: amount exceeds 96 bits");

        if (spender != src && spenderAllowance != uint96(-1)) {
            uint96 newAllowance = sub96(spenderAllowance, amount, "FOHO::transferFrom: transfer amount exceeds spender allowance");
            allowances[src][spender] = newAllowance;

            emit Approval(src, spender, newAllowance);
        }

        _transferTokens(src, dst, amount);
        return true;
    }

    /**
     * @notice Delegate votes from `msg.sender` to `delegatee`
     * @param delegatee The address to delegate votes to
     */
    function delegate(address delegatee) public {
        return _delegate(msg.sender, delegatee);
    }

    /**
     * @notice Delegates votes from signatory to `delegatee`
     * @param delegatee The address to delegate votes to
     * @param nonce The contract state required to match the signature
     * @param expiry The time at which to expire the signature
     * @param v The recovery byte of the signature
     * @param r Half of the ECDSA signature pair
     * @param s Half of the ECDSA signature pair
     */
    function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) public {
        bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));
        bytes32 structHash = keccak256(abi.encode(DELEGATION_TYPEHASH, delegatee, nonce, expiry));
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "FOHO::delegateBySig: invalid signature");
        require(nonce == nonces[signatory]++, "FOHO::delegateBySig: invalid nonce");
        require(now <= expiry, "FOHO::delegateBySig: signature expired");
        return _delegate(signatory, delegatee);
    }

    /**
     * @notice Gets the current votes balance for `account`
     * @param account The address to get votes balance
     * @return The number of current votes for `account`
     */
    function getCurrentVotes(address account) external view returns (uint96) {
        uint32 nCheckpoints = numCheckpoints[account];
        return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0;
    }

    /**
     * @notice Determine the prior number of votes for an account as of a block number
     * @dev Block number must be a finalized block or else this function will revert to prevent misinformation.
     * @param account The address of the account to check
     * @param blockNumber The block number to get the vote balance at
     * @return The number of votes the account had as of the given block
     */
    function getPriorVotes(address account, uint blockNumber) public view returns (uint96) {
        require(blockNumber < block.number, "FOHO::getPriorVotes: not yet determined");

        uint32 nCheckpoints = numCheckpoints[account];
        if (nCheckpoints == 0) {
            return 0;
        }

        // First check most recent balance
        if (checkpoints[account][nCheckpoints - 1].fromBlock <= blockNumber) {
            return checkpoints[account][nCheckpoints - 1].votes;
        }

        // Next check implicit zero balance
        if (checkpoints[account][0].fromBlock > blockNumber) {
            return 0;
        }

        uint32 lower = 0;
        uint32 upper = nCheckpoints - 1;
        while (upper > lower) {
            uint32 center = upper - (upper - lower) / 2; // ceil, avoiding overflow
            Checkpoint memory cp = checkpoints[account][center];
            if (cp.fromBlock == blockNumber) {
                return cp.votes;
            } else if (cp.fromBlock < blockNumber) {
                lower = center;
            } else {
                upper = center - 1;
            }
        }
        return checkpoints[account][lower].votes;
    }

    function _delegate(address delegator, address delegatee) internal {
        address currentDelegate = delegates[delegator];
        uint96 delegatorBalance = balances[delegator];
        delegates[delegator] = delegatee;

        emit DelegateChanged(delegator, currentDelegate, delegatee);

        _moveDelegates(currentDelegate, delegatee, delegatorBalance);
    }

    function _transferTokens(address src, address dst, uint96 amount) internal {
        require(src != address(0), "FOHO::_transferTokens: cannot transfer from the zero address");
        require(dst != address(0), "FOHO::_transferTokens: cannot transfer to the zero address");

        balances[src] = sub96(balances[src], amount, "FOHO::_transferTokens: transfer amount exceeds balance");
        balances[dst] = add96(balances[dst], amount, "FOHO::_transferTokens: transfer amount overflows");
        emit Transfer(src, dst, amount);

        _moveDelegates(delegates[src], delegates[dst], amount);
    }

    function _moveDelegates(address srcRep, address dstRep, uint96 amount) internal {
        if (srcRep != dstRep && amount > 0) {
            if (srcRep != address(0)) {
                uint32 srcRepNum = numCheckpoints[srcRep];
                uint96 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0;
                uint96 srcRepNew = sub96(srcRepOld, amount, "FOHO::_moveVotes: vote amount underflows");
                _writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew);
            }

            if (dstRep != address(0)) {
                uint32 dstRepNum = numCheckpoints[dstRep];
                uint96 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0;
                uint96 dstRepNew = add96(dstRepOld, amount, "FOHO::_moveVotes: vote amount overflows");
                _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew);
            }
        }
    }

    function _writeCheckpoint(address delegatee, uint32 nCheckpoints, uint96 oldVotes, uint96 newVotes) internal {
      uint32 blockNumber = safe32(block.number, "FOHO::_writeCheckpoint: block number exceeds 32 bits");

      if (nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber) {
          checkpoints[delegatee][nCheckpoints - 1].votes = newVotes;
      } else {
          checkpoints[delegatee][nCheckpoints] = Checkpoint(blockNumber, newVotes);
          numCheckpoints[delegatee] = nCheckpoints + 1;
      }

      emit DelegateVotesChanged(delegatee, oldVotes, newVotes);
    }

    function safe32(uint n, string memory errorMessage) internal pure returns (uint32) {
        require(n < 2**32, errorMessage);
        return uint32(n);
    }

    function safe96(uint n, string memory errorMessage) internal pure returns (uint96) {
        require(n < 2**96, errorMessage);
        return uint96(n);
    }

    function add96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {
        uint96 c = a + b;
        require(c >= a, errorMessage);
        return c;
    }

    function sub96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {
        require(b <= a, errorMessage);
        return a - b;
    }

    function getChainId() internal pure returns (uint) {
        uint256 chainId;
        assembly { chainId := chainid() }
        return chainId;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"payable":false,"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":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint96","name":"votes","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060405162002f7d38038062002f7d83398181016040526200003791908101906200013b565b67016345785d8a0000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef67016345785d8a000060405162000115919062000178565b60405180910390a350620001ed565b6000815190506200013581620001d3565b92915050565b6000602082840312156200014e57600080fd5b60006200015e8482850162000124565b91505092915050565b6200017281620001c9565b82525050565b60006020820190506200018f600083018462000167565b92915050565b6000620001a282620001a9565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b620001de8162000195565b8114620001ea57600080fd5b50565b612d8080620001fd6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063b4b5ea5711610071578063b4b5ea5714610358578063c3cda52014610388578063dd62ed3e146103a4578063e7a324dc146103d4578063f1127ed8146103f257610121565b806370a082311461027a578063782d6fe1146102aa5780637ecebe00146102da57806395d89b411461030a578063a9059cbb1461032857610121565b806323b872dd116100f457806323b872dd146101b0578063313ce567146101e0578063587cde1e146101fe5780635c19a95c1461022e5780636fcfff451461024a57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806320606b7014610192575b600080fd5b61012e610423565b60405161013b9190612863565b60405180910390f35b61015e6004803603610159919081019061214a565b61045c565b60405161016b919061275e565b60405180910390f35b61017c6105ee565b6040516101899190612967565b60405180910390f35b61019a6105fa565b6040516101a79190612779565b60405180910390f35b6101ca60048036036101c591908101906120fb565b610611565b6040516101d7919061275e565b60405180910390f35b6101e86108a3565b6040516101f591906129c6565b60405180910390f35b61021860048036036102139190810190612096565b6108a8565b6040516102259190612743565b60405180910390f35b61024860048036036102439190810190612096565b6108db565b005b610264600480360361025f9190810190612096565b6108e8565b6040516102719190612982565b60405180910390f35b610294600480360361028f9190810190612096565b61090b565b6040516102a19190612967565b60405180910390f35b6102c460048036036102bf919081019061214a565b61097a565b6040516102d191906129fc565b60405180910390f35b6102f460048036036102ef9190810190612096565b610d8d565b6040516103019190612967565b60405180910390f35b610312610da5565b60405161031f9190612863565b60405180910390f35b610342600480360361033d919081019061214a565b610dde565b60405161034f919061275e565b60405180910390f35b610372600480360361036d9190810190612096565b610e1b565b60405161037f91906129fc565b60405180910390f35b6103a2600480360361039d9190810190612186565b610f09565b005b6103be60048036036103b991908101906120bf565b6111ac565b6040516103cb9190612967565b60405180910390f35b6103dc611258565b6040516103e99190612779565b60405180910390f35b61040c6004803603610407919081019061220f565b61126f565b60405161041a92919061299d565b60405180910390f35b6040518060400160405280600881526020017f466f686f436f696e00000000000000000000000000000000000000000000000081525081565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8314156104af577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90506104d4565b6104d183604051806060016040528060258152602001612bfd602591396112c8565b90505b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516105db91906129e1565b60405180910390a3600191505092915050565b67016345785d8a000081565b60405161060690612719565b604051809103902081565b60008033905060008060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905060006106d385604051806060016040528060258152602001612bfd602591396112c8565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561074d57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff16826bffffffffffffffffffffffff1614155b1561088a57600061077783836040518060600160405280603d8152602001612d01603d9139611326565b9050806000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161088091906129e1565b60405180910390a3505b610895878783611397565b600193505050509392505050565b600881565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108e53382611778565b50565b60046020528060005260406000206000915054906101000a900463ffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b60004382106109be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b590612947565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161415610a2b576000915050610d87565b82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff1611610b2d57600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff16915050610d87565b82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161115610bae576000915050610d87565b600080905060006001830390505b8163ffffffff168163ffffffff161115610d09576000600283830363ffffffff1681610be457fe5b0482039050610bf1611fff565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086816000015163ffffffff161415610ce157806020015195505050505050610d87565b86816000015163ffffffff161015610cfb57819350610d02565b6001820392505b5050610bbc565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1693505050505b92915050565b60056020528060005260406000206000915090505481565b6040518060400160405280600481526020017f464f484f0000000000000000000000000000000000000000000000000000000081525081565b600080610e0383604051806060016040528060268152602001612cb4602691396112c8565b9050610e10338583611397565b600191505092915050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff1611610e85576000610f01565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b915050919050565b6000604051610f1790612719565b60405180910390206040518060400160405280600881526020017f466f686f436f696e00000000000000000000000000000000000000000000000081525080519060200120610f64611938565b30604051602001610f7894939291906127d9565b6040516020818303038152906040528051906020012090506000604051610f9e9061272e565b6040518091039020888888604051602001610fbc9493929190612794565b60405160208183030381529060405280519060200120905060008282604051602001610fe99291906126e2565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051611026949392919061281e565b6020604051602081039080840390855afa158015611048573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb906128c7565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558914611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a90612927565b60405180910390fd5b87421115611196576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118d906128a7565b60405180910390fd5b6111a0818b611778565b50505050505050505050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b6040516112649061272e565b604051809103902081565b6003602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046bffffffffffffffffffffffff16905082565b60006c010000000000000000000000008310829061131c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113139190612885565b60405180910390fd5b5082905092915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff161115829061138a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113819190612885565b60405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fe90612907565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146e906128e7565b60405180910390fd5b6114f1600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1682604051806060016040528060368152602001612c5660369139611326565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506115d8600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1682604051806060016040528060308152602001612bcd60309139611945565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116a291906129e1565b60405180910390a3611773600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836119bb565b505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46119328284836119bb565b50505050565b6000804690508091505090565b6000808385019050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff16101583906119af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a69190612885565b60405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a0557506000816bffffffffffffffffffffffff16115b15611cb157600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611b5d576000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff1611611aa8576000611b24565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b90506000611b4b8285604051806060016040528060288152602001612c8c60289139611326565b9050611b5986848484611cb6565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611cb0576000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff1611611bfb576000611c77565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b90506000611c9e8285604051806060016040528060278152602001612cda60279139611945565b9050611cac85848484611cb6565b5050505b5b505050565b6000611cda43604051806060016040528060348152602001612c2260349139611fa9565b905060008463ffffffff16118015611d6f57508063ffffffff16600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16145b15611e0a5781600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550611f52565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff16815250600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060018401600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248484604051611f9a929190612a17565b60405180910390a25050505050565b600064010000000083108290611ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fec9190612885565b60405180910390fd5b5082905092915050565b6040518060400160405280600063ffffffff16815260200160006bffffffffffffffffffffffff1681525090565b60008135905061203c81612b59565b92915050565b60008135905061205181612b70565b92915050565b60008135905061206681612b87565b92915050565b60008135905061207b81612b9e565b92915050565b60008135905061209081612bb5565b92915050565b6000602082840312156120a857600080fd5b60006120b68482850161202d565b91505092915050565b600080604083850312156120d257600080fd5b60006120e08582860161202d565b92505060206120f18582860161202d565b9150509250929050565b60008060006060848603121561211057600080fd5b600061211e8682870161202d565b935050602061212f8682870161202d565b925050604061214086828701612057565b9150509250925092565b6000806040838503121561215d57600080fd5b600061216b8582860161202d565b925050602061217c85828601612057565b9150509250929050565b60008060008060008060c0878903121561219f57600080fd5b60006121ad89828a0161202d565b96505060206121be89828a01612057565b95505060406121cf89828a01612057565b94505060606121e089828a01612081565b93505060806121f189828a01612042565b92505060a061220289828a01612042565b9150509295509295509295565b6000806040838503121561222257600080fd5b60006122308582860161202d565b92505060206122418582860161206c565b9150509250929050565b61225481612a72565b82525050565b61226381612a84565b82525050565b61227281612a90565b82525050565b61228961228482612a90565b612b3e565b82525050565b600061229a82612a4b565b6122a48185612a56565b93506122b4818560208601612b0b565b6122bd81612b48565b840191505092915050565b60006122d382612a40565b6122dd8185612a56565b93506122ed818560208601612b0b565b6122f681612b48565b840191505092915050565b600061230e600283612a67565b91507f19010000000000000000000000000000000000000000000000000000000000006000830152600282019050919050565b600061234e602683612a56565b91507f464f484f3a3a64656c656761746542795369673a207369676e6174757265206560008301527f78706972656400000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006123b4604383612a67565b91507f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353660008301527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208301527f63742900000000000000000000000000000000000000000000000000000000006040830152604382019050919050565b6000612440602683612a56565b91507f464f484f3a3a64656c656761746542795369673a20696e76616c69642073696760008301527f6e617475726500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006124a6603a83612a56565b91507f464f484f3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260008301527f616e7366657220746f20746865207a65726f20616464726573730000000000006020830152604082019050919050565b600061250c603c83612a56565b91507f464f484f3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260008301527f616e736665722066726f6d20746865207a65726f2061646472657373000000006020830152604082019050919050565b6000612572602283612a56565b91507f464f484f3a3a64656c656761746542795369673a20696e76616c6964206e6f6e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125d8603a83612a67565b91507f44656c65676174696f6e28616464726573732064656c6567617465652c75696e60008301527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020830152603a82019050919050565b600061263e602783612a56565b91507f464f484f3a3a6765745072696f72566f7465733a206e6f74207965742064657460008301527f65726d696e6564000000000000000000000000000000000000000000000000006020830152604082019050919050565b6126a081612aba565b82525050565b6126af81612ac4565b82525050565b6126be81612ad4565b82525050565b6126cd81612af9565b82525050565b6126dc81612ae1565b82525050565b60006126ed82612301565b91506126f98285612278565b6020820191506127098284612278565b6020820191508190509392505050565b6000612724826123a7565b9150819050919050565b6000612739826125cb565b9150819050919050565b6000602082019050612758600083018461224b565b92915050565b6000602082019050612773600083018461225a565b92915050565b600060208201905061278e6000830184612269565b92915050565b60006080820190506127a96000830187612269565b6127b6602083018661224b565b6127c36040830185612697565b6127d06060830184612697565b95945050505050565b60006080820190506127ee6000830187612269565b6127fb6020830186612269565b6128086040830185612697565b612815606083018461224b565b95945050505050565b60006080820190506128336000830187612269565b61284060208301866126b5565b61284d6040830185612269565b61285a6060830184612269565b95945050505050565b6000602082019050818103600083015261287d81846122c8565b905092915050565b6000602082019050818103600083015261289f818461228f565b905092915050565b600060208201905081810360008301526128c081612341565b9050919050565b600060208201905081810360008301526128e081612433565b9050919050565b6000602082019050818103600083015261290081612499565b9050919050565b60006020820190508181036000830152612920816124ff565b9050919050565b6000602082019050818103600083015261294081612565565b9050919050565b6000602082019050818103600083015261296081612631565b9050919050565b600060208201905061297c6000830184612697565b92915050565b600060208201905061299760008301846126a6565b92915050565b60006040820190506129b260008301856126a6565b6129bf60208301846126d3565b9392505050565b60006020820190506129db60008301846126b5565b92915050565b60006020820190506129f660008301846126c4565b92915050565b6000602082019050612a1160008301846126d3565b92915050565b6000604082019050612a2c60008301856126c4565b612a3960208301846126c4565b9392505050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000612a7d82612a9a565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b60006bffffffffffffffffffffffff82169050919050565b6000612b0482612ae1565b9050919050565b60005b83811015612b29578082015181840152602081019050612b0e565b83811115612b38576000848401525b50505050565b6000819050919050565b6000601f19601f8301169050919050565b612b6281612a72565b8114612b6d57600080fd5b50565b612b7981612a90565b8114612b8457600080fd5b50565b612b9081612aba565b8114612b9b57600080fd5b50565b612ba781612ac4565b8114612bb257600080fd5b50565b612bbe81612ad4565b8114612bc957600080fd5b5056fe464f484f3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773464f484f3a3a617070726f76653a20616d6f756e7420657863656564732039362062697473464f484f3a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473464f484f3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365464f484f3a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773464f484f3a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473464f484f3a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f7773464f484f3a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365a365627a7a72315820e81a2a00e7e186a3de833ba53eee6ec12e45c7356e12a4794cb39e670ed300236c6578706572696d656e74616cf564736f6c63430005100040000000000000000000000000011aa11412db47160b19cf01d9d98ee78f168271

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

000000000000000000000000011aa11412db47160b19cf01d9d98ee78f168271

-----Decoded View---------------
Arg [0] : account (address): 0x011aa11412db47160b19cf01d9d98ee78f168271

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000011aa11412db47160b19cf01d9d98ee78f168271


Deployed ByteCode Sourcemap

63:12864:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;63:12864:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;138:40;;;:::i;:::-;;;;;;;;;;;;;;;;3708:419;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;438:47;;;:::i;:::-;;;;;;;;;;;;;;;;1397:122;;;:::i;:::-;;;;;;;;;;;;;;;;5250:672;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;340:34;;;:::i;:::-;;;;;;;;;;;;;;;;847:45;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6070:102;;;;;;;;;;;;;;;;:::i;:::-;;1275:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4330:108;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;8249:1218;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1811:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;239:38;;;:::i;:::-;;;;;;;;;;;;;;;;4702:238;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7596:222;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6606:789;;;;;;;;;;;;;;;;:::i;:::-;;3094:136;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1613:117;;;:::i;:::-;;;;;;;;;;;;;;;;1136:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;138:40;;;;;;;;;;;;;;;;;;;:::o;3708:419::-;3776:4;3793:13;3839:2;3821:9;:21;3817:173;;;3875:2;3859:19;;3817:173;;;3920:58;3927:9;3920:58;;;;;;;;;;;;;;;;;:6;:58::i;:::-;3911:67;;3817:173;4036:6;4002:10;:22;4013:10;4002:22;;;;;;;;;;;;;;;:31;4025:7;4002:31;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;4081:7;4060:37;;4069:10;4060:37;;;4090:6;4060:37;;;;;;;;;;;;;;;4115:4;4108:11;;;3708:419;;;;:::o;438:47::-;473:12;438:47;:::o;1397:122::-;1439:80;;;;;;;;;;;;;;1397:122;:::o;5250:672::-;5332:4;5349:15;5367:10;5349:28;;5388:23;5414:10;:15;5425:3;5414:15;;;;;;;;;;;;;;;:24;5430:7;5414:24;;;;;;;;;;;;;;;;;;;;;;;;;5388:50;;5449:13;5465:58;5472:9;5465:58;;;;;;;;;;;;;;;;;:6;:58::i;:::-;5449:74;;5551:3;5540:14;;:7;:14;;;;:48;;;;;5585:2;5558:30;;:16;:30;;;;5540:48;5536:311;;;5605:19;5627:96;5633:16;5651:6;5627:96;;;;;;;;;;;;;;;;;:5;:96::i;:::-;5605:118;;5765:12;5738:10;:15;5749:3;5738:15;;;;;;;;;;;;;;;:24;5754:7;5738:24;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;5813:7;5799:36;;5808:3;5799:36;;;5822:12;5799:36;;;;;;;;;;;;;;;5536:311;;5859:33;5875:3;5880;5885:6;5859:15;:33::i;:::-;5910:4;5903:11;;;;;5250:672;;;;;:::o;340:34::-;373:1;340:34;:::o;847:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6070:102::-;6132:32;6142:10;6154:9;6132;:32::i;:::-;6070:102;:::o;1275:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;4330:108::-;4389:4;4413:8;:17;4422:7;4413:17;;;;;;;;;;;;;;;;;;;;;;;;;4406:24;;;;4330:108;;;:::o;8249:1218::-;8328:6;8369:12;8355:11;:26;8347:78;;;;;;;;;;;;;;;;;;;;;;8438:19;8460:14;:23;8475:7;8460:23;;;;;;;;;;;;;;;;;;;;;;;;;8438:45;;8514:1;8498:12;:17;;;8494:58;;;8539:1;8532:8;;;;;8494:58;8664:11;8612;:20;8624:7;8612:20;;;;;;;;;;;;;;;:38;8648:1;8633:12;:16;8612:38;;;;;;;;;;;;;;;:48;;;;;;;;;;;;:63;;;8608:147;;8699:11;:20;8711:7;8699:20;;;;;;;;;;;;;;;:38;8735:1;8720:12;:16;8699:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;8692:51;;;;;8608:147;8852:11;8816;:20;8828:7;8816:20;;;;;;;;;;;;;;;:23;8837:1;8816:23;;;;;;;;;;;;;:33;;;;;;;;;;;;:47;;;8812:88;;;8887:1;8880:8;;;;;8812:88;8912:12;8927:1;8912:16;;8939:12;8969:1;8954:12;:16;8939:31;;8981:428;8996:5;8988:13;;:5;:13;;;8981:428;;;9018:13;9060:1;9051:5;9043;:13;9042:19;;;;;;;;9034:5;:27;9018:43;;9103:20;;:::i;:::-;9126:11;:20;9138:7;9126:20;;;;;;;;;;;;;;;:28;9147:6;9126:28;;;;;;;;;;;;;;;9103:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9189:11;9173:2;:12;;;:27;;;9169:229;;;9228:2;:8;;;9221:15;;;;;;;;;9169:229;9277:11;9262:2;:12;;;:26;;;9258:140;;;9317:6;9309:14;;9258:140;;;9381:1;9372:6;:10;9364:18;;9258:140;8981:428;;;;;9426:11;:20;9438:7;9426:20;;;;;;;;;;;;;;;:27;9447:5;9426:27;;;;;;;;;;;;;;;:33;;;;;;;;;;;;9419:40;;;;;8249:1218;;;;;:::o;1811:39::-;;;;;;;;;;;;;;;;;:::o;239:38::-;;;;;;;;;;;;;;;;;;;:::o;4702:238::-;4767:4;4784:13;4800:59;4807:9;4800:59;;;;;;;;;;;;;;;;;:6;:59::i;:::-;4784:75;;4870:40;4886:10;4898:3;4903:6;4870:15;:40::i;:::-;4928:4;4921:11;;;4702:238;;;;:::o;7596:222::-;7661:6;7680:19;7702:14;:23;7717:7;7702:23;;;;;;;;;;;;;;;;;;;;;;;;;7680:45;;7758:1;7743:12;:16;;;:67;;7809:1;7743:67;;;7762:11;:20;7774:7;7762:20;;;;;;;;;;;;;;;:38;7798:1;7783:12;:16;7762:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;7743:67;7736:74;;;7596:222;;;:::o;6606:789::-;6722:23;1439:80;;;;;;;;;;;;;;6802:4;;;;;;;;;;;;;;;;;6786:22;;;;;;6810:12;:10;:12::i;:::-;6832:4;6758:80;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6758:80:0;;;6748:91;;;;;;6722:117;;6850:18;1659:71;;;;;;;;;;;;;;6913:9;6924:5;6931:6;6881:57;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6881:57:0;;;6871:68;;;;;;6850:89;;6950:14;7006:15;7023:10;6977:57;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6977:57:0;;;6967:68;;;;;;6950:85;;7046:17;7066:26;7076:6;7084:1;7087;7090;7066:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7066:26:0;;;;;;;;7046:46;;7132:1;7111:23;;:9;:23;;;;7103:74;;;;;;;;;;;;;;;;;;;;;;7205:6;:17;7212:9;7205:17;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;7196:5;:28;7188:75;;;;;;;;;;;;;;;;;;;;;;7289:6;7282:3;:13;;7274:64;;;;;;;;;;;;;;;;;;;;;;7356:31;7366:9;7377;7356;:31::i;:::-;7349:38;;;;6606:789;;;;;;:::o;3094:136::-;3170:4;3194:10;:19;3205:7;3194:19;;;;;;;;;;;;;;;:28;3214:7;3194:28;;;;;;;;;;;;;;;;;;;;;;;;;3187:35;;;;3094:136;;;;:::o;1613:117::-;1659:71;;;;;;;;;;;;;;1613:117;:::o;1136:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12233:161::-;12308:6;12339:5;12335:1;:9;12346:12;12327:32;;;;;;;;;;;;;;;;;;;;;;;;;12384:1;12370:16;;12233:161;;;;:::o;12598:165::-;12684:6;12716:1;12711:6;;:1;:6;;;;12719:12;12703:29;;;;;;;;;;;;;;;;;;;;;;;;;12754:1;12750;:5;12743:12;;12598:165;;;;;:::o;9858:614::-;9967:1;9952:17;;:3;:17;;;;9944:90;;;;;;;;;;;;;;;;;;;;;;10068:1;10053:17;;:3;:17;;;;10045:88;;;;;;;;;;;;;;;;;;;;;;10162:86;10168:8;:13;10177:3;10168:13;;;;;;;;;;;;;;;;;;;;;;;;;10183:6;10162:86;;;;;;;;;;;;;;;;;:5;:86::i;:::-;10146:8;:13;10155:3;10146:13;;;;;;;;;;;;;;;;:102;;;;;;;;;;;;;;;;;;10275:80;10281:8;:13;10290:3;10281:13;;;;;;;;;;;;;;;;;;;;;;;;;10296:6;10275:80;;;;;;;;;;;;;;;;;:5;:80::i;:::-;10259:8;:13;10268:3;10259:13;;;;;;;;;;;;;;;;:96;;;;;;;;;;;;;;;;;;10385:3;10371:26;;10380:3;10371:26;;;10390:6;10371:26;;;;;;;;;;;;;;;10410:54;10425:9;:14;10435:3;10425:14;;;;;;;;;;;;;;;;;;;;;;;;;10441:9;:14;10451:3;10441:14;;;;;;;;;;;;;;;;;;;;;;;;;10457:6;10410:14;:54::i;:::-;9858:614;;;:::o;9475:375::-;9552:23;9578:9;:20;9588:9;9578:20;;;;;;;;;;;;;;;;;;;;;;;;;9552:46;;9609:23;9635:8;:19;9644:9;9635:19;;;;;;;;;;;;;;;;;;;;;;;;;9609:45;;9688:9;9665;:20;9675:9;9665:20;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;9759:9;9715:54;;9742:15;9715:54;;9731:9;9715:54;;;;;;;;;;;;9782:60;9797:15;9814:9;9825:16;9782:14;:60::i;:::-;9475:375;;;;:::o;12771:153::-;12816:4;12833:15;12881:9;12870:20;;12909:7;12902:14;;;12771:153;:::o;12402:188::-;12488:6;12507:8;12522:1;12518;:5;12507:16;;12547:1;12542:6;;:1;:6;;;;12550:12;12534:29;;;;;;;;;;;;;;;;;;;;;;;;;12581:1;12574:8;;;12402:188;;;;;:::o;10480:939::-;10585:6;10575:16;;:6;:16;;;;:30;;;;;10604:1;10595:6;:10;;;10575:30;10571:841;;;10644:1;10626:20;;:6;:20;;;10622:382;;10667:16;10686:14;:22;10701:6;10686:22;;;;;;;;;;;;;;;;;;;;;;;;;10667:41;;10727:16;10758:1;10746:9;:13;;;:60;;10805:1;10746:60;;;10762:11;:19;10774:6;10762:19;;;;;;;;;;;;;;;:34;10794:1;10782:9;:13;10762:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;10746:60;10727:79;;10825:16;10844:68;10850:9;10861:6;10844:68;;;;;;;;;;;;;;;;;:5;:68::i;:::-;10825:87;;10931:57;10948:6;10956:9;10967;10978;10931:16;:57::i;:::-;10622:382;;;;11042:1;11024:20;;:6;:20;;;11020:381;;11065:16;11084:14;:22;11099:6;11084:22;;;;;;;;;;;;;;;;;;;;;;;;;11065:41;;11125:16;11156:1;11144:9;:13;;;:60;;11203:1;11144:60;;;11160:11;:19;11172:6;11160:19;;;;;;;;;;;;;;;:34;11192:1;11180:9;:13;11160:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;11144:60;11125:79;;11223:16;11242:67;11248:9;11259:6;11242:67;;;;;;;;;;;;;;;;;:5;:67::i;:::-;11223:86;;11328:57;11345:6;11353:9;11364;11375;11328:16;:57::i;:::-;11020:381;;;;10571:841;10480:939;;;:::o;11427:629::-;11545:18;11566:76;11573:12;11566:76;;;;;;;;;;;;;;;;;:6;:76::i;:::-;11545:97;;11672:1;11657:12;:16;;;:85;;;;;11731:11;11677:65;;:11;:22;11689:9;11677:22;;;;;;;;;;;;;;;:40;11715:1;11700:12;:16;11677:40;;;;;;;;;;;;;;;:50;;;;;;;;;;;;:65;;;11657:85;11653:329;;;11806:8;11757:11;:22;11769:9;11757:22;;;;;;;;;;;;;;;:40;11795:1;11780:12;:16;11757:40;;;;;;;;;;;;;;;:46;;;:57;;;;;;;;;;;;;;;;;;11653:329;;;11882:33;;;;;;;;11893:11;11882:33;;;;;;11906:8;11882:33;;;;;11843:11;:22;11855:9;11843:22;;;;;;;;;;;;;;;:36;11866:12;11843:36;;;;;;;;;;;;;;;:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11971:1;11956:12;:16;11928:14;:25;11943:9;11928:25;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;11653:329;12018:9;11997:51;;;12029:8;12039;11997:51;;;;;;;;;;;;;;;;11427:629;;;;;:::o;12064:161::-;12139:6;12170:5;12166:1;:9;12177:12;12158:32;;;;;;;;;;;;;;;;;;;;;;;;;12215:1;12201:16;;12064:161;;;;:::o;63:12864::-;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;;;57:78;;;;;142:130;;222:6;209:20;200:29;;234:33;261:5;234:33;;;194:78;;;;;279:130;;359:6;346:20;337:29;;371:33;398:5;371:33;;;331:78;;;;;416:128;;495:6;482:20;473:29;;507:32;533:5;507:32;;;467:77;;;;;551:126;;629:6;616:20;607:29;;641:31;666:5;641:31;;;601:76;;;;;684:241;;788:2;776:9;767:7;763:23;759:32;756:2;;;804:1;801;794:12;756:2;839:1;856:53;901:7;892:6;881:9;877:22;856:53;;;846:63;;818:97;750:175;;;;;932:366;;;1053:2;1041:9;1032:7;1028:23;1024:32;1021:2;;;1069:1;1066;1059:12;1021:2;1104:1;1121:53;1166:7;1157:6;1146:9;1142:22;1121:53;;;1111:63;;1083:97;1211:2;1229:53;1274:7;1265:6;1254:9;1250:22;1229:53;;;1219:63;;1190:98;1015:283;;;;;;1305:491;;;;1443:2;1431:9;1422:7;1418:23;1414:32;1411:2;;;1459:1;1456;1449:12;1411:2;1494:1;1511:53;1556:7;1547:6;1536:9;1532:22;1511:53;;;1501:63;;1473:97;1601:2;1619:53;1664:7;1655:6;1644:9;1640:22;1619:53;;;1609:63;;1580:98;1709:2;1727:53;1772:7;1763:6;1752:9;1748:22;1727:53;;;1717:63;;1688:98;1405:391;;;;;;1803:366;;;1924:2;1912:9;1903:7;1899:23;1895:32;1892:2;;;1940:1;1937;1930:12;1892:2;1975:1;1992:53;2037:7;2028:6;2017:9;2013:22;1992:53;;;1982:63;;1954:97;2082:2;2100:53;2145:7;2136:6;2125:9;2121:22;2100:53;;;2090:63;;2061:98;1886:283;;;;;;2176:865;;;;;;;2363:3;2351:9;2342:7;2338:23;2334:33;2331:2;;;2380:1;2377;2370:12;2331:2;2415:1;2432:53;2477:7;2468:6;2457:9;2453:22;2432:53;;;2422:63;;2394:97;2522:2;2540:53;2585:7;2576:6;2565:9;2561:22;2540:53;;;2530:63;;2501:98;2630:2;2648:53;2693:7;2684:6;2673:9;2669:22;2648:53;;;2638:63;;2609:98;2738:2;2756:51;2799:7;2790:6;2779:9;2775:22;2756:51;;;2746:61;;2717:96;2844:3;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;;;2853:63;;2823:99;2953:3;2972:53;3017:7;3008:6;2997:9;2993:22;2972:53;;;2962:63;;2932:99;2325:716;;;;;;;;;3048:364;;;3168:2;3156:9;3147:7;3143:23;3139:32;3136:2;;;3184:1;3181;3174:12;3136:2;3219:1;3236:53;3281:7;3272:6;3261:9;3257:22;3236:53;;;3226:63;;3198:97;3326:2;3344:52;3388:7;3379:6;3368:9;3364:22;3344:52;;;3334:62;;3305:97;3130:282;;;;;;3419:113;3502:24;3520:5;3502:24;;;3497:3;3490:37;3484:48;;;3539:104;3616:21;3631:5;3616:21;;;3611:3;3604:34;3598:45;;;3650:113;3733:24;3751:5;3733:24;;;3728:3;3721:37;3715:48;;;3770:152;3871:45;3891:24;3909:5;3891:24;;;3871:45;;;3866:3;3859:58;3853:69;;;3929:347;;4041:39;4074:5;4041:39;;;4092:71;4156:6;4151:3;4092:71;;;4085:78;;4168:52;4213:6;4208:3;4201:4;4194:5;4190:16;4168:52;;;4241:29;4263:6;4241:29;;;4236:3;4232:39;4225:46;;4021:255;;;;;;4283:339;;4391:35;4420:5;4391:35;;;4438:71;4502:6;4497:3;4438:71;;;4431:78;;4514:52;4559:6;4554:3;4547:4;4540:5;4536:16;4514:52;;;4587:29;4609:6;4587:29;;;4582:3;4578:39;4571:46;;4371:251;;;;;;4630:398;;4808:84;4890:1;4885:3;4808:84;;;4801:91;;4925:66;4921:1;4916:3;4912:11;4905:87;5020:1;5015:3;5011:11;5004:18;;4794:234;;;;5037:375;;5197:67;5261:2;5256:3;5197:67;;;5190:74;;5297:34;5293:1;5288:3;5284:11;5277:55;5366:8;5361:2;5356:3;5352:12;5345:30;5403:2;5398:3;5394:12;5387:19;;5183:229;;;;5421:477;;5599:85;5681:2;5676:3;5599:85;;;5592:92;;5717:34;5713:1;5708:3;5704:11;5697:55;5786:34;5781:2;5776:3;5772:12;5765:56;5855:5;5850:2;5845:3;5841:12;5834:27;5889:2;5884:3;5880:12;5873:19;;5585:313;;;;5907:375;;6067:67;6131:2;6126:3;6067:67;;;6060:74;;6167:34;6163:1;6158:3;6154:11;6147:55;6236:8;6231:2;6226:3;6222:12;6215:30;6273:2;6268:3;6264:12;6257:19;;6053:229;;;;6291:395;;6451:67;6515:2;6510:3;6451:67;;;6444:74;;6551:34;6547:1;6542:3;6538:11;6531:55;6620:28;6615:2;6610:3;6606:12;6599:50;6677:2;6672:3;6668:12;6661:19;;6437:249;;;;6695:397;;6855:67;6919:2;6914:3;6855:67;;;6848:74;;6955:34;6951:1;6946:3;6942:11;6935:55;7024:30;7019:2;7014:3;7010:12;7003:52;7083:2;7078:3;7074:12;7067:19;;6841:251;;;;7101:371;;7261:67;7325:2;7320:3;7261:67;;;7254:74;;7361:34;7357:1;7352:3;7348:11;7341:55;7430:4;7425:2;7420:3;7416:12;7409:26;7463:2;7458:3;7454:12;7447:19;;7247:225;;;;7481:431;;7659:85;7741:2;7736:3;7659:85;;;7652:92;;7777:34;7773:1;7768:3;7764:11;7757:55;7846:28;7841:2;7836:3;7832:12;7825:50;7903:2;7898:3;7894:12;7887:19;;7645:267;;;;7921:376;;8081:67;8145:2;8140:3;8081:67;;;8074:74;;8181:34;8177:1;8172:3;8168:11;8161:55;8250:9;8245:2;8240:3;8236:12;8229:31;8288:2;8283:3;8279:12;8272:19;;8067:230;;;;8305:113;8388:24;8406:5;8388:24;;;8383:3;8376:37;8370:48;;;8425:110;8506:23;8523:5;8506:23;;;8501:3;8494:36;8488:47;;;8542:107;8621:22;8637:5;8621:22;;;8616:3;8609:35;8603:46;;;8656:124;8738:36;8768:5;8738:36;;;8733:3;8726:49;8720:60;;;8787:110;8868:23;8885:5;8868:23;;;8863:3;8856:36;8850:47;;;8904:650;;9159:148;9303:3;9159:148;;;9152:155;;9318:75;9389:3;9380:6;9318:75;;;9415:2;9410:3;9406:12;9399:19;;9429:75;9500:3;9491:6;9429:75;;;9526:2;9521:3;9517:12;9510:19;;9546:3;9539:10;;9140:414;;;;;;9561:372;;9760:148;9904:3;9760:148;;;9753:155;;9925:3;9918:10;;9741:192;;;;9940:372;;10139:148;10283:3;10139:148;;;10132:155;;10304:3;10297:10;;10120:192;;;;10319:213;;10437:2;10426:9;10422:18;10414:26;;10451:71;10519:1;10508:9;10504:17;10495:6;10451:71;;;10408:124;;;;;10539:201;;10651:2;10640:9;10636:18;10628:26;;10665:65;10727:1;10716:9;10712:17;10703:6;10665:65;;;10622:118;;;;;10747:213;;10865:2;10854:9;10850:18;10842:26;;10879:71;10947:1;10936:9;10932:17;10923:6;10879:71;;;10836:124;;;;;10967:547;;11169:3;11158:9;11154:19;11146:27;;11184:71;11252:1;11241:9;11237:17;11228:6;11184:71;;;11266:72;11334:2;11323:9;11319:18;11310:6;11266:72;;;11349;11417:2;11406:9;11402:18;11393:6;11349:72;;;11432;11500:2;11489:9;11485:18;11476:6;11432:72;;;11140:374;;;;;;;;11521:547;;11723:3;11712:9;11708:19;11700:27;;11738:71;11806:1;11795:9;11791:17;11782:6;11738:71;;;11820:72;11888:2;11877:9;11873:18;11864:6;11820:72;;;11903;11971:2;11960:9;11956:18;11947:6;11903:72;;;11986;12054:2;12043:9;12039:18;12030:6;11986:72;;;11694:374;;;;;;;;12075:539;;12273:3;12262:9;12258:19;12250:27;;12288:71;12356:1;12345:9;12341:17;12332:6;12288:71;;;12370:68;12434:2;12423:9;12419:18;12410:6;12370:68;;;12449:72;12517:2;12506:9;12502:18;12493:6;12449:72;;;12532;12600:2;12589:9;12585:18;12576:6;12532:72;;;12244:370;;;;;;;;12621:293;;12755:2;12744:9;12740:18;12732:26;;12805:9;12799:4;12795:20;12791:1;12780:9;12776:17;12769:47;12830:74;12899:4;12890:6;12830:74;;;12822:82;;12726:188;;;;;12921:301;;13059:2;13048:9;13044:18;13036:26;;13109:9;13103:4;13099:20;13095:1;13084:9;13080:17;13073:47;13134:78;13207:4;13198:6;13134:78;;;13126:86;;13030:192;;;;;13229:407;;13420:2;13409:9;13405:18;13397:26;;13470:9;13464:4;13460:20;13456:1;13445:9;13441:17;13434:47;13495:131;13621:4;13495:131;;;13487:139;;13391:245;;;;13643:407;;13834:2;13823:9;13819:18;13811:26;;13884:9;13878:4;13874:20;13870:1;13859:9;13855:17;13848:47;13909:131;14035:4;13909:131;;;13901:139;;13805:245;;;;14057:407;;14248:2;14237:9;14233:18;14225:26;;14298:9;14292:4;14288:20;14284:1;14273:9;14269:17;14262:47;14323:131;14449:4;14323:131;;;14315:139;;14219:245;;;;14471:407;;14662:2;14651:9;14647:18;14639:26;;14712:9;14706:4;14702:20;14698:1;14687:9;14683:17;14676:47;14737:131;14863:4;14737:131;;;14729:139;;14633:245;;;;14885:407;;15076:2;15065:9;15061:18;15053:26;;15126:9;15120:4;15116:20;15112:1;15101:9;15097:17;15090:47;15151:131;15277:4;15151:131;;;15143:139;;15047:245;;;;15299:407;;15490:2;15479:9;15475:18;15467:26;;15540:9;15534:4;15530:20;15526:1;15515:9;15511:17;15504:47;15565:131;15691:4;15565:131;;;15557:139;;15461:245;;;;15713:213;;15831:2;15820:9;15816:18;15808:26;;15845:71;15913:1;15902:9;15898:17;15889:6;15845:71;;;15802:124;;;;;15933:209;;16049:2;16038:9;16034:18;16026:26;;16063:69;16129:1;16118:9;16114:17;16105:6;16063:69;;;16020:122;;;;;16149:316;;16291:2;16280:9;16276:18;16268:26;;16305:69;16371:1;16360:9;16356:17;16347:6;16305:69;;;16385:70;16451:2;16440:9;16436:18;16427:6;16385:70;;;16262:203;;;;;;16472:205;;16586:2;16575:9;16571:18;16563:26;;16600:67;16664:1;16653:9;16649:17;16640:6;16600:67;;;16557:120;;;;;16684:211;;16801:2;16790:9;16786:18;16778:26;;16815:70;16882:1;16871:9;16867:17;16858:6;16815:70;;;16772:123;;;;;16902:209;;17018:2;17007:9;17003:18;16995:26;;17032:69;17098:1;17087:9;17083:17;17074:6;17032:69;;;16989:122;;;;;17118:320;;17262:2;17251:9;17247:18;17239:26;;17276:70;17343:1;17332:9;17328:17;17319:6;17276:70;;;17357:71;17424:2;17413:9;17409:18;17400:6;17357:71;;;17233:205;;;;;;17445:118;;17535:5;17529:12;17519:22;;17500:63;;;;17570:122;;17664:5;17658:12;17648:22;;17629:63;;;;17700:163;;17815:6;17810:3;17803:19;17852:4;17847:3;17843:14;17828:29;;17796:67;;;;;17872:145;;18008:3;17993:18;;17986:31;;;;;18025:91;;18087:24;18105:5;18087:24;;;18076:35;;18070:46;;;;18123:85;;18196:5;18189:13;18182:21;18171:32;;18165:43;;;;18215:72;;18277:5;18266:16;;18260:27;;;;18294:121;;18367:42;18360:5;18356:54;18345:65;;18339:76;;;;18422:72;;18484:5;18473:16;;18467:27;;;;18501:88;;18573:10;18566:5;18562:22;18551:33;;18545:44;;;;18596:81;;18667:4;18660:5;18656:16;18645:27;;18639:38;;;;18684:104;;18756:26;18749:5;18745:38;18734:49;;18728:60;;;;18795:106;;18873:23;18890:5;18873:23;;;18860:36;;18854:47;;;;18909:268;18974:1;18981:101;18995:6;18992:1;18989:13;18981:101;;;19071:1;19066:3;19062:11;19056:18;19052:1;19047:3;19043:11;19036:39;19017:2;19014:1;19010:10;19005:15;;18981:101;;;19097:6;19094:1;19091:13;19088:2;;;19162:1;19153:6;19148:3;19144:16;19137:27;19088:2;18958:219;;;;;19185:74;;19249:5;19238:16;;19232:27;;;;19266:97;;19354:2;19350:7;19345:2;19338:5;19334:14;19330:28;19320:38;;19314:49;;;;19371:117;19440:24;19458:5;19440:24;;;19433:5;19430:35;19420:2;;19479:1;19476;19469:12;19420:2;19414:74;;19495:117;19564:24;19582:5;19564:24;;;19557:5;19554:35;19544:2;;19603:1;19600;19593:12;19544:2;19538:74;;19619:117;19688:24;19706:5;19688:24;;;19681:5;19678:35;19668:2;;19727:1;19724;19717:12;19668:2;19662:74;;19743:115;19811:23;19828:5;19811:23;;;19804:5;19801:34;19791:2;;19849:1;19846;19839:12;19791:2;19785:73;;19865:113;19932:22;19948:5;19932:22;;;19925:5;19922:33;19912:2;;19969:1;19966;19959:12;19912:2;19906:72;

Swarm Source

bzzr://e81a2a00e7e186a3de833ba53eee6ec12e45c7356e12a4794cb39e670ed30023

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.