ETH Price: $2,869.46 (-9.36%)
Gas: 13 Gwei

Token

Flex Ungovernance Token (FLX)
 

Overview

Max Total Supply

972,622.296129311554103553 FLX

Holders

3,747 ( 0.027%)

Market

Price

$2.86 @ 0.000997 ETH (-8.46%)

Onchain Market Cap

$2,782,320.76

Circulating Supply Market Cap

$554,381.71

Other Info

Token Contract (WITH 18 Decimals)

Balance
3.923267509074457636 FLX

Value
$11.22 ( ~0.0039101425442672 Eth) [0.0004%]
0xe84d4d8b422e9bd4ed4b2ef537f82f62182db4f0
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

FLX is the Ungovernance token for RAI: A non pegged, ETH backed stable asset.

Market

Volume (24H):$32,241.76
Market Capitalization:$554,381.71
Circulating Supply:193,796.00 FLX
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DSDelegateToken

Compiler Version
v0.6.7+commit.b8d736ae

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-02-13
*/

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

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

pragma solidity >=0.6.7;

contract DSNote {
    event LogNote(
        bytes4   indexed  sig,
        address  indexed  guy,
        bytes32  indexed  foo,
        bytes32  indexed  bar,
        uint256           wad,
        bytes             fax
    ) anonymous;

    modifier note {
        bytes32 foo;
        bytes32 bar;
        uint256 wad;

        assembly {
            foo := calldataload(4)
            bar := calldataload(36)
            wad := callvalue()
        }

        _;

        emit LogNote(msg.sig, msg.sender, foo, bar, wad, msg.data);
    }
}

interface DSAuthority {
    function canCall(
        address src, address dst, bytes4 sig
    ) external view returns (bool);
}

abstract contract DSAuthEvents {
    event LogSetAuthority (address indexed authority);
    event LogSetOwner     (address indexed owner);
}

contract DSAuth is DSAuthEvents {
    DSAuthority  public  authority;
    address      public  owner;

    constructor() public {
        owner = msg.sender;
        emit LogSetOwner(msg.sender);
    }

    function setOwner(address owner_)
        virtual
        public
        auth
    {
        owner = owner_;
        emit LogSetOwner(owner);
    }

    function setAuthority(DSAuthority authority_)
        virtual
        public
        auth
    {
        authority = authority_;
        emit LogSetAuthority(address(authority));
    }

    modifier auth {
        require(isAuthorized(msg.sender, msg.sig), "ds-auth-unauthorized");
        _;
    }

    function isAuthorized(address src, bytes4 sig) virtual internal view returns (bool) {
        if (src == address(this)) {
            return true;
        } else if (src == owner) {
            return true;
        } else if (authority == DSAuthority(0)) {
            return false;
        } else {
            return authority.canCall(src, address(this), sig);
        }
    }
}

contract DSStop is DSNote, DSAuth {
    bool public stopped;

    modifier stoppable {
        require(!stopped, "ds-stop-is-stopped");
        _;
    }
    function stop() public auth note {
        stopped = true;
    }
    function start() public auth note {
        stopped = false;
    }

}

contract DSMath {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, "ds-math-add-overflow");
    }
    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, "ds-math-sub-underflow");
    }
    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, "ds-math-mul-overflow");
    }

    function min(uint x, uint y) internal pure returns (uint z) {
        return x <= y ? x : y;
    }
    function max(uint x, uint y) internal pure returns (uint z) {
        return x >= y ? x : y;
    }
    function imin(int x, int y) internal pure returns (int z) {
        return x <= y ? x : y;
    }
    function imax(int x, int y) internal pure returns (int z) {
        return x >= y ? x : y;
    }

    uint constant WAD = 10 ** 18;
    uint constant RAY = 10 ** 27;

    //rounds to zero if x*y < WAD / 2
    function wmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), WAD / 2) / WAD;
    }
    //rounds to zero if x*y < WAD / 2
    function rmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), RAY / 2) / RAY;
    }
    //rounds to zero if x*y < WAD / 2
    function wdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, WAD), y / 2) / y;
    }
    //rounds to zero if x*y < RAY / 2
    function rdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, RAY), y / 2) / y;
    }

    // This famous algorithm is called "exponentiation by squaring"
    // and calculates x^n with x as fixed-point and n as regular unsigned.
    //
    // It's O(log n), instead of O(n) for naive repeated multiplication.
    //
    // These facts are why it works:
    //
    //  If n is even, then x^n = (x^2)^(n/2).
    //  If n is odd,  then x^n = x * x^(n-1),
    //   and applying the equation for even x gives
    //    x^n = x * (x^2)^((n-1) / 2).
    //
    //  Also, EVM division is flooring and
    //    floor[(n-1) / 2] = floor[n / 2].
    //
    function rpow(uint x, uint n) internal pure returns (uint z) {
        z = n % 2 != 0 ? x : RAY;

        for (n /= 2; n != 0; n /= 2) {
            x = rmul(x, x);

            if (n % 2 != 0) {
                z = rmul(z, x);
            }
        }
    }
}

abstract contract ERC20Events {
    event Approval(address indexed src, address indexed guy, uint wad);
    event Transfer(address indexed src, address indexed dst, uint wad);
}

abstract contract ERC20 is ERC20Events {
    function totalSupply() virtual public view returns (uint);
    function balanceOf(address guy) virtual public view returns (uint);
    function allowance(address src, address guy) virtual public view returns (uint);

    function approve(address guy, uint wad) virtual public returns (bool);
    function transfer(address dst, uint wad) virtual public returns (bool);
    function transferFrom(
        address src, address dst, uint wad
    ) virtual public returns (bool);
}

contract DSTokenBase is ERC20, DSMath {
    uint256                                            _supply;
    mapping (address => uint256)                       _balances;
    mapping (address => mapping (address => uint256))  _approvals;

    constructor(uint supply) public {
        _balances[msg.sender] = supply;
        _supply = supply;
    }

    function totalSupply() override public view returns (uint) {
        return _supply;
    }
    function balanceOf(address src) override public view returns (uint) {
        return _balances[src];
    }
    function allowance(address src, address guy) override public view returns (uint) {
        return _approvals[src][guy];
    }

    function transfer(address dst, uint wad) override public returns (bool) {
        return transferFrom(msg.sender, dst, wad);
    }

    function transferFrom(address src, address dst, uint wad)
        override
        virtual
        public
        returns (bool)
    {
        if (src != msg.sender) {
            require(_approvals[src][msg.sender] >= wad, "ds-token-insufficient-approval");
            _approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad);
        }

        require(_balances[src] >= wad, "ds-token-insufficient-balance");
        _balances[src] = sub(_balances[src], wad);
        _balances[dst] = add(_balances[dst], wad);

        emit Transfer(src, dst, wad);

        return true;
    }

    function approve(address guy, uint wad) virtual override public returns (bool) {
        _approvals[msg.sender][guy] = wad;

        emit Approval(msg.sender, guy, wad);

        return true;
    }
}

