Contract 0x9B63243CD27102fbEc9FAf67CA1a858dcC16Ee01

Contract Overview

Balance:
0 Ether
Txn Hash
Method
Block
From
To
Value
0xc58b7650c4e292e980c1baeeb247dfc39cac7e524e6da3e9ff8f491efa06a9f2Queue87654832021-06-15 0:55:31385 days 3 mins ago0xe507f2d7de97c783a60fef9f1c4a4dade2b0a989 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000124471
0xa8a670658b157c5c17e53f38e393555e71f8c1f6e71628bd89e310bce19bc191Cast Vote87654152021-06-15 0:38:31385 days 20 mins ago0xe507f2d7de97c783a60fef9f1c4a4dade2b0a989 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000089011
0xc1f2d3dc11e8915d8f64b84e0bddf555520d912f0abeed68310825c4981f3d41Propose87653622021-06-15 0:25:16385 days 34 mins ago0xe507f2d7de97c783a60fef9f1c4a4dade2b0a989 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000374491
0x6a888dfe097dce64e2d016349811ebfedfbb6e45865cc991c950187797aae129Queue86923052021-06-02 7:54:20397 days 17 hrs ago0x0f3f7c8d5c7f93b223ba2cb0cfd9514fba15ed96 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000124471
0xe666c1d8c9c2729180926d7054d7f5e28a5fe1af478a76d6f37985b05d58b66ePropose86095442021-05-18 22:56:59412 days 2 hrs ago0xe507f2d7de97c783a60fef9f1c4a4dade2b0a989 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.001467181
0x6eaf5f572bf80d404be0fb3fe6f74bb37527968c7bb66f3d199b21f19bf9d000Cast Vote85274352021-05-04 16:37:27426 days 8 hrs ago0xe507f2d7de97c783a60fef9f1c4a4dade2b0a989 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000071911
0x2d6f54facff0b3c46a39ee58a1cec266a4c499acf94364f2b84061c9ccdeee4aCast Vote85274262021-05-04 16:35:12426 days 8 hrs ago0x27fcf06dcffddb6ec5f62d466987e863ec6ae6a0 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000089011
0xdb8f827ff4317bef4f85c4249ec9a1c56b0a35290f2312221c593adf02fac398Propose85273662021-05-04 16:20:11426 days 8 hrs ago0x27fcf06dcffddb6ec5f62d466987e863ec6ae6a0 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000374541
0x1e804e18af5784d3b52fcd8eee8c1d400e913d80089bf79376eff099f1713096Propose84072992021-04-13 19:48:14447 days 5 hrs ago0x5e6cc2397ecb33e6041c15360e17c777555a5e63 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.00035781
0x3ff1204e985bef1fd5a80662779df8f09f0779c723594f2ae32072153a1ea740Propose84071572021-04-13 19:12:44447 days 5 hrs ago0xe507f2d7de97c783a60fef9f1c4a4dade2b0a989 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.00037691
0x0da4a166fe491a5718f1286bbd1ac066b164392acc66cc8936c19cadcf11baebPropose84070842021-04-13 18:54:28447 days 6 hrs ago0x27fcf06dcffddb6ec5f62d466987e863ec6ae6a0 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.00037691
0xf3acff99179c721a40d17bed97d2cdb68ac9fcfa74545d87dab3ff60580f43fcQueue83729482021-04-07 20:38:04453 days 4 hrs ago0xf5276a7166cfda0d68b257e27c7c8bb2e5852e91 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000124471
0x4ac5d6dfeed17789179569abf58a5425979834680faa20150382da0671e02d86Propose83344372021-04-01 4:08:52459 days 20 hrs ago0xcda503926b84bfd08851c6aa083d06b282daf579 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.00034871
0xed41546b2a35ffe247827353a481674e73badd4bbbf0dfcaf92e02beea0f87cbExecute82248352021-03-13 3:21:14478 days 21 hrs ago0x6aa29bcb6146b466a064582bbca829cd793af377 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000124971
0x9bde7ef9997fe6055b2817fca12216b848d550e5b7574e59f289b87621fd9d4dQueue82248242021-03-13 3:18:29478 days 21 hrs ago0x6aa29bcb6146b466a064582bbca829cd793af377 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000103871
0x9416d27660fecb9ac84d84b830875f64f7a72df15b5e63911402b4f1308fc95eCast Vote82122572021-03-10 22:56:14481 days 2 hrs ago0x27fcf06dcffddb6ec5f62d466987e863ec6ae6a0 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000078111
0x7c9d85f63d3fc3c74adb8635b3dca0ef377e9a1f30971832750cd5fd00f13591Propose82122472021-03-10 22:53:44481 days 2 hrs ago0x27fcf06dcffddb6ec5f62d466987e863ec6ae6a0 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000347151
0x2220d12736566db06a893ee52f1a8c85076a16fc7821f370fddfa764315dfb1cCast Vote81857652021-03-06 7:40:39485 days 17 hrs ago0x7ab38077ab29dee6bc2dd87cb0efdf06d18962dd IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000078111
0x25190580d6aaa01f8ca9b234c473247d2ef109104a26dfa20a680419d6834022Propose81857542021-03-06 7:37:53485 days 17 hrs ago0x7ab38077ab29dee6bc2dd87cb0efdf06d18962dd IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000351421
0x32775bb79120dbd516a4b37e4af74b961408d37aaf1b8b34c24bee136b8f397fQueue81856752021-03-06 7:18:08485 days 17 hrs ago0x7ab38077ab29dee6bc2dd87cb0efdf06d18962dd IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000103871
0xc46165a8a2536fe42f196d32a2594ef1a16027b66d2f0d6343ebdfa4534cd1efCast Vote81710952021-03-03 18:30:15488 days 6 hrs ago0x856bf74e6a12e398699d366d5c9f743854603e0d IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000058911
0x6903971997aac6839c1a6645c33a2ed241b3e9452796c5924ff31e072d02c434Cast Vote81710932021-03-03 18:29:45488 days 6 hrs ago0x27fcf06dcffddb6ec5f62d466987e863ec6ae6a0 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000078111
0xd8c03afcd99dbde210f7cfa76fcce0347e2fce4b83aff0988e109586c2e1a81cPropose81710902021-03-03 18:29:00488 days 6 hrs ago0x27fcf06dcffddb6ec5f62d466987e863ec6ae6a0 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000340911
0x490958d82eea00a49222e5c14843c11a56d6628a538937d48e8592fd6f63e219Propose81673732021-03-03 2:58:38488 days 22 hrs ago0x27fcf06dcffddb6ec5f62d466987e863ec6ae6a0 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000414561
0xb6486216c46a4601f6bf34ab0a65b8fe11faaeb526f38aa751c1d3fa669c48e7Execute81613272021-03-02 1:45:55489 days 23 hrs ago0xf5276a7166cfda0d68b257e27c7c8bb2e5852e91 IN  0x9b63243cd27102fbec9faf67ca1a858dcc16ee010 Ether0.000124971
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xc58b7650c4e292e980c1baeeb247dfc39cac7e524e6da3e9ff8f491efa06a9f287654832021-06-15 0:55:31385 days 3 mins ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0xc58b7650c4e292e980c1baeeb247dfc39cac7e524e6da3e9ff8f491efa06a9f287654832021-06-15 0:55:31385 days 3 mins ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0xc58b7650c4e292e980c1baeeb247dfc39cac7e524e6da3e9ff8f491efa06a9f287654832021-06-15 0:55:31385 days 3 mins ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0xa8a670658b157c5c17e53f38e393555e71f8c1f6e71628bd89e310bce19bc19187654152021-06-15 0:38:31385 days 20 mins ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0xc4e90a8dc6caab329f08ed3c8abc6b197cf0f40a0 Ether
0xc1f2d3dc11e8915d8f64b84e0bddf555520d912f0abeed68310825c4981f3d4187653622021-06-15 0:25:16385 days 34 mins ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0xc4e90a8dc6caab329f08ed3c8abc6b197cf0f40a0 Ether
0x6a888dfe097dce64e2d016349811ebfedfbb6e45865cc991c950187797aae12986923052021-06-02 7:54:20397 days 17 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0x6a888dfe097dce64e2d016349811ebfedfbb6e45865cc991c950187797aae12986923052021-06-02 7:54:20397 days 17 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0x6a888dfe097dce64e2d016349811ebfedfbb6e45865cc991c950187797aae12986923052021-06-02 7:54:20397 days 17 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0xe666c1d8c9c2729180926d7054d7f5e28a5fe1af478a76d6f37985b05d58b66e86095442021-05-18 22:56:59412 days 2 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0xc4e90a8dc6caab329f08ed3c8abc6b197cf0f40a0 Ether
0x6eaf5f572bf80d404be0fb3fe6f74bb37527968c7bb66f3d199b21f19bf9d00085274352021-05-04 16:37:27426 days 8 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0xc4e90a8dc6caab329f08ed3c8abc6b197cf0f40a0 Ether
0x2d6f54facff0b3c46a39ee58a1cec266a4c499acf94364f2b84061c9ccdeee4a85274262021-05-04 16:35:12426 days 8 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0xc4e90a8dc6caab329f08ed3c8abc6b197cf0f40a0 Ether
0xdb8f827ff4317bef4f85c4249ec9a1c56b0a35290f2312221c593adf02fac39885273662021-05-04 16:20:11426 days 8 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0xc4e90a8dc6caab329f08ed3c8abc6b197cf0f40a0 Ether
0x1e804e18af5784d3b52fcd8eee8c1d400e913d80089bf79376eff099f171309684072992021-04-13 19:48:14447 days 5 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0xc4e90a8dc6caab329f08ed3c8abc6b197cf0f40a0 Ether
0x3ff1204e985bef1fd5a80662779df8f09f0779c723594f2ae32072153a1ea74084071572021-04-13 19:12:44447 days 5 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0xc4e90a8dc6caab329f08ed3c8abc6b197cf0f40a0 Ether
0x0da4a166fe491a5718f1286bbd1ac066b164392acc66cc8936c19cadcf11baeb84070842021-04-13 18:54:28447 days 6 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0xc4e90a8dc6caab329f08ed3c8abc6b197cf0f40a0 Ether
0xf3acff99179c721a40d17bed97d2cdb68ac9fcfa74545d87dab3ff60580f43fc83729482021-04-07 20:38:04453 days 4 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0xf3acff99179c721a40d17bed97d2cdb68ac9fcfa74545d87dab3ff60580f43fc83729482021-04-07 20:38:04453 days 4 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0xf3acff99179c721a40d17bed97d2cdb68ac9fcfa74545d87dab3ff60580f43fc83729482021-04-07 20:38:04453 days 4 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0x4ac5d6dfeed17789179569abf58a5425979834680faa20150382da0671e02d8683344372021-04-01 4:08:52459 days 20 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0xc4e90a8dc6caab329f08ed3c8abc6b197cf0f40a0 Ether
0xed41546b2a35ffe247827353a481674e73badd4bbbf0dfcaf92e02beea0f87cb82248352021-03-13 3:21:14478 days 21 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0xed41546b2a35ffe247827353a481674e73badd4bbbf0dfcaf92e02beea0f87cb82248352021-03-13 3:21:14478 days 21 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0x9bde7ef9997fe6055b2817fca12216b848d550e5b7574e59f289b87621fd9d4d82248242021-03-13 3:18:29478 days 21 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0x9bde7ef9997fe6055b2817fca12216b848d550e5b7574e59f289b87621fd9d4d82248242021-03-13 3:18:29478 days 21 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0x9bde7ef9997fe6055b2817fca12216b848d550e5b7574e59f289b87621fd9d4d82248242021-03-13 3:18:29478 days 21 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0x8df0afb54836dc8d0ae795503f837cff197d3df10 Ether
0x9416d27660fecb9ac84d84b830875f64f7a72df15b5e63911402b4f1308fc95e82122572021-03-10 22:56:14481 days 2 hrs ago 0x9b63243cd27102fbec9faf67ca1a858dcc16ee01 0xc4e90a8dc6caab329f08ed3c8abc6b197cf0f40a0 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GovernorZero

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 200 runs

