ETH Price: $3,369.53 (+2.77%)

Token

BT.Finance (BT)
 

Overview

Max Total Supply

250,279.47 BT

Holders

2,017 (0.00%)

Market

Price

$0.25 @ 0.000075 ETH (+3.75%)

Onchain Market Cap

$63,439.31

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.03 BT

Value
$0.01 ( ~2.96777315908356E-06 Eth) [0.0000%]
0x97d87c77aaabb0ee7faa1921f9a651d4e0fc85dd
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

BT Finance is a smart Defi yield aggregator based on the Ethereum ecosystem that aims to target the best and sustainable yields for tokens.

Market

Volume (24H):$0.00
Market Capitalization:$0.00
Circulating Supply:0.00 BT
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BT

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-12-02
*/

/**
 *Submitted for verification at Etherscan.io on 2020-12-02
*/

pragma solidity ^0.5.16;
pragma experimental ABIEncoderV2;

// From https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/Math.sol
// Subject to the MIT license.

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting with custom message on overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, errorMessage);

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on underflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot underflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction underflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on underflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot underflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, errorMessage);

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers.
     * Reverts on division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers.
     * Reverts with custom message on division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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

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

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

    /// @notice Total number of tokens in circulation
    uint public totalSupply = 0;

    /// @notice Address which may mint new tokens
    address public minter;

    /// @notice Cap on the percentage of totalSupply that can be minted at each mint
    uint256 public constant maxTotalSupply = 270027e18;

    /// @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 The EIP-712 typehash for the permit struct used by the contract
    bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");

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

    /// @notice An event thats emitted when the minter address is changed
    event MinterChanged(address minter, address newMinter);

    /// @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 BT token
     * @param minter_ The account with minting ability
     */
    constructor(address minter_) public {
        minter = minter_;
        emit MinterChanged(address(0), minter);
    }

    /**
     * @notice Change the minter address
     * @param minter_ The address of the new minter
     */
    function setMinter(address minter_) external {
        require(msg.sender == minter, "BT::setMinter: only the minter can change the minter address");
        emit MinterChanged(minter, minter_);
        minter = minter_;
    }

    /**
     * @notice Mint new tokens
     * @param dst The address of the destination account
     * @param rawAmount The number of tokens to be minted
     */
    function mint(address dst, uint rawAmount) external {
        require(msg.sender == minter, "BT::mint: only the minter can mint");
        require(dst != address(0), "BT::mint: cannot transfer to the zero address");

        // mint the amount
        uint96 amount = safe96(rawAmount, "BT::mint: amount exceeds 96 bits");
        require(maxTotalSupply >= SafeMath.add(totalSupply, amount), "BT::mint: exceeded max totalSupply");
        totalSupply = safe96(SafeMath.add(totalSupply, amount), "BT::mint: totalSupply exceeds 96 bits");

        // transfer the amount to the recipient
        balances[dst] = add96(balances[dst], amount, "BT::mint: transfer amount overflows");
        emit Transfer(address(0), dst, amount);

        // move delegates
        _moveDelegates(address(0), delegates[dst], amount);
    }

    /**
     * @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, "BT::approve: amount exceeds 96 bits");
        }

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

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

    /**
     * @notice Triggers an approval from owner to spends
     * @param owner The address to approve from
     * @param spender The address to be approved
     * @param rawAmount The number of tokens that are approved (2^256-1 means infinite)
     * @param deadline 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 permit(address owner, address spender, uint rawAmount, uint deadline, uint8 v, bytes32 r, bytes32 s) external {
        uint96 amount;
        if (rawAmount == uint(-1)) {
            amount = uint96(-1);
        } else {
            amount = safe96(rawAmount, "BT::permit: amount exceeds 96 bits");
        }

        bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));
        bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, rawAmount, nonces[owner]++, deadline));
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "BT::permit: invalid signature");
        require(signatory == owner, "BT::permit: unauthorized");
        require(now <= deadline, "BT::permit: signature expired");

        allowances[owner][spender] = amount;

        emit Approval(owner, spender, amount);
    }

    /**
     * @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, "BT::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, "BT::approve: amount exceeds 96 bits");

        if (spender != src && spenderAllowance != uint96(-1)) {
            uint96 newAllowance = sub96(spenderAllowance, amount, "BT::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), "BT::delegateBySig: invalid signature");
        require(nonce == nonces[signatory]++, "BT::delegateBySig: invalid nonce");
        require(now <= expiry, "BT::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, "BT::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), "BT::_transferTokens: cannot transfer from the zero address");
        require(dst != address(0), "BT::_transferTokens: cannot transfer to the zero address");

        balances[src] = sub96(balances[src], amount, "BT::_transferTokens: transfer amount exceeds balance");
        balances[dst] = add96(balances[dst], amount, "BT::_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, "BT::_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, "BT::_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, "BT::_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":"minter_","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":false,"internalType":"address","name":"minter","type":"address"},{"indexed":false,"internalType":"address","name":"newMinter","type":"address"}],"name":"MinterChanged","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":[],"name":"PERMIT_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":"maxTotalSupply","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":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"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":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"minter_","type":"address"}],"name":"setMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","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"}]

6080604052600080553480156200001557600080fd5b5060405162003ff638038062003ff683398181016040526200003b9190810190620000f8565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f3b0007eb941cf645526cbb3a4fdaecda9d28ce4843167d9263b536a1f1edc0f66000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051620000d292919062000146565b60405180910390a150620001fd565b600081519050620000f281620001e3565b92915050565b6000602082840312156200010b57600080fd5b60006200011b84828501620000e1565b91505092915050565b6200012f81620001a7565b82525050565b620001408162000173565b82525050565b60006040820190506200015d600083018562000124565b6200016c602083018462000135565b9392505050565b6000620001808262000187565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001b482620001bb565b9050919050565b6000620001c882620001cf565b9050919050565b6000620001dc8262000187565b9050919050565b620001ee8162000173565b8114620001fa57600080fd5b50565b613de9806200020d6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636fcfff45116100de578063b4b5ea5711610097578063dd62ed3e11610071578063dd62ed3e14610488578063e7a324dc146104b8578063f1127ed8146104d6578063fca3b5aa1461050757610173565b8063b4b5ea5714610420578063c3cda52014610450578063d505accf1461046c57610173565b80636fcfff451461031257806370a0823114610342578063782d6fe1146103725780637ecebe00146103a257806395d89b41146103d2578063a9059cbb146103f057610173565b80632ab4d052116101305780632ab4d0521461025057806330adf81f1461026e578063313ce5671461028c57806340c10f19146102aa578063587cde1e146102c65780635c19a95c146102f657610173565b806306fdde03146101785780630754617214610196578063095ea7b3146101b457806318160ddd146101e457806320606b701461020257806323b872dd14610220575b600080fd5b610180610523565b60405161018d9190613772565b60405180910390f35b61019e61055c565b6040516101ab91906135c8565b60405180910390f35b6101ce60048036036101c99190810190612cbc565b610582565b6040516101db919061360c565b60405180910390f35b6101ec610715565b6040516101f99190613976565b60405180910390f35b61020a61071b565b6040516102179190613627565b60405180910390f35b61023a60048036036102359190810190612bcf565b610732565b604051610247919061360c565b60405180910390f35b6102586109c6565b6040516102659190613976565b60405180910390f35b6102766109d4565b6040516102839190613627565b60405180910390f35b6102946109eb565b6040516102a191906139d5565b60405180910390f35b6102c460048036036102bf9190810190612cbc565b6109f0565b005b6102e060048036036102db9190810190612b6a565b610da5565b6040516102ed91906135c8565b60405180910390f35b610310600480360361030b9190810190612b6a565b610dd8565b005b61032c60048036036103279190810190612b6a565b610de5565b6040516103399190613991565b60405180910390f35b61035c60048036036103579190810190612b6a565b610e08565b6040516103699190613976565b60405180910390f35b61038c60048036036103879190810190612cbc565b610e77565b6040516103999190613a0b565b60405180910390f35b6103bc60048036036103b79190810190612b6a565b61128a565b6040516103c99190613976565b60405180910390f35b6103da6112a2565b6040516103e79190613772565b60405180910390f35b61040a60048036036104059190810190612cbc565b6112db565b604051610417919061360c565b60405180910390f35b61043a60048036036104359190810190612b6a565b611318565b6040516104479190613a0b565b60405180910390f35b61046a60048036036104659190810190612cf8565b611406565b005b61048660048036036104819190810190612c1e565b6116a9565b005b6104a2600480360361049d9190810190612b93565b611afb565b6040516104af9190613976565b60405180910390f35b6104c0611ba8565b6040516104cd9190613627565b60405180910390f35b6104f060048036036104eb9190810190612d81565b611bbf565b6040516104fe9291906139ac565b60405180910390f35b610521600480360361051c9190810190612b6a565b611c18565b005b6040518060400160405280600a81526020017f42542e46696e616e63650000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8314156105d5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90506105fa565b6105f783604051806060016040528060238152602001613d4960239139611d47565b90505b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161070291906139f0565b60405180910390a3600191505092915050565b60005481565b6040516107279061359e565b604051809103902081565b6000803390506000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905060006107f585604051806060016040528060238152602001613d4960239139611d47565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561086f57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff16826bffffffffffffffffffffffff1614155b156109ad57600061089983836040518060600160405280603b8152602001613d6c603b9139611da5565b905080600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109a391906139f0565b60405180910390a3505b6109b8878783611e16565b600193505050509392505050565b69392e31688ba3744c000081565b6040516109e090613589565b604051809103902081565b601281565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7790613876565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610af0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae790613956565b60405180910390fd5b6000610b31826040518060400160405280602081526020017f42543a3a6d696e743a20616d6f756e7420657863656564732039362062697473815250611d47565b9050610b4d600054826bffffffffffffffffffffffff166121f7565b69392e31688ba3744c00001015610b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9090613816565b60405180910390fd5b610bd4610bb6600054836bffffffffffffffffffffffff166121f7565b604051806060016040528060258152602001613c0e60259139611d47565b6bffffffffffffffffffffffff16600081905550610c62600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1682604051806060016040528060238152602001613c956023913961224c565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d2d91906139f0565b60405180910390a3610da06000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836122c2565b505050565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610de233826125bd565b50565b60066020528060005260406000206000915054906101000a900463ffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b6000438210610ebb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb2906138b6565b60405180910390fd5b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161415610f28576000915050611284565b82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161161102a57600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff16915050611284565b82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff1611156110ab576000915050611284565b600080905060006001830390505b8163ffffffff168163ffffffff161115611206576000600283830363ffffffff16816110e157fe5b04820390506110ee612ad3565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086816000015163ffffffff1614156111de57806020015195505050505050611284565b86816000015163ffffffff1610156111f8578193506111ff565b6001820392505b50506110b9565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1693505050505b92915050565b60076020528060005260406000206000915090505481565b6040518060400160405280600281526020017f425400000000000000000000000000000000000000000000000000000000000081525081565b60008061130083604051806060016040528060248152602001613cb860249139611d47565b905061130d338583611e16565b600191505092915050565b600080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff16116113825760006113fe565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b915050919050565b60006040516114149061359e565b60405180910390206040518060400160405280600a81526020017f42542e46696e616e6365000000000000000000000000000000000000000000008152508051906020012061146161277d565b3060405160200161147594939291906136e8565b604051602081830303815290604052805190602001209050600060405161149b906135b3565b60405180910390208888886040516020016114b994939291906136a3565b604051602081830303815290604052805190602001209050600082826040516020016114e6929190613552565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051611523949392919061372d565b6020604051602081039080840390855afa158015611545573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b890613896565b60405180910390fd5b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558914611650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164790613916565b60405180910390fd5b87421115611693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168a90613856565b60405180910390fd5b61169d818b6125bd565b50505050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8614156116fb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050611720565b61171d86604051806060016040528060228152602001613cdc60229139611d47565b90505b600060405161172e9061359e565b60405180910390206040518060400160405280600a81526020017f42542e46696e616e6365000000000000000000000000000000000000000000008152508051906020012061177b61277d565b3060405160200161178f94939291906136e8565b60405160208183030381529060405280519060200120905060006040516117b590613589565b60405180910390208a8a8a600760008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b60405160200161182496959493929190613642565b60405160208183030381529060405280519060200120905060008282604051602001611851929190613552565b60405160208183030381529060405280519060200120905060006001828989896040516000815260200160405260405161188e949392919061372d565b6020604051602081039080840390855afa1580156118b0573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561192c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611923906138d6565b60405180910390fd5b8b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461199a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611991906137d6565b60405180910390fd5b884211156119dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d4906137f6565b60405180910390fd5b84600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051611ae591906139f0565b60405180910390a3505050505050505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b604051611bb4906135b3565b604051809103902081565b6005602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046bffffffffffffffffffffffff16905082565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ca8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9f906138f6565b60405180910390fd5b7f3b0007eb941cf645526cbb3a4fdaecda9d28ce4843167d9263b536a1f1edc0f6600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051611cfb9291906135e3565b60405180910390a180600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006c0100000000000000000000000083108290611d9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d929190613794565b60405180910390fd5b5082905092915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290611e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e009190613794565b60405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7d90613936565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ef6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eed906137b6565b60405180910390fd5b611f70600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1682604051806060016040528060348152602001613c3360349139611da5565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550612057600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16826040518060600160405280602e8152602001613c67602e913961224c565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161212191906139f0565b60405180910390a36121f2600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836122c2565b505050565b600080828401905083811015612242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223990613836565b60405180910390fd5b8091505092915050565b6000808385019050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff16101583906122b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ad9190613794565b60405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561230c57506000816bffffffffffffffffffffffff16115b156125b857600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612464576000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116123af57600061242b565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b905060006124528285604051806060016040528060268152602001613cfe60269139611da5565b90506124608684848461278a565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146125b7576000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff161161250257600061257e565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b905060006125a58285604051806060016040528060258152602001613d246025913961224c565b90506125b38584848461278a565b5050505b5b505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46127778284836122c2565b50505050565b6000804690508091505090565b60006127ae43604051806060016040528060328152602001613bdc60329139612a7d565b905060008463ffffffff1611801561284357508063ffffffff16600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16145b156128de5781600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550612a26565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff16815250600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060018401600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248484604051612a6e929190613a26565b60405180910390a25050505050565b600064010000000083108290612ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac09190613794565b60405180910390fd5b5082905092915050565b6040518060400160405280600063ffffffff16815260200160006bffffffffffffffffffffffff1681525090565b600081359050612b1081613b68565b92915050565b600081359050612b2581613b7f565b92915050565b600081359050612b3a81613b96565b92915050565b600081359050612b4f81613bad565b92915050565b600081359050612b6481613bc4565b92915050565b600060208284031215612b7c57600080fd5b6000612b8a84828501612b01565b91505092915050565b60008060408385031215612ba657600080fd5b6000612bb485828601612b01565b9250506020612bc585828601612b01565b9150509250929050565b600080600060608486031215612be457600080fd5b6000612bf286828701612b01565b9350506020612c0386828701612b01565b9250506040612c1486828701612b2b565b9150509250925092565b600080600080600080600060e0888a031215612c3957600080fd5b6000612c478a828b01612b01565b9750506020612c588a828b01612b01565b9650506040612c698a828b01612b2b565b9550506060612c7a8a828b01612b2b565b9450506080612c8b8a828b01612b55565b93505060a0612c9c8a828b01612b16565b92505060c0612cad8a828b01612b16565b91505092959891949750929550565b60008060408385031215612ccf57600080fd5b6000612cdd85828601612b01565b9250506020612cee85828601612b2b565b9150509250929050565b60008060008060008060c08789031215612d1157600080fd5b6000612d1f89828a01612b01565b9650506020612d3089828a01612b2b565b9550506040612d4189828a01612b2b565b9450506060612d5289828a01612b55565b9350506080612d6389828a01612b16565b92505060a0612d7489828a01612b16565b9150509295509295509295565b60008060408385031215612d9457600080fd5b6000612da285828601612b01565b9250506020612db385828601612b40565b9150509250929050565b612dc681613a81565b82525050565b612dd581613a93565b82525050565b612de481613a9f565b82525050565b612dfb612df682613a9f565b613b4d565b82525050565b6000612e0c82613a5a565b612e168185613a65565b9350612e26818560208601613b1a565b612e2f81613b57565b840191505092915050565b6000612e4582613a4f565b612e4f8185613a65565b9350612e5f818560208601613b1a565b612e6881613b57565b840191505092915050565b6000612e80603883613a65565b91507f42543a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e60008301527f7366657220746f20746865207a65726f206164647265737300000000000000006020830152604082019050919050565b6000612ee6601883613a65565b91507f42543a3a7065726d69743a20756e617574686f72697a656400000000000000006000830152602082019050919050565b6000612f26601d83613a65565b91507f42543a3a7065726d69743a207369676e617475726520657870697265640000006000830152602082019050919050565b6000612f66602283613a65565b91507f42543a3a6d696e743a206578636565646564206d617820746f74616c5375707060008301527f6c790000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612fcc600283613a76565b91507f19010000000000000000000000000000000000000000000000000000000000006000830152600282019050919050565b600061300c601b83613a65565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b600061304c602483613a65565b91507f42543a3a64656c656761746542795369673a207369676e61747572652065787060008301527f69726564000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006130b2602283613a65565b91507f42543a3a6d696e743a206f6e6c7920746865206d696e7465722063616e206d6960008301527f6e740000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613118602483613a65565b91507f42543a3a64656c656761746542795369673a20696e76616c6964207369676e6160008301527f74757265000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061317e602583613a65565b91507f42543a3a6765745072696f72566f7465733a206e6f742079657420646574657260008301527f6d696e65640000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006131e4605283613a76565b91507f5065726d69742861646472657373206f776e65722c616464726573732073706560008301527f6e6465722c75696e743235362076616c75652c75696e74323536206e6f6e636560208301527f2c75696e7432353620646561646c696e652900000000000000000000000000006040830152605282019050919050565b6000613270604383613a76565b91507f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353660008301527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208301527f63742900000000000000000000000000000000000000000000000000000000006040830152604382019050919050565b60006132fc601d83613a65565b91507f42543a3a7065726d69743a20696e76616c6964207369676e61747572650000006000830152602082019050919050565b600061333c603c83613a65565b91507f42543a3a7365744d696e7465723a206f6e6c7920746865206d696e746572206360008301527f616e206368616e676520746865206d696e7465722061646472657373000000006020830152604082019050919050565b60006133a2602083613a65565b91507f42543a3a64656c656761746542795369673a20696e76616c6964206e6f6e63656000830152602082019050919050565b60006133e2603a83613a65565b91507f42543a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e60008301527f736665722066726f6d20746865207a65726f20616464726573730000000000006020830152604082019050919050565b6000613448602d83613a65565b91507f42543a3a6d696e743a2063616e6e6f74207472616e7366657220746f2074686560008301527f207a65726f2061646472657373000000000000000000000000000000000000006020830152604082019050919050565b60006134ae603a83613a76565b91507f44656c65676174696f6e28616464726573732064656c6567617465652c75696e60008301527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020830152603a82019050919050565b61351081613ac9565b82525050565b61351f81613ad3565b82525050565b61352e81613ae3565b82525050565b61353d81613b08565b82525050565b61354c81613af0565b82525050565b600061355d82612fbf565b91506135698285612dea565b6020820191506135798284612dea565b6020820191508190509392505050565b6000613594826131d7565b9150819050919050565b60006135a982613263565b9150819050919050565b60006135be826134a1565b9150819050919050565b60006020820190506135dd6000830184612dbd565b92915050565b60006040820190506135f86000830185612dbd565b6136056020830184612dbd565b9392505050565b60006020820190506136216000830184612dcc565b92915050565b600060208201905061363c6000830184612ddb565b92915050565b600060c0820190506136576000830189612ddb565b6136646020830188612dbd565b6136716040830187612dbd565b61367e6060830186613507565b61368b6080830185613507565b61369860a0830184613507565b979650505050505050565b60006080820190506136b86000830187612ddb565b6136c56020830186612dbd565b6136d26040830185613507565b6136df6060830184613507565b95945050505050565b60006080820190506136fd6000830187612ddb565b61370a6020830186612ddb565b6137176040830185613507565b6137246060830184612dbd565b95945050505050565b60006080820190506137426000830187612ddb565b61374f6020830186613525565b61375c6040830185612ddb565b6137696060830184612ddb565b95945050505050565b6000602082019050818103600083015261378c8184612e3a565b905092915050565b600060208201905081810360008301526137ae8184612e01565b905092915050565b600060208201905081810360008301526137cf81612e73565b9050919050565b600060208201905081810360008301526137ef81612ed9565b9050919050565b6000602082019050818103600083015261380f81612f19565b9050919050565b6000602082019050818103600083015261382f81612f59565b9050919050565b6000602082019050818103600083015261384f81612fff565b9050919050565b6000602082019050818103600083015261386f8161303f565b9050919050565b6000602082019050818103600083015261388f816130a5565b9050919050565b600060208201905081810360008301526138af8161310b565b9050919050565b600060208201905081810360008301526138cf81613171565b9050919050565b600060208201905081810360008301526138ef816132ef565b9050919050565b6000602082019050818103600083015261390f8161332f565b9050919050565b6000602082019050818103600083015261392f81613395565b9050919050565b6000602082019050818103600083015261394f816133d5565b9050919050565b6000602082019050818103600083015261396f8161343b565b9050919050565b600060208201905061398b6000830184613507565b92915050565b60006020820190506139a66000830184613516565b92915050565b60006040820190506139c16000830185613516565b6139ce6020830184613543565b9392505050565b60006020820190506139ea6000830184613525565b92915050565b6000602082019050613a056000830184613534565b92915050565b6000602082019050613a206000830184613543565b92915050565b6000604082019050613a3b6000830185613534565b613a486020830184613534565b9392505050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000613a8c82613aa9565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b60006bffffffffffffffffffffffff82169050919050565b6000613b1382613af0565b9050919050565b60005b83811015613b38578082015181840152602081019050613b1d565b83811115613b47576000848401525b50505050565b6000819050919050565b6000601f19601f8301169050919050565b613b7181613a81565b8114613b7c57600080fd5b50565b613b8881613a9f565b8114613b9357600080fd5b50565b613b9f81613ac9565b8114613baa57600080fd5b50565b613bb681613ad3565b8114613bc157600080fd5b50565b613bcd81613ae3565b8114613bd857600080fd5b5056fe42543a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747342543a3a6d696e743a20746f74616c537570706c792065786365656473203936206269747342543a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e636542543a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f777342543a3a6d696e743a207472616e7366657220616d6f756e74206f766572666c6f777342543a3a7472616e736665723a20616d6f756e742065786365656473203936206269747342543a3a7065726d69743a20616d6f756e742065786365656473203936206269747342543a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f777342543a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f777342543a3a617070726f76653a20616d6f756e742065786365656473203936206269747342543a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365a365627a7a723158208e4c0d93e0e57bcfc54480ed1dd335b9aa24187d716113f71d0d0905cd3072536c6578706572696d656e74616cf564736f6c634300051000400000000000000000000000005e1f55a4a02890cf7d599a8d39cb5e4cdbef3aea

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c80636fcfff45116100de578063b4b5ea5711610097578063dd62ed3e11610071578063dd62ed3e14610488578063e7a324dc146104b8578063f1127ed8146104d6578063fca3b5aa1461050757610173565b8063b4b5ea5714610420578063c3cda52014610450578063d505accf1461046c57610173565b80636fcfff451461031257806370a0823114610342578063782d6fe1146103725780637ecebe00146103a257806395d89b41146103d2578063a9059cbb146103f057610173565b80632ab4d052116101305780632ab4d0521461025057806330adf81f1461026e578063313ce5671461028c57806340c10f19146102aa578063587cde1e146102c65780635c19a95c146102f657610173565b806306fdde03146101785780630754617214610196578063095ea7b3146101b457806318160ddd146101e457806320606b701461020257806323b872dd14610220575b600080fd5b610180610523565b60405161018d9190613772565b60405180910390f35b61019e61055c565b6040516101ab91906135c8565b60405180910390f35b6101ce60048036036101c99190810190612cbc565b610582565b6040516101db919061360c565b60405180910390f35b6101ec610715565b6040516101f99190613976565b60405180910390f35b61020a61071b565b6040516102179190613627565b60405180910390f35b61023a60048036036102359190810190612bcf565b610732565b604051610247919061360c565b60405180910390f35b6102586109c6565b6040516102659190613976565b60405180910390f35b6102766109d4565b6040516102839190613627565b60405180910390f35b6102946109eb565b6040516102a191906139d5565b60405180910390f35b6102c460048036036102bf9190810190612cbc565b6109f0565b005b6102e060048036036102db9190810190612b6a565b610da5565b6040516102ed91906135c8565b60405180910390f35b610310600480360361030b9190810190612b6a565b610dd8565b005b61032c60048036036103279190810190612b6a565b610de5565b6040516103399190613991565b60405180910390f35b61035c60048036036103579190810190612b6a565b610e08565b6040516103699190613976565b60405180910390f35b61038c60048036036103879190810190612cbc565b610e77565b6040516103999190613a0b565b60405180910390f35b6103bc60048036036103b79190810190612b6a565b61128a565b6040516103c99190613976565b60405180910390f35b6103da6112a2565b6040516103e79190613772565b60405180910390f35b61040a60048036036104059190810190612cbc565b6112db565b604051610417919061360c565b60405180910390f35b61043a60048036036104359190810190612b6a565b611318565b6040516104479190613a0b565b60405180910390f35b61046a60048036036104659190810190612cf8565b611406565b005b61048660048036036104819190810190612c1e565b6116a9565b005b6104a2600480360361049d9190810190612b93565b611afb565b6040516104af9190613976565b60405180910390f35b6104c0611ba8565b6040516104cd9190613627565b60405180910390f35b6104f060048036036104eb9190810190612d81565b611bbf565b6040516104fe9291906139ac565b60405180910390f35b610521600480360361051c9190810190612b6a565b611c18565b005b6040518060400160405280600a81526020017f42542e46696e616e63650000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8314156105d5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90506105fa565b6105f783604051806060016040528060238152602001613d4960239139611d47565b90505b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161070291906139f0565b60405180910390a3600191505092915050565b60005481565b6040516107279061359e565b604051809103902081565b6000803390506000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905060006107f585604051806060016040528060238152602001613d4960239139611d47565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561086f57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff16826bffffffffffffffffffffffff1614155b156109ad57600061089983836040518060600160405280603b8152602001613d6c603b9139611da5565b905080600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109a391906139f0565b60405180910390a3505b6109b8878783611e16565b600193505050509392505050565b69392e31688ba3744c000081565b6040516109e090613589565b604051809103902081565b601281565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7790613876565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610af0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae790613956565b60405180910390fd5b6000610b31826040518060400160405280602081526020017f42543a3a6d696e743a20616d6f756e7420657863656564732039362062697473815250611d47565b9050610b4d600054826bffffffffffffffffffffffff166121f7565b69392e31688ba3744c00001015610b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9090613816565b60405180910390fd5b610bd4610bb6600054836bffffffffffffffffffffffff166121f7565b604051806060016040528060258152602001613c0e60259139611d47565b6bffffffffffffffffffffffff16600081905550610c62600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1682604051806060016040528060238152602001613c956023913961224c565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d2d91906139f0565b60405180910390a3610da06000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836122c2565b505050565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610de233826125bd565b50565b60066020528060005260406000206000915054906101000a900463ffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b6000438210610ebb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb2906138b6565b60405180910390fd5b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161415610f28576000915050611284565b82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161161102a57600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff16915050611284565b82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff1611156110ab576000915050611284565b600080905060006001830390505b8163ffffffff168163ffffffff161115611206576000600283830363ffffffff16816110e157fe5b04820390506110ee612ad3565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086816000015163ffffffff1614156111de57806020015195505050505050611284565b86816000015163ffffffff1610156111f8578193506111ff565b6001820392505b50506110b9565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1693505050505b92915050565b60076020528060005260406000206000915090505481565b6040518060400160405280600281526020017f425400000000000000000000000000000000000000000000000000000000000081525081565b60008061130083604051806060016040528060248152602001613cb860249139611d47565b905061130d338583611e16565b600191505092915050565b600080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff16116113825760006113fe565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b915050919050565b60006040516114149061359e565b60405180910390206040518060400160405280600a81526020017f42542e46696e616e6365000000000000000000000000000000000000000000008152508051906020012061146161277d565b3060405160200161147594939291906136e8565b604051602081830303815290604052805190602001209050600060405161149b906135b3565b60405180910390208888886040516020016114b994939291906136a3565b604051602081830303815290604052805190602001209050600082826040516020016114e6929190613552565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051611523949392919061372d565b6020604051602081039080840390855afa158015611545573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b890613896565b60405180910390fd5b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558914611650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164790613916565b60405180910390fd5b87421115611693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168a90613856565b60405180910390fd5b61169d818b6125bd565b50505050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8614156116fb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050611720565b61171d86604051806060016040528060228152602001613cdc60229139611d47565b90505b600060405161172e9061359e565b60405180910390206040518060400160405280600a81526020017f42542e46696e616e6365000000000000000000000000000000000000000000008152508051906020012061177b61277d565b3060405160200161178f94939291906136e8565b60405160208183030381529060405280519060200120905060006040516117b590613589565b60405180910390208a8a8a600760008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b60405160200161182496959493929190613642565b60405160208183030381529060405280519060200120905060008282604051602001611851929190613552565b60405160208183030381529060405280519060200120905060006001828989896040516000815260200160405260405161188e949392919061372d565b6020604051602081039080840390855afa1580156118b0573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561192c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611923906138d6565b60405180910390fd5b8b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461199a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611991906137d6565b60405180910390fd5b884211156119dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d4906137f6565b60405180910390fd5b84600260008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051611ae591906139f0565b60405180910390a3505050505050505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b604051611bb4906135b3565b604051809103902081565b6005602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046bffffffffffffffffffffffff16905082565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ca8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9f906138f6565b60405180910390fd5b7f3b0007eb941cf645526cbb3a4fdaecda9d28ce4843167d9263b536a1f1edc0f6600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051611cfb9291906135e3565b60405180910390a180600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006c0100000000000000000000000083108290611d9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d929190613794565b60405180910390fd5b5082905092915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290611e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e009190613794565b60405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7d90613936565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ef6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eed906137b6565b60405180910390fd5b611f70600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1682604051806060016040528060348152602001613c3360349139611da5565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550612057600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16826040518060600160405280602e8152602001613c67602e913961224c565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161212191906139f0565b60405180910390a36121f2600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836122c2565b505050565b600080828401905083811015612242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223990613836565b60405180910390fd5b8091505092915050565b6000808385019050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff16101583906122b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ad9190613794565b60405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561230c57506000816bffffffffffffffffffffffff16115b156125b857600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612464576000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116123af57600061242b565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b905060006124528285604051806060016040528060268152602001613cfe60269139611da5565b90506124608684848461278a565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146125b7576000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff161161250257600061257e565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b905060006125a58285604051806060016040528060258152602001613d246025913961224c565b90506125b38584848461278a565b5050505b5b505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46127778284836122c2565b50505050565b6000804690508091505090565b60006127ae43604051806060016040528060328152602001613bdc60329139612a7d565b905060008463ffffffff1611801561284357508063ffffffff16600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16145b156128de5781600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550612a26565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff16815250600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060018401600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248484604051612a6e929190613a26565b60405180910390a25050505050565b600064010000000083108290612ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac09190613794565b60405180910390fd5b5082905092915050565b6040518060400160405280600063ffffffff16815260200160006bffffffffffffffffffffffff1681525090565b600081359050612b1081613b68565b92915050565b600081359050612b2581613b7f565b92915050565b600081359050612b3a81613b96565b92915050565b600081359050612b4f81613bad565b92915050565b600081359050612b6481613bc4565b92915050565b600060208284031215612b7c57600080fd5b6000612b8a84828501612b01565b91505092915050565b60008060408385031215612ba657600080fd5b6000612bb485828601612b01565b9250506020612bc585828601612b01565b9150509250929050565b600080600060608486031215612be457600080fd5b6000612bf286828701612b01565b9350506020612c0386828701612b01565b9250506040612c1486828701612b2b565b9150509250925092565b600080600080600080600060e0888a031215612c3957600080fd5b6000612c478a828b01612b01565b9750506020612c588a828b01612b01565b9650506040612c698a828b01612b2b565b9550506060612c7a8a828b01612b2b565b9450506080612c8b8a828b01612b55565b93505060a0612c9c8a828b01612b16565b92505060c0612cad8a828b01612b16565b91505092959891949750929550565b60008060408385031215612ccf57600080fd5b6000612cdd85828601612b01565b9250506020612cee85828601612b2b565b9150509250929050565b60008060008060008060c08789031215612d1157600080fd5b6000612d1f89828a01612b01565b9650506020612d3089828a01612b2b565b9550506040612d4189828a01612b2b565b9450506060612d5289828a01612b55565b9350506080612d6389828a01612b16565b92505060a0612d7489828a01612b16565b9150509295509295509295565b60008060408385031215612d9457600080fd5b6000612da285828601612b01565b9250506020612db385828601612b40565b9150509250929050565b612dc681613a81565b82525050565b612dd581613a93565b82525050565b612de481613a9f565b82525050565b612dfb612df682613a9f565b613b4d565b82525050565b6000612e0c82613a5a565b612e168185613a65565b9350612e26818560208601613b1a565b612e2f81613b57565b840191505092915050565b6000612e4582613a4f565b612e4f8185613a65565b9350612e5f818560208601613b1a565b612e6881613b57565b840191505092915050565b6000612e80603883613a65565b91507f42543a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e60008301527f7366657220746f20746865207a65726f206164647265737300000000000000006020830152604082019050919050565b6000612ee6601883613a65565b91507f42543a3a7065726d69743a20756e617574686f72697a656400000000000000006000830152602082019050919050565b6000612f26601d83613a65565b91507f42543a3a7065726d69743a207369676e617475726520657870697265640000006000830152602082019050919050565b6000612f66602283613a65565b91507f42543a3a6d696e743a206578636565646564206d617820746f74616c5375707060008301527f6c790000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612fcc600283613a76565b91507f19010000000000000000000000000000000000000000000000000000000000006000830152600282019050919050565b600061300c601b83613a65565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b600061304c602483613a65565b91507f42543a3a64656c656761746542795369673a207369676e61747572652065787060008301527f69726564000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006130b2602283613a65565b91507f42543a3a6d696e743a206f6e6c7920746865206d696e7465722063616e206d6960008301527f6e740000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613118602483613a65565b91507f42543a3a64656c656761746542795369673a20696e76616c6964207369676e6160008301527f74757265000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061317e602583613a65565b91507f42543a3a6765745072696f72566f7465733a206e6f742079657420646574657260008301527f6d696e65640000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006131e4605283613a76565b91507f5065726d69742861646472657373206f776e65722c616464726573732073706560008301527f6e6465722c75696e743235362076616c75652c75696e74323536206e6f6e636560208301527f2c75696e7432353620646561646c696e652900000000000000000000000000006040830152605282019050919050565b6000613270604383613a76565b91507f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353660008301527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208301527f63742900000000000000000000000000000000000000000000000000000000006040830152604382019050919050565b60006132fc601d83613a65565b91507f42543a3a7065726d69743a20696e76616c6964207369676e61747572650000006000830152602082019050919050565b600061333c603c83613a65565b91507f42543a3a7365744d696e7465723a206f6e6c7920746865206d696e746572206360008301527f616e206368616e676520746865206d696e7465722061646472657373000000006020830152604082019050919050565b60006133a2602083613a65565b91507f42543a3a64656c656761746542795369673a20696e76616c6964206e6f6e63656000830152602082019050919050565b60006133e2603a83613a65565b91507f42543a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e60008301527f736665722066726f6d20746865207a65726f20616464726573730000000000006020830152604082019050919050565b6000613448602d83613a65565b91507f42543a3a6d696e743a2063616e6e6f74207472616e7366657220746f2074686560008301527f207a65726f2061646472657373000000000000000000000000000000000000006020830152604082019050919050565b60006134ae603a83613a76565b91507f44656c65676174696f6e28616464726573732064656c6567617465652c75696e60008301527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020830152603a82019050919050565b61351081613ac9565b82525050565b61351f81613ad3565b82525050565b61352e81613ae3565b82525050565b61353d81613b08565b82525050565b61354c81613af0565b82525050565b600061355d82612fbf565b91506135698285612dea565b6020820191506135798284612dea565b6020820191508190509392505050565b6000613594826131d7565b9150819050919050565b60006135a982613263565b9150819050919050565b60006135be826134a1565b9150819050919050565b60006020820190506135dd6000830184612dbd565b92915050565b60006040820190506135f86000830185612dbd565b6136056020830184612dbd565b9392505050565b60006020820190506136216000830184612dcc565b92915050565b600060208201905061363c6000830184612ddb565b92915050565b600060c0820190506136576000830189612ddb565b6136646020830188612dbd565b6136716040830187612dbd565b61367e6060830186613507565b61368b6080830185613507565b61369860a0830184613507565b979650505050505050565b60006080820190506136b86000830187612ddb565b6136c56020830186612dbd565b6136d26040830185613507565b6136df6060830184613507565b95945050505050565b60006080820190506136fd6000830187612ddb565b61370a6020830186612ddb565b6137176040830185613507565b6137246060830184612dbd565b95945050505050565b60006080820190506137426000830187612ddb565b61374f6020830186613525565b61375c6040830185612ddb565b6137696060830184612ddb565b95945050505050565b6000602082019050818103600083015261378c8184612e3a565b905092915050565b600060208201905081810360008301526137ae8184612e01565b905092915050565b600060208201905081810360008301526137cf81612e73565b9050919050565b600060208201905081810360008301526137ef81612ed9565b9050919050565b6000602082019050818103600083015261380f81612f19565b9050919050565b6000602082019050818103600083015261382f81612f59565b9050919050565b6000602082019050818103600083015261384f81612fff565b9050919050565b6000602082019050818103600083015261386f8161303f565b9050919050565b6000602082019050818103600083015261388f816130a5565b9050919050565b600060208201905081810360008301526138af8161310b565b9050919050565b600060208201905081810360008301526138cf81613171565b9050919050565b600060208201905081810360008301526138ef816132ef565b9050919050565b6000602082019050818103600083015261390f8161332f565b9050919050565b6000602082019050818103600083015261392f81613395565b9050919050565b6000602082019050818103600083015261394f816133d5565b9050919050565b6000602082019050818103600083015261396f8161343b565b9050919050565b600060208201905061398b6000830184613507565b92915050565b60006020820190506139a66000830184613516565b92915050565b60006040820190506139c16000830185613516565b6139ce6020830184613543565b9392505050565b60006020820190506139ea6000830184613525565b92915050565b6000602082019050613a056000830184613534565b92915050565b6000602082019050613a206000830184613543565b92915050565b6000604082019050613a3b6000830185613534565b613a486020830184613534565b9392505050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000613a8c82613aa9565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b60006bffffffffffffffffffffffff82169050919050565b6000613b1382613af0565b9050919050565b60005b83811015613b38578082015181840152602081019050613b1d565b83811115613b47576000848401525b50505050565b6000819050919050565b6000601f19601f8301169050919050565b613b7181613a81565b8114613b7c57600080fd5b50565b613b8881613a9f565b8114613b9357600080fd5b50565b613b9f81613ac9565b8114613baa57600080fd5b50565b613bb681613ad3565b8114613bc157600080fd5b50565b613bcd81613ae3565b8114613bd857600080fd5b5056fe42543a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747342543a3a6d696e743a20746f74616c537570706c792065786365656473203936206269747342543a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e636542543a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f777342543a3a6d696e743a207472616e7366657220616d6f756e74206f766572666c6f777342543a3a7472616e736665723a20616d6f756e742065786365656473203936206269747342543a3a7065726d69743a20616d6f756e742065786365656473203936206269747342543a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f777342543a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f777342543a3a617070726f76653a20616d6f756e742065786365656473203936206269747342543a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365a365627a7a723158208e4c0d93e0e57bcfc54480ed1dd335b9aa24187d716113f71d0d0905cd3072536c6578706572696d656e74616cf564736f6c63430005100040

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

0000000000000000000000005e1f55a4a02890cf7d599a8d39cb5e4cdbef3aea

-----Decoded View---------------
Arg [0] : minter_ (address): 0x5e1F55A4a02890Cf7d599a8d39CB5e4CDbef3aea

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005e1f55a4a02890cf7d599a8d39cb5e4cdbef3aea


Deployed Bytecode Sourcemap

6706:16220:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6706:16220:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6775:42;;;:::i;:::-;;;;;;;;;;;;;;;;7163:21;;;:::i;:::-;;;;;;;;;;;;;;;;12185:417;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7076:27;;;:::i;:::-;;;;;;;;;;;;;;;;8194:122;;;:::i;:::-;;;;;;;;;;;;;;;;15259:668;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7279:50;;;:::i;:::-;;;;;;;;;;;;;;;;8617:137;;;:::i;:::-;;;;;;;;;;;;;;;;6977:35;;;:::i;:::-;;;;;;;;;;;;;;;;10433:834;;;;;;;;;;;;;;;;:::i;:::-;;7644:45;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;16075:102;;;;;;;;;;;;;;;;:::i;:::-;;8072:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;14341:108;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;18248:1216;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;8835:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6878:36;;;:::i;:::-;;;;;;;;;;;;;;;;14713:236;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;17595:222;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;16611:783;;;;;;;;;;;;;;;;:::i;:::-;;13092:1046;;;;;;;;;;;;;;;;:::i;:::-;;11571:136;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;8410:117;;;:::i;:::-;;;;;;;;;;;;;;;;7933:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;10028:230;;;;;;;;;;;;;;;;:::i;:::-;;6775:42;;;;;;;;;;;;;;;;;;;:::o;7163:21::-;;;;;;;;;;;;;:::o;12185:417::-;12253:4;12270:13;12316:2;12298:9;:21;12294:171;;;12352:2;12336:19;;12294:171;;;12397:56;12404:9;12397:56;;;;;;;;;;;;;;;;;:6;:56::i;:::-;12388:65;;12294:171;12511:6;12477:10;:22;12488:10;12477:22;;;;;;;;;;;;;;;:31;12500:7;12477:31;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;12556:7;12535:37;;12544:10;12535:37;;;12565:6;12535:37;;;;;;;;;;;;;;;12590:4;12583:11;;;12185:417;;;;:::o;7076:27::-;;;;:::o;8194:122::-;8236:80;;;;;;;;;;;;;;8194:122;:::o;15259:668::-;15341:4;15358:15;15376:10;15358:28;;15397:23;15423:10;:15;15434:3;15423:15;;;;;;;;;;;;;;;:24;15439:7;15423:24;;;;;;;;;;;;;;;;;;;;;;;;;15397:50;;15458:13;15474:56;15481:9;15474:56;;;;;;;;;;;;;;;;;:6;:56::i;:::-;15458:72;;15558:3;15547:14;;:7;:14;;;;:48;;;;;15592:2;15565:30;;:16;:30;;;;15547:48;15543:309;;;15612:19;15634:94;15640:16;15658:6;15634:94;;;;;;;;;;;;;;;;;:5;:94::i;:::-;15612:116;;15770:12;15743:10;:15;15754:3;15743:15;;;;;;;;;;;;;;;:24;15759:7;15743:24;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15818:7;15804:36;;15813:3;15804:36;;;15827:12;15804:36;;;;;;;;;;;;;;;15543:309;;15864:33;15880:3;15885;15890:6;15864:15;:33::i;:::-;15915:4;15908:11;;;;;15259:668;;;;;:::o;7279:50::-;7320:9;7279:50;:::o;8617:137::-;8659:95;;;;;;;;;;;;;;8617:137;:::o;6977:35::-;7010:2;6977:35;:::o;10433:834::-;10518:6;;;;;;;;;;;10504:20;;:10;:20;;;10496:67;;;;;;;;;;;;;;;;;;;;;;10597:1;10582:17;;:3;:17;;;;10574:75;;;;;;;;;;;;;;;;;;;;;;10690:13;10706:53;10713:9;10706:53;;;;;;;;;;;;;;;;;:6;:53::i;:::-;10690:69;;10796:33;10809:11;;10822:6;10796:33;;:12;:33::i;:::-;7320:9;10778:51;;10770:98;;;;;;;;;;;;;;;;;;;;;;10893:82;10900:33;10913:11;;10926:6;10900:33;;:12;:33::i;:::-;10893:82;;;;;;;;;;;;;;;;;:6;:82::i;:::-;10879:96;;:11;:96;;;;11053:67;11059:8;:13;11068:3;11059:13;;;;;;;;;;;;;;;;;;;;;;;;;11074:6;11053:67;;;;;;;;;;;;;;;;;:5;:67::i;:::-;11037:8;:13;11046:3;11037:13;;;;;;;;;;;;;;;;:83;;;;;;;;;;;;;;;;;;11157:3;11136:33;;11153:1;11136:33;;;11162:6;11136:33;;;;;;;;;;;;;;;11209:50;11232:1;11236:9;:14;11246:3;11236:14;;;;;;;;;;;;;;;;;;;;;;;;;11252:6;11209:14;:50::i;:::-;10433:834;;;:::o;7644:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;16075:102::-;16137:32;16147:10;16159:9;16137;:32::i;:::-;16075:102;:::o;8072:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;14341:108::-;14400:4;14424:8;:17;14433:7;14424:17;;;;;;;;;;;;;;;;;;;;;;;;;14417:24;;;;14341:108;;;:::o;18248:1216::-;18327:6;18368:12;18354:11;:26;18346:76;;;;;;;;;;;;;;;;;;;;;;18435:19;18457:14;:23;18472:7;18457:23;;;;;;;;;;;;;;;;;;;;;;;;;18435:45;;18511:1;18495:12;:17;;;18491:58;;;18536:1;18529:8;;;;;18491:58;18661:11;18609;:20;18621:7;18609:20;;;;;;;;;;;;;;;:38;18645:1;18630:12;:16;18609:38;;;;;;;;;;;;;;;:48;;;;;;;;;;;;:63;;;18605:147;;18696:11;:20;18708:7;18696:20;;;;;;;;;;;;;;;:38;18732:1;18717:12;:16;18696:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;18689:51;;;;;18605:147;18849:11;18813;:20;18825:7;18813:20;;;;;;;;;;;;;;;:23;18834:1;18813:23;;;;;;;;;;;;;:33;;;;;;;;;;;;:47;;;18809:88;;;18884:1;18877:8;;;;;18809:88;18909:12;18924:1;18909:16;;18936:12;18966:1;18951:12;:16;18936:31;;18978:428;18993:5;18985:13;;:5;:13;;;18978:428;;;19015:13;19057:1;19048:5;19040;:13;19039:19;;;;;;;;19031:5;:27;19015:43;;19100:20;;:::i;:::-;19123:11;:20;19135:7;19123:20;;;;;;;;;;;;;;;:28;19144:6;19123:28;;;;;;;;;;;;;;;19100:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19186:11;19170:2;:12;;;:27;;;19166:229;;;19225:2;:8;;;19218:15;;;;;;;;;19166:229;19274:11;19259:2;:12;;;:26;;;19255:140;;;19314:6;19306:14;;19255:140;;;19378:1;19369:6;:10;19361:18;;19255:140;18978:428;;;;;19423:11;:20;19435:7;19423:20;;;;;;;;;;;;;;;:27;19444:5;19423:27;;;;;;;;;;;;;;;:33;;;;;;;;;;;;19416:40;;;;;18248:1216;;;;;:::o;8835:39::-;;;;;;;;;;;;;;;;;:::o;6878:36::-;;;;;;;;;;;;;;;;;;;:::o;14713:236::-;14778:4;14795:13;14811:57;14818:9;14811:57;;;;;;;;;;;;;;;;;:6;:57::i;:::-;14795:73;;14879:40;14895:10;14907:3;14912:6;14879:15;:40::i;:::-;14937:4;14930:11;;;14713:236;;;;:::o;17595:222::-;17660:6;17679:19;17701:14;:23;17716:7;17701:23;;;;;;;;;;;;;;;;;;;;;;;;;17679:45;;17757:1;17742:12;:16;;;:67;;17808:1;17742:67;;;17761:11;:20;17773:7;17761:20;;;;;;;;;;;;;;;:38;17797:1;17782:12;:16;17761:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;17742:67;17735:74;;;17595:222;;;:::o;16611:783::-;16727:23;8236:80;;;;;;;;;;;;;;16807:4;;;;;;;;;;;;;;;;;16791:22;;;;;;16815:12;:10;:12::i;:::-;16837:4;16763:80;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16763:80:0;;;16753:91;;;;;;16727:117;;16855:18;8456:71;;;;;;;;;;;;;;16918:9;16929:5;16936:6;16886:57;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16886:57:0;;;16876:68;;;;;;16855:89;;16955:14;17011:15;17028:10;16982:57;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16982:57:0;;;16972:68;;;;;;16955:85;;17051:17;17071:26;17081:6;17089:1;17092;17095;17071:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17071:26:0;;;;;;;;17051:46;;17137:1;17116:23;;:9;:23;;;;17108:72;;;;;;;;;;;;;;;;;;;;;;17208:6;:17;17215:9;17208:17;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;17199:5;:28;17191:73;;;;;;;;;;;;;;;;;;;;;;17290:6;17283:3;:13;;17275:62;;;;;;;;;;;;;;;;;;;;;;17355:31;17365:9;17376;17355;:31::i;:::-;17348:38;;;;16611:783;;;;;;:::o;13092:1046::-;13222:13;13268:2;13250:9;:21;13246:170;;;13304:2;13288:19;;13246:170;;;13349:55;13356:9;13349:55;;;;;;;;;;;;;;;;;:6;:55::i;:::-;13340:64;;13246:170;13428:23;8236:80;;;;;;;;;;;;;;13508:4;;;;;;;;;;;;;;;;;13492:22;;;;;;13516:12;:10;:12::i;:::-;13538:4;13464:80;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13464:80:0;;;13454:91;;;;;;13428:117;;13556:18;8659:95;;;;;;;;;;;;;;13615:5;13622:7;13631:9;13642:6;:13;13649:5;13642:13;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;13659:8;13587:81;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13587:81:0;;;13577:92;;;;;;13556:113;;13680:14;13736:15;13753:10;13707:57;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13707:57:0;;;13697:68;;;;;;13680:85;;13776:17;13796:26;13806:6;13814:1;13817;13820;13796:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13796:26:0;;;;;;;;13776:46;;13862:1;13841:23;;:9;:23;;;;13833:65;;;;;;;;;;;;;;;;;;;;;;13930:5;13917:18;;:9;:18;;;13909:55;;;;;;;;;;;;;;;;;;;;;;13990:8;13983:3;:15;;13975:57;;;;;;;;;;;;;;;;;;;;;;14074:6;14045:10;:17;14056:5;14045:17;;;;;;;;;;;;;;;:26;14063:7;14045:26;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;14114:7;14098:32;;14107:5;14098:32;;;14123:6;14098:32;;;;;;;;;;;;;;;13092:1046;;;;;;;;;;;;:::o;11571:136::-;11647:4;11671:10;:19;11682:7;11671:19;;;;;;;;;;;;;;;:28;11691:7;11671:28;;;;;;;;;;;;;;;;;;;;;;;;;11664:35;;;;11571:136;;;;:::o;8410:117::-;8456:71;;;;;;;;;;;;;;8410:117;:::o;7933:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10028:230::-;10106:6;;;;;;;;;;;10092:20;;:10;:20;;;10084:93;;;;;;;;;;;;;;;;;;;;;;10193:30;10207:6;;;;;;;;;;;10215:7;10193:30;;;;;;;;;;;;;;;;10243:7;10234:6;;:16;;;;;;;;;;;;;;;;;;10028:230;:::o;22232:161::-;22307:6;22338:5;22334:1;:9;22345:12;22326:32;;;;;;;;;;;;;;;;;;;;;;;;;22383:1;22369:16;;22232:161;;;;:::o;22597:165::-;22683:6;22715:1;22710:6;;:1;:6;;;;22718:12;22702:29;;;;;;;;;;;;;;;;;;;;;;;;;22753:1;22749;:5;22742:12;;22597:165;;;;;:::o;19855:606::-;19964:1;19949:17;;:3;:17;;;;19941:88;;;;;;;;;;;;;;;;;;;;;;20063:1;20048:17;;:3;:17;;;;20040:86;;;;;;;;;;;;;;;;;;;;;;20155:84;20161:8;:13;20170:3;20161:13;;;;;;;;;;;;;;;;;;;;;;;;;20176:6;20155:84;;;;;;;;;;;;;;;;;:5;:84::i;:::-;20139:8;:13;20148:3;20139:13;;;;;;;;;;;;;;;;:100;;;;;;;;;;;;;;;;;;20266:78;20272:8;:13;20281:3;20272:13;;;;;;;;;;;;;;;;;;;;;;;;;20287:6;20266:78;;;;;;;;;;;;;;;;;:5;:78::i;:::-;20250:8;:13;20259:3;20250:13;;;;;;;;;;;;;;;;:94;;;;;;;;;;;;;;;;;;20374:3;20360:26;;20369:3;20360:26;;;20379:6;20360:26;;;;;;;;;;;;;;;20399:54;20414:9;:14;20424:3;20414:14;;;;;;;;;;;;;;;;;;;;;;;;;20430:9;:14;20440:3;20430:14;;;;;;;;;;;;;;;;;;;;;;;;;20446:6;20399:14;:54::i;:::-;19855:606;;;:::o;1092:181::-;1150:7;1170:9;1186:1;1182;:5;1170:17;;1211:1;1206;:6;;1198:46;;;;;;;;;;;;;;;;;;;;;;1264:1;1257:8;;;1092:181;;;;:::o;22401:188::-;22487:6;22506:8;22521:1;22517;:5;22506:16;;22546:1;22541:6;;:1;:6;;;;22549:12;22533:29;;;;;;;;;;;;;;;;;;;;;;;;;22580:1;22573:8;;;22401:188;;;;;:::o;20469:935::-;20574:6;20564:16;;:6;:16;;;;:30;;;;;20593:1;20584:6;:10;;;20564:30;20560:837;;;20633:1;20615:20;;:6;:20;;;20611:380;;20656:16;20675:14;:22;20690:6;20675:22;;;;;;;;;;;;;;;;;;;;;;;;;20656:41;;20716:16;20747:1;20735:9;:13;;;:60;;20794:1;20735:60;;;20751:11;:19;20763:6;20751:19;;;;;;;;;;;;;;;:34;20783:1;20771:9;:13;20751:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;20735:60;20716:79;;20814:16;20833:66;20839:9;20850:6;20833:66;;;;;;;;;;;;;;;;;:5;:66::i;:::-;20814:85;;20918:57;20935:6;20943:9;20954;20965;20918:16;:57::i;:::-;20611:380;;;;21029:1;21011:20;;:6;:20;;;21007:379;;21052:16;21071:14;:22;21086:6;21071:22;;;;;;;;;;;;;;;;;;;;;;;;;21052:41;;21112:16;21143:1;21131:9;:13;;;:60;;21190:1;21131:60;;;21147:11;:19;21159:6;21147:19;;;;;;;;;;;;;;;:34;21179:1;21167:9;:13;21147:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;21131:60;21112:79;;21210:16;21229:65;21235:9;21246:6;21229:65;;;;;;;;;;;;;;;;;:5;:65::i;:::-;21210:84;;21313:57;21330:6;21338:9;21349;21360;21313:16;:57::i;:::-;21007:379;;;;20560:837;20469:935;;;:::o;19472:375::-;19549:23;19575:9;:20;19585:9;19575:20;;;;;;;;;;;;;;;;;;;;;;;;;19549:46;;19606:23;19632:8;:19;19641:9;19632:19;;;;;;;;;;;;;;;;;;;;;;;;;19606:45;;19685:9;19662;:20;19672:9;19662:20;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;19756:9;19712:54;;19739:15;19712:54;;19728:9;19712:54;;;;;;;;;;;;19779:60;19794:15;19811:9;19822:16;19779:14;:60::i;:::-;19472:375;;;;:::o;22770:153::-;22815:4;22832:15;22880:9;22869:20;;22908:7;22901:14;;;22770:153;:::o;21412:643::-;21532:18;21553:74;21560:12;21553:74;;;;;;;;;;;;;;;;;:6;:74::i;:::-;21532:95;;21659:1;21644:12;:16;;;:85;;;;;21718:11;21664:65;;:11;:22;21676:9;21664:22;;;;;;;;;;;;;;;:40;21702:1;21687:12;:16;21664:40;;;;;;;;;;;;;;;:50;;;;;;;;;;;;:65;;;21644:85;21640:339;;;21795:8;21746:11;:22;21758:9;21746:22;;;;;;;;;;;;;;;:40;21784:1;21769:12;:16;21746:40;;;;;;;;;;;;;;;:46;;;:57;;;;;;;;;;;;;;;;;;21640:339;;;21875:33;;;;;;;;21886:11;21875:33;;;;;;21899:8;21875:33;;;;;21836:11;:22;21848:9;21836:22;;;;;;;;;;;;;;;:36;21859:12;21836:36;;;;;;;;;;;;;;;:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21966:1;21951:12;:16;21923:14;:25;21938:9;21923:25;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;21640:339;22017:9;21996:51;;;22028:8;22038;21996:51;;;;;;;;;;;;;;;;21412:643;;;;;:::o;22063:161::-;22138:6;22169:5;22165:1;:9;22176:12;22157:32;;;;;;;;;;;;;;;;;;;;;;;;;22214:1;22200:16;;22063:161;;;;:::o;6706:16220::-;;;;;;;;;;;;;;;;;;;;;;;:::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:991;;;;;;;;2007:3;1995:9;1986:7;1982:23;1978:33;1975:2;;;2024:1;2021;2014:12;1975:2;2059:1;2076:53;2121:7;2112:6;2101:9;2097:22;2076:53;;;2066:63;;2038:97;2166:2;2184:53;2229:7;2220:6;2209:9;2205:22;2184:53;;;2174:63;;2145:98;2274:2;2292:53;2337:7;2328:6;2317:9;2313:22;2292:53;;;2282:63;;2253:98;2382:2;2400:53;2445:7;2436:6;2425:9;2421:22;2400:53;;;2390:63;;2361:98;2490:3;2509:51;2552:7;2543:6;2532:9;2528:22;2509:51;;;2499:61;;2469:97;2597:3;2616:53;2661:7;2652:6;2641:9;2637:22;2616:53;;;2606:63;;2576:99;2706:3;2725:53;2770:7;2761:6;2750:9;2746:22;2725:53;;;2715:63;;2685:99;1969:825;;;;;;;;;;;2801:366;;;2922:2;2910:9;2901:7;2897:23;2893:32;2890:2;;;2938:1;2935;2928:12;2890:2;2973:1;2990:53;3035:7;3026:6;3015:9;3011:22;2990:53;;;2980:63;;2952:97;3080:2;3098:53;3143:7;3134:6;3123:9;3119:22;3098:53;;;3088:63;;3059:98;2884:283;;;;;;3174:865;;;;;;;3361:3;3349:9;3340:7;3336:23;3332:33;3329:2;;;3378:1;3375;3368:12;3329:2;3413:1;3430:53;3475:7;3466:6;3455:9;3451:22;3430:53;;;3420:63;;3392:97;3520:2;3538:53;3583:7;3574:6;3563:9;3559:22;3538:53;;;3528:63;;3499:98;3628:2;3646:53;3691:7;3682:6;3671:9;3667:22;3646:53;;;3636:63;;3607:98;3736:2;3754:51;3797:7;3788:6;3777:9;3773:22;3754:51;;;3744:61;;3715:96;3842:3;3861:53;3906:7;3897:6;3886:9;3882:22;3861:53;;;3851:63;;3821:99;3951:3;3970:53;4015:7;4006:6;3995:9;3991:22;3970:53;;;3960:63;;3930:99;3323:716;;;;;;;;;4046:364;;;4166:2;4154:9;4145:7;4141:23;4137:32;4134:2;;;4182:1;4179;4172:12;4134:2;4217:1;4234:53;4279:7;4270:6;4259:9;4255:22;4234:53;;;4224:63;;4196:97;4324:2;4342:52;4386:7;4377:6;4366:9;4362:22;4342:52;;;4332:62;;4303:97;4128:282;;;;;;4417:113;4500:24;4518:5;4500:24;;;4495:3;4488:37;4482:48;;;4537:104;4614:21;4629:5;4614:21;;;4609:3;4602:34;4596:45;;;4648:113;4731:24;4749:5;4731:24;;;4726:3;4719:37;4713:48;;;4768:152;4869:45;4889:24;4907:5;4889:24;;;4869:45;;;4864:3;4857:58;4851:69;;;4927:347;;5039:39;5072:5;5039:39;;;5090:71;5154:6;5149:3;5090:71;;;5083:78;;5166:52;5211:6;5206:3;5199:4;5192:5;5188:16;5166:52;;;5239:29;5261:6;5239:29;;;5234:3;5230:39;5223:46;;5019:255;;;;;;5281:339;;5389:35;5418:5;5389:35;;;5436:71;5500:6;5495:3;5436:71;;;5429:78;;5512:52;5557:6;5552:3;5545:4;5538:5;5534:16;5512:52;;;5585:29;5607:6;5585:29;;;5580:3;5576:39;5569:46;;5369:251;;;;;;5628:393;;5788:67;5852:2;5847:3;5788:67;;;5781:74;;5888:34;5884:1;5879:3;5875:11;5868:55;5957:26;5952:2;5947:3;5943:12;5936:48;6012:2;6007:3;6003:12;5996:19;;5774:247;;;;6030:324;;6190:67;6254:2;6249:3;6190:67;;;6183:74;;6290:26;6286:1;6281:3;6277:11;6270:47;6345:2;6340:3;6336:12;6329:19;;6176:178;;;;6363:329;;6523:67;6587:2;6582:3;6523:67;;;6516:74;;6623:31;6619:1;6614:3;6610:11;6603:52;6683:2;6678:3;6674:12;6667:19;;6509:183;;;;6701:371;;6861:67;6925:2;6920:3;6861:67;;;6854:74;;6961:34;6957:1;6952:3;6948:11;6941:55;7030:4;7025:2;7020:3;7016:12;7009:26;7063:2;7058:3;7054:12;7047:19;;6847:225;;;;7081:398;;7259:84;7341:1;7336:3;7259:84;;;7252:91;;7376:66;7372:1;7367:3;7363:11;7356:87;7471:1;7466:3;7462:11;7455:18;;7245:234;;;;7488:327;;7648:67;7712:2;7707:3;7648:67;;;7641:74;;7748:29;7744:1;7739:3;7735:11;7728:50;7806:2;7801:3;7797:12;7790:19;;7634:181;;;;7824:373;;7984:67;8048:2;8043:3;7984:67;;;7977:74;;8084:34;8080:1;8075:3;8071:11;8064:55;8153:6;8148:2;8143:3;8139:12;8132:28;8188:2;8183:3;8179:12;8172:19;;7970:227;;;;8206:371;;8366:67;8430:2;8425:3;8366:67;;;8359:74;;8466:34;8462:1;8457:3;8453:11;8446:55;8535:4;8530:2;8525:3;8521:12;8514:26;8568:2;8563:3;8559:12;8552:19;;8352:225;;;;8586:373;;8746:67;8810:2;8805:3;8746:67;;;8739:74;;8846:34;8842:1;8837:3;8833:11;8826:55;8915:6;8910:2;8905:3;8901:12;8894:28;8950:2;8945:3;8941:12;8934:19;;8732:227;;;;8968:374;;9128:67;9192:2;9187:3;9128:67;;;9121:74;;9228:34;9224:1;9219:3;9215:11;9208:55;9297:7;9292:2;9287:3;9283:12;9276:29;9333:2;9328:3;9324:12;9317:19;;9114:228;;;;9351:492;;9529:85;9611:2;9606:3;9529:85;;;9522:92;;9647:34;9643:1;9638:3;9634:11;9627:55;9716:34;9711:2;9706:3;9702:12;9695:56;9785:20;9780:2;9775:3;9771:12;9764:42;9834:2;9829:3;9825:12;9818:19;;9515:328;;;;9852:477;;10030:85;10112:2;10107:3;10030:85;;;10023:92;;10148:34;10144:1;10139:3;10135:11;10128:55;10217:34;10212:2;10207:3;10203:12;10196:56;10286:5;10281:2;10276:3;10272:12;10265:27;10320:2;10315:3;10311:12;10304:19;;10016:313;;;;10338:329;;10498:67;10562:2;10557:3;10498:67;;;10491:74;;10598:31;10594:1;10589:3;10585:11;10578:52;10658:2;10653:3;10649:12;10642:19;;10484:183;;;;10676:397;;10836:67;10900:2;10895:3;10836:67;;;10829:74;;10936:34;10932:1;10927:3;10923:11;10916:55;11005:30;11000:2;10995:3;10991:12;10984:52;11064:2;11059:3;11055:12;11048:19;;10822:251;;;;11082:332;;11242:67;11306:2;11301:3;11242:67;;;11235:74;;11342:34;11338:1;11333:3;11329:11;11322:55;11405:2;11400:3;11396:12;11389:19;;11228:186;;;;11423:395;;11583:67;11647:2;11642:3;11583:67;;;11576:74;;11683:34;11679:1;11674:3;11670:11;11663:55;11752:28;11747:2;11742:3;11738:12;11731:50;11809:2;11804:3;11800:12;11793:19;;11569:249;;;;11827:382;;11987:67;12051:2;12046:3;11987:67;;;11980:74;;12087:34;12083:1;12078:3;12074:11;12067:55;12156:15;12151:2;12146:3;12142:12;12135:37;12200:2;12195:3;12191:12;12184:19;;11973:236;;;;12218:431;;12396:85;12478:2;12473:3;12396:85;;;12389:92;;12514:34;12510:1;12505:3;12501:11;12494:55;12583:28;12578:2;12573:3;12569:12;12562:50;12640:2;12635:3;12631:12;12624:19;;12382:267;;;;12657:113;12740:24;12758:5;12740:24;;;12735:3;12728:37;12722:48;;;12777:110;12858:23;12875:5;12858:23;;;12853:3;12846:36;12840:47;;;12894:107;12973:22;12989:5;12973:22;;;12968:3;12961:35;12955:46;;;13008:124;13090:36;13120:5;13090:36;;;13085:3;13078:49;13072:60;;;13139:110;13220:23;13237:5;13220:23;;;13215:3;13208:36;13202:47;;;13256:650;;13511:148;13655:3;13511:148;;;13504:155;;13670:75;13741:3;13732:6;13670:75;;;13767:2;13762:3;13758:12;13751:19;;13781:75;13852:3;13843:6;13781:75;;;13878:2;13873:3;13869:12;13862:19;;13898:3;13891:10;;13492:414;;;;;;13913:372;;14112:148;14256:3;14112:148;;;14105:155;;14277:3;14270:10;;14093:192;;;;14292:372;;14491:148;14635:3;14491:148;;;14484:155;;14656:3;14649:10;;14472:192;;;;14671:372;;14870:148;15014:3;14870:148;;;14863:155;;15035:3;15028:10;;14851:192;;;;15050:213;;15168:2;15157:9;15153:18;15145:26;;15182:71;15250:1;15239:9;15235:17;15226:6;15182:71;;;15139:124;;;;;15270:324;;15416:2;15405:9;15401:18;15393:26;;15430:71;15498:1;15487:9;15483:17;15474:6;15430:71;;;15512:72;15580:2;15569:9;15565:18;15556:6;15512:72;;;15387:207;;;;;;15601:201;;15713:2;15702:9;15698:18;15690:26;;15727:65;15789:1;15778:9;15774:17;15765:6;15727:65;;;15684:118;;;;;15809:213;;15927:2;15916:9;15912:18;15904:26;;15941:71;16009:1;15998:9;15994:17;15985:6;15941:71;;;15898:124;;;;;16029:771;;16287:3;16276:9;16272:19;16264:27;;16302:71;16370:1;16359:9;16355:17;16346:6;16302:71;;;16384:72;16452:2;16441:9;16437:18;16428:6;16384:72;;;16467;16535:2;16524:9;16520:18;16511:6;16467:72;;;16550;16618:2;16607:9;16603:18;16594:6;16550:72;;;16633:73;16701:3;16690:9;16686:19;16677:6;16633:73;;;16717;16785:3;16774:9;16770:19;16761:6;16717:73;;;16258:542;;;;;;;;;;16807:547;;17009:3;16998:9;16994:19;16986:27;;17024:71;17092:1;17081:9;17077:17;17068:6;17024:71;;;17106:72;17174:2;17163:9;17159:18;17150:6;17106:72;;;17189;17257:2;17246:9;17242:18;17233:6;17189:72;;;17272;17340:2;17329:9;17325:18;17316:6;17272:72;;;16980:374;;;;;;;;17361:547;;17563:3;17552:9;17548:19;17540:27;;17578:71;17646:1;17635:9;17631:17;17622:6;17578:71;;;17660:72;17728:2;17717:9;17713:18;17704:6;17660:72;;;17743;17811:2;17800:9;17796:18;17787:6;17743:72;;;17826;17894:2;17883:9;17879:18;17870:6;17826:72;;;17534:374;;;;;;;;17915:539;;18113:3;18102:9;18098:19;18090:27;;18128:71;18196:1;18185:9;18181:17;18172:6;18128:71;;;18210:68;18274:2;18263:9;18259:18;18250:6;18210:68;;;18289:72;18357:2;18346:9;18342:18;18333:6;18289:72;;;18372;18440:2;18429:9;18425:18;18416:6;18372:72;;;18084:370;;;;;;;;18461:293;;18595:2;18584:9;18580:18;18572:26;;18645:9;18639:4;18635:20;18631:1;18620:9;18616:17;18609:47;18670:74;18739:4;18730:6;18670:74;;;18662:82;;18566:188;;;;;18761:301;;18899:2;18888:9;18884:18;18876:26;;18949:9;18943:4;18939:20;18935:1;18924:9;18920:17;18913:47;18974:78;19047:4;19038:6;18974:78;;;18966:86;;18870:192;;;;;19069:407;;19260:2;19249:9;19245:18;19237:26;;19310:9;19304:4;19300:20;19296:1;19285:9;19281:17;19274:47;19335:131;19461:4;19335:131;;;19327:139;;19231:245;;;;19483:407;;19674:2;19663:9;19659:18;19651:26;;19724:9;19718:4;19714:20;19710:1;19699:9;19695:17;19688:47;19749:131;19875:4;19749:131;;;19741:139;;19645:245;;;;19897:407;;20088:2;20077:9;20073:18;20065:26;;20138:9;20132:4;20128:20;20124:1;20113:9;20109:17;20102:47;20163:131;20289:4;20163:131;;;20155:139;;20059:245;;;;20311:407;;20502:2;20491:9;20487:18;20479:26;;20552:9;20546:4;20542:20;20538:1;20527:9;20523:17;20516:47;20577:131;20703:4;20577:131;;;20569:139;;20473:245;;;;20725:407;;20916:2;20905:9;20901:18;20893:26;;20966:9;20960:4;20956:20;20952:1;20941:9;20937:17;20930:47;20991:131;21117:4;20991:131;;;20983:139;;20887:245;;;;21139:407;;21330:2;21319:9;21315:18;21307:26;;21380:9;21374:4;21370:20;21366:1;21355:9;21351:17;21344:47;21405:131;21531:4;21405:131;;;21397:139;;21301:245;;;;21553:407;;21744:2;21733:9;21729:18;21721:26;;21794:9;21788:4;21784:20;21780:1;21769:9;21765:17;21758:47;21819:131;21945:4;21819:131;;;21811:139;;21715:245;;;;21967:407;;22158:2;22147:9;22143:18;22135:26;;22208:9;22202:4;22198:20;22194:1;22183:9;22179:17;22172:47;22233:131;22359:4;22233:131;;;22225:139;;22129:245;;;;22381:407;;22572:2;22561:9;22557:18;22549:26;;22622:9;22616:4;22612:20;22608:1;22597:9;22593:17;22586:47;22647:131;22773:4;22647:131;;;22639:139;;22543:245;;;;22795:407;;22986:2;22975:9;22971:18;22963:26;;23036:9;23030:4;23026:20;23022:1;23011:9;23007:17;23000:47;23061:131;23187:4;23061:131;;;23053:139;;22957:245;;;;23209:407;;23400:2;23389:9;23385:18;23377:26;;23450:9;23444:4;23440:20;23436:1;23425:9;23421:17;23414:47;23475:131;23601:4;23475:131;;;23467:139;;23371:245;;;;23623:407;;23814:2;23803:9;23799:18;23791:26;;23864:9;23858:4;23854:20;23850:1;23839:9;23835:17;23828:47;23889:131;24015:4;23889:131;;;23881:139;;23785:245;;;;24037:407;;24228:2;24217:9;24213:18;24205:26;;24278:9;24272:4;24268:20;24264:1;24253:9;24249:17;24242:47;24303:131;24429:4;24303:131;;;24295:139;;24199:245;;;;24451:407;;24642:2;24631:9;24627:18;24619:26;;24692:9;24686:4;24682:20;24678:1;24667:9;24663:17;24656:47;24717:131;24843:4;24717:131;;;24709:139;;24613:245;;;;24865:213;;24983:2;24972:9;24968:18;24960:26;;24997:71;25065:1;25054:9;25050:17;25041:6;24997:71;;;24954:124;;;;;25085:209;;25201:2;25190:9;25186:18;25178:26;;25215:69;25281:1;25270:9;25266:17;25257:6;25215:69;;;25172:122;;;;;25301:316;;25443:2;25432:9;25428:18;25420:26;;25457:69;25523:1;25512:9;25508:17;25499:6;25457:69;;;25537:70;25603:2;25592:9;25588:18;25579:6;25537:70;;;25414:203;;;;;;25624:205;;25738:2;25727:9;25723:18;25715:26;;25752:67;25816:1;25805:9;25801:17;25792:6;25752:67;;;25709:120;;;;;25836:211;;25953:2;25942:9;25938:18;25930:26;;25967:70;26034:1;26023:9;26019:17;26010:6;25967:70;;;25924:123;;;;;26054:209;;26170:2;26159:9;26155:18;26147:26;;26184:69;26250:1;26239:9;26235:17;26226:6;26184:69;;;26141:122;;;;;26270:320;;26414:2;26403:9;26399:18;26391:26;;26428:70;26495:1;26484:9;26480:17;26471:6;26428:70;;;26509:71;26576:2;26565:9;26561:18;26552:6;26509:71;;;26385:205;;;;;;26597:118;;26687:5;26681:12;26671:22;;26652:63;;;;26722:122;;26816:5;26810:12;26800:22;;26781:63;;;;26852:163;;26967:6;26962:3;26955:19;27004:4;26999:3;26995:14;26980:29;;26948:67;;;;;27024:145;;27160:3;27145:18;;27138:31;;;;;27177:91;;27239:24;27257:5;27239:24;;;27228:35;;27222:46;;;;27275:85;;27348:5;27341:13;27334:21;27323:32;;27317:43;;;;27367:72;;27429:5;27418:16;;27412:27;;;;27446:121;;27519:42;27512:5;27508:54;27497:65;;27491:76;;;;27574:72;;27636:5;27625:16;;27619:27;;;;27653:88;;27725:10;27718:5;27714:22;27703:33;;27697:44;;;;27748:81;;27819:4;27812:5;27808:16;27797:27;;27791:38;;;;27836:104;;27908:26;27901:5;27897:38;27886:49;;27880:60;;;;27947:106;;28025:23;28042:5;28025:23;;;28012:36;;28006:47;;;;28061:268;28126:1;28133:101;28147:6;28144:1;28141:13;28133:101;;;28223:1;28218:3;28214:11;28208:18;28204:1;28199:3;28195:11;28188:39;28169:2;28166:1;28162:10;28157:15;;28133:101;;;28249:6;28246:1;28243:13;28240:2;;;28314:1;28305:6;28300:3;28296:16;28289:27;28240:2;28110:219;;;;;28337:74;;28401:5;28390:16;;28384:27;;;;28418:97;;28506:2;28502:7;28497:2;28490:5;28486:14;28482:28;28472:38;;28466:49;;;;28523:117;28592:24;28610:5;28592:24;;;28585:5;28582:35;28572:2;;28631:1;28628;28621:12;28572:2;28566:74;;28647:117;28716:24;28734:5;28716:24;;;28709:5;28706:35;28696:2;;28755:1;28752;28745:12;28696:2;28690:74;;28771:117;28840:24;28858:5;28840:24;;;28833:5;28830:35;28820:2;;28879:1;28876;28869:12;28820:2;28814:74;;28895:115;28963:23;28980:5;28963:23;;;28956:5;28953:34;28943:2;;29001:1;28998;28991:12;28943:2;28937:73;;29017:113;29084:22;29100:5;29084:22;;;29077:5;29074:33;29064:2;;29121:1;29118;29111:12;29064:2;29058:72;

Swarm Source

bzzr://8e4c0d93e0e57bcfc54480ed1dd335b9aa24187d716113f71d0d0905cd307253
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.