contract DSDelegateToken is DSTokenBase(0), DSStop {
    // --- Variables ---
    // @notice The coin's symbol
    string public symbol;
    // @notice The coin's name
    string public name;
    /// @notice Standard token precision. Override to customize
    uint256 public decimals = 18;
    /// @notice A record of each accounts delegate
    mapping (address => address) public delegates;
    /// @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 A record of states for signing / validating signatures
    mapping (address => uint) public nonces;

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

    // --- Constants ---
    /// @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)");

    // --- Events ---
    /// @notice An event that's emitted when the contract mints tokens
    event Mint(address indexed guy, uint wad);
    /// @notice An event that's emitted when the contract burns tokens
    event Burn(address indexed guy, uint wad);
    /// @notice An event that's emitted when an account changes its delegate
    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);
    /// @notice An event that's emitted when a delegate account's vote balance changes
    event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);

    constructor(string memory name_, string memory symbol_) public {
        name   = name_;
        symbol = symbol_;
    }

    // --- Functionality ---
    /**
     * @notice Approve an address to transfer all of your tokens
     * @param guy The address to give approval to
     */
    function approve(address guy) public stoppable returns (bool) {
        return super.approve(guy, uint(-1));
    }
    /**
     * @notice Approve an address to transfer part of your tokens
     * @param guy The address to give approval to
     * @param wad The amount of tokens to approve
     */
    function approve(address guy, uint wad) override public stoppable returns (bool) {
        return super.approve(guy, wad);
    }

    /**
     * @notice Transfer tokens from src to dst
     * @param src The address to transfer tokens from
     * @param dst The address to transfer tokens to
     * @param wad The amount of tokens to transfer
     */
    function transferFrom(address src, address dst, uint wad)
        override
        public
        stoppable
        returns (bool)
    {
        if (src != msg.sender && _approvals[src][msg.sender] != uint(-1)) {
            require(_approvals[src][msg.sender] >= wad, "ds-delegate-token-insufficient-approval");
            _approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad);
        }

        require(_balances[src] >= wad, "ds-delegate-token-insufficient-balance");
        _balances[src] = sub(_balances[src], wad);
        _balances[dst] = add(_balances[dst], wad);

        emit Transfer(src, dst, wad);

        _moveDelegates(delegates[src], delegates[dst], wad);

        return true;
    }
    /**
     * @notice Transfer tokens to dst
     * @param dst The address to transfer tokens to
     * @param wad The amount of tokens to transfer
     */
    function push(address dst, uint wad) public {
        transferFrom(msg.sender, dst, wad);
    }
    /**
     * @notice Transfer tokens from src to yourself
     * @param src The address to transfer tokens frpom
     * @param wad The amount of tokens to transfer
     */
    function pull(address src, uint wad) public {
        transferFrom(src, msg.sender, wad);
    }
    /**
     * @notice Transfer tokens between two addresses
     * @param src The address to transfer tokens from
     * @param dst The address to transfer tokens to
     * @param wad The amount of tokens to transfer
     */
    function move(address src, address dst, uint wad) public {
        transferFrom(src, dst, wad);
    }

    /**
     * @notice Mint tokens for yourself
     * @param wad The amount of tokens to mint
     */
    function mint(uint wad) public {
        mint(msg.sender, wad);
    }
    /**
     * @notice Burn your own tokens
     * @param wad The amount of tokens to burn
     */
    function burn(uint wad) public {
        burn(msg.sender, wad);
    }
    /**
     * @notice Mint tokens for guy
     * @param guy The address to mint tokens for
     * @param wad The amount of tokens to mint
     */
    function mint(address guy, uint wad) public auth stoppable {
        _balances[guy] = add(_balances[guy], wad);
        _supply = add(_supply, wad);
        emit Mint(guy, wad);

        _moveDelegates(delegates[address(0)], delegates[guy], wad);
    }
    /**
     * @notice Burn guy's tokens
     * @param guy The address to burn tokens from
     * @param wad The amount of tokens to burn
     */
    function burn(address guy, uint wad) public auth stoppable {
        if (guy != msg.sender && _approvals[guy][msg.sender] != uint(-1)) {
            require(_approvals[guy][msg.sender] >= wad, "ds-delegate-token-insufficient-approval");
            _approvals[guy][msg.sender] = sub(_approvals[guy][msg.sender], wad);
        }

        require(_balances[guy] >= wad, "ds-delegate-token-insufficient-balance");
        _balances[guy] = sub(_balances[guy], wad);
        _supply = sub(_supply, wad);
        emit Burn(guy, wad);

        _moveDelegates(delegates[guy], delegates[address(0)], wad);
    }

    /**
     * @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(abi.encodePacked(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), "ds-delegate-token-invalid-signature");
        require(nonce == nonces[signatory]++, "ds-delegate-token-invalid-nonce");
        require(now <= expiry, "ds-delegate-token-signature-expired");
        return _delegate(signatory, delegatee);
    }
    /**
     * @notice Internal function to delegate votes from `delegator` to `delegatee`
     * @param delegator The address that delegates its votes
     * @param delegatee The address to delegate votes to
     */
    function _delegate(address delegator, address delegatee) internal {
        address currentDelegate = delegates[delegator];
        delegates[delegator]    = delegatee;

        emit DelegateChanged(delegator, currentDelegate, delegatee);

        _moveDelegates(currentDelegate, delegatee, balanceOf(delegator));
    }
    function _moveDelegates(address srcRep, address dstRep, uint256 amount) internal {
        if (srcRep != dstRep && amount > 0) {
            if (srcRep != address(0)) {
                uint32 srcRepNum  = numCheckpoints[srcRep];
                uint256 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0;
                uint256 srcRepNew = sub(srcRepOld, amount);
                _writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew);
            }

            if (dstRep != address(0)) {
                uint32 dstRepNum  = numCheckpoints[dstRep];
                uint256 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0;
                uint256 dstRepNew = add(dstRepOld, amount);
                _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew);
            }
        }
    }
    function _writeCheckpoint(address delegatee, uint32 nCheckpoints, uint256 oldVotes, uint256 newVotes) internal {
        uint blockNumber = block.number;

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

    /**
     * @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 (uint256) {
        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 (uint256) {
        require(blockNumber < block.number, "ds-delegate-token-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;
    }

    /**
    * @notice Fetch the chain ID
    **/
    function getChainId() internal pure returns (uint) {
        uint256 chainId;
        assembly { chainId := chainid() }
        return chainId;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Burn","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":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":true,"internalType":"bytes32","name":"foo","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"bar","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"fax","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"guy","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract DSAuthority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint256","name":"fromBlock","type":"uint256"},{"internalType":"uint256","name":"votes","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"move","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"pull","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"push","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract DSAuthority","name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

608060405260126007553480156200001657600080fd5b5060405162003e2838038062003e28833981810160405260408110156200003c57600080fd5b81019080805160405193929190846401000000008211156200005d57600080fd5b838201915060208201858111156200007457600080fd5b82518660018202830111640100000000821117156200009257600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c8578082015181840152602081019050620000ab565b50505050905090810190601f168015620000f65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011a57600080fd5b838201915060208201858111156200013157600080fd5b82518660018202830111640100000000821117156200014f57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018557808201518184015260208101905062000168565b50505050905090810190601f168015620001b35780820380516001836020036101000a031916815260200191505b50604052505050600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806000819055505033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a28160069080519060200190620002a4929190620002c6565b508060059080519060200190620002bd929190620002c6565b50505062000375565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030957805160ff19168380011785556200033a565b828001600101855582156200033a579182015b82811115620003395782518255916020019190600101906200031c565b5b5090506200034991906200034d565b5090565b6200037291905b808211156200036e57600081600090555060010162000354565b5090565b90565b613aa380620003856000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c80637ecebe001161011a578063bb35783b116100ad578063daea85c51161007c578063daea85c514610ad2578063dd62ed3e14610b2e578063e7a324dc14610ba6578063f1127ed814610bc4578063f2d5d56b14610c3357610206565b8063bb35783b14610997578063be9a655514610a05578063bf7e214f14610a0f578063c3cda52014610a5957610206565b8063a0712d68116100e9578063a0712d681461085d578063a9059cbb1461088b578063b4b5ea57146108f1578063b753a98c1461094957610206565b80637ecebe00146106ea5780638da5cb5b1461074257806395d89b411461078c5780639dc29fac1461080f57610206565b806340c10f191161019d5780636fcfff451161016c5780636fcfff451461056657806370a08231146105ca57806375f12b2114610622578063782d6fe1146106445780637a9e5e4b146106a657610206565b806340c10f191461042257806342966c6814610470578063587cde1e1461049e5780635c19a95c1461052257610206565b806318160ddd116101d957806318160ddd1461034257806320606b701461036057806323b872dd1461037e578063313ce5671461040457610206565b806306fdde031461020b57806307da68f51461028e578063095ea7b31461029857806313af4035146102fe575b600080fd5b610213610c81565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610253578082015181840152602081019050610238565b50505050905090810190601f1680156102805780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610296610d1f565b005b6102e4600480360360408110156102ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e99565b604051808215151515815260200191505060405180910390f35b6103406004803603602081101561031457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f30565b005b61034a611079565b6040518082815260200191505060405180910390f35b610368611082565b6040518082815260200191505060405180910390f35b6103ea6004803603606081101561039457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061109e565b604051808215151515815260200191505060405180910390f35b61040c6116c5565b6040518082815260200191505060405180910390f35b61046e6004803603604081101561043857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116cb565b005b61049c6004803603602081101561048657600080fd5b81019080803590602001909291905050506119a7565b005b6104e0600480360360208110156104b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119b4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105646004803603602081101561053857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119e7565b005b6105a86004803603602081101561057c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119f4565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b61060c600480360360208110156105e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a17565b6040518082815260200191505060405180910390f35b61062a611a60565b604051808215151515815260200191505060405180910390f35b6106906004803603604081101561065a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a73565b6040518082815260200191505060405180910390f35b6106e8600480360360208110156106bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611de4565b005b61072c6004803603602081101561070057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f2d565b6040518082815260200191505060405180910390f35b61074a611f45565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610794611f6b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107d45780820151818401526020810190506107b9565b50505050905090810190601f1680156108015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61085b6004803603604081101561082557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612009565b005b6108896004803603602081101561087357600080fd5b8101908080359060200190929190505050612636565b005b6108d7600480360360408110156108a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612643565b604051808215151515815260200191505060405180910390f35b6109336004803603602081101561090757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612658565b6040518082815260200191505060405180910390f35b6109956004803603604081101561095f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061272e565b005b610a03600480360360608110156109ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061273e565b005b610a0d61274f565b005b610a176128c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ad0600480360360c0811015610a6f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff16906020019092919080359060200190929190803590602001909291905050506128ef565b005b610b1460048036036020811015610ae857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cfb565b604051808215151515815260200191505060405180910390f35b610b9060048036036040811015610b4457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612db1565b6040518082815260200191505060405180910390f35b610bae612e38565b6040518082815260200191505060405180910390f35b610c1660048036036040811015610bda57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190505050612e54565b604051808381526020018281526020019250505060405180910390f35b610c7f60048036036040811015610c4957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612e85565b005b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d175780601f10610cec57610100808354040283529160200191610d17565b820191906000526020600020905b815481529060010190602001808311610cfa57829003601f168201915b505050505081565b610d4d336000357fffffffff0000000000000000000000000000000000000000000000000000000016612e95565b610dbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b6000806000600435925060243591503490506001600460146101000a81548160ff02191690831515021790555081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4505050565b6000600460149054906101000a900460ff1615610f1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b610f2883836130f0565b905092915050565b610f5e336000357fffffffff0000000000000000000000000000000000000000000000000000000016612e95565b610fd0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b60008054905090565b6040518080613984604391396043019050604051809103902081565b6000600460149054906101000a900460ff1615611123576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111fb57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156113dc5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156112d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061393a6027913960400191505060405180910390fd5b61135b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836131e2565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611474576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806139c76026913960400191505060405180910390fd5b6114bd600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836131e2565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611549600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613265565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36116ba600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846132e8565b600190509392505050565b60075481565b6116f9336000357fffffffff0000000000000000000000000000000000000000000000000000000016612e95565b61176b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b600460149054906101000a900460ff16156117ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b611837600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613265565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061188660005482613265565b6000819055508173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a26119a3600860008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836132e8565b5050565b6119b13382612009565b50565b60086020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119f13382613573565b50565b600a6020528060005260406000206000915054906101000a900463ffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460149054906101000a900460ff1681565b6000438210611acd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613a4a6024913960400191505060405180910390fd5b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161415611b3a576000915050611dde565b82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff1681526020019081526020016000206000015411611c0e57600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060010154915050611dde565b82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff168152602001908152602001600020600001541115611c79576000915050611dde565b600080905060006001830390505b8163ffffffff168163ffffffff161115611d78576000600283830363ffffffff1681611caf57fe5b0482039050611cbc61391f565b600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820154815260200160018201548152505090508681600001511415611d5657806020015195505050505050611dde565b8681600001511015611d6a57819350611d71565b6001820392505b5050611c87565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206001015493505050505b92915050565b611e12336000357fffffffff0000000000000000000000000000000000000000000000000000000016612e95565b611e84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600b6020528060005260406000206000915090505481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120015780601f10611fd657610100808354040283529160200191612001565b820191906000526020600020905b815481529060010190602001808311611fe457829003601f168201915b505050505081565b612037336000357fffffffff0000000000000000000000000000000000000000000000000000000016612e95565b6120a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b600460149054906101000a900460ff161561212c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561220457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156123e55780600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156122de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061393a6027913960400191505060405180910390fd5b612364600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826131e2565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561247d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806139c76026913960400191505060405180910390fd5b6124c6600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826131e2565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612515600054826131e2565b6000819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2612632600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836132e8565b5050565b61264033826116cb565b50565b600061265033848461109e565b905092915050565b600080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff16116126c2576000612726565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff168152602001908152602001600020600101545b915050919050565b61273933838361109e565b505050565b61274983838361109e565b50505050565b61277d336000357fffffffff0000000000000000000000000000000000000000000000000000000016612e95565b6127ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b6000806000600435925060243591503490506000600460146101000a81548160ff02191690831515021790555081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051808061398460439139604301905060405180910390206006604051602001808280546001816001161561010002031660029004801561296a5780601f1061294857610100808354040283529182019161296a565b820191906000526020600020905b815481529060010190602001808311612956575b50509150506040516020818303038152906040528051906020012061298d6136de565b30604051602001808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405160208183030381529060405280519060200120905060006040518080613a10603a9139603a0190506040518091039020888888604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019450505050506040516020818303038152906040528051906020012090506000828260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612b38573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612bca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806139ed6023913960400191505060405180910390fd5b600b60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558914612c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f64732d64656c65676174652d746f6b656e2d696e76616c69642d6e6f6e63650081525060200191505060405180910390fd5b87421115612ce5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806139616023913960400191505060405180910390fd5b612cef818b613573565b50505050505050505050565b6000600460149054906101000a900460ff1615612d80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b612daa827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6130f0565b9050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040518080613a10603a9139603a019050604051809103902081565b6009602052816000526040600020602052806000526040600020600091509150508060000154908060010154905082565b612e9082338361109e565b505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612ed457600190506130ea565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612f3357600190506130ea565b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612f9357600090506130ea565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001935050505060206040518083038186803b1580156130ac57600080fd5b505afa1580156130c0573d6000803e3d6000fd5b505050506040513d60208110156130d657600080fd5b810190808051906020019092919050505090505b92915050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600082828403915081111561325f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b60008282840191508110156132e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156133245750600081115b1561356e57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461344b576000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116133c757600061342b565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff168152602001908152602001600020600101545b9050600061343982856131e2565b9050613447868484846136eb565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461356d576000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116134e957600061354d565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff168152602001908152602001600020600101545b9050600061355b8285613265565b9050613569858484846136eb565b5050505b5b505050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46136d981836136d486611a17565b6132e8565b505050565b6000804690508091505090565b600043905060008463ffffffff16118015613767575080600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000154145b156137d85781600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff168152602001908152602001600020600101819055506138c2565b604051806040016040528082815260200183815250600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff168152602001908152602001600020600082015181600001556020820151816001015590505060018401600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248484604051808381526020018281526020019250505060405180910390a25050505050565b60405180604001604052806000815260200160008152509056fe64732d64656c65676174652d746f6b656e2d696e73756666696369656e742d617070726f76616c64732d64656c65676174652d746f6b656e2d7369676e61747572652d65787069726564454950373132446f6d61696e28737472696e67206e616d652c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e74726163742964732d64656c65676174652d746f6b656e2d696e73756666696369656e742d62616c616e636564732d64656c65676174652d746f6b656e2d696e76616c69642d7369676e617475726544656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e74323536206578706972792964732d64656c65676174652d746f6b656e2d6e6f742d7965742d64657465726d696e6564a2646970667358221220e72e4622b5b341670c63fc4a85c0238b182f136b38e827d1c389dd490f5dd53964736f6c63430006070033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000017466c657820556e676f7665726e616e636520546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000003464c580000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102065760003560e01c80637ecebe001161011a578063bb35783b116100ad578063daea85c51161007c578063daea85c514610ad2578063dd62ed3e14610b2e578063e7a324dc14610ba6578063f1127ed814610bc4578063f2d5d56b14610c3357610206565b8063bb35783b14610997578063be9a655514610a05578063bf7e214f14610a0f578063c3cda52014610a5957610206565b8063a0712d68116100e9578063a0712d681461085d578063a9059cbb1461088b578063b4b5ea57146108f1578063b753a98c1461094957610206565b80637ecebe00146106ea5780638da5cb5b1461074257806395d89b411461078c5780639dc29fac1461080f57610206565b806340c10f191161019d5780636fcfff451161016c5780636fcfff451461056657806370a08231146105ca57806375f12b2114610622578063782d6fe1146106445780637a9e5e4b146106a657610206565b806340c10f191461042257806342966c6814610470578063587cde1e1461049e5780635c19a95c1461052257610206565b806318160ddd116101d957806318160ddd1461034257806320606b701461036057806323b872dd1461037e578063313ce5671461040457610206565b806306fdde031461020b57806307da68f51461028e578063095ea7b31461029857806313af4035146102fe575b600080fd5b610213610c81565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610253578082015181840152602081019050610238565b50505050905090810190601f1680156102805780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610296610d1f565b005b6102e4600480360360408110156102ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e99565b604051808215151515815260200191505060405180910390f35b6103406004803603602081101561031457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f30565b005b61034a611079565b6040518082815260200191505060405180910390f35b610368611082565b6040518082815260200191505060405180910390f35b6103ea6004803603606081101561039457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061109e565b604051808215151515815260200191505060405180910390f35b61040c6116c5565b6040518082815260200191505060405180910390f35b61046e6004803603604081101561043857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116cb565b005b61049c6004803603602081101561048657600080fd5b81019080803590602001909291905050506119a7565b005b6104e0600480360360208110156104b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119b4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105646004803603602081101561053857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119e7565b005b6105a86004803603602081101561057c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119f4565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b61060c600480360360208110156105e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a17565b6040518082815260200191505060405180910390f35b61062a611a60565b604051808215151515815260200191505060405180910390f35b6106906004803603604081101561065a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a73565b6040518082815260200191505060405180910390f35b6106e8600480360360208110156106bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611de4565b005b61072c6004803603602081101561070057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f2d565b6040518082815260200191505060405180910390f35b61074a611f45565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610794611f6b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107d45780820151818401526020810190506107b9565b50505050905090810190601f1680156108015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61085b6004803603604081101561082557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612009565b005b6108896004803603602081101561087357600080fd5b8101908080359060200190929190505050612636565b005b6108d7600480360360408110156108a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612643565b604051808215151515815260200191505060405180910390f35b6109336004803603602081101561090757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612658565b6040518082815260200191505060405180910390f35b6109956004803603604081101561095f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061272e565b005b610a03600480360360608110156109ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061273e565b005b610a0d61274f565b005b610a176128c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ad0600480360360c0811015610a6f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff16906020019092919080359060200190929190803590602001909291905050506128ef565b005b610b1460048036036020811015610ae857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cfb565b604051808215151515815260200191505060405180910390f35b610b9060048036036040811015610b4457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612db1565b6040518082815260200191505060405180910390f35b610bae612e38565b6040518082815260200191505060405180910390f35b610c1660048036036040811015610bda57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190505050612e54565b604051808381526020018281526020019250505060405180910390f35b610c7f60048036036040811015610c4957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612e85565b005b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d175780601f10610cec57610100808354040283529160200191610d17565b820191906000526020600020905b815481529060010190602001808311610cfa57829003601f168201915b505050505081565b610d4d336000357fffffffff0000000000000000000000000000000000000000000000000000000016612e95565b610dbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b6000806000600435925060243591503490506001600460146101000a81548160ff02191690831515021790555081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4505050565b6000600460149054906101000a900460ff1615610f1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b610f2883836130f0565b905092915050565b610f5e336000357fffffffff0000000000000000000000000000000000000000000000000000000016612e95565b610fd0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b60008054905090565b6040518080613984604391396043019050604051809103902081565b6000600460149054906101000a900460ff1615611123576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111fb57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156113dc5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156112d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061393a6027913960400191505060405180910390fd5b61135b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836131e2565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611474576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806139c76026913960400191505060405180910390fd5b6114bd600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836131e2565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611549600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613265565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36116ba600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846132e8565b600190509392505050565b60075481565b6116f9336000357fffffffff0000000000000000000000000000000000000000000000000000000016612e95565b61176b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b600460149054906101000a900460ff16156117ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b611837600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613265565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061188660005482613265565b6000819055508173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a26119a3600860008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836132e8565b5050565b6119b13382612009565b50565b60086020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119f13382613573565b50565b600a6020528060005260406000206000915054906101000a900463ffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460149054906101000a900460ff1681565b6000438210611acd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613a4a6024913960400191505060405180910390fd5b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161415611b3a576000915050611dde565b82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff1681526020019081526020016000206000015411611c0e57600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060010154915050611dde565b82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff168152602001908152602001600020600001541115611c79576000915050611dde565b600080905060006001830390505b8163ffffffff168163ffffffff161115611d78576000600283830363ffffffff1681611caf57fe5b0482039050611cbc61391f565b600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820154815260200160018201548152505090508681600001511415611d5657806020015195505050505050611dde565b8681600001511015611d6a57819350611d71565b6001820392505b5050611c87565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206001015493505050505b92915050565b611e12336000357fffffffff0000000000000000000000000000000000000000000000000000000016612e95565b611e84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600b6020528060005260406000206000915090505481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120015780601f10611fd657610100808354040283529160200191612001565b820191906000526020600020905b815481529060010190602001808311611fe457829003601f168201915b505050505081565b612037336000357fffffffff0000000000000000000000000000000000000000000000000000000016612e95565b6120a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b600460149054906101000a900460ff161561212c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561220457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156123e55780600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156122de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061393a6027913960400191505060405180910390fd5b612364600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826131e2565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561247d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806139c76026913960400191505060405180910390fd5b6124c6600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826131e2565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612515600054826131e2565b6000819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2612632600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836132e8565b5050565b61264033826116cb565b50565b600061265033848461109e565b905092915050565b600080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff16116126c2576000612726565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff168152602001908152602001600020600101545b915050919050565b61273933838361109e565b505050565b61274983838361109e565b50505050565b61277d336000357fffffffff0000000000000000000000000000000000000000000000000000000016612e95565b6127ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b6000806000600435925060243591503490506000600460146101000a81548160ff02191690831515021790555081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051808061398460439139604301905060405180910390206006604051602001808280546001816001161561010002031660029004801561296a5780601f1061294857610100808354040283529182019161296a565b820191906000526020600020905b815481529060010190602001808311612956575b50509150506040516020818303038152906040528051906020012061298d6136de565b30604051602001808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405160208183030381529060405280519060200120905060006040518080613a10603a9139603a0190506040518091039020888888604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019450505050506040516020818303038152906040528051906020012090506000828260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612b38573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612bca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806139ed6023913960400191505060405180910390fd5b600b60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558914612c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f64732d64656c65676174652d746f6b656e2d696e76616c69642d6e6f6e63650081525060200191505060405180910390fd5b87421115612ce5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806139616023913960400191505060405180910390fd5b612cef818b613573565b50505050505050505050565b6000600460149054906101000a900460ff1615612d80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b612daa827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6130f0565b9050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040518080613a10603a9139603a019050604051809103902081565b6009602052816000526040600020602052806000526040600020600091509150508060000154908060010154905082565b612e9082338361109e565b505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612ed457600190506130ea565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612f3357600190506130ea565b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612f9357600090506130ea565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001935050505060206040518083038186803b1580156130ac57600080fd5b505afa1580156130c0573d6000803e3d6000fd5b505050506040513d60208110156130d657600080fd5b810190808051906020019092919050505090505b92915050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600082828403915081111561325f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b60008282840191508110156132e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156133245750600081115b1561356e57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461344b576000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116133c757600061342b565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff168152602001908152602001600020600101545b9050600061343982856131e2565b9050613447868484846136eb565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461356d576000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116134e957600061354d565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff168152602001908152602001600020600101545b9050600061355b8285613265565b9050613569858484846136eb565b5050505b5b505050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46136d981836136d486611a17565b6132e8565b505050565b6000804690508091505090565b600043905060008463ffffffff16118015613767575080600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000154145b156137d85781600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff168152602001908152602001600020600101819055506138c2565b604051806040016040528082815260200183815250600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff168152602001908152602001600020600082015181600001556020820151816001015590505060018401600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248484604051808381526020018281526020019250505060405180910390a25050505050565b60405180604001604052806000815260200160008152509056fe64732d64656c65676174652d746f6b656e2d696e73756666696369656e742d617070726f76616c64732d64656c65676174652d746f6b656e2d7369676e61747572652d65787069726564454950373132446f6d61696e28737472696e67206e616d652c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e74726163742964732d64656c65676174652d746f6b656e2d696e73756666696369656e742d62616c616e636564732d64656c65676174652d746f6b656e2d696e76616c69642d7369676e617475726544656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e74323536206578706972792964732d64656c65676174652d746f6b656e2d6e6f742d7965742d64657465726d696e6564a2646970667358221220e72e4622b5b341670c63fc4a85c0238b182f136b38e827d1c389dd490f5dd53964736f6c63430006070033

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

000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000017466c657820556e676f7665726e616e636520546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000003464c580000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Flex Ungovernance Token
Arg [1] : symbol_ (string): FLX

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000017
Arg [3] : 466c657820556e676f7665726e616e636520546f6b656e000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 464c580000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

7821:11961:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7821:11961:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;7998:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7998:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2863:66;;;:::i;:::-;;10478:130;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;10478:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1826:153;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1826:153:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6506:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8891:122;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10842:737;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;10842:737:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8088:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12991:258;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;12991:258:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12762:71;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;12762:71:0;;;;;;;;;;;;;;;;;:::i;:::-;;8175:45;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;8175:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14168:102;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;14168:102:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8438:49;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;8438:49:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6604:108;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;6604:108:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2740:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18350:1216;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;18350:1216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1987:190;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1987:190:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8566:39;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;8566:39:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1686:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7939:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7939:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13406:614;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;13406:614:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12582:71;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;12582:71:0;;;;;;;;;;;;;;;;;:::i;:::-;;6853:132;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;6853:132:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17696:223;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;17696:223:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11747:97;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;11747:97:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12364:103;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;12364:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2935:68;;;:::i;:::-;;1649:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14702:791;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;14702:791:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10169:116;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;10169:116:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6718:127;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;6718:127:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9105:117;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8301:70;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;8301:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;12029:97;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;12029:97:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7998:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2863:66::-;2218:33;2231:10;2243:7;;;;2218:12;:33::i;:::-;2210:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1034:11:::1;1056::::0;1078::::1;1146:1;1133:15;1126:22;;1182:2;1169:16;1162:23;;1206:11;1199:18;;2917:4:::2;2907:7;;:14;;;;;;;;;;;;;;;;;;1293:3:::1;1288;1276:10;1259:53;;1267:7;;;;1259:53;;;1298:3;1303:8;;1259:53;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1259:53:0;;;;;;;;;;;;;;;2287:1;;;2863:66::o:0;10478:130::-;10553:4;2807:7;;;;;;;;;;;2806:8;2798:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10577:23:::1;10591:3;10596;10577:13;:23::i;:::-;10570:30;;10478:130:::0;;;;:::o;1826:153::-;2218:33;2231:10;2243:7;;;;2218:12;:33::i;:::-;2210:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1931:6:::1;1923:5;;:14;;;;;;;;;;;;;;;;;;1965:5;;;;;;;;;;;1953:18;;;;;;;;;;;;1826:153:::0;:::o;6506:92::-;6559:4;6583:7;;6576:14;;6506:92;:::o;8891:122::-;8933:80;;;;;;;;;;;;;;;;;;;8891:122;:::o;10842:737::-;10971:4;2807:7;;;;;;;;;;;2806:8;2798:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11004:10:::1;10997:17;;:3;:17;;;;:60;;;;;11054:2;11018:10;:15;11029:3;11018:15;;;;;;;;;;;;;;;:27;11034:10;11018:27;;;;;;;;;;;;;;;;:39;;10997:60;10993:261;;;11113:3;11082:10;:15;11093:3;11082:15;;;;;;;;;;;;;;;:27;11098:10;11082:27;;;;;;;;;;;;;;;;:34;;11074:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11205:37;11209:10;:15;11220:3;11209:15;;;;;;;;;;;;;;;:27;11225:10;11209:27;;;;;;;;;;;;;;;;11238:3;11205;:37::i;:::-;11175:10;:15;11186:3;11175:15;;;;;;;;;;;;;;;:27;11191:10;11175:27;;;;;;;;;;;;;;;:67;;;;10993:261;11292:3;11274:9;:14;11284:3;11274:14;;;;;;;;;;;;;;;;:21;;11266:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11366:24;11370:9;:14;11380:3;11370:14;;;;;;;;;;;;;;;;11386:3;11366;:24::i;:::-;11349:9;:14;11359:3;11349:14;;;;;;;;;;;;;;;:41;;;;11418:24;11422:9;:14;11432:3;11422:14;;;;;;;;;;;;;;;;11438:3;11418;:24::i;:::-;11401:9;:14;11411:3;11401:14;;;;;;;;;;;;;;;:41;;;;11474:3;11460:23;;11469:3;11460:23;;;11479:3;11460:23;;;;;;;;;;;;;;;;;;11496:51;11511:9;:14;11521:3;11511:14;;;;;;;;;;;;;;;;;;;;;;;;;11527:9;:14;11537:3;11527:14;;;;;;;;;;;;;;;;;;;;;;;;;11543:3;11496:14;:51::i;:::-;11567:4;11560:11;;10842:737:::0;;;;;:::o;8088:28::-;;;;:::o;12991:258::-;2218:33;2231:10;2243:7;;;;2218:12;:33::i;:::-;2210:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2807:7:::1;;;;;;;;;;;2806:8;2798:39;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;13078:24:::2;13082:9;:14;13092:3;13082:14;;;;;;;;;;;;;;;;13098:3;13078;:24::i;:::-;13061:9;:14;13071:3;13061:14;;;;;;;;;;;;;;;:41;;;;13123:17;13127:7;;13136:3;13123;:17::i;:::-;13113:7;:27;;;;13161:3;13156:14;;;13166:3;13156:14;;;;;;;;;;;;;;;;;;13183:58;13198:9;:21;13216:1:::0;13198:21:::2;;;;;;;;;;;;;;;;;;;;;;;;;13221:9;:14;13231:3;13221:14;;;;;;;;;;;;;;;;;;;;;;;;;13237:3;13183:14;:58::i;:::-;12991:258:::0;;:::o;12762:71::-;12804:21;12809:10;12821:3;12804:4;:21::i;:::-;12762:71;:::o;8175:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;14168:102::-;14230:32;14240:10;14252:9;14230;:32::i;:::-;14168:102;:::o;8438:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;6604:108::-;6666:4;6690:9;:14;6700:3;6690:14;;;;;;;;;;;;;;;;6683:21;;6604:108;;;:::o;2740:19::-;;;;;;;;;;;;;:::o;18350:1216::-;18429:7;18471:12;18457:11;:26;18449:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18537:19;18559:14;:23;18574:7;18559:23;;;;;;;;;;;;;;;;;;;;;;;;;18537:45;;18613:1;18597:12;:17;;;18593:58;;;18638:1;18631:8;;;;;18593:58;18763:11;18711;:20;18723:7;18711:20;;;;;;;;;;;;;;;:38;18747:1;18732:12;:16;18711:38;;;;;;;;;;;;;;;:48;;;:63;18707:147;;18798:11;:20;18810:7;18798:20;;;;;;;;;;;;;;;:38;18834:1;18819:12;:16;18798:38;;;;;;;;;;;;;;;:44;;;18791:51;;;;;18707:147;18951:11;18915;:20;18927:7;18915:20;;;;;;;;;;;;;;;:23;18936:1;18915:23;;;;;;;;;;;;;:33;;;:47;18911:88;;;18986:1;18979:8;;;;;18911:88;19011:12;19026:1;19011:16;;19038:12;19068:1;19053:12;:16;19038:31;;19080:428;19095:5;19087:13;;:5;:13;;;19080:428;;;19117:13;19159:1;19150:5;19142;:13;19141:19;;;;;;;;19133:5;:27;19117:43;;19202:20;;:::i;:::-;19225:11;:20;19237:7;19225:20;;;;;;;;;;;;;;;:28;19246:6;19225:28;;;;;;;;;;;;;;;19202:51;;;;;;;;;;;;;;;;;;;;;;;;;;;19288:11;19272:2;:12;;;:27;19268:229;;;19327:2;:8;;;19320:15;;;;;;;;;19268:229;19376:11;19361:2;:12;;;:26;19357:140;;;19416:6;19408:14;;19357:140;;;19480:1;19471:6;:10;19463:18;;19357:140;19080:428;;;;;19525:11;:20;19537:7;19525:20;;;;;;;;;;;;;;;:27;19546:5;19525:27;;;;;;;;;;;;;;;:33;;;19518:40;;;;;18350:1216;;;;;:::o;1987:190::-;2218:33;2231:10;2243:7;;;;2218:12;:33::i;:::-;2210:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2108:10:::1;2096:9;;:22;;;;;;;;;;;;;;;;;;2158:9;;;;;;;;;;;2134:35;;;;;;;;;;;;1987:190:::0;:::o;8566:39::-;;;;;;;;;;;;;;;;;:::o;1686:26::-;;;;;;;;;;;;;:::o;7939:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13406:614::-;2218:33;2231:10;2243:7;;;;2218:12;:33::i;:::-;2210:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2807:7:::1;;;;;;;;;;;2806:8;2798:39;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;13487:10:::2;13480:17;;:3;:17;;;;:60;;;;;13537:2;13501:10;:15;13512:3;13501:15;;;;;;;;;;;;;;;:27;13517:10;13501:27;;;;;;;;;;;;;;;;:39;;13480:60;13476:261;;;13596:3;13565:10;:15;13576:3;13565:15;;;;;;;;;;;;;;;:27;13581:10;13565:27;;;;;;;;;;;;;;;;:34;;13557:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13688:37;13692:10;:15;13703:3;13692:15;;;;;;;;;;;;;;;:27;13708:10;13692:27;;;;;;;;;;;;;;;;13721:3;13688;:37::i;:::-;13658:10;:15;13669:3;13658:15;;;;;;;;;;;;;;;:27;13674:10;13658:27;;;;;;;;;;;;;;;:67;;;;13476:261;13775:3;13757:9;:14;13767:3;13757:14;;;;;;;;;;;;;;;;:21;;13749:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13849:24;13853:9;:14;13863:3;13853:14;;;;;;;;;;;;;;;;13869:3;13849;:24::i;:::-;13832:9;:14;13842:3;13832:14;;;;;;;;;;;;;;;:41;;;;13894:17;13898:7;;13907:3;13894;:17::i;:::-;13884:7;:27;;;;13932:3;13927:14;;;13937:3;13927:14;;;;;;;;;;;;;;;;;;13954:58;13969:9;:14;13979:3;13969:14;;;;;;;;;;;;;;;;;;;;;;;;;13985:9;:21;14003:1:::0;13985:21:::2;;;;;;;;;;;;;;;;;;;;;;;;;14008:3;13954:14;:58::i;:::-;13406:614:::0;;:::o;12582:71::-;12624:21;12629:10;12641:3;12624:4;:21::i;:::-;12582:71;:::o;6853:132::-;6919:4;6943:34;6956:10;6968:3;6973;6943:12;:34::i;:::-;6936:41;;6853:132;;;;:::o;17696:223::-;17761:7;17781:19;17803:14;:23;17818:7;17803:23;;;;;;;;;;;;;;;;;;;;;;;;;17781:45;;17859:1;17844:12;:16;;;:67;;17910:1;17844:67;;;17863:11;:20;17875:7;17863:20;;;;;;;;;;;;;;;:38;17899:1;17884:12;:16;17863:38;;;;;;;;;;;;;;;:44;;;17844:67;17837:74;;;17696:223;;;:::o;11747:97::-;11802:34;11815:10;11827:3;11832;11802:12;:34::i;:::-;;11747:97;;:::o;12364:103::-;12432:27;12445:3;12450;12455;12432:12;:27::i;:::-;;12364:103;;;:::o;2935:68::-;2218:33;2231:10;2243:7;;;;2218:12;:33::i;:::-;2210:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1034:11:::1;1056::::0;1078::::1;1146:1;1133:15;1126:22;;1182:2;1169:16;1162:23;;1206:11;1199:18;;2990:5:::2;2980:7;;:15;;;;;;;;;;;;;;;;;;1293:3:::1;1288;1276:10;1259:53;;1267:7;;;;1259:53;;;1298:3;1303:8;;1259:53;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1259:53:0;;;;;;;;;;;;;;;2287:1;;;2935:68::o:0;1649:30::-;;;;;;;;;;;;;:::o;14702:791::-;14818:23;8933:80;;;;;;;;;;;;;;;;;;;14909:4;14892:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;14892:22:0;;;14882:33;;;;;;14917:12;:10;:12::i;:::-;14939:4;14854:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;14854:91:0;;;14844:102;;;;;;14818:128;;14957:18;9151:71;;;;;;;;;;;;;;;;;;;15020:9;15031:5;15038:6;14988:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;14988:57:0;;;14978:68;;;;;;14957:89;;15057:14;15113:15;15130:10;15084:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15084:57:0;;;15074:68;;;;;;15057:85;;15153:17;15173:26;15183:6;15191:1;15194;15197;15173:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15173:26:0;;;;;;;;15153:46;;15239:1;15218:23;;:9;:23;;;;15210:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15309:6;:17;15316:9;15309:17;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;15300:5;:28;15292:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15390:6;15383:3;:13;;15375:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15454:31;15464:9;15475;15454;:31::i;:::-;15447:38;;;;14702:791;;;;;;:::o;10169:116::-;10225:4;2807:7;;;;;;;;;;;2806:8;2798:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10249:28:::1;10263:3;10273:2;10249:13;:28::i;:::-;10242:35;;10169:116:::0;;;:::o;6718:127::-;6793:4;6817:10;:15;6828:3;6817:15;;;;;;;;;;;;;;;:20;6833:3;6817:20;;;;;;;;;;;;;;;;6810:27;;6718:127;;;;:::o;9105:117::-;9151:71;;;;;;;;;;;;;;;;;;;9105:117;:::o;8301:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12029:97::-;12084:34;12097:3;12102:10;12114:3;12084:12;:34::i;:::-;;12029:97;;:::o;2304:388::-;2382:4;2418;2403:20;;:3;:20;;;2399:286;;;2447:4;2440:11;;;;2399:286;2480:5;;;;;;;;;;;2473:12;;:3;:12;;;2469:216;;;2509:4;2502:11;;;;2469:216;2560:1;2535:27;;:9;;;;;;;;;;;:27;;;2531:154;;;2586:5;2579:12;;;;2531:154;2631:9;;;;;;;;;;;:17;;;2649:3;2662:4;2669:3;2631:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2631:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2631:42:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2631:42:0;;;;;;;;;;;;;;;;2624:49;;2304:388;;;;;:::o;7611:203::-;7684:4;7731:3;7701:10;:22;7712:10;7701:22;;;;;;;;;;;;;;;:27;7724:3;7701:27;;;;;;;;;;;;;;;:33;;;;7773:3;7752:30;;7761:10;7752:30;;;7778:3;7752:30;;;;;;;;;;;;;;;;;;7802:4;7795:11;;7611:203;;;;:::o;3169:129::-;3221:6;3263:1;3257;3253;:5;3249:9;;;3248:16;;3240:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3169:129;;;;:::o;3035:128::-;3087:6;3129:1;3123;3119;:5;3115:9;;;3114:16;;3106:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3035:128;;;;:::o;16053:855::-;16159:6;16149:16;;:6;:16;;;;:30;;;;;16178:1;16169:6;:10;16149:30;16145:756;;;16218:1;16200:20;;:6;:20;;;16196:339;;16241:16;16261:14;:22;16276:6;16261:22;;;;;;;;;;;;;;;;;;;;;;;;;16241:42;;16302:17;16334:1;16322:9;:13;;;:60;;16381:1;16322:60;;;16338:11;:19;16350:6;16338:19;;;;;;;;;;;;;;;:34;16370:1;16358:9;:13;16338:34;;;;;;;;;;;;;;;:40;;;16322:60;16302:80;;16401:17;16421:22;16425:9;16436:6;16421:3;:22::i;:::-;16401:42;;16462:57;16479:6;16487:9;16498;16509;16462:16;:57::i;:::-;16196:339;;;;16573:1;16555:20;;:6;:20;;;16551:339;;16596:16;16616:14;:22;16631:6;16616:22;;;;;;;;;;;;;;;;;;;;;;;;;16596:42;;16657:17;16689:1;16677:9;:13;;;:60;;16736:1;16677:60;;;16693:11;:19;16705:6;16693:19;;;;;;;;;;;;;;;:34;16725:1;16713:9;:13;16693:34;;;;;;;;;;;;;;;:40;;;16677:60;16657:80;;16756:17;16776:22;16780:9;16791:6;16776:3;:22::i;:::-;16756:42;;16817:57;16834:6;16842:9;16853;16864;16817:16;:57::i;:::-;16551:339;;;;16145:756;16053:855;;;:::o;15721:326::-;15798:23;15824:9;:20;15834:9;15824:20;;;;;;;;;;;;;;;;;;;;;;;;;15798:46;;15881:9;15855;:20;15865:9;15855:20;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;15952:9;15908:54;;15935:15;15908:54;;15924:9;15908:54;;;;;;;;;;;;15975:64;15990:15;16007:9;16018:20;16028:9;16018;:20::i;:::-;15975:14;:64::i;:::-;15721:326;;;:::o;19626:153::-;19671:4;19688:15;19736:9;19725:20;;19764:7;19757:14;;;19626:153;:::o;16914:581::-;17036:16;17055:12;17036:31;;17099:1;17084:12;:16;;;:85;;;;;17158:11;17104;:22;17116:9;17104:22;;;;;;;;;;;;;;;:40;17142:1;17127:12;:16;17104:40;;;;;;;;;;;;;;;:50;;;:65;17084:85;17080:339;;;17235:8;17186:11;:22;17198:9;17186:22;;;;;;;;;;;;;;;:40;17224:1;17209:12;:16;17186:40;;;;;;;;;;;;;;;:46;;:57;;;;17080:339;;;17315:33;;;;;;;;17326:11;17315:33;;;;17339:8;17315:33;;;17276:11;:22;17288:9;17276:22;;;;;;;;;;;;;;;:36;17299:12;17276:36;;;;;;;;;;;;;;;:72;;;;;;;;;;;;;;;;;;;17406:1;17391:12;:16;17363:14;:25;17378:9;17363:25;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;17080:339;17457:9;17436:51;;;17468:8;17478;17436:51;;;;;;;;;;;;;;;;;;;;;;;;16914:581;;;;;:::o;7821:11961::-;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

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