Other Settings:
istanbul EvmVersion, None license
File 1 of 2 : GovernorAlpha.sol
pragma solidity ^0.5.16;
pragma experimental ABIEncoderV2;


contract GovernorAlpha {
    /// @notice The name of this contract
    string public constant name = "PoolTogether Governor Alpha";

    /// @notice The number of votes in support of a proposal required in order for a quorum to be reached and for a vote to succeed
    function quorumVotes() public pure returns (uint) { return 100_000e18; } // 1% of Pool

    /// @notice The number of votes required in order for a voter to become a proposer
    function proposalThreshold() public pure returns (uint) { return 10_000e18; } // 0.1% of Pool

    /// @notice The maximum number of actions that can be included in a proposal
    function proposalMaxOperations() public pure returns (uint) { return 10; } // 10 actions

    /// @notice The delay before voting on a proposal may take place, once proposed
    function votingDelay() public pure returns (uint) { return 1; } // 1 block

    /// @notice The duration of voting on a proposal, in blocks
    function votingPeriod() public pure returns (uint) { return 40_320; } // ~7 days in blocks (assuming 15s blocks)

    /// @notice The address of the Pool Protocol Timelock
    TimelockInterface public timelock;

    /// @notice The address of the Pool governance token
    GovernanceTokenInterface public pool;

    /// @notice The total number of proposals
    uint public proposalCount;

    struct Proposal {
        /// @notice Unique id for looking up a proposal
        uint id;

        /// @notice Creator of the proposal
        address proposer;

        /// @notice The timestamp that the proposal will be available for execution, set once the vote succeeds
        uint eta;

        /// @notice the ordered list of target addresses for calls to be made
        address[] targets;

        /// @notice The ordered list of values (i.e. msg.value) to be passed to the calls to be made
        uint[] values;

        /// @notice The ordered list of function signatures to be called
        string[] signatures;

        /// @notice The ordered list of calldata to be passed to each call
        bytes[] calldatas;

        /// @notice The block at which voting begins: holders must delegate their votes prior to this block
        uint startBlock;

        /// @notice The block at which voting ends: votes must be cast prior to this block
        uint endBlock;

        /// @notice Current number of votes in favor of this proposal
        uint forVotes;

        /// @notice Current number of votes in opposition to this proposal
        uint againstVotes;

        /// @notice Flag marking whether the proposal has been canceled
        bool canceled;

        /// @notice Flag marking whether the proposal has been executed
        bool executed;

        /// @notice Receipts of ballots for the entire set of voters
        mapping (address => Receipt) receipts;
    }

    /// @notice Ballot receipt record for a voter
    struct Receipt {
        /// @notice Whether or not a vote has been cast
        bool hasVoted;

        /// @notice Whether or not the voter supports the proposal
        bool support;

        /// @notice The number of votes the voter had, which were cast
        uint96 votes;
    }

    /// @notice Possible states that a proposal may be in
    enum ProposalState {
        Pending,
        Active,
        Canceled,
        Defeated,
        Succeeded,
        Queued,
        Expired,
        Executed
    }

    /// @notice The official record of all proposals ever proposed
    mapping (uint => Proposal) public proposals;

    /// @notice The latest proposal for each proposer
    mapping (address => uint) public latestProposalIds;

    /// @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 ballot struct used by the contract
    bytes32 public constant BALLOT_TYPEHASH = keccak256("Ballot(uint256 proposalId,bool support)");

    /// @notice An event emitted when a new proposal is created
    event ProposalCreated(uint id, address proposer, address[] targets, uint[] values, string[] signatures, bytes[] calldatas, uint startBlock, uint endBlock, string description);

    /// @notice An event emitted when a vote has been cast on a proposal
    event VoteCast(address voter, uint proposalId, bool support, uint votes);

    /// @notice An event emitted when a proposal has been canceled
    event ProposalCanceled(uint id);

    /// @notice An event emitted when a proposal has been queued in the Timelock
    event ProposalQueued(uint id, uint eta);

    /// @notice An event emitted when a proposal has been executed in the Timelock
    event ProposalExecuted(uint id);

    /// @notice Hermes' only job is to deliver the timelock
    address hermes;

    constructor(address hermes_, address pool_) public {
        hermes = hermes_;
        pool = GovernanceTokenInterface(pool_);
    }

    function setTimelock(address timelock_) public {
        require(msg.sender == hermes, "only hermes can deliver the timelock");
        timelock = TimelockInterface(timelock_);
        // Thanks hermes, your job is done
        hermes = address(0);
    }

    function propose(address[] memory targets, uint[] memory values, string[] memory signatures, bytes[] memory calldatas, string memory description) public returns (uint) {
        require(pool.getPriorVotes(msg.sender, sub256(block.number, 1)) > proposalThreshold(), "GovernorAlpha::propose: proposer votes below proposal threshold");
        require(targets.length == values.length && targets.length == signatures.length && targets.length == calldatas.length, "GovernorAlpha::propose: proposal function information arity mismatch");
        require(targets.length != 0, "GovernorAlpha::propose: must provide actions");
        require(targets.length <= proposalMaxOperations(), "GovernorAlpha::propose: too many actions");

        uint latestProposalId = latestProposalIds[msg.sender];
        if (latestProposalId != 0) {
          ProposalState proposersLatestProposalState = state(latestProposalId);
          require(proposersLatestProposalState != ProposalState.Active, "GovernorAlpha::propose: one live proposal per proposer, found an already active proposal");
          require(proposersLatestProposalState != ProposalState.Pending, "GovernorAlpha::propose: one live proposal per proposer, found an already pending proposal");
        }

        uint startBlock = add256(block.number, votingDelay());
        uint endBlock = add256(startBlock, votingPeriod());

        proposalCount++;
        Proposal memory newProposal = Proposal({
            id: proposalCount,
            proposer: msg.sender,
            eta: 0,
            targets: targets,
            values: values,
            signatures: signatures,
            calldatas: calldatas,
            startBlock: startBlock,
            endBlock: endBlock,
            forVotes: 0,
            againstVotes: 0,
            canceled: false,
            executed: false
        });

        proposals[newProposal.id] = newProposal;
        latestProposalIds[newProposal.proposer] = newProposal.id;

        emit ProposalCreated(newProposal.id, msg.sender, targets, values, signatures, calldatas, startBlock, endBlock, description);
        return newProposal.id;
    }

    function queue(uint proposalId) public {
        require(state(proposalId) == ProposalState.Succeeded, "GovernorAlpha::queue: proposal can only be queued if it is succeeded");
        Proposal storage proposal = proposals[proposalId];
        uint eta = add256(block.timestamp, timelock.delay());
        for (uint i = 0; i < proposal.targets.length; i++) {
            _queueOrRevert(proposal.targets[i], proposal.values[i], proposal.signatures[i], proposal.calldatas[i], eta);
        }
        proposal.eta = eta;
        emit ProposalQueued(proposalId, eta);
    }

    function _queueOrRevert(address target, uint value, string memory signature, bytes memory data, uint eta) internal {
        require(!timelock.queuedTransactions(keccak256(abi.encode(target, value, signature, data, eta))), "GovernorAlpha::_queueOrRevert: proposal action already queued at eta");
        timelock.queueTransaction(target, value, signature, data, eta);
    }

    function execute(uint proposalId) public payable {
        require(state(proposalId) == ProposalState.Queued, "GovernorAlpha::execute: proposal can only be executed if it is queued");
        Proposal storage proposal = proposals[proposalId];
        proposal.executed = true;
        for (uint i = 0; i < proposal.targets.length; i++) {
            timelock.executeTransaction.value(proposal.values[i])(proposal.targets[i], proposal.values[i], proposal.signatures[i], proposal.calldatas[i], proposal.eta);
        }
        emit ProposalExecuted(proposalId);
    }

    function cancel(uint proposalId) public {
        ProposalState state = state(proposalId);
        require(state != ProposalState.Executed, "GovernorAlpha::cancel: cannot cancel executed proposal");

        Proposal storage proposal = proposals[proposalId];
        require(pool.getPriorVotes(proposal.proposer, sub256(block.number, 1)) < proposalThreshold(), "GovernorAlpha::cancel: proposer above threshold");

        proposal.canceled = true;
        for (uint i = 0; i < proposal.targets.length; i++) {
            timelock.cancelTransaction(proposal.targets[i], proposal.values[i], proposal.signatures[i], proposal.calldatas[i], proposal.eta);
        }

        emit ProposalCanceled(proposalId);
    }

    function getActions(uint proposalId) public view returns (address[] memory targets, uint[] memory values, string[] memory signatures, bytes[] memory calldatas) {
        Proposal storage p = proposals[proposalId];
        return (p.targets, p.values, p.signatures, p.calldatas);
    }

    function getReceipt(uint proposalId, address voter) public view returns (Receipt memory) {
        return proposals[proposalId].receipts[voter];
    }

    function state(uint proposalId) public view returns (ProposalState) {
        require(proposalCount >= proposalId && proposalId > 0, "GovernorAlpha::state: invalid proposal id");
        Proposal storage proposal = proposals[proposalId];
        if (proposal.canceled) {
            return ProposalState.Canceled;
        } else if (block.number <= proposal.startBlock) {
            return ProposalState.Pending;
        } else if (block.number <= proposal.endBlock) {
            return ProposalState.Active;
        } else if (proposal.forVotes <= proposal.againstVotes || proposal.forVotes < quorumVotes()) {
            return ProposalState.Defeated;
        } else if (proposal.eta == 0) {
            return ProposalState.Succeeded;
        } else if (proposal.executed) {
            return ProposalState.Executed;
        } else if (block.timestamp >= add256(proposal.eta, timelock.gracePeriod())) {
            return ProposalState.Expired;
        } else {
            return ProposalState.Queued;
        }
    }

    function castVote(uint proposalId, bool support) public {
        return _castVote(msg.sender, proposalId, support);
    }

    function castVoteBySig(uint proposalId, bool support, uint8 v, bytes32 r, bytes32 s) public {
        bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));
        bytes32 structHash = keccak256(abi.encode(BALLOT_TYPEHASH, proposalId, support));
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "GovernorAlpha::castVoteBySig: invalid signature");
        return _castVote(signatory, proposalId, support);
    }

    function _castVote(address voter, uint proposalId, bool support) internal {
        require(state(proposalId) == ProposalState.Active, "GovernorAlpha::_castVote: voting is closed");
        Proposal storage proposal = proposals[proposalId];
        Receipt storage receipt = proposal.receipts[voter];
        require(receipt.hasVoted == false, "GovernorAlpha::_castVote: voter already voted");
        uint96 votes = pool.getPriorVotes(voter, proposal.startBlock);

        if (support) {
            proposal.forVotes = add256(proposal.forVotes, votes);
        } else {
            proposal.againstVotes = add256(proposal.againstVotes, votes);
        }

        receipt.hasVoted = true;
        receipt.support = support;
        receipt.votes = votes;

        emit VoteCast(voter, proposalId, support, votes);
    }

    function add256(uint256 a, uint256 b) internal pure returns (uint) {
        uint c = a + b;
        require(c >= a, "addition overflow");
        return c;
    }

    function sub256(uint256 a, uint256 b) internal pure returns (uint) {
        require(b <= a, "subtraction underflow");
        return a - b;
    }

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

interface TimelockInterface {
    function delay() external view returns (uint);
    function gracePeriod() external view returns (uint);
    function acceptAdmin() external;
    function queuedTransactions(bytes32 hash) external view returns (bool);
    function queueTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external returns (bytes32);
    function cancelTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external;
    function executeTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external payable returns (bytes memory);
}

interface GovernanceTokenInterface {
    function getPriorVotes(address account, uint blockNumber) external view returns (uint96);
}

File 2 of 2 : GovernorZero.sol
pragma solidity ^0.5.16;
pragma experimental ABIEncoderV2;

import "../GovernorAlpha.sol";

contract GovernorZero is GovernorAlpha {

  /// @notice The number of votes in support of a proposal required in order for a quorum to be reached and for a vote to succeed
  function quorumVotes() public pure returns (uint) { return 1e18; } // 1% of Pool

  /// @notice The number of votes required in order for a voter to become a proposer
  function proposalThreshold() public pure returns (uint) { return 1e18; }

  /// @notice The maximum number of actions that can be included in a proposal
  function proposalMaxOperations() public pure returns (uint) { return 10; } // 10 actions

  /// @notice The delay before voting on a proposal may take place, once proposed
  function votingDelay() public pure returns (uint) { return 0; } // 1 block

  /// @notice The duration of voting on a proposal, in blocks
  function votingPeriod() public pure returns (uint) { return 100; } // ~7 days in blocks (assuming 15s blocks)

  constructor(address hermes_, address pool_) public GovernorAlpha(hermes_, pool_) {
  }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "evmVersion": "istanbul",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"hermes_","type":"address"},{"internalType":"address","name":"pool_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"support","type":"bool"},{"indexed":false,"internalType":"uint256","name":"votes","type":"uint256"}],"name":"VoteCast","type":"event"},{"constant":true,"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"cancel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"bool","name":"support","type":"bool"}],"name":"castVote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"bool","name":"support","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"execute","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getActions","outputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"string[]","name":"signatures","type":"string[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"getReceipt","outputs":[{"components":[{"internalType":"bool","name":"hasVoted","type":"bool"},{"internalType":"bool","name":"support","type":"bool"},{"internalType":"uint96","name":"votes","type":"uint96"}],"internalType":"struct GovernorAlpha.Receipt","name":"","type":"tuple"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"latestProposalIds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pool","outputs":[{"internalType":"contract GovernanceTokenInterface","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proposalCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proposalMaxOperations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"proposals","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"eta","type":"uint256"},{"internalType":"uint256","name":"startBlock","type":"uint256"},{"internalType":"uint256","name":"endBlock","type":"uint256"},{"internalType":"uint256","name":"forVotes","type":"uint256"},{"internalType":"uint256","name":"againstVotes","type":"uint256"},{"internalType":"bool","name":"canceled","type":"bool"},{"internalType":"bool","name":"executed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"string[]","name":"signatures","type":"string[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"queue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"quorumVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"timelock_","type":"address"}],"name":"setTimelock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum GovernorAlpha.ProposalState","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timelock","outputs":[{"internalType":"contract TimelockInterface","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"}]

60806040523480156200001157600080fd5b506040516200337938038062003379833981016040819052620000349162000079565b600580546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055620000e4565b80516200007381620000ca565b92915050565b600080604083850312156200008d57600080fd5b60006200009b858562000066565b9250506020620000ae8582860162000066565b9150509250929050565b60006001600160a01b03821662000073565b620000d581620000b8565b8114620000e157600080fd5b50565b61328580620000f46000396000f3fe6080604052600436106101405760003560e01c806340e58ee5116100b6578063da35c6641161006f578063da35c66414610351578063da95691a14610366578063ddf0b00914610386578063deaaa7cc146103a6578063e23a9a52146103bb578063fe0d94c1146103e857610140565b806340e58ee5146102c75780634634c61f146102e75780637bdbe4d014610307578063b58131b014610240578063bdacb3031461031c578063d33219b41461033c57610140565b806317977c611161010857806317977c611461020b57806320606b701461022b57806324bc1a6414610240578063328dd982146102555780633932abb1146102855780633e4f49e61461029a57610140565b8063013cf08b1461014557806302a251a31461018357806306fdde03146101a557806315373e3d146101c757806316f0115b146101e9575b600080fd5b34801561015157600080fd5b506101656101603660046120ec565b6103fb565b60405161017a9998979695949392919061303b565b60405180910390f35b34801561018f57600080fd5b50610198610454565b60405161017a9190612d98565b3480156101b157600080fd5b506101ba61045a565b60405161017a9190612e54565b3480156101d357600080fd5b506101e76101e2366004612144565b610493565b005b3480156101f557600080fd5b506101fe6104a2565b60405161017a9190612e38565b34801561021757600080fd5b50610198610226366004611f69565b6104b1565b34801561023757600080fd5b506101986104c3565b34801561024c57600080fd5b506101986104da565b34801561026157600080fd5b506102756102703660046120ec565b6104e6565b60405161017a9493929190612d4b565b34801561029157600080fd5b50610198610775565b3480156102a657600080fd5b506102ba6102b53660046120ec565b61077a565b60405161017a9190612e46565b3480156102d357600080fd5b506101e76102e23660046120ec565b610905565b3480156102f357600080fd5b506101e7610302366004612174565b610b59565b34801561031357600080fd5b50610198610cf6565b34801561032857600080fd5b506101e7610337366004611f69565b610cfb565b34801561034857600080fd5b506101fe610d4e565b34801561035d57600080fd5b50610198610d5d565b34801561037257600080fd5b50610198610381366004611f8f565b610d63565b34801561039257600080fd5b506101e76103a13660046120ec565b611185565b3480156103b257600080fd5b506101986113f3565b3480156103c757600080fd5b506103db6103d636600461210a565b6113ff565b60405161017a9190612f85565b6101e76103f63660046120ec565b61146e565b6003602052600090815260409020805460018201546002830154600784015460088501546009860154600a870154600b9097015495966001600160a01b0390951695939492939192909160ff8082169161010090041689565b60645b90565b6040518060400160405280601b81526020017f506f6f6c546f67657468657220476f7665726e6f7220416c706861000000000081525081565b61049e338383611633565b5050565b6001546001600160a01b031681565b60046020526000908152604090205481565b6040516104cf90612c3c565b604051809103902081565b670de0b6b3a764000090565b6060806060806000600360008781526020019081526020016000209050806003018160040182600501836006018380548060200260200160405190810160405280929190818152602001828054801561056857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161054a575b50505050509350828054806020026020016040519081016040528092919081815260200182805480156105ba57602002820191906000526020600020905b8154815260200190600101908083116105a6575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b8282101561068d5760008481526020908190208301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156106795780601f1061064e57610100808354040283529160200191610679565b820191906000526020600020905b81548152906001019060200180831161065c57829003601f168201915b5050505050815260200190600101906105e2565b50505050915080805480602002602001604051908101604052809291908181526020016000905b8282101561075f5760008481526020908190208301805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561074b5780601f106107205761010080835404028352916020019161074b565b820191906000526020600020905b81548152906001019060200180831161072e57829003601f168201915b5050505050815260200190600101906106b4565b5050505090509450945094509450509193509193565b600090565b6000816002541015801561078e5750600082115b6107b35760405162461bcd60e51b81526004016107aa90612e85565b60405180910390fd5b6000828152600360205260409020600b81015460ff16156107d8576002915050610900565b806007015443116107ed576000915050610900565b80600801544311610802576001915050610900565b80600a01548160090154111580610823575061081c6104da565b8160090154105b15610832576003915050610900565b6002810154610845576004915050610900565b600b810154610100900460ff1615610861576007915050610900565b60028101546000546040805163281b6df760e21b815290516108ea93926001600160a01b03169163a06db7dc916004808301926020929190829003018186803b1580156108ad57600080fd5b505afa1580156108c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108e59190810190612099565b6117fc565b42106108fa576006915050610900565b60059150505b919050565b60006109108261077a565b9050600781600781111561092057fe5b141561093e5760405162461bcd60e51b81526004016107aa90612f55565b60008281526003602052604090206109546104da565b60018054838201546001600160a01b039182169263782d6fe1929091169061097d904390611828565b6040518363ffffffff1660e01b815260040161099a929190612c6d565b60206040518083038186803b1580156109b257600080fd5b505afa1580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109ea91908101906121dc565b6001600160601b031610610a105760405162461bcd60e51b81526004016107aa90612ee5565b600b8101805460ff1916600117905560005b6003820154811015610b1c576000546003830180546001600160a01b039092169163591fcdfe919084908110610a5457fe5b6000918252602090912001546004850180546001600160a01b039092169185908110610a7c57fe5b9060005260206000200154856005018581548110610a9657fe5b90600052602060002001866006018681548110610aaf57fe5b9060005260206000200187600201546040518663ffffffff1660e01b8152600401610ade959493929190612d0a565b600060405180830381600087803b158015610af857600080fd5b505af1158015610b0c573d6000803e3d6000fd5b505060019092019150610a229050565b507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c83604051610b4c9190612d98565b60405180910390a1505050565b6000604051610b6790612c3c565b60408051918290038220828201909152601b82527f506f6f6c546f67657468657220476f7665726e6f7220416c70686100000000006020909201919091527fe6cce8dae3de26f4bb5e25e9bafdf3502d0ddf2acbace2e7261e1a8c96405629610bce611850565b30604051602001610be29493929190612da6565b6040516020818303038152906040528051906020012090506000604051610c0890612c47565b604051908190038120610c219189908990602001612ddb565b60405160208183030381529060405280519060200120905060008282604051602001610c4e929190612c0b565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610c8b9493929190612e03565b6020604051602081039080840390855afa158015610cad573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610ce05760405162461bcd60e51b81526004016107aa90612f35565b610ceb818a8a611633565b505050505050505050565b600a90565b6005546001600160a01b03163314610d255760405162461bcd60e51b81526004016107aa90612f15565b600080546001600160a01b039092166001600160a01b0319928316179055600580549091169055565b6000546001600160a01b031681565b60025481565b6000610d6d6104da565b600180546001600160a01b03169063782d6fe1903390610d8e904390611828565b6040518363ffffffff1660e01b8152600401610dab929190612c52565b60206040518083038186803b158015610dc357600080fd5b505afa158015610dd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dfb91908101906121dc565b6001600160601b031611610e215760405162461bcd60e51b81526004016107aa90612f25565b84518651148015610e33575083518651145b8015610e40575082518651145b610e5c5760405162461bcd60e51b81526004016107aa90612ed5565b8551610e7a5760405162461bcd60e51b81526004016107aa90612f05565b610e82610cf6565b86511115610ea25760405162461bcd60e51b81526004016107aa90612eb5565b336000908152600460205260409020548015610f1f576000610ec38261077a565b90506001816007811115610ed357fe5b1415610ef15760405162461bcd60e51b81526004016107aa90612f45565b6000816007811115610eff57fe5b1415610f1d5760405162461bcd60e51b81526004016107aa90612ea5565b505b6000610f2d436108e5610775565b90506000610f3d826108e5610454565b6002805460010190559050610f506119b3565b604051806101a001604052806002548152602001336001600160a01b03168152602001600081526020018b81526020018a815260200189815260200188815260200184815260200183815260200160008152602001600081526020016000151581526020016000151581525090508060036000836000015181526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550604082015181600201556060820151816003019080519060200190611033929190611a28565b506080820151805161104f916004840191602090910190611a8d565b5060a0820151805161106b916005840191602090910190611ad4565b5060c08201518051611087916006840191602090910190611b2d565b5060e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b0160006101000a81548160ff02191690831515021790555061018082015181600b0160016101000a81548160ff02191690831515021790555090505080600001516004600083602001516001600160a01b03166001600160a01b03168152602001908152602001600020819055507f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e08160000151338c8c8c8c89898e60405161116d99989796959493929190612f93565b60405180910390a15193505050505b95945050505050565b60046111908261077a565b600781111561119b57fe5b146111b85760405162461bcd60e51b81526004016107aa90612e65565b600081815260036020908152604080832083548251630d48571f60e31b815292519194936112119342936001600160a01b0390931692636a42b8f892600480840193919291829003018186803b1580156108ad57600080fd5b905060005b60038301548110156113b9576113b183600301828154811061123457fe5b6000918252602090912001546004850180546001600160a01b03909216918490811061125c57fe5b906000526020600020015485600501848154811061127657fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156113045780601f106112d957610100808354040283529160200191611304565b820191906000526020600020905b8154815290600101906020018083116112e757829003601f168201915b505050505086600601858154811061131857fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156113a65780601f1061137b576101008083540402835291602001916113a6565b820191906000526020600020905b81548152906001019060200180831161138957829003601f168201915b505050505086611854565b600101611216565b50600282018190556040517f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289290610b4c90859084906130c1565b6040516104cf90612c47565b611407611b86565b5060008281526003602090815260408083206001600160a01b0385168452600c018252918290208251606081018452905460ff80821615158352610100820416151592820192909252620100009091046001600160601b0316918101919091525b92915050565b60056114798261077a565b600781111561148457fe5b146114a15760405162461bcd60e51b81526004016107aa90612e75565b6000818152600360205260408120600b8101805461ff001916610100179055905b60038201548110156115f7576000546004830180546001600160a01b0390921691630825f38f9190849081106114f457fe5b906000526020600020015484600301848154811061150e57fe5b6000918252602090912001546004860180546001600160a01b03909216918690811061153657fe5b906000526020600020015486600501868154811061155057fe5b9060005260206000200187600601878154811061156957fe5b9060005260206000200188600201546040518763ffffffff1660e01b8152600401611598959493929190612d0a565b6000604051808303818588803b1580156115b157600080fd5b505af11580156115c5573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526115ee91908101906120b7565b506001016114c2565b507f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f826040516116279190612d98565b60405180910390a15050565b600161163e8361077a565b600781111561164957fe5b146116665760405162461bcd60e51b81526004016107aa90612f65565b60008281526003602090815260408083206001600160a01b0387168452600c8101909252909120805460ff16156116af5760405162461bcd60e51b81526004016107aa90612e95565b600154600783015460405163782d6fe160e01b81526000926001600160a01b03169163782d6fe1916116e5918a91600401612c6d565b60206040518083038186803b1580156116fd57600080fd5b505afa158015611711573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061173591908101906121dc565b9050831561175e576117548360090154826001600160601b03166117fc565b600984015561177b565b61177583600a0154826001600160601b03166117fc565b600a8401555b8154600160ff199091161761ff00191661010085151502176dffffffffffffffffffffffff00001916620100006001600160601b038316021782556040517f877856338e13f63d0c36822ff0ef736b80934cd90574a3a5bc9262c39d217c46906117ec908890889088908690612c7b565b60405180910390a1505050505050565b6000828201838110156118215760405162461bcd60e51b81526004016107aa90612ec5565b9392505050565b60008282111561184a5760405162461bcd60e51b81526004016107aa90612f75565b50900390565b4690565b6000546040516001600160a01b039091169063f2b06537906118829088908890889088908890602001612cb0565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016118b49190612d98565b60206040518083038186803b1580156118cc57600080fd5b505afa1580156118e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611904919081019061207b565b156119215760405162461bcd60e51b81526004016107aa90612ef5565b600054604051633a66f90160e01b81526001600160a01b0390911690633a66f901906119599088908890889088908890600401612cb0565b602060405180830381600087803b15801561197357600080fd5b505af1158015611987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119ab9190810190612099565b505050505050565b604051806101a001604052806000815260200160006001600160a01b031681526020016000815260200160608152602001606081526020016060815260200160608152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b828054828255906000526020600020908101928215611a7d579160200282015b82811115611a7d57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611a48565b50611a89929150611ba6565b5090565b828054828255906000526020600020908101928215611ac8579160200282015b82811115611ac8578251825591602001919060010190611aad565b50611a89929150611bca565b828054828255906000526020600020908101928215611b21579160200282015b82811115611b215782518051611b11918491602090910190611be4565b5091602001919060010190611af4565b50611a89929150611c51565b828054828255906000526020600020908101928215611b7a579160200282015b82811115611b7a5782518051611b6a918491602090910190611be4565b5091602001919060010190611b4d565b50611a89929150611c74565b604080516060810182526000808252602082018190529181019190915290565b61045791905b80821115611a895780546001600160a01b0319168155600101611bac565b61045791905b80821115611a895760008155600101611bd0565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c2557805160ff1916838001178555611ac8565b82800160010185558215611ac85791820182811115611ac8578251825591602001919060010190611aad565b61045791905b80821115611a89576000611c6b8282611c97565b50600101611c57565b61045791905b80821115611a89576000611c8e8282611c97565b50600101611c7a565b50805460018160011615610100020316600290046000825580601f10611cbd5750611cdb565b601f016020900490600052602060002090810190611cdb9190611bca565b50565b80356114688161320a565b600082601f830112611cfa57600080fd5b8135611d0d611d08826130f6565b6130cf565b91508181835260208401935060208101905083856020840282011115611d3257600080fd5b60005b83811015611d5e5781611d488882611cde565b8452506020928301929190910190600101611d35565b5050505092915050565b600082601f830112611d7957600080fd5b8135611d87611d08826130f6565b81815260209384019390925082018360005b83811015611d5e5781358601611daf8882611ebe565b8452506020928301929190910190600101611d99565b600082601f830112611dd657600080fd5b8135611de4611d08826130f6565b81815260209384019390925082018360005b83811015611d5e5781358601611e0c8882611ebe565b8452506020928301929190910190600101611df6565b600082601f830112611e3357600080fd5b8135611e41611d08826130f6565b91508181835260208401935060208101905083856020840282011115611e6657600080fd5b60005b83811015611d5e5781611e7c8882611ea8565b8452506020928301929190910190600101611e69565b80356114688161321e565b80516114688161321e565b803561146881613227565b805161146881613227565b600082601f830112611ecf57600080fd5b8135611edd611d0882613117565b91508082526020830160208301858383011115611ef957600080fd5b611f048382846131be565b50505092915050565b600082601f830112611f1e57600080fd5b8151611f2c611d0882613117565b91508082526020830160208301858383011115611f4857600080fd5b611f048382846131ca565b803561146881613230565b805161146881613239565b600060208284031215611f7b57600080fd5b6000611f878484611cde565b949350505050565b600080600080600060a08688031215611fa757600080fd5b853567ffffffffffffffff811115611fbe57600080fd5b611fca88828901611ce9565b955050602086013567ffffffffffffffff811115611fe757600080fd5b611ff388828901611e22565b945050604086013567ffffffffffffffff81111561201057600080fd5b61201c88828901611dc5565b935050606086013567ffffffffffffffff81111561203957600080fd5b61204588828901611d68565b925050608086013567ffffffffffffffff81111561206257600080fd5b61206e88828901611ebe565b9150509295509295909350565b60006020828403121561208d57600080fd5b6000611f878484611e9d565b6000602082840312156120ab57600080fd5b6000611f878484611eb3565b6000602082840312156120c957600080fd5b815167ffffffffffffffff8111156120e057600080fd5b611f8784828501611f0d565b6000602082840312156120fe57600080fd5b6000611f878484611ea8565b6000806040838503121561211d57600080fd5b60006121298585611ea8565b925050602061213a85828601611cde565b9150509250929050565b6000806040838503121561215757600080fd5b60006121638585611ea8565b925050602061213a85828601611e92565b600080600080600060a0868803121561218c57600080fd5b60006121988888611ea8565b95505060206121a988828901611e92565b94505060406121ba88828901611f53565b93505060606121cb88828901611ea8565b925050608061206e88828901611ea8565b6000602082840312156121ee57600080fd5b6000611f878484611f5e565b60006122068383612235565b505060200190565b600061182183836123d7565b600061220683836123bd565b61222f81613196565b82525050565b61222f8161315e565b600061224982613151565b6122538185613155565b935061225e8361313f565b8060005b8381101561228c57815161227688826121fa565b97506122818361313f565b925050600101612262565b509495945050505050565b60006122a282613151565b6122ac8185613155565b9350836020820285016122be8561313f565b8060005b858110156122f857848403895281516122db858261220e565b94506122e68361313f565b60209a909a01999250506001016122c2565b5091979650505050505050565b600061231082613151565b61231a8185613155565b93508360208202850161232c8561313f565b8060005b858110156122f85784840389528151612349858261220e565b94506123548361313f565b60209a909a0199925050600101612330565b600061237182613151565b61237b8185613155565b93506123868361313f565b8060005b8381101561228c57815161239e888261221a565b97506123a98361313f565b92505060010161238a565b61222f81613169565b61222f81610457565b61222f6123d282610457565b610457565b60006123e282613151565b6123ec8185613155565b93506123fc8185602086016131ca565b612405816131f6565b9093019392505050565b60008154600181166000811461242c576001811461245257612491565b607f600283041661243d8187613155565b60ff1984168152955050602085019250612491565b600282046124608187613155565b955061246b85613145565b60005b8281101561248a5781548882015260019091019060200161246e565b8701945050505b505092915050565b61222f8161319d565b61222f816131a8565b60006124b8604483613155565b7f476f7665726e6f72416c7068613a3a71756575653a2070726f706f73616c206381527f616e206f6e6c79206265207175657565642069662069742069732073756363656020820152631959195960e21b604082015260600192915050565b6000612524604583613155565b7f476f7665726e6f72416c7068613a3a657865637574653a2070726f706f73616c81527f2063616e206f6e6c7920626520657865637574656420696620697420697320716020820152641d595d595960da1b604082015260600192915050565b6000612591600283610900565b61190160f01b815260020192915050565b60006125af602983613155565b7f476f7665726e6f72416c7068613a3a73746174653a20696e76616c69642070728152681bdc1bdcd85b081a5960ba1b602082015260400192915050565b60006125fa602d83613155565b7f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f7465722081526c185b1c9958591e481d9bdd1959609a1b602082015260400192915050565b6000612649605983613155565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c72656164792070656e64696e672070726f706f73616c00000000000000604082015260600192915050565b60006126ce602883613155565b7f476f7665726e6f72416c7068613a3a70726f706f73653a20746f6f206d616e7981526720616374696f6e7360c01b602082015260400192915050565b6000612718601183613155565b706164646974696f6e206f766572666c6f7760781b815260200192915050565b6000612745604383610900565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b60006127b0602783610900565b7f42616c6c6f742875696e743235362070726f706f73616c49642c626f6f6c20738152667570706f72742960c81b602082015260270192915050565b60006127f9604483613155565b7f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73616c81527f2066756e6374696f6e20696e666f726d6174696f6e206172697479206d69736d6020820152630c2e8c6d60e31b604082015260600192915050565b6000612865602f83613155565b7f476f7665726e6f72416c7068613a3a63616e63656c3a2070726f706f7365722081526e18589bdd99481d1a1c995cda1bdb19608a1b602082015260400192915050565b60006128b6604483613155565b7f476f7665726e6f72416c7068613a3a5f71756575654f725265766572743a207081527f726f706f73616c20616374696f6e20616c7265616479207175657565642061746020820152632065746160e01b604082015260600192915050565b6000612922602c83613155565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206d7573742070726f81526b7669646520616374696f6e7360a01b602082015260400192915050565b6000612970602483613155565b7f6f6e6c79206865726d65732063616e2064656c69766572207468652074696d658152636c6f636b60e01b602082015260400192915050565b60006129b6603f83613155565b7f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73657281527f20766f7465732062656c6f772070726f706f73616c207468726573686f6c6400602082015260400192915050565b6000612a15602f83613155565b7f476f7665726e6f72416c7068613a3a63617374566f746542795369673a20696e81526e76616c6964207369676e617475726560881b602082015260400192915050565b6000612a66605883613155565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c7265616479206163746976652070726f706f73616c0000000000000000604082015260600192915050565b6000612aeb603683613155565b7f476f7665726e6f72416c7068613a3a63616e63656c3a2063616e6e6f742063618152751b98d95b08195e1958dd5d1959081c1c9bdc1bdcd85b60521b602082015260400192915050565b6000612b43602a83613155565b7f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f74696e67815269081a5cc818db1bdcd95960b21b602082015260400192915050565b6000612b8f601583613155565b747375627472616374696f6e20756e646572666c6f7760581b815260200192915050565b80516060830190612bc484826123b4565b506020820151612bd760208501826123b4565b506040820151612bea6040850182612c02565b50505050565b61222f81613184565b61222f816131b3565b61222f8161318a565b6000612c1682612584565b9150612c2282856123c6565b602082019150612c3282846123c6565b5060200192915050565b600061146882612738565b6000611468826127a3565b60408101612c608285612226565b61182160208301846123bd565b60408101612c608285612235565b60808101612c898287612235565b612c9660208301866123bd565b612ca360408301856123b4565b61117c6060830184612bf9565b60a08101612cbe8288612235565b612ccb60208301876123bd565b8181036040830152612cdd81866123d7565b90508181036060830152612cf181856123d7565b9050612d0060808301846123bd565b9695505050505050565b60a08101612d188288612235565b612d2560208301876123bd565b8181036040830152612d37818661240f565b90508181036060830152612cf1818561240f565b60808082528101612d5c818761223e565b90508181036020830152612d708186612366565b90508181036040830152612d848185612305565b90508181036060830152612d008184612297565b6020810161146882846123bd565b60808101612db482876123bd565b612dc160208301866123bd565b612dce60408301856123bd565b61117c6060830184612235565b60608101612de982866123bd565b612df660208301856123bd565b611f8760408301846123b4565b60808101612e1182876123bd565b612e1e6020830186612bf0565b612e2b60408301856123bd565b61117c60608301846123bd565b602081016114688284612499565b6020810161146882846124a2565b6020808252810161182181846123d7565b60208082528101611468816124ab565b6020808252810161146881612517565b60208082528101611468816125a2565b60208082528101611468816125ed565b602080825281016114688161263c565b60208082528101611468816126c1565b602080825281016114688161270b565b60208082528101611468816127ec565b6020808252810161146881612858565b60208082528101611468816128a9565b6020808252810161146881612915565b6020808252810161146881612963565b60208082528101611468816129a9565b6020808252810161146881612a08565b6020808252810161146881612a59565b6020808252810161146881612ade565b6020808252810161146881612b36565b6020808252810161146881612b82565b606081016114688284612bb3565b6101208101612fa2828c6123bd565b612faf602083018b612226565b8181036040830152612fc1818a61223e565b90508181036060830152612fd58189612366565b90508181036080830152612fe98188612305565b905081810360a0830152612ffd8187612297565b905061300c60c08301866123bd565b61301960e08301856123bd565b81810361010083015261302c81846123d7565b9b9a5050505050505050505050565b610120810161304a828c6123bd565b613057602083018b612235565b613064604083018a6123bd565b61307160608301896123bd565b61307e60808301886123bd565b61308b60a08301876123bd565b61309860c08301866123bd565b6130a560e08301856123b4565b6130b36101008301846123b4565b9a9950505050505050505050565b60408101612c6082856123bd565b60405181810167ffffffffffffffff811182821017156130ee57600080fd5b604052919050565b600067ffffffffffffffff82111561310d57600080fd5b5060209081020190565b600067ffffffffffffffff82111561312e57600080fd5b506020601f91909101601f19160190565b60200190565b60009081526020902090565b5190565b90815260200190565b600061146882613178565b151590565b8061090081613200565b6001600160a01b031690565b60ff1690565b6001600160601b031690565b6000611468825b60006114688261315e565b60006114688261316e565b60006114688261318a565b82818337506000910152565b60005b838110156131e55781810151838201526020016131cd565b83811115612bea5750506000910152565b601f01601f191690565b60088110611cdb57fe5b6132138161315e565b8114611cdb57600080fd5b61321381613169565b61321381610457565b61321381613184565b6132138161318a56fea365627a7a72315820c1dbc3099d5bfaf6a70ee590edb6cc1627eba70146fdfbe8857e9d8a8dfc73e06c6578706572696d656e74616cf564736f6c63430005100040000000000000000000000000085f26b543b330a4a97cbf3df66e1fd44e7c0bf6000000000000000000000000c4e90a8dc6caab329f08ed3c8abc6b197cf0f40a

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

000000000000000000000000085f26b543b330a4a97cbf3df66e1fd44e7c0bf6000000000000000000000000c4e90a8dc6caab329f08ed3c8abc6b197cf0f40a

-----Decoded View---------------
Arg [0] : hermes_ (address): 0x085f26b543b330a4a97cbf3df66e1fd44e7c0bf6
Arg [1] : pool_ (address): 0xc4e90a8dc6caab329f08ed3c8abc6b197cf0f40a

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000085f26b543b330a4a97cbf3df66e1fd44e7c0bf6
Arg [1] : 000000000000000000000000c4e90a8dc6caab329f08ed3c8abc6b197cf0f40a


Deployed ByteCode Sourcemap

92:1013:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3537:43:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3537:43:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;904:66:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;904:66:1;;;:::i;:::-;;;;;;;;132:59:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;132:59:0;;;:::i;:::-;;;;;;;;11156:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11156:122:0;;;;;;;;:::i;:::-;;1284:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1284:36:0;;;:::i;:::-;;;;;;;;3641:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3641:50:0;;;;;;;;:::i;3761:122::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3761:122:0;;;:::i;266:66:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;266:66:1;;;:::i;9680:284:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9680:284:0;;;;;;;;:::i;:::-;;;;;;;;;;;764:63:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;764:63:1;;;:::i;10126:1024:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10126:1024:0;;;;;;;;:::i;:::-;;;;;;;;8964:710;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8964:710:0;;;;;;;;:::i;11284:618::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11284:618:0;;;;;;;;:::i;590:74:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;590:74:1;;;:::i;5040:254:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5040:254:0;;;;;;;;:::i;1187:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1187:33:0;;;:::i;1373:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1373:25:0;;;:::i;5300:2134::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5300:2134:0;;;;;;;;:::i;7440:568::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7440:568:0;;;;;;;;:::i;3970:94::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3970:94:0;;;:::i;9970:150::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9970:150:0;;;;;;;;:::i;:::-;;;;;;;;8393:565;;;;;;;;;:::i;3537:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3537:43:0;;;;;;;;;;;;;;;;;;;;;;:::o;904:66:1:-;964:3;904:66;;:::o;132:59:0:-;;;;;;;;;;;;;;;;;;;:::o;11156:122::-;11229:42;11239:10;11251;11263:7;11229:9;:42::i;:::-;11156:122;;:::o;1284:36::-;;;-1:-1:-1;;;;;1284:36:0;;:::o;3641:50::-;;;;;;;;;;;;;:::o;3761:122::-;3803:80;;;;;;;;;;;;;;3761:122;:::o;266:66:1:-;325:4;266:66;:::o;9680:284:0:-;9738:24;9764:20;9786:26;9814:24;9850:18;9871:9;:21;9881:10;9871:21;;;;;;;;;;;9850:42;;9910:1;:9;;9921:1;:8;;9931:1;:12;;9945:1;:11;;9902:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9902:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9902:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9902:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9680:284;;;;;:::o;764:63:1:-;808:4;764:63;:::o;10126:1024:0:-;10179:13;10229:10;10212:13;;:27;;:45;;;;;10256:1;10243:10;:14;10212:45;10204:99;;;;-1:-1:-1;;;10204:99:0;;;;;;;;;;;;;;;;;10313:25;10341:21;;;:9;:21;;;;;10376:17;;;;;;10372:772;;;10416:22;10409:29;;;;;10372:772;10475:8;:19;;;10459:12;:35;10455:689;;10517:21;10510:28;;;;;10455:689;10575:8;:17;;;10559:12;:33;10555:589;;10615:20;10608:27;;;;;10555:589;10677:8;:21;;;10656:8;:17;;;:42;;:79;;;;10722:13;:11;:13::i;:::-;10702:8;:17;;;:33;10656:79;10652:492;;;10758:22;10751:29;;;;;10652:492;10801:12;;;;10797:347;;10841:23;10834:30;;;;;10797:347;10885:17;;;;;;;;;10881:263;;;10925:22;10918:29;;;;;10881:263;10994:12;;;;11008:8;;:22;;;-1:-1:-1;;;11008:22:0;;;;10987:44;;10994:12;-1:-1:-1;;;;;11008:8:0;;:20;;:22;;;;;;;;;;;;;;:8;:22;;;5:2:-1;;;;30:1;27;20:12;5:2;11008:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11008:22:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11008:22:0;;;;;;;;;10987:6;:44::i;:::-;10968:15;:63;10964:180;;11054:21;11047:28;;;;;10964:180;11113:20;11106:27;;;10126:1024;;;;:::o;8964:710::-;9014:19;9036:17;9042:10;9036:5;:17::i;:::-;9014:39;-1:-1:-1;9080:22:0;9071:5;:31;;;;;;;;;;9063:98;;;;-1:-1:-1;;;9063:98:0;;;;;;;;;9172:25;9200:21;;;:9;:21;;;;;9304:19;:17;:19::i;:::-;9239:4;;;9258:17;;;;-1:-1:-1;;;;;9239:4:0;;;;:18;;9258:17;;;;9277:23;;9284:12;;9277:6;:23::i;:::-;9239:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9239:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9239:62:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;9239:62:0;;;;;;;;;-1:-1:-1;;;;;9239:84:0;;9231:144;;;;-1:-1:-1;;;9231:144:0;;;;;;;;;9386:17;;;:24;;-1:-1:-1;;9386:24:0;9406:4;9386:24;;;:17;9420:204;9441:16;;;:23;9437:27;;9420:204;;;9485:8;;9512:16;;;:19;;-1:-1:-1;;;;;9485:8:0;;;;:26;;9512:16;9529:1;;9512:19;;;;;;;;;;;;;;;;9533:15;;;:18;;-1:-1:-1;;;;;9512:19:0;;;;9549:1;;9533:18;;;;;;;;;;;;;;9553:8;:19;;9573:1;9553:22;;;;;;;;;;;;;;;9577:8;:18;;9596:1;9577:21;;;;;;;;;;;;;;;9600:8;:12;;;9485:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9485:128:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;9466:3:0;;;;;-1:-1:-1;9420:204:0;;-1:-1:-1;9420:204:0;;;9639:28;9656:10;9639:28;;;;;;;;;;;;;;;8964:710;;;:::o;11284:618::-;11386:23;3803:80;;;;;;;;;;;;;;;;11466:4;;;;;;;;;;;;;;;;;;11450:22;11474:12;:10;:12::i;:::-;11496:4;11422:80;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11422:80:0;;;11412:91;;;;;;11386:117;;11513:18;4012:52;;;;;;;;;;;;;;;11544:48;;11572:10;;11584:7;;11544:48;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11544:48:0;;;11534:59;;;;;;11513:80;;11603:14;11659:15;11676:10;11630:57;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11630:57:0;;;11620:68;;;;;;11603:85;;11698:17;11718:26;11728:6;11736:1;11739;11742;11718:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;11718:26:0;;-1:-1:-1;;11718:26:0;;;-1:-1:-1;;;;;;;11762:23:0;;11754:83;;;;-1:-1:-1;;;11754:83:0;;;;;;;;;11854:41;11864:9;11875:10;11887:7;11854:9;:41::i;:::-;11847:48;;;;11284:618;;;;;:::o;590:74:1:-;659:2;590:74;:::o;5040:254:0:-;5119:6;;-1:-1:-1;;;;;5119:6:0;5105:10;:20;5097:69;;;;-1:-1:-1;;;5097:69:0;;;;;;;;;5176:8;:39;;-1:-1:-1;;;;;5176:39:0;;;-1:-1:-1;;;;;;5176:39:0;;;;;;5268:6;:19;;;;;;;5040:254::o;1187:33::-;;;-1:-1:-1;;;;;1187:33:0;;:::o;1373:25::-;;;;:::o;5300:2134::-;5462:4;5544:19;:17;:19::i;:::-;5486:4;;;-1:-1:-1;;;;;5486:4:0;;:18;;5505:10;;5517:23;;5524:12;;5517:6;:23::i;:::-;5486:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5486:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5486:55:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;5486:55:0;;;;;;;;;-1:-1:-1;;;;;5486:77:0;;5478:153;;;;-1:-1:-1;;;5478:153:0;;;;;;;;;5667:6;:13;5649:7;:14;:31;:70;;;;;5702:10;:17;5684:7;:14;:35;5649:70;:108;;;;;5741:9;:16;5723:7;:14;:34;5649:108;5641:189;;;;-1:-1:-1;;;5641:189:0;;;;;;;;;5848:14;;5840:76;;;;-1:-1:-1;;;5840:76:0;;;;;;;;;5952:23;:21;:23::i;:::-;5934:7;:14;:41;;5926:94;;;;-1:-1:-1;;;5926:94:0;;;;;;;;;6073:10;6031:21;6055:29;;;:17;:29;;;;;;6098:21;;6094:450;;6133:42;6178:23;6184:16;6178:5;:23::i;:::-;6133:68;-1:-1:-1;6253:20:0;6221:28;:52;;;;;;;;;;6213:153;;;;-1:-1:-1;;;6213:153:0;;;;;;;;;6418:21;6386:28;:53;;;;;;;;;;6378:155;;;;-1:-1:-1;;;6378:155:0;;;;;;;;;6094:450;;6554:15;6572:35;6579:12;6593:13;:11;:13::i;6572:35::-;6554:53;;6617:13;6633:34;6640:10;6652:14;:12;:14::i;6633:34::-;6678:13;:15;;;;;;6617:50;-1:-1:-1;6703:27:0;;:::i;:::-;6733:413;;;;;;;;6760:13;;6733:413;;;;6797:10;-1:-1:-1;;;;;6733:413:0;;;;;6826:1;6733:413;;;;6850:7;6733:413;;;;6879:6;6733:413;;;;6911:10;6733:413;;;;6946:9;6733:413;;;;6981:10;6733:413;;;;7015:8;6733:413;;;;7047:1;6733:413;;;;7076:1;6733:413;;;;7101:5;6733:413;;;;;;7130:5;6733:413;;;;;6703:443;;7185:11;7157:9;:25;7167:11;:14;;;7157:25;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7157:39:0;;;;;-1:-1:-1;;;;;7157:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7157:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7157:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7157:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7248:11;:14;;;7206:17;:39;7224:11;:20;;;-1:-1:-1;;;;;7206:39:0;-1:-1:-1;;;;;7206:39:0;;;;;;;;;;;;:56;;;;7278:118;7294:11;:14;;;7310:10;7322:7;7331:6;7339:10;7351:9;7362:10;7374:8;7384:11;7278:118;;;;;;;;;;;;;;;;;;;;;;;7413:14;;-1:-1:-1;;;;5300:2134:0;;;;;;;;:::o;7440:568::-;7518:23;7497:17;7503:10;7497:5;:17::i;:::-;:44;;;;;;;;;7489:125;;;;-1:-1:-1;;;7489:125:0;;;;;;;;;7624:25;7652:21;;;:9;:21;;;;;;;;7718:8;;:16;;-1:-1:-1;;;7718:16:0;;;;7652:21;;7624:25;7694:41;;7701:15;;-1:-1:-1;;;;;7718:8:0;;;;:14;;:16;;;;;7652:21;;7718:16;;;;;;:8;:16;;;5:2:-1;;;;30:1;27;20:12;7694:41:0;7683:52;-1:-1:-1;7750:6:0;7745:183;7766:16;;;:23;7762:27;;7745:183;;;7810:107;7825:8;:16;;7842:1;7825:19;;;;;;;;;;;;;;;;;;7846:15;;;:18;;-1:-1:-1;;;;;7825:19:0;;;;7862:1;;7846:18;;;;;;;;;;;;;;7866:8;:19;;7886:1;7866:22;;;;;;;;;;;;;;;;;;7810:107;;;;;;;-1:-1:-1;;7810:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7866:22;7810:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7890:8;:18;;7909:1;7890:21;;;;;;;;;;;;;;;;;;7810:107;;;;;;;-1:-1:-1;;7810:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7890:21;7810:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7913:3;7810:14;:107::i;:::-;7791:3;;7745:183;;;-1:-1:-1;7937:12:0;;;:18;;;7970:31;;;;;;7985:10;;7952:3;;7970:31;;3970:94;4012:52;;;;;;9970:150;10043:14;;:::i;:::-;-1:-1:-1;10076:21:0;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;10076:37:0;;;;:30;;:37;;;;;;10069:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10069:44:0;;;;;;;;9970:150;;;;;:::o;8393:565::-;8481:20;8460:17;8466:10;8460:5;:17::i;:::-;:41;;;;;;;;;8452:123;;;;-1:-1:-1;;;8452:123:0;;;;;;;;;8585:25;8613:21;;;:9;:21;;;;;8644:17;;;:24;;-1:-1:-1;;8644:24:0;;;;;8613:21;8678:231;8699:16;;;:23;8695:27;;8678:231;;;8743:8;;8777:15;;;:18;;-1:-1:-1;;;;;8743:8:0;;;;:27;;8777:15;8793:1;;8777:18;;;;;;;;;;;;;;8797:8;:16;;8814:1;8797:19;;;;;;;;;;;;;;;;;;8818:15;;;:18;;-1:-1:-1;;;;;8797:19:0;;;;8834:1;;8818:18;;;;;;;;;;;;;;8838:8;:19;;8858:1;8838:22;;;;;;;;;;;;;;;8862:8;:18;;8881:1;8862:21;;;;;;;;;;;;;;;8885:8;:12;;;8743:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8743:155:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8743:155:0;;;;;;;39:16:-1;36:1;17:17;2:54;101:4;8743:155:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;8743:155:0;;;;;;;;;-1:-1:-1;8724:3:0;;8678:231;;;;8923:28;8940:10;8923:28;;;;;;;;;;;;;;;8393:565;;:::o;11908:820::-;12021:20;12000:17;12006:10;12000:5;:17::i;:::-;:41;;;;;;;;;11992:96;;;;-1:-1:-1;;;11992:96:0;;;;;;;;;12098:25;12126:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;12183:24:0;;;;:17;;;:24;;;;;;12225:16;;;;:25;12217:83;;;;-1:-1:-1;;;12217:83:0;;;;;;;;;12325:4;;12351:19;;;;12325:46;;-1:-1:-1;;;12325:46:0;;12310:12;;-1:-1:-1;;;;;12325:4:0;;:18;;:46;;12344:5;;12325:46;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12325:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12325:46:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12325:46:0;;;;;;;;;12310:61;;12386:7;12382:181;;;12429:32;12436:8;:17;;;12455:5;-1:-1:-1;;;;;12429:32:0;:6;:32::i;:::-;12409:17;;;:52;12382:181;;;12516:36;12523:8;:21;;;12546:5;-1:-1:-1;;;;;12516:36:0;:6;:36::i;:::-;12492:21;;;:60;12382:181;12573:23;;12592:4;-1:-1:-1;;12573:23:0;;;;-1:-1:-1;;12606:25:0;12573:23;12606:25;;;;;-1:-1:-1;;12641:21:0;;-1:-1:-1;;;;;12641:21:0;;;;;;12678:43;;;;;;12687:5;;12694:10;;12606:25;;12641:21;;12678:43;;;;;;;;;;11908:820;;;;;;:::o;12734:162::-;12795:4;12820:5;;;12843:6;;;;12835:36;;;;-1:-1:-1;;;12835:36:0;;;;;;;;;12888:1;12734:162;-1:-1:-1;;;12734:162:0:o;12902:146::-;12963:4;12992:1;12987;:6;;12979:40;;;;-1:-1:-1;;;12979:40:0;;;;;;;;;-1:-1:-1;13036:5:0;;;12902:146::o;13054:::-;13159:9;13054:146;:::o;8014:373::-;8148:8;;8186:47;;-1:-1:-1;;;;;8148:8:0;;;;:27;;8186:47;;8197:6;;8205:5;;8212:9;;8223:4;;8229:3;;8186:47;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8186:47:0;;;8176:58;;;;;;8148:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8148:87:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8148:87:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;8148:87:0;;;;;;;;;8147:88;8139:169;;;;-1:-1:-1;;;8139:169:0;;;;;;;;;8318:8;;:62;;-1:-1:-1;;;8318:62:0;;-1:-1:-1;;;;;8318:8:0;;;;:25;;:62;;8344:6;;8352:5;;8359:9;;8370:4;;8376:3;;8318:62;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8318:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8318:62:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;8318:62:0;;;;;;;;;;8014:373;;;;;:::o;92:1013:1:-;;;;;;;;;;;;;;;-1:-1:-1;;;;;92:1013:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;92:1013:1;-1:-1:-1;;;;;92:1013:1;;;;;;;;;;;-1:-1:-1;92:1013:1;;;;;;;-1:-1:-1;92:1013:1;;;-1:-1:-1;92:1013:1;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;92:1013:1;;;-1:-1:-1;92:1013:1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;92:1013:1;;;-1:-1:-1;92:1013:1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;92:1013:1;;;-1:-1:-1;92:1013:1;:::i;:::-;;;;;;;;;-1:-1:-1;92:1013:1;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;92:1013:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;160:707;;277:3;270:4;262:6;258:17;254:27;244:2;;295:1;292;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;;;354:80;;;345:89;;451:5;476:6;469:5;462:21;506:4;498:6;494:17;484:27;;528:4;523:3;519:14;512:21;;581:6;628:3;620:4;612:6;608:17;603:3;599:27;596:36;593:2;;;645:1;642;635:12;593:2;670:1;655:206;680:6;677:1;674:13;655:206;;;738:3;760:37;793:3;781:10;760:37;;;748:50;;-1:-1;821:4;812:14;;;;840;;;;;702:1;695:9;655:206;;;659:14;237:630;;;;;;;;891:693;;1013:3;1006:4;998:6;994:17;990:27;980:2;;1031:1;1028;1021:12;980:2;1068:6;1055:20;1090:85;1105:69;1167:6;1105:69;;1090:85;1203:21;;;1247:4;1235:17;;;;1081:94;;-1:-1;1260:14;;1235:17;1355:1;1340:238;1365:6;1362:1;1359:13;1340:238;;;1448:3;1435:17;1427:6;1423:30;1472:42;1510:3;1498:10;1472:42;;;1460:55;;-1:-1;1538:4;1529:14;;;;1557;;;;;1387:1;1380:9;1340:238;;1609:696;;1732:3;1725:4;1717:6;1713:17;1709:27;1699:2;;1750:1;1747;1740:12;1699:2;1787:6;1774:20;1809:86;1824:70;1887:6;1824:70;;1809:86;1923:21;;;1967:4;1955:17;;;;1800:95;;-1:-1;1980:14;;1955:17;2075:1;2060:239;2085:6;2082:1;2079:13;2060:239;;;2168:3;2155:17;2147:6;2143:30;2192:43;2231:3;2219:10;2192:43;;;2180:56;;-1:-1;2259:4;2250:14;;;;2278;;;;;2107:1;2100:9;2060:239;;2331:707;;2448:3;2441:4;2433:6;2429:17;2425:27;2415:2;;2466:1;2463;2456:12;2415:2;2503:6;2490:20;2525:80;2540:64;2597:6;2540:64;;2525:80;2516:89;;2622:5;2647:6;2640:5;2633:21;2677:4;2669:6;2665:17;2655:27;;2699:4;2694:3;2690:14;2683:21;;2752:6;2799:3;2791:4;2783:6;2779:17;2774:3;2770:27;2767:36;2764:2;;;2816:1;2813;2806:12;2764:2;2841:1;2826:206;2851:6;2848:1;2845:13;2826:206;;;2909:3;2931:37;2964:3;2952:10;2931:37;;;2919:50;;-1:-1;2992:4;2983:14;;;;3011;;;;;2873:1;2866:9;2826:206;;3046:124;3110:20;;3135:30;3110:20;3135:30;;3177:128;3252:13;;3270:30;3252:13;3270:30;;3312:130;3379:20;;3404:33;3379:20;3404:33;;3449:134;3527:13;;3545:33;3527:13;3545:33;;3591:432;;3688:3;3681:4;3673:6;3669:17;3665:27;3655:2;;3706:1;3703;3696:12;3655:2;3743:6;3730:20;3765:60;3780:44;3817:6;3780:44;;3765:60;3756:69;;3845:6;3838:5;3831:21;3881:4;3873:6;3869:17;3914:4;3907:5;3903:16;3949:3;3940:6;3935:3;3931:16;3928:25;3925:2;;;3966:1;3963;3956:12;3925:2;3976:41;4010:6;4005:3;4000;3976:41;;;3648:375;;;;;;;;4032:442;;4144:3;4137:4;4129:6;4125:17;4121:27;4111:2;;4162:1;4159;4152:12;4111:2;4192:6;4186:13;4214:64;4229:48;4270:6;4229:48;;4214:64;4205:73;;4298:6;4291:5;4284:21;4334:4;4326:6;4322:17;4367:4;4360:5;4356:16;4402:3;4393:6;4388:3;4384:16;4381:25;4378:2;;;4419:1;4416;4409:12;4378:2;4429:39;4461:6;4456:3;4451;4429:39;;5654:126;5719:20;;5744:31;5719:20;5744:31;;5787:132;5864:13;;5882:32;5864:13;5882:32;;5926:241;;6030:2;6018:9;6009:7;6005:23;6001:32;5998:2;;;6046:1;6043;6036:12;5998:2;6081:1;6098:53;6143:7;6123:9;6098:53;;;6088:63;5992:175;-1:-1;;;;5992:175;6174:1415;;;;;;6467:3;6455:9;6446:7;6442:23;6438:33;6435:2;;;6484:1;6481;6474:12;6435:2;6519:31;;6570:18;6559:30;;6556:2;;;6602:1;6599;6592:12;6556:2;6622:78;6692:7;6683:6;6672:9;6668:22;6622:78;;;6612:88;;6498:208;6765:2;6754:9;6750:18;6737:32;6789:18;6781:6;6778:30;6775:2;;;6821:1;6818;6811:12;6775:2;6841:78;6911:7;6902:6;6891:9;6887:22;6841:78;;;6831:88;;6716:209;6984:2;6973:9;6969:18;6956:32;7008:18;7000:6;6997:30;6994:2;;;7040:1;7037;7030:12;6994:2;7060:84;7136:7;7127:6;7116:9;7112:22;7060:84;;;7050:94;;6935:215;7209:2;7198:9;7194:18;7181:32;7233:18;7225:6;7222:30;7219:2;;;7265:1;7262;7255:12;7219:2;7285:83;7360:7;7351:6;7340:9;7336:22;7285:83;;;7275:93;;7160:214;7433:3;7422:9;7418:19;7405:33;7458:18;7450:6;7447:30;7444:2;;;7490:1;7487;7480:12;7444:2;7510:63;7565:7;7556:6;7545:9;7541:22;7510:63;;;7500:73;;7384:195;6429:1160;;;;;;;;;7596:257;;7708:2;7696:9;7687:7;7683:23;7679:32;7676:2;;;7724:1;7721;7714:12;7676:2;7759:1;7776:61;7829:7;7809:9;7776:61;;7860:263;;7975:2;7963:9;7954:7;7950:23;7946:32;7943:2;;;7991:1;7988;7981:12;7943:2;8026:1;8043:64;8099:7;8079:9;8043:64;;8130:360;;8254:2;8242:9;8233:7;8229:23;8225:32;8222:2;;;8270:1;8267;8260:12;8222:2;8305:24;;8349:18;8338:30;;8335:2;;;8381:1;8378;8371:12;8335:2;8401:73;8466:7;8457:6;8446:9;8442:22;8401:73;;8497:241;;8601:2;8589:9;8580:7;8576:23;8572:32;8569:2;;;8617:1;8614;8607:12;8569:2;8652:1;8669:53;8714:7;8694:9;8669:53;;9015:366;;;9136:2;9124:9;9115:7;9111:23;9107:32;9104:2;;;9152:1;9149;9142:12;9104:2;9187:1;9204:53;9249:7;9229:9;9204:53;;;9194:63;;9166:97;9294:2;9312:53;9357:7;9348:6;9337:9;9333:22;9312:53;;;9302:63;;9273:98;9098:283;;;;;;9388:360;;;9506:2;9494:9;9485:7;9481:23;9477:32;9474:2;;;9522:1;9519;9512:12;9474:2;9557:1;9574:53;9619:7;9599:9;9574:53;;;9564:63;;9536:97;9664:2;9682:50;9724:7;9715:6;9704:9;9700:22;9682:50;;9755:733;;;;;;9922:3;9910:9;9901:7;9897:23;9893:33;9890:2;;;9939:1;9936;9929:12;9890:2;9974:1;9991:53;10036:7;10016:9;9991:53;;;9981:63;;9953:97;10081:2;10099:50;10141:7;10132:6;10121:9;10117:22;10099:50;;;10089:60;;10060:95;10186:2;10204:51;10247:7;10238:6;10227:9;10223:22;10204:51;;;10194:61;;10165:96;10292:2;10310:53;10355:7;10346:6;10335:9;10331:22;10310:53;;;10300:63;;10271:98;10400:3;10419:53;10464:7;10455:6;10444:9;10440:22;10419:53;;10495:261;;10609:2;10597:9;10588:7;10584:23;10580:32;10577:2;;;10625:1;10622;10615:12;10577:2;10660:1;10677:63;10732:7;10712:9;10677:63;;10764:173;;10851:46;10893:3;10885:6;10851:46;;;-1:-1;;10926:4;10917:14;;10844:93;10946:177;;11057:60;11113:3;11105:6;11057:60;;11322:173;;11409:46;11451:3;11443:6;11409:46;;11503:142;11594:45;11633:5;11594:45;;;11589:3;11582:58;11576:69;;;11652:103;11725:24;11743:5;11725:24;;11913:690;;12058:54;12106:5;12058:54;;;12125:86;12204:6;12199:3;12125:86;;;12118:93;;12232:56;12282:5;12232:56;;;12308:7;12336:1;12321:260;12346:6;12343:1;12340:13;12321:260;;;12413:6;12407:13;12434:63;12493:3;12478:13;12434:63;;;12427:70;;12514:60;12567:6;12514:60;;;12504:70;-1:-1;;12368:1;12361:9;12321:260;;;-1:-1;12594:3;;12037:566;-1:-1;;;;;12037:566;12638:888;;12793:59;12846:5;12793:59;;;12865:91;12949:6;12944:3;12865:91;;;12858:98;;12979:3;13021:4;13013:6;13009:17;13004:3;13000:27;13048:61;13103:5;13048:61;;;13129:7;13157:1;13142:345;13167:6;13164:1;13161:13;13142:345;;;13229:9;13223:4;13219:20;13214:3;13207:33;13274:6;13268:13;13296:74;13365:4;13350:13;13296:74;;;13288:82;;13387:65;13445:6;13387:65;;;13475:4;13466:14;;;;;13377:75;-1:-1;;13189:1;13182:9;13142:345;;;-1:-1;13500:4;;12772:754;-1:-1;;;;;;;12772:754;13563:896;;13720:60;13774:5;13720:60;;;13793:92;13878:6;13873:3;13793:92;;;13786:99;;13908:3;13950:4;13942:6;13938:17;13933:3;13929:27;13977:62;14033:5;13977:62;;;14059:7;14087:1;14072:348;14097:6;14094:1;14091:13;14072:348;;;14159:9;14153:4;14149:20;14144:3;14137:33;14204:6;14198:13;14226:76;14297:4;14282:13;14226:76;;;14218:84;;14319:66;14378:6;14319:66;;;14408:4;14399:14;;;;;14309:76;-1:-1;;14119:1;14112:9;14072:348;;14498:690;;14643:54;14691:5;14643:54;;;14710:86;14789:6;14784:3;14710:86;;;14703:93;;14817:56;14867:5;14817:56;;;14893:7;14921:1;14906:260;14931:6;14928:1;14925:13;14906:260;;;14998:6;14992:13;15019:63;15078:3;15063:13;15019:63;;;15012:70;;15099:60;15152:6;15099:60;;;15089:70;-1:-1;;14953:1;14946:9;14906:260;;15196:94;15263:21;15278:5;15263:21;;15408:113;15491:24;15509:5;15491:24;;15528:152;15629:45;15649:24;15667:5;15649:24;;;15629:45;;15687:343;;15797:38;15829:5;15797:38;;;15847:70;15910:6;15905:3;15847:70;;;15840:77;;15922:52;15967:6;15962:3;15955:4;15948:5;15944:16;15922:52;;;15995:29;16017:6;15995:29;;;15986:39;;;;15777:253;-1:-1;;;15777:253;16382:818;;16499:5;16493:12;16533:1;16522:9;16518:17;16546:1;16541:247;;;;16799:1;16794:400;;;;16511:683;;16541:247;16619:4;16615:1;16604:9;16600:17;16596:28;16638:70;16701:6;16696:3;16638:70;;;-1:-1;;16727:25;;16715:38;;16631:77;-1:-1;;16776:4;16767:14;;;-1:-1;16541:247;;16794:400;16863:1;16852:9;16848:17;16879:70;16942:6;16937:3;16879:70;;;16872:77;;16971:37;17002:5;16971:37;;;17024:1;17032:130;17046:6;17043:1;17040:13;17032:130;;;17105:14;;17092:11;;;17085:35;17152:1;17139:15;;;;17068:4;17061:12;17032:130;;;17176:11;;;-1:-1;;;16511:683;;16469:731;;;;;;17208:192;17324:70;17388:5;17324:70;;17592:156;17690:52;17736:5;17690:52;;19638:442;;19798:67;19862:2;19857:3;19798:67;;;19898:34;19878:55;;19967:34;19962:2;19953:12;;19946:56;-1:-1;;;20031:2;20022:12;;20015:28;20071:2;20062:12;;19784:296;-1:-1;;19784:296;20089:443;;20249:67;20313:2;20308:3;20249:67;;;20349:34;20329:55;;20418:34;20413:2;20404:12;;20397:56;-1:-1;;;20482:2;20473:12;;20466:29;20523:2;20514:12;;20235:297;-1:-1;;20235:297;20541:398;;20719:84;20801:1;20796:3;20719:84;;;-1:-1;;;20816:87;;20931:1;20922:11;;20705:234;-1:-1;;20705:234;20948:378;;21108:67;21172:2;21167:3;21108:67;;;21208:34;21188:55;;-1:-1;;;21272:2;21263:12;;21256:33;21317:2;21308:12;;21094:232;-1:-1;;21094:232;21335:382;;21495:67;21559:2;21554:3;21495:67;;;21595:34;21575:55;;-1:-1;;;21659:2;21650:12;;21643:37;21708:2;21699:12;;21481:236;-1:-1;;21481:236;21726:463;;21886:67;21950:2;21945:3;21886:67;;;21986:34;21966:55;;22055:34;22050:2;22041:12;;22034:56;22124:27;22119:2;22110:12;;22103:49;22180:2;22171:12;;21872:317;-1:-1;;21872:317;22198:377;;22358:67;22422:2;22417:3;22358:67;;;22458:34;22438:55;;-1:-1;;;22522:2;22513:12;;22506:32;22566:2;22557:12;;22344:231;-1:-1;;22344:231;22584:317;;22744:67;22808:2;22803:3;22744:67;;;-1:-1;;;22824:40;;22892:2;22883:12;;22730:171;-1:-1;;22730:171;22910:477;;23088:85;23170:2;23165:3;23088:85;;;23206:34;23186:55;;23275:34;23270:2;23261:12;;23254:56;-1:-1;;;23339:2;23330:12;;23323:27;23378:2;23369:12;;23074:313;-1:-1;;23074:313;23396:412;;23574:85;23656:2;23651:3;23574:85;;;23692:34;23672:55;;-1:-1;;;23756:2;23747:12;;23740:31;23799:2;23790:12;;23560:248;-1:-1;;23560:248;23817:442;;23977:67;24041:2;24036:3;23977:67;;;24077:34;24057:55;;24146:34;24141:2;24132:12;;24125:56;-1:-1;;;24210:2;24201:12;;24194:28;24250:2;24241:12;;23963:296;-1:-1;;23963:296;24268:384;;24428:67;24492:2;24487:3;24428:67;;;24528:34;24508:55;;-1:-1;;;24592:2;24583:12;;24576:39;24643:2;24634:12;;24414:238;-1:-1;;24414:238;24661:442;;24821:67;24885:2;24880:3;24821:67;;;24921:34;24901:55;;24990:34;24985:2;24976:12;;24969:56;-1:-1;;;25054:2;25045:12;;25038:28;25094:2;25085:12;;24807:296;-1:-1;;24807:296;25112:381;;25272:67;25336:2;25331:3;25272:67;;;25372:34;25352:55;;-1:-1;;;25436:2;25427:12;;25420:36;25484:2;25475:12;;25258:235;-1:-1;;25258:235;25502:373;;25662:67;25726:2;25721:3;25662:67;;;25762:34;25742:55;;-1:-1;;;25826:2;25817:12;;25810:28;25866:2;25857:12;;25648:227;-1:-1;;25648:227;25884:400;;26044:67;26108:2;26103:3;26044:67;;;26144:34;26124:55;;26213:33;26208:2;26199:12;;26192:55;26275:2;26266:12;;26030:254;-1:-1;;26030:254;26293:384;;26453:67;26517:2;26512:3;26453:67;;;26553:34;26533:55;;-1:-1;;;26617:2;26608:12;;26601:39;26668:2;26659:12;;26439:238;-1:-1;;26439:238;26686:462;;26846:67;26910:2;26905:3;26846:67;;;26946:34;26926:55;;27015:34;27010:2;27001:12;;26994:56;27084:26;27079:2;27070:12;;27063:48;27139:2;27130:12;;26832:316;-1:-1;;26832:316;27157:391;;27317:67;27381:2;27376:3;27317:67;;;27417:34;27397:55;;-1:-1;;;27481:2;27472:12;;27465:46;27539:2;27530:12;;27303:245;-1:-1;;27303:245;27557:379;;27717:67;27781:2;27776:3;27717:67;;;27817:34;27797:55;;-1:-1;;;27881:2;27872:12;;27865:34;27927:2;27918:12;;27703:233;-1:-1;;27703:233;27945:321;;28105:67;28169:2;28164:3;28105:67;;;-1:-1;;;28185:44;;28257:2;28248:12;;28091:175;-1:-1;;28091:175;28341:620;28550:23;;28480:4;28471:14;;;28579:57;28475:3;28550:23;28579:57;;;28500:142;28718:4;28711:5;28707:16;28701:23;28730:57;28781:4;28776:3;28772:14;28758:12;28730:57;;;28652:141;28867:4;28860:5;28856:16;28850:23;28879:61;28934:4;28929:3;28925:14;28911:12;28879:61;;;28803:143;28453:508;;;;29198:107;29277:22;29293:5;29277:22;;29312:124;29394:36;29424:5;29394:36;;29443:100;29514:23;29531:5;29514:23;;29550:650;;29805:148;29949:3;29805:148;;;29798:155;;29964:75;30035:3;30026:6;29964:75;;;30061:2;30056:3;30052:12;30045:19;;30075:75;30146:3;30137:6;30075:75;;;-1:-1;30172:2;30163:12;;29786:414;-1:-1;;29786:414;30207:372;;30406:148;30550:3;30406:148;;30586:372;;30785:148;30929:3;30785:148;;30965:340;31119:2;31104:18;;31133:79;31108:9;31185:6;31133:79;;;31223:72;31291:2;31280:9;31276:18;31267:6;31223:72;;31312:324;31458:2;31443:18;;31472:71;31447:9;31516:6;31472:71;;31643:533;31838:3;31823:19;;31853:71;31827:9;31897:6;31853:71;;;31935:72;32003:2;31992:9;31988:18;31979:6;31935:72;;;32018:66;32080:2;32069:9;32065:18;32056:6;32018:66;;;32095:71;32162:2;32151:9;32147:18;32138:6;32095:71;;32183:831;32451:3;32436:19;;32466:71;32440:9;32510:6;32466:71;;;32548:72;32616:2;32605:9;32601:18;32592:6;32548:72;;;32668:9;32662:4;32658:20;32653:2;32642:9;32638:18;32631:48;32693:78;32766:4;32757:6;32693:78;;;32685:86;;32819:9;32813:4;32809:20;32804:2;32793:9;32789:18;32782:48;32844:76;32915:4;32906:6;32844:76;;;32836:84;;32931:73;32999:3;32988:9;32984:19;32975:6;32931:73;;;32422:592;;;;;;;;;33021:819;33283:3;33268:19;;33298:71;33272:9;33342:6;33298:71;;;33380:72;33448:2;33437:9;33433:18;33424:6;33380:72;;;33500:9;33494:4;33490:20;33485:2;33474:9;33470:18;33463:48;33525:75;33595:4;33586:6;33525:75;;;33517:83;;33648:9;33642:4;33638:20;33633:2;33622:9;33618:18;33611:48;33673:73;33741:4;33732:6;33673:73;;33847:1183;34271:3;34286:47;;;34256:19;;34347:108;34256:19;34441:6;34347:108;;;34339:116;;34503:9;34497:4;34493:20;34488:2;34477:9;34473:18;34466:48;34528:108;34631:4;34622:6;34528:108;;;34520:116;;34684:9;34678:4;34674:20;34669:2;34658:9;34654:18;34647:48;34709:120;34824:4;34815:6;34709:120;;;34701:128;;34877:9;34871:4;34867:20;34862:2;34851:9;34847:18;34840:48;34902:118;35015:4;35006:6;34902:118;;35037:213;35155:2;35140:18;;35169:71;35144:9;35213:6;35169:71;;35257:547;35459:3;35444:19;;35474:71;35448:9;35518:6;35474:71;;;35556:72;35624:2;35613:9;35609:18;35600:6;35556:72;;;35639;35707:2;35696:9;35692:18;35683:6;35639:72;;;35722;35790:2;35779:9;35775:18;35766:6;35722:72;;35811:423;35979:2;35964:18;;35993:71;35968:9;36037:6;35993:71;;;36075:72;36143:2;36132:9;36128:18;36119:6;36075:72;;;36158:66;36220:2;36209:9;36205:18;36196:6;36158:66;;36241:539;36439:3;36424:19;;36454:71;36428:9;36498:6;36454:71;;;36536:68;36600:2;36589:9;36585:18;36576:6;36536:68;;;36615:72;36683:2;36672:9;36668:18;36659:6;36615:72;;;36698;36766:2;36755:9;36751:18;36742:6;36698:72;;36787:279;36938:2;36923:18;;36952:104;36927:9;37029:6;36952:104;;37345:243;37478:2;37463:18;;37492:86;37467:9;37551:6;37492:86;;37595:293;37729:2;37743:47;;;37714:18;;37804:74;37714:18;37864:6;37804:74;;37895:407;38086:2;38100:47;;;38071:18;;38161:131;38071:18;38161:131;;38309:407;38500:2;38514:47;;;38485:18;;38575:131;38485:18;38575:131;;38723:407;38914:2;38928:47;;;38899:18;;38989:131;38899:18;38989:131;;39137:407;39328:2;39342:47;;;39313:18;;39403:131;39313:18;39403:131;;39551:407;39742:2;39756:47;;;39727:18;;39817:131;39727:18;39817:131;;39965:407;40156:2;40170:47;;;40141:18;;40231:131;40141:18;40231:131;;40379:407;40570:2;40584:47;;;40555:18;;40645:131;40555:18;40645:131;;40793:407;40984:2;40998:47;;;40969:18;;41059:131;40969:18;41059:131;;41207:407;41398:2;41412:47;;;41383:18;;41473:131;41383:18;41473:131;;41621:407;41812:2;41826:47;;;41797:18;;41887:131;41797:18;41887:131;;42035:407;42226:2;42240:47;;;42211:18;;42301:131;42211:18;42301:131;;42449:407;42640:2;42654:47;;;42625:18;;42715:131;42625:18;42715:131;;42863:407;43054:2;43068:47;;;43039:18;;43129:131;43039:18;43129:131;;43277:407;43468:2;43482:47;;;43453:18;;43543:131;43453:18;43543:131;;43691:407;43882:2;43896:47;;;43867:18;;43957:131;43867:18;43957:131;;44105:407;44296:2;44310:47;;;44281:18;;44371:131;44281:18;44371:131;;44519:407;44710:2;44724:47;;;44695:18;;44785:131;44695:18;44785:131;;44933:407;45124:2;45138:47;;;45109:18;;45199:131;45109:18;45199:131;;45347:305;45511:2;45496:18;;45525:117;45500:9;45615:6;45525:117;;45879:1847;46471:3;46456:19;;46486:71;46460:9;46530:6;46486:71;;;46568:80;46644:2;46633:9;46629:18;46620:6;46568:80;;;46696:9;46690:4;46686:20;46681:2;46670:9;46666:18;46659:48;46721:108;46824:4;46815:6;46721:108;;;46713:116;;46877:9;46871:4;46867:20;46862:2;46851:9;46847:18;46840:48;46902:108;47005:4;46996:6;46902:108;;;46894:116;;47059:9;47053:4;47049:20;47043:3;47032:9;47028:19;47021:49;47084:120;47199:4;47190:6;47084:120;;;47076:128;;47253:9;47247:4;47243:20;47237:3;47226:9;47222:19;47215:49;47278:118;47391:4;47382:6;47278:118;;;47270:126;;47407:73;47475:3;47464:9;47460:19;47451:6;47407:73;;;47491;47559:3;47548:9;47544:19;47535:6;47491:73;;;47613:9;47607:4;47603:20;47597:3;47586:9;47582:19;47575:49;47638:78;47711:4;47702:6;47638:78;;;47630:86;46442:1284;-1:-1;;;;;;;;;;;46442:1284;47733:1083;48063:3;48048:19;;48078:71;48052:9;48122:6;48078:71;;;48160:72;48228:2;48217:9;48213:18;48204:6;48160:72;;;48243;48311:2;48300:9;48296:18;48287:6;48243:72;;;48326;48394:2;48383:9;48379:18;48370:6;48326:72;;;48409:73;48477:3;48466:9;48462:19;48453:6;48409:73;;;48493;48561:3;48550:9;48546:19;48537:6;48493:73;;;48577;48645:3;48634:9;48630:19;48621:6;48577:73;;;48661:67;48723:3;48712:9;48708:19;48699:6;48661:67;;;48739;48801:3;48790:9;48786:19;48777:6;48739:67;;;48034:782;;;;;;;;;;;;;48823:324;48969:2;48954:18;;48983:71;48958:9;49027:6;48983:71;;49154:256;49216:2;49210:9;49242:17;;;49317:18;49302:34;;49338:22;;;49299:62;49296:2;;;49374:1;49371;49364:12;49296:2;49390;49383:22;49194:216;;-1:-1;49194:216;49417:304;;49576:18;49568:6;49565:30;49562:2;;;49608:1;49605;49598:12;49562:2;-1:-1;49643:4;49631:17;;;49696:15;;49499:222;50672:317;;50811:18;50803:6;50800:30;50797:2;;;50843:1;50840;50833:12;50797:2;-1:-1;50974:4;50910;50887:17;;;;-1:-1;;50883:33;50964:15;;50734:255;51978:151;52102:4;52093:14;;52050:79;52621:157;;52715:14;;;52757:4;52744:18;;;52674:104;52950:137;53053:12;;53024:63;54515:178;54633:19;;;54682:4;54673:14;;54626:67;56093:91;;56155:24;56173:5;56155:24;;56191:85;56257:13;56250:21;;56233:43;56362:140;56441:5;56447:50;56441:5;56447:50;;56509:121;-1:-1;;;;;56571:54;;56554:76;56716:81;56787:4;56776:16;;56759:38;56804:104;-1:-1;;;;;56865:38;;56848:60;56915:129;;57002:37;57033:5;57051:187;;57163:70;57227:5;57163:70;;57714:140;;57808:41;57843:5;57808:41;;58104:106;;58182:23;58199:5;58182:23;;58218:145;58299:6;58294:3;58289;58276:30;-1:-1;58355:1;58337:16;;58330:27;58269:94;58372:268;58437:1;58444:101;58458:6;58455:1;58452:13;58444:101;;;58525:11;;;58519:18;58506:11;;;58499:39;58480:2;58473:10;58444:101;;;58560:6;58557:1;58554:13;58551:2;;;-1:-1;;58625:1;58607:16;;58600:27;58421:219;58729:97;58817:2;58797:14;-1:-1;;58793:28;;58777:49;58834:108;58920:1;58913:5;58910:12;58900:2;;58926:9;58949:117;59018:24;59036:5;59018:24;;;59011:5;59008:35;58998:2;;59057:1;59054;59047:12;59073:111;59139:21;59154:5;59139:21;;59191:117;59260:24;59278:5;59260:24;;59439:113;59506:22;59522:5;59506:22;;59559:115;59627:23;59644:5;59627:23;

Swarm Source

bzzr://c1dbc3099d5bfaf6a70ee590edb6cc1627eba70146fdfbe8857e9d8a8dfc73e0
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.