Contract 0xcb8ce7e12a346395bb1e002bb931d7abffe4bd68

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xa819c3e2327daa6d50f28efece49e44c7bfde4b3e1ec0b13f9e321d611b24036Vote161728852022-11-15 17:13:4817 days 19 hrs ago0x4d3204d6de0776a3b9025093b6e935d3f76d080c IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.000036025
0xe36cd660638420ec9955d0f2bb30649d4fe81f10ac58854f57b331923b6c705aVote161725092022-11-15 16:42:2817 days 20 hrs ago0x4994e1e452a09db863d4b978c7478828579afcca IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.000036025
0x61d8e9b0608066e408591f1aef68bc7c4db6d0e3d1efd27526470110b9178bc4Vote161724782022-11-15 16:39:5317 days 20 hrs ago0x82a68b52526ae3d3e9f230bbe5632cfd9587ddbb IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.000036025
0x9976de693faa63956c4ad3c27ff2dc0281253ef81d9f57b70e60406414072f79Vote161724362022-11-15 16:36:2317 days 20 hrs ago0x0c4c295b688ee5005bec5976fbf4375c41a73479 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.000013511
0xcd2d43b57973a03aa31e1efb61c46da02ffbf809a9e7406ff7cb43c566dc322fVote161721102022-11-15 16:09:1317 days 20 hrs ago0x0c4c295b688ee5005bec5976fbf4375c41a73479 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.000043925
0x0c3d6ba02b4b20d6e66e7f3d44e1ded1f29541ade3ec8ff475f54bae97d5a1e6Vote161719412022-11-15 15:55:0817 days 20 hrs ago0xbe69ddca61c482a09da46f799e8a9e6696994f90 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.000014721
0x3e7a39b467ebfa4d189ecaf3de5245f16d9597cf211969296a80f58d4c8699c9Vote161718992022-11-15 15:51:3817 days 20 hrs ago0xbe69ddca61c482a09da46f799e8a9e6696994f90 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000372595
0x452341e2c3871c1172bb7ac74ee697fb300dc902de4ef7066c6ec7a41483b939Vote161713232022-11-15 15:03:3817 days 21 hrs ago0xbe69ddca61c482a09da46f799e8a9e6696994f90 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000287655
0xa4ceae7a7b23b6515fa906f53be86a81277ba761665bfd0c327ad72298eee31aVote161713102022-11-15 15:02:3317 days 21 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.000013511
0x2ef1fd07ef13dab68142ccf92c5313c8c799ce836e253682bb25ac3fdece132fCreate Proposal161711282022-11-15 14:47:2317 days 21 hrs ago0xce79dae41cb9c68ed3c6fbcf1a748e34e780cde5 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0002497682
0x2b0e2569397bc73e092a359ba490ff09e5f8b1b5d2a66b01c3e6e77de5627dbaPass Proposal161608802022-11-15 0:33:2018 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0x05ceebcab0003336cff79f6f0404d38c53f3aea2fc10641399a6fb295d2ef744Pass Proposal161607792022-11-15 0:24:5518 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0x19407ad5bf79c81cb2d3f5db7de58f30fdadbef22b88199ba11bdc3a68593e6aPass Proposal161607652022-11-15 0:23:4518 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0xaf2068a01610972712011fa5c42de94c8f77dfcd1563a5e48c859e55069f5cb4Pass Proposal161605952022-11-15 0:09:3518 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0xf7c262dec80acb60184e1ef06210d306588749f26a3a718ba6cf07255b0b907aPass Proposal161605842022-11-15 0:08:4018 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0x7aa4f4a5c10517691888a0c2d87a78586cf3d607a154464e6148955074656dfaPass Proposal161605582022-11-15 0:06:3018 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0x95ad2069f304b23213139fdc176ca51a767f350d4fdc8de0b25f1b325ec9aae8Pass Proposal161605512022-11-15 0:05:5518 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0xed3c72f09211101b37dda780b73b30ab1904440c1209f321eec2efa0747973c1Pass Proposal161605392022-11-15 0:04:5518 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0x720f90e1982df14fec7b5d1aa67920592befcc2e7c52d85e0f71905261e4522fPass Proposal161605352022-11-15 0:04:3518 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0x3cc929678436e84c384cf11197f8af5f496c8cafb012fcc6f8e87a15d6f81a2ePass Proposal161605322022-11-15 0:04:2018 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0xa27abf83cc64a77bd493337a3d819c68da54e2b3b41df1d8b58456035cedd4b3Pass Proposal161605272022-11-15 0:03:5518 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0x3c7a71ab8dd00b2357ff8ec3b922bdecc37131bd3752fdf6c642f6baef938ae1Pass Proposal161605232022-11-15 0:03:3518 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0x3a8e51d3f85d86314ae145e94d0089266056b12b5c144a985ef1c869f1330977Pass Proposal161605082022-11-15 0:02:2018 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0xe082a1be689c99f622ef2728a0045dae7e35efae36f99934baff3fe02b9eb352Pass Proposal161604942022-11-15 0:01:1018 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
0xfa2af9991b6ba658c67093272fa9b471e442c6523ca3f6199b6b1b15bb644d91Pass Proposal161604862022-11-15 0:00:3018 days 12 hrs ago0xc70d89996c1ac1fa5dc15199db6ab75447e25aa2 IN  0xcb8ce7e12a346395bb1e002bb931d7abffe4bd680 CELO0.0000798382
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Hackathon

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at celoscan.io on 2022-11-14
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract Hackathon {
    uint32 constant minimumVotingPeriod = 1 weeks;
    uint256 public numOfProposals;
    address[] public eligibleVotersArray;

    enum State {
        Invalid,
        Created,
        Passed,
        Failed
    }

    struct Footprint {
        string projectId;
        string companyName;
        string year;
        uint totalOffsetTonnes;
        uint totalEmissionsTonnes;
    }

    struct Proposal {
        uint id;
        uint livePeriod;
        uint votesFor;
        uint votesAgainst;
        bool votingPassed;
        address proposer;
        Footprint footprint;
        State state;
    }

    struct Voter {
        address voterAddress;
        uint[] proposalsIdsVotedOn;
        uint index; // index of the this voter in eligibleVoters[]
    }

    mapping(uint256 => Proposal) public carbonEmissionProposals;
    mapping(address => uint256[]) public historicalVotes;
    mapping(address => Voter) public eligibleVoters;

    event NewCarbonEmissionsProposal(
        address indexed proposer,
        Footprint foorprint,
        uint256 proposalId
    );

    function addVoter(address voterAddress) public {
        uint[] memory proposalsVotedOn = new uint[](0);
        eligibleVoters[voterAddress] = Voter(
            voterAddress,
            proposalsVotedOn,
            eligibleVotersArray.length
        );
        eligibleVotersArray.push(voterAddress);
    }

    function createProposal(Footprint calldata footprint) external {
        uint256 proposalId = numOfProposals++;
        Proposal storage proposal = carbonEmissionProposals[proposalId];
        proposal.id = proposalId;
        proposal.proposer = msg.sender;
        proposal.footprint = footprint;
        proposal.livePeriod = block.timestamp + minimumVotingPeriod;
        proposal.state = State.Created;

        emit NewCarbonEmissionsProposal(msg.sender, footprint, proposalId);
    }

    // Demo purposes
    function passProposal(uint256 proposalId) external  {
        Proposal storage proposal = carbonEmissionProposals[proposalId];
        proposal.state = State.Passed;
        carbonEmissionProposals[proposalId] = proposal;
    }
    // Demo purposes
    function invalidateProposal(uint256 proposalId) external  {
        Proposal storage proposal = carbonEmissionProposals[proposalId];
        proposal.state = State.Invalid;
        carbonEmissionProposals[proposalId] = proposal;
    }
    // Demo purposes
    function failProposal(uint256 proposalId) external  {
        Proposal storage proposal = carbonEmissionProposals[proposalId];
        proposal.state = State.Failed;
        carbonEmissionProposals[proposalId] = proposal;
    }

    function vote(uint256 proposalId, bool supportProposal) external {
        Proposal storage proposal = carbonEmissionProposals[proposalId];

        votable(proposal);

        if (supportProposal) proposal.votesFor++;
        else proposal.votesAgainst++;

        historicalVotes[msg.sender].push(proposal.id);
    }

    function votable(Proposal storage carbonEmissionsProposal) private {
        if (
            carbonEmissionsProposal.votingPassed ||
            carbonEmissionsProposal.livePeriod <= block.timestamp
        ) {
            carbonEmissionsProposal.votingPassed = true;
            revert("Voting period has passed on this proposal");
        }

        uint256[] memory tempVotes = historicalVotes[msg.sender];
        for (uint256 votes = 0; votes < tempVotes.length; votes++) {
            if (carbonEmissionsProposal.id == tempVotes[votes])
                revert("This wallet already voted on this proposal");
        }
    }

    function getProposals() public view returns (Proposal[] memory props) {
        props = new Proposal[](numOfProposals);

        for (uint256 index = 0; index < numOfProposals; index++) {
            props[index] = carbonEmissionProposals[index];
        }
    }

    function getProposal(
        uint256 proposalId
    ) public view returns (Proposal memory) {
        return carbonEmissionProposals[proposalId];
    }

    function getHistoricalVotes() public view returns (uint256[] memory) {
        return historicalVotes[msg.sender];
    }
}

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"proposer","type":"address"},{"components":[{"internalType":"string","name":"projectId","type":"string"},{"internalType":"string","name":"companyName","type":"string"},{"internalType":"string","name":"year","type":"string"},{"internalType":"uint256","name":"totalOffsetTonnes","type":"uint256"},{"internalType":"uint256","name":"totalEmissionsTonnes","type":"uint256"}],"indexed":false,"internalType":"struct Hackathon.Footprint","name":"foorprint","type":"tuple"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"NewCarbonEmissionsProposal","type":"event"},{"inputs":[{"internalType":"address","name":"voterAddress","type":"address"}],"name":"addVoter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"carbonEmissionProposals","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"livePeriod","type":"uint256"},{"internalType":"uint256","name":"votesFor","type":"uint256"},{"internalType":"uint256","name":"votesAgainst","type":"uint256"},{"internalType":"bool","name":"votingPassed","type":"bool"},{"internalType":"address","name":"proposer","type":"address"},{"components":[{"internalType":"string","name":"projectId","type":"string"},{"internalType":"string","name":"companyName","type":"string"},{"internalType":"string","name":"year","type":"string"},{"internalType":"uint256","name":"totalOffsetTonnes","type":"uint256"},{"internalType":"uint256","name":"totalEmissionsTonnes","type":"uint256"}],"internalType":"struct Hackathon.Footprint","name":"footprint","type":"tuple"},{"internalType":"enum Hackathon.State","name":"state","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"projectId","type":"string"},{"internalType":"string","name":"companyName","type":"string"},{"internalType":"string","name":"year","type":"string"},{"internalType":"uint256","name":"totalOffsetTonnes","type":"uint256"},{"internalType":"uint256","name":"totalEmissionsTonnes","type":"uint256"}],"internalType":"struct Hackathon.Footprint","name":"footprint","type":"tuple"}],"name":"createProposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"eligibleVoters","outputs":[{"internalType":"address","name":"voterAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"eligibleVotersArray","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"failProposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getHistoricalVotes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getProposal","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"livePeriod","type":"uint256"},{"internalType":"uint256","name":"votesFor","type":"uint256"},{"internalType":"uint256","name":"votesAgainst","type":"uint256"},{"internalType":"bool","name":"votingPassed","type":"bool"},{"internalType":"address","name":"proposer","type":"address"},{"components":[{"internalType":"string","name":"projectId","type":"string"},{"internalType":"string","name":"companyName","type":"string"},{"internalType":"string","name":"year","type":"string"},{"internalType":"uint256","name":"totalOffsetTonnes","type":"uint256"},{"internalType":"uint256","name":"totalEmissionsTonnes","type":"uint256"}],"internalType":"struct Hackathon.Footprint","name":"footprint","type":"tuple"},{"internalType":"enum Hackathon.State","name":"state","type":"uint8"}],"internalType":"struct Hackathon.Proposal","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getProposals","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"livePeriod","type":"uint256"},{"internalType":"uint256","name":"votesFor","type":"uint256"},{"internalType":"uint256","name":"votesAgainst","type":"uint256"},{"internalType":"bool","name":"votingPassed","type":"bool"},{"internalType":"address","name":"proposer","type":"address"},{"components":[{"internalType":"string","name":"projectId","type":"string"},{"internalType":"string","name":"companyName","type":"string"},{"internalType":"string","name":"year","type":"string"},{"internalType":"uint256","name":"totalOffsetTonnes","type":"uint256"},{"internalType":"uint256","name":"totalEmissionsTonnes","type":"uint256"}],"internalType":"struct Hackathon.Footprint","name":"footprint","type":"tuple"},{"internalType":"enum Hackathon.State","name":"state","type":"uint8"}],"internalType":"struct Hackathon.Proposal[]","name":"props","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"historicalVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"invalidateProposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"numOfProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"passProposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"bool","name":"supportProposal","type":"bool"}],"name":"vote","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50612aa6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806362564c481161008c578063c7f758a811610066578063c7f758a814610250578063c9d27afe14610280578063e8efd4801461029c578063f4ab9adf146102cd576100ea565b806362564c48146101fa5780639c93e166146102185780639e81cbb614610234576100ea565b80632005195e116100c85780632005195e146101745780634647be85146101a45780635151b57d146101c05780635f570253146101dc576100ea565b806311bde297146100ef57806312221e671461011f57806312d582261461013d575b600080fd5b61010960048036038101906101049190611875565b6102e9565b60405161011691906118e3565b60405180910390f35b610127610328565b60405161013491906119bc565b60405180910390f35b61015760048036038101906101529190611875565b6103bd565b60405161016b989796959493929190611b93565b60405180910390f35b61018e60048036038101906101899190611c44565b610613565b60405161019b9190611c84565b60405180910390f35b6101be60048036038101906101b99190611875565b610644565b005b6101da60048036038101906101d59190611cc3565b6107f9565b005b6101e4610929565b6040516101f19190611c84565b60405180910390f35b61020261092f565b60405161020f9190611f2f565b60405180910390f35b610232600480360381019061022d9190611875565b610c9c565b005b61024e60048036038101906102499190611875565b610e51565b005b61026a60048036038101906102659190611875565b611006565b6040516102779190612001565b60405180910390f35b61029a6004803603810190610295919061204f565b6112e6565b005b6102b660048036038101906102b1919061208f565b6113b5565b6040516102c49291906120bc565b60405180910390f35b6102e760048036038101906102e2919061208f565b6113f9565b005b600181815481106102f957600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156103b357602002820191906000526020600020905b81548152602001906001019080831161039f575b5050505050905090565b60026020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040160009054906101000a900460ff16908060040160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806005016040518060a001604052908160008201805461044190612114565b80601f016020809104026020016040519081016040528092919081815260200182805461046d90612114565b80156104ba5780601f1061048f576101008083540402835291602001916104ba565b820191906000526020600020905b81548152906001019060200180831161049d57829003601f168201915b505050505081526020016001820180546104d390612114565b80601f01602080910402602001604051908101604052809291908181526020018280546104ff90612114565b801561054c5780601f106105215761010080835404028352916020019161054c565b820191906000526020600020905b81548152906001019060200180831161052f57829003601f168201915b5050505050815260200160028201805461056590612114565b80601f016020809104026020016040519081016040528092919081815260200182805461059190612114565b80156105de5780601f106105b3576101008083540402835291602001916105de565b820191906000526020600020905b8154815290600101906020018083116105c157829003601f168201915b50505050508152602001600382015481526020016004820154815250509080600a0160009054906101000a900460ff16905088565b6003602052816000526040600020818154811061062f57600080fd5b90600052602060002001600091509150505481565b6000600260008381526020019081526020016000209050600081600a0160006101000a81548160ff0219169083600381111561068357610682611b1c565b5b02179055508060026000848152602001908152602001600020600082015481600001556001820154816001015560028201548160020155600382015481600301556004820160009054906101000a900460ff168160040160006101000a81548160ff0219169083151502179055506004820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160040160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005820181600501600082018160000190816107749190612336565b50600182018160010190816107899190612336565b506002820181600201908161079e9190612336565b5060038201548160030155600482015481600401555050600a820160009054906101000a900460ff1681600a0160006101000a81548160ff021916908360038111156107ed576107ec611b1c565b5b02179055509050505050565b600080600081548092919061080d9061244d565b9190505590506000600260008381526020019081526020016000209050818160000181905550338160040160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160050181816108879190612723565b90505062093a8063ffffffff164261089f9190612731565b8160010181905550600181600a0160006101000a81548160ff021916908360038111156108cf576108ce611b1c565b5b02179055503373ffffffffffffffffffffffffffffffffffffffff167f5410a8e6dffa38e393ff699c9ca60358835e3d1c9b440be320fa19b5c376e051848460405161091c9291906128dc565b60405180910390a2505050565b60005481565b606060005467ffffffffffffffff81111561094d5761094c61215b565b5b60405190808252806020026020018201604052801561098657816020015b610973611727565b81526020019060019003908161096b5790505b50905060005b600054811015610c98576002600082815260200190815260200160002060405180610100016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582016040518060a0016040529081600082018054610a6e90612114565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9a90612114565b8015610ae75780601f10610abc57610100808354040283529160200191610ae7565b820191906000526020600020905b815481529060010190602001808311610aca57829003601f168201915b50505050508152602001600182018054610b0090612114565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2c90612114565b8015610b795780601f10610b4e57610100808354040283529160200191610b79565b820191906000526020600020905b815481529060010190602001808311610b5c57829003601f168201915b50505050508152602001600282018054610b9290612114565b80601f0160208091040260200160405190810160405280929190818152602001828054610bbe90612114565b8015610c0b5780601f10610be057610100808354040283529160200191610c0b565b820191906000526020600020905b815481529060010190602001808311610bee57829003601f168201915b50505050508152602001600382015481526020016004820154815250508152602001600a820160009054906101000a900460ff166003811115610c5157610c50611b1c565b5b6003811115610c6357610c62611b1c565b5b81525050828281518110610c7a57610c7961290c565b5b60200260200101819052508080610c909061244d565b91505061098c565b5090565b6000600260008381526020019081526020016000209050600281600a0160006101000a81548160ff02191690836003811115610cdb57610cda611b1c565b5b02179055508060026000848152602001908152602001600020600082015481600001556001820154816001015560028201548160020155600382015481600301556004820160009054906101000a900460ff168160040160006101000a81548160ff0219169083151502179055506004820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160040160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600582018160050160008201816000019081610dcc9190612336565b5060018201816001019081610de19190612336565b5060028201816002019081610df69190612336565b5060038201548160030155600482015481600401555050600a820160009054906101000a900460ff1681600a0160006101000a81548160ff02191690836003811115610e4557610e44611b1c565b5b02179055509050505050565b6000600260008381526020019081526020016000209050600381600a0160006101000a81548160ff02191690836003811115610e9057610e8f611b1c565b5b02179055508060026000848152602001908152602001600020600082015481600001556001820154816001015560028201548160020155600382015481600301556004820160009054906101000a900460ff168160040160006101000a81548160ff0219169083151502179055506004820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160040160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600582018160050160008201816000019081610f819190612336565b5060018201816001019081610f969190612336565b5060028201816002019081610fab9190612336565b5060038201548160030155600482015481600401555050600a820160009054906101000a900460ff1681600a0160006101000a81548160ff02191690836003811115610ffa57610ff9611b1c565b5b02179055509050505050565b61100e611727565b6002600083815260200190815260200160002060405180610100016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582016040518060a00160405290816000820180546110e690612114565b80601f016020809104026020016040519081016040528092919081815260200182805461111290612114565b801561115f5780601f106111345761010080835404028352916020019161115f565b820191906000526020600020905b81548152906001019060200180831161114257829003601f168201915b5050505050815260200160018201805461117890612114565b80601f01602080910402602001604051908101604052809291908181526020018280546111a490612114565b80156111f15780601f106111c6576101008083540402835291602001916111f1565b820191906000526020600020905b8154815290600101906020018083116111d457829003601f168201915b5050505050815260200160028201805461120a90612114565b80601f016020809104026020016040519081016040528092919081815260200182805461123690612114565b80156112835780601f1061125857610100808354040283529160200191611283565b820191906000526020600020905b81548152906001019060200180831161126657829003601f168201915b50505050508152602001600382015481526020016004820154815250508152602001600a820160009054906101000a900460ff1660038111156112c9576112c8611b1c565b5b60038111156112db576112da611b1c565b5b815250509050919050565b600060026000848152602001908152602001600020905061130681611593565b811561132b578060020160008154809291906113219061244d565b9190505550611346565b8060030160008154809291906113409061244d565b91905055505b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081600001549080600181540180825580915050600190039060005260206000200160009091909190915055505050565b60046020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905082565b60008067ffffffffffffffff8111156114155761141461215b565b5b6040519080825280602002602001820160405280156114435781602001602082028036833780820191505090505b50905060405180606001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001600180549050815250600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101908051906020019061151e92919061179c565b50604082015181600201559050506001829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b8060040160009054906101000a900460ff16806115b4575042816001015411155b156116115760018160040160006101000a81548160ff0219169083151502179055506040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611608906129be565b60405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561169c57602002820191906000526020600020905b815481526020019060010190808311611688575b5050505050905060005b8151811015611722578181815181106116c2576116c161290c565b5b602002602001015183600001540361170f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170690612a50565b60405180910390fd5b808061171a9061244d565b9150506116a6565b505050565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200161177d6117e9565b81526020016000600381111561179657611795611b1c565b5b81525090565b8280548282559060005260206000209081019282156117d8579160200282015b828111156117d75782518255916020019190600101906117bc565b5b5090506117e59190611818565b5090565b6040518060a0016040528060608152602001606081526020016060815260200160008152602001600081525090565b5b80821115611831576000816000905550600101611819565b5090565b600080fd5b600080fd5b6000819050919050565b6118528161183f565b811461185d57600080fd5b50565b60008135905061186f81611849565b92915050565b60006020828403121561188b5761188a611835565b5b600061189984828501611860565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118cd826118a2565b9050919050565b6118dd816118c2565b82525050565b60006020820190506118f860008301846118d4565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6119338161183f565b82525050565b6000611945838361192a565b60208301905092915050565b6000602082019050919050565b6000611969826118fe565b6119738185611909565b935061197e8361191a565b8060005b838110156119af5781516119968882611939565b97506119a183611951565b925050600181019050611982565b5085935050505092915050565b600060208201905081810360008301526119d6818461195e565b905092915050565b6119e78161183f565b82525050565b60008115159050919050565b611a02816119ed565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a42578082015181840152602081019050611a27565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a6a82611a08565b611a748185611a13565b9350611a84818560208601611a24565b611a8d81611a4e565b840191505092915050565b600060a0830160008301518482036000860152611ab58282611a5f565b91505060208301518482036020860152611acf8282611a5f565b91505060408301518482036040860152611ae98282611a5f565b9150506060830151611afe606086018261192a565b506080830151611b11608086018261192a565b508091505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110611b5c57611b5b611b1c565b5b50565b6000819050611b6d82611b4b565b919050565b6000611b7d82611b5f565b9050919050565b611b8d81611b72565b82525050565b600061010082019050611ba9600083018b6119de565b611bb6602083018a6119de565b611bc360408301896119de565b611bd060608301886119de565b611bdd60808301876119f9565b611bea60a08301866118d4565b81810360c0830152611bfc8185611a98565b9050611c0b60e0830184611b84565b9998505050505050505050565b611c21816118c2565b8114611c2c57600080fd5b50565b600081359050611c3e81611c18565b92915050565b60008060408385031215611c5b57611c5a611835565b5b6000611c6985828601611c2f565b9250506020611c7a85828601611860565b9150509250929050565b6000602082019050611c9960008301846119de565b92915050565b600080fd5b600060a08284031215611cba57611cb9611c9f565b5b81905092915050565b600060208284031215611cd957611cd8611835565b5b600082013567ffffffffffffffff811115611cf757611cf661183a565b5b611d0384828501611ca4565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611d41816119ed565b82525050565b611d50816118c2565b82525050565b600060a0830160008301518482036000860152611d738282611a5f565b91505060208301518482036020860152611d8d8282611a5f565b91505060408301518482036040860152611da78282611a5f565b9150506060830151611dbc606086018261192a565b506080830151611dcf608086018261192a565b508091505092915050565b611de381611b72565b82525050565b600061010083016000830151611e02600086018261192a565b506020830151611e15602086018261192a565b506040830151611e28604086018261192a565b506060830151611e3b606086018261192a565b506080830151611e4e6080860182611d38565b5060a0830151611e6160a0860182611d47565b5060c083015184820360c0860152611e798282611d56565b91505060e0830151611e8e60e0860182611dda565b508091505092915050565b6000611ea58383611de9565b905092915050565b6000602082019050919050565b6000611ec582611d0c565b611ecf8185611d17565b935083602082028501611ee185611d28565b8060005b85811015611f1d5784840389528151611efe8582611e99565b9450611f0983611ead565b925060208a01995050600181019050611ee5565b50829750879550505050505092915050565b60006020820190508181036000830152611f498184611eba565b905092915050565b600061010083016000830151611f6a600086018261192a565b506020830151611f7d602086018261192a565b506040830151611f90604086018261192a565b506060830151611fa3606086018261192a565b506080830151611fb66080860182611d38565b5060a0830151611fc960a0860182611d47565b5060c083015184820360c0860152611fe18282611d56565b91505060e0830151611ff660e0860182611dda565b508091505092915050565b6000602082019050818103600083015261201b8184611f51565b905092915050565b61202c816119ed565b811461203757600080fd5b50565b60008135905061204981612023565b92915050565b6000806040838503121561206657612065611835565b5b600061207485828601611860565b92505060206120858582860161203a565b9150509250929050565b6000602082840312156120a5576120a4611835565b5b60006120b384828501611c2f565b91505092915050565b60006040820190506120d160008301856118d4565b6120de60208301846119de565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061212c57607f821691505b60208210810361213f5761213e6120e5565b5b50919050565b60008154905061215481612114565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026121ec7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826121af565b6121f686836121af565b95508019841693508086168417925050509392505050565b6000819050919050565b600061223361222e6122298461183f565b61220e565b61183f565b9050919050565b6000819050919050565b61224d83612218565b6122616122598261223a565b8484546121bc565b825550505050565b600090565b612276612269565b612281818484612244565b505050565b5b818110156122a55761229a60008261226e565b600181019050612287565b5050565b601f8211156122ea576122bb8161218a565b6122c48461219f565b810160208510156122d3578190505b6122e76122df8561219f565b830182612286565b50505b505050565b600082821c905092915050565b600061230d600019846008026122ef565b1980831691505092915050565b600061232683836122fc565b9150826002028217905092915050565b81810361234457505061241c565b61234d82612145565b67ffffffffffffffff8111156123665761236561215b565b5b6123708254612114565b61237b8282856122a9565b6000601f8311600181146123aa5760008415612398578287015490505b6123a2858261231a565b865550612415565b601f1984166123b88761218a565b96506123c38661218a565b60005b828110156123eb578489015482556001820191506001850194506020810190506123c6565b868310156124085784890154612404601f8916826122fc565b8355505b6001600288020188555050505b5050505050505b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006124588261183f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361248a5761248961241e565b5b600182019050919050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126124c1576124c0612495565b5b80840192508235915067ffffffffffffffff8211156124e3576124e261249a565b5b6020830192506001820236038313156124ff576124fe61249f565b5b509250929050565b600082905092915050565b61251c8383612507565b67ffffffffffffffff8111156125355761253461215b565b5b61253f8254612114565b61254a8282856122a9565b6000601f8311600181146125795760008415612567578287013590505b612571858261231a565b8655506125d9565b601f1984166125878661218a565b60005b828110156125af5784890135825560018201915060208501945060208101905061258a565b868310156125cc57848901356125c8601f8916826122fc565b8355505b6001600288020188555050505b50505050505050565b6125ed838383612512565b505050565b600081356125ff81611849565b80915050919050565b60008160001b9050919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61264184612608565b9350801983169250808416831791505092915050565b61266082612218565b61267361266c8261223a565b8354612615565b8255505050565b600081016000830161268c81856124a4565b6126978183866125e2565b5050505060018101602083016126ad81856124a4565b6126b88183866125e2565b5050505060028101604083016126ce81856124a4565b6126d98183866125e2565b505050506003810160608301806126ef816125f2565b90506126fb8184612657565b505050600481016080830180612710816125f2565b905061271c8184612657565b5050505050565b61272d828261267a565b5050565b600061273c8261183f565b91506127478361183f565b925082820190508082111561275f5761275e61241e565b5b92915050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126127915761279061276f565b5b83810192508235915060208301925067ffffffffffffffff8211156127b9576127b8612765565b5b6001820236038313156127cf576127ce61276a565b5b509250929050565b82818337600083830152505050565b60006127f28385611a13565b93506127ff8385846127d7565b61280883611a4e565b840190509392505050565b60006128226020840184611860565b905092915050565b600060a0830161283d6000840184612774565b85830360008701526128508382846127e6565b925050506128616020840184612774565b85830360208701526128748382846127e6565b925050506128856040840184612774565b85830360408701526128988382846127e6565b925050506128a96060840184612813565b6128b6606086018261192a565b506128c46080840184612813565b6128d1608086018261192a565b508091505092915050565b600060408201905081810360008301526128f6818561282a565b905061290560208301846119de565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082825260208201905092915050565b7f566f74696e6720706572696f642068617320706173736564206f6e207468697360008201527f2070726f706f73616c0000000000000000000000000000000000000000000000602082015250565b60006129a860298361293b565b91506129b38261294c565b604082019050919050565b600060208201905081810360008301526129d78161299b565b9050919050565b7f546869732077616c6c657420616c726561647920766f746564206f6e2074686960008201527f732070726f706f73616c00000000000000000000000000000000000000000000602082015250565b6000612a3a602a8361293b565b9150612a45826129de565b604082019050919050565b60006020820190508181036000830152612a6981612a2d565b905091905056fea26469706673582212205b75ea85aaff8323f9bbb7369d77dbae46c5c509bb7adef8df31d040b3e1e92364736f6c63430008110033

Deployed ByteCode Sourcemap

60:4329:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;174:36;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4264:122;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;895:59;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;961:52;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2333:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1544:500;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;138:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3824:268;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2074:231;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2599;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4100:156;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2838:327;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1020:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1218:318;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;174:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4264:122::-;4315:16;4351:15;:27;4367:10;4351:27;;;;;;;;;;;;;;;4344:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4264:122;:::o;895:59::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;961:52::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2333:238::-;2402:25;2430:23;:35;2454:10;2430:35;;;;;;;;;;;2402:63;;2493:13;2476:8;:14;;;:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2555:8;2517:23;:35;2541:10;2517:35;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2391:180;2333:238;:::o;1544:500::-;1618:18;1639:14;;:16;;;;;;;;;:::i;:::-;;;;;1618:37;;1666:25;1694:23;:35;1718:10;1694:35;;;;;;;;;;;1666:63;;1754:10;1740:8;:11;;:24;;;;1795:10;1775:8;:17;;;:30;;;;;;;;;;;;;;;;;;1837:9;1816:8;:18;;:30;;;;;;:::i;:::-;;;;124:7;1879:37;;:15;:37;;;;:::i;:::-;1857:8;:19;;:59;;;;1944:13;1927:8;:14;;;:30;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2002:10;1975:61;;;2014:9;2025:10;1975:61;;;;;;;:::i;:::-;;;;;;;;1607:437;;1544:500;:::o;138:29::-;;;;:::o;3824:268::-;3869:23;3928:14;;3913:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;3905:38;;3961:13;3956:129;3988:14;;3980:5;:22;3956:129;;;4043:23;:30;4067:5;4043:30;;;;;;;;;;;4028:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;:5;4034;4028:12;;;;;;;;:::i;:::-;;;;;;;:45;;;;4004:7;;;;;:::i;:::-;;;;3956:129;;;;3824:268;:::o;2074:231::-;2137:25;2165:23;:35;2189:10;2165:35;;;;;;;;;;;2137:63;;2228:12;2211:8;:14;;;:29;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2289:8;2251:23;:35;2275:10;2251:35;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2126:179;2074:231;:::o;2599:::-;2662:25;2690:23;:35;2714:10;2690:35;;;;;;;;;;;2662:63;;2753:12;2736:8;:14;;;:29;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2814:8;2776:23;:35;2800:10;2776:35;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2651:179;2599:231;:::o;4100:156::-;4178:15;;:::i;:::-;4213:23;:35;4237:10;4213:35;;;;;;;;;;;4206:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;4100:156;;;:::o;2838:327::-;2914:25;2942:23;:35;2966:10;2942:35;;;;;;;;;;;2914:63;;2990:17;2998:8;2990:7;:17::i;:::-;3024:15;3020:79;;;3041:8;:17;;;:19;;;;;;;;;:::i;:::-;;;;;;3020:79;;;3076:8;:21;;;:23;;;;;;;;;:::i;:::-;;;;;;3020:79;3112:15;:27;3128:10;3112:27;;;;;;;;;;;;;;;3145:8;:11;;;3112:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2903:262;2838:327;;:::o;1020:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1218:318::-;1276:30;1320:1;1309:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1276:46;;1364:115;;;;;;;;1384:12;1364:115;;;;;;1411:16;1364:115;;;;1442:19;:26;;;;1364:115;;;1333:14;:28;1348:12;1333:28;;;;;;;;;;;;;;;:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1490:19;1515:12;1490:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1265:271;1218:318;:::o;3173:643::-;3269:23;:36;;;;;;;;;;;;:106;;;;3360:15;3322:23;:34;;;:53;;3269:106;3251:272;;;3441:4;3402:23;:36;;;:43;;;;;;;;;;;;;;;;;;3460:51;;;;;;;;;;:::i;:::-;;;;;;;;3251:272;3535:26;3564:15;:27;3580:10;3564:27;;;;;;;;;;;;;;;3535:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3607:13;3602:207;3634:9;:16;3626:5;:24;3602:207;;;3710:9;3720:5;3710:16;;;;;;;;:::i;:::-;;;;;;;;3680:23;:26;;;:46;3676:121;;3745:52;;;;;;;;;;:::i;:::-;;;;;;;;3676:121;3652:7;;;;;:::i;:::-;;;;3602:207;;;;3240:576;3173:643;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:126::-;1062:7;1102:42;1095:5;1091:54;1080:65;;1025:126;;;:::o;1157:96::-;1194:7;1223:24;1241:5;1223:24;:::i;:::-;1212:35;;1157:96;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:114::-;1678:6;1712:5;1706:12;1696:22;;1611:114;;;:::o;1731:184::-;1830:11;1864:6;1859:3;1852:19;1904:4;1899:3;1895:14;1880:29;;1731:184;;;;:::o;1921:132::-;1988:4;2011:3;2003:11;;2041:4;2036:3;2032:14;2024:22;;1921:132;;;:::o;2059:108::-;2136:24;2154:5;2136:24;:::i;:::-;2131:3;2124:37;2059:108;;:::o;2173:179::-;2242:10;2263:46;2305:3;2297:6;2263:46;:::i;:::-;2341:4;2336:3;2332:14;2318:28;;2173:179;;;;:::o;2358:113::-;2428:4;2460;2455:3;2451:14;2443:22;;2358:113;;;:::o;2507:732::-;2626:3;2655:54;2703:5;2655:54;:::i;:::-;2725:86;2804:6;2799:3;2725:86;:::i;:::-;2718:93;;2835:56;2885:5;2835:56;:::i;:::-;2914:7;2945:1;2930:284;2955:6;2952:1;2949:13;2930:284;;;3031:6;3025:13;3058:63;3117:3;3102:13;3058:63;:::i;:::-;3051:70;;3144:60;3197:6;3144:60;:::i;:::-;3134:70;;2990:224;2977:1;2974;2970:9;2965:14;;2930:284;;;2934:14;3230:3;3223:10;;2631:608;;;2507:732;;;;:::o;3245:373::-;3388:4;3426:2;3415:9;3411:18;3403:26;;3475:9;3469:4;3465:20;3461:1;3450:9;3446:17;3439:47;3503:108;3606:4;3597:6;3503:108;:::i;:::-;3495:116;;3245:373;;;;:::o;3624:118::-;3711:24;3729:5;3711:24;:::i;:::-;3706:3;3699:37;3624:118;;:::o;3748:90::-;3782:7;3825:5;3818:13;3811:21;3800:32;;3748:90;;;:::o;3844:109::-;3925:21;3940:5;3925:21;:::i;:::-;3920:3;3913:34;3844:109;;:::o;3959:99::-;4011:6;4045:5;4039:12;4029:22;;3959:99;;;:::o;4064:159::-;4138:11;4172:6;4167:3;4160:19;4212:4;4207:3;4203:14;4188:29;;4064:159;;;;:::o;4229:246::-;4310:1;4320:113;4334:6;4331:1;4328:13;4320:113;;;4419:1;4414:3;4410:11;4404:18;4400:1;4395:3;4391:11;4384:39;4356:2;4353:1;4349:10;4344:15;;4320:113;;;4467:1;4458:6;4453:3;4449:16;4442:27;4291:184;4229:246;;;:::o;4481:102::-;4522:6;4573:2;4569:7;4564:2;4557:5;4553:14;4549:28;4539:38;;4481:102;;;:::o;4589:357::-;4667:3;4695:39;4728:5;4695:39;:::i;:::-;4750:61;4804:6;4799:3;4750:61;:::i;:::-;4743:68;;4820:65;4878:6;4873:3;4866:4;4859:5;4855:16;4820:65;:::i;:::-;4910:29;4932:6;4910:29;:::i;:::-;4905:3;4901:39;4894:46;;4671:275;4589:357;;;;:::o;5016:1311::-;5135:3;5171:4;5166:3;5162:14;5263:4;5256:5;5252:16;5246:23;5316:3;5310:4;5306:14;5299:4;5294:3;5290:14;5283:38;5342:73;5410:4;5396:12;5342:73;:::i;:::-;5334:81;;5186:240;5515:4;5508:5;5504:16;5498:23;5568:3;5562:4;5558:14;5551:4;5546:3;5542:14;5535:38;5594:73;5662:4;5648:12;5594:73;:::i;:::-;5586:81;;5436:242;5760:4;5753:5;5749:16;5743:23;5813:3;5807:4;5803:14;5796:4;5791:3;5787:14;5780:38;5839:73;5907:4;5893:12;5839:73;:::i;:::-;5831:81;;5688:235;6018:4;6011:5;6007:16;6001:23;6037:63;6094:4;6089:3;6085:14;6071:12;6037:63;:::i;:::-;5933:177;6208:4;6201:5;6197:16;6191:23;6227:63;6284:4;6279:3;6275:14;6261:12;6227:63;:::i;:::-;6120:180;6317:4;6310:11;;5140:1187;5016:1311;;;;:::o;6333:180::-;6381:77;6378:1;6371:88;6478:4;6475:1;6468:15;6502:4;6499:1;6492:15;6519:113;6600:1;6593:5;6590:12;6580:46;;6606:18;;:::i;:::-;6580:46;6519:113;:::o;6638:127::-;6683:7;6712:5;6701:16;;6718:41;6753:5;6718:41;:::i;:::-;6638:127;;;:::o;6771:::-;6827:9;6860:32;6886:5;6860:32;:::i;:::-;6847:45;;6771:127;;;:::o;6904:143::-;6997:43;7034:5;6997:43;:::i;:::-;6992:3;6985:56;6904:143;;:::o;7053:1148::-;7392:4;7430:3;7419:9;7415:19;7407:27;;7444:71;7512:1;7501:9;7497:17;7488:6;7444:71;:::i;:::-;7525:72;7593:2;7582:9;7578:18;7569:6;7525:72;:::i;:::-;7607;7675:2;7664:9;7660:18;7651:6;7607:72;:::i;:::-;7689;7757:2;7746:9;7742:18;7733:6;7689:72;:::i;:::-;7771:67;7833:3;7822:9;7818:19;7809:6;7771:67;:::i;:::-;7848:73;7916:3;7905:9;7901:19;7892:6;7848:73;:::i;:::-;7969:9;7963:4;7959:20;7953:3;7942:9;7938:19;7931:49;7997:108;8100:4;8091:6;7997:108;:::i;:::-;7989:116;;8115:79;8189:3;8178:9;8174:19;8165:6;8115:79;:::i;:::-;7053:1148;;;;;;;;;;;:::o;8207:122::-;8280:24;8298:5;8280:24;:::i;:::-;8273:5;8270:35;8260:63;;8319:1;8316;8309:12;8260:63;8207:122;:::o;8335:139::-;8381:5;8419:6;8406:20;8397:29;;8435:33;8462:5;8435:33;:::i;:::-;8335:139;;;;:::o;8480:474::-;8548:6;8556;8605:2;8593:9;8584:7;8580:23;8576:32;8573:119;;;8611:79;;:::i;:::-;8573:119;8731:1;8756:53;8801:7;8792:6;8781:9;8777:22;8756:53;:::i;:::-;8746:63;;8702:117;8858:2;8884:53;8929:7;8920:6;8909:9;8905:22;8884:53;:::i;:::-;8874:63;;8829:118;8480:474;;;;;:::o;8960:222::-;9053:4;9091:2;9080:9;9076:18;9068:26;;9104:71;9172:1;9161:9;9157:17;9148:6;9104:71;:::i;:::-;8960:222;;;;:::o;9188:117::-;9297:1;9294;9287:12;9345:232;9418:5;9459:3;9450:6;9445:3;9441:16;9437:26;9434:113;;;9466:79;;:::i;:::-;9434:113;9565:6;9556:15;;9345:232;;;;:::o;9583:543::-;9669:6;9718:2;9706:9;9697:7;9693:23;9689:32;9686:119;;;9724:79;;:::i;:::-;9686:119;9872:1;9861:9;9857:17;9844:31;9902:18;9894:6;9891:30;9888:117;;;9924:79;;:::i;:::-;9888:117;10029:80;10101:7;10092:6;10081:9;10077:22;10029:80;:::i;:::-;10019:90;;9815:304;9583:543;;;;:::o;10132:138::-;10223:6;10257:5;10251:12;10241:22;;10132:138;;;:::o;10276:208::-;10399:11;10433:6;10428:3;10421:19;10473:4;10468:3;10464:14;10449:29;;10276:208;;;;:::o;10490:156::-;10581:4;10604:3;10596:11;;10634:4;10629:3;10625:14;10617:22;;10490:156;;;:::o;10652:99::-;10723:21;10738:5;10723:21;:::i;:::-;10718:3;10711:34;10652:99;;:::o;10757:108::-;10834:24;10852:5;10834:24;:::i;:::-;10829:3;10822:37;10757:108;;:::o;10935:1301::-;11044:3;11080:4;11075:3;11071:14;11172:4;11165:5;11161:16;11155:23;11225:3;11219:4;11215:14;11208:4;11203:3;11199:14;11192:38;11251:73;11319:4;11305:12;11251:73;:::i;:::-;11243:81;;11095:240;11424:4;11417:5;11413:16;11407:23;11477:3;11471:4;11467:14;11460:4;11455:3;11451:14;11444:38;11503:73;11571:4;11557:12;11503:73;:::i;:::-;11495:81;;11345:242;11669:4;11662:5;11658:16;11652:23;11722:3;11716:4;11712:14;11705:4;11700:3;11696:14;11689:38;11748:73;11816:4;11802:12;11748:73;:::i;:::-;11740:81;;11597:235;11927:4;11920:5;11916:16;11910:23;11946:63;12003:4;11998:3;11994:14;11980:12;11946:63;:::i;:::-;11842:177;12117:4;12110:5;12106:16;12100:23;12136:63;12193:4;12188:3;12184:14;12170:12;12136:63;:::i;:::-;12029:180;12226:4;12219:11;;11049:1187;10935:1301;;;;:::o;12242:133::-;12325:43;12362:5;12325:43;:::i;:::-;12320:3;12313:56;12242:133;;:::o;12443:1704::-;12550:3;12586:6;12581:3;12577:16;12673:4;12666:5;12662:16;12656:23;12692:63;12749:4;12744:3;12740:14;12726:12;12692:63;:::i;:::-;12603:162;12853:4;12846:5;12842:16;12836:23;12872:63;12929:4;12924:3;12920:14;12906:12;12872:63;:::i;:::-;12775:170;13031:4;13024:5;13020:16;13014:23;13050:63;13107:4;13102:3;13098:14;13084:12;13050:63;:::i;:::-;12955:168;13213:4;13206:5;13202:16;13196:23;13232:63;13289:4;13284:3;13280:14;13266:12;13232:63;:::i;:::-;13133:172;13395:4;13388:5;13384:16;13378:23;13414:57;13465:4;13460:3;13456:14;13442:12;13414:57;:::i;:::-;13315:166;13567:4;13560:5;13556:16;13550:23;13586:63;13643:4;13638:3;13634:14;13620:12;13586:63;:::i;:::-;13491:168;13746:4;13739:5;13735:16;13729:23;13799:3;13793:4;13789:14;13782:4;13777:3;13773:14;13766:38;13825:103;13923:4;13909:12;13825:103;:::i;:::-;13817:111;;13669:270;14022:4;14015:5;14011:16;14005:23;14041:69;14104:4;14099:3;14095:14;14081:12;14041:69;:::i;:::-;13949:171;14137:4;14130:11;;12555:1592;12443:1704;;;;:::o;14153:252::-;14270:10;14305:94;14395:3;14387:6;14305:94;:::i;:::-;14291:108;;14153:252;;;;:::o;14411:137::-;14505:4;14537;14532:3;14528:14;14520:22;;14411:137;;;:::o;14620:1103::-;14787:3;14816:78;14888:5;14816:78;:::i;:::-;14910:110;15013:6;15008:3;14910:110;:::i;:::-;14903:117;;15046:3;15091:4;15083:6;15079:17;15074:3;15070:27;15121:80;15195:5;15121:80;:::i;:::-;15224:7;15255:1;15240:438;15265:6;15262:1;15259:13;15240:438;;;15336:9;15330:4;15326:20;15321:3;15314:33;15387:6;15381:13;15415:112;15522:4;15507:13;15415:112;:::i;:::-;15407:120;;15550:84;15627:6;15550:84;:::i;:::-;15540:94;;15663:4;15658:3;15654:14;15647:21;;15300:378;15287:1;15284;15280:9;15275:14;;15240:438;;;15244:14;15694:4;15687:11;;15714:3;15707:10;;14792:931;;;;;14620:1103;;;;:::o;15729:469::-;15920:4;15958:2;15947:9;15943:18;15935:26;;16007:9;16001:4;15997:20;15993:1;15982:9;15978:17;15971:47;16035:156;16186:4;16177:6;16035:156;:::i;:::-;16027:164;;15729:469;;;;:::o;16266:1714::-;16383:3;16419:6;16414:3;16410:16;16506:4;16499:5;16495:16;16489:23;16525:63;16582:4;16577:3;16573:14;16559:12;16525:63;:::i;:::-;16436:162;16686:4;16679:5;16675:16;16669:23;16705:63;16762:4;16757:3;16753:14;16739:12;16705:63;:::i;:::-;16608:170;16864:4;16857:5;16853:16;16847:23;16883:63;16940:4;16935:3;16931:14;16917:12;16883:63;:::i;:::-;16788:168;17046:4;17039:5;17035:16;17029:23;17065:63;17122:4;17117:3;17113:14;17099:12;17065:63;:::i;:::-;16966:172;17228:4;17221:5;17217:16;17211:23;17247:57;17298:4;17293:3;17289:14;17275:12;17247:57;:::i;:::-;17148:166;17400:4;17393:5;17389:16;17383:23;17419:63;17476:4;17471:3;17467:14;17453:12;17419:63;:::i;:::-;17324:168;17579:4;17572:5;17568:16;17562:23;17632:3;17626:4;17622:14;17615:4;17610:3;17606:14;17599:38;17658:103;17756:4;17742:12;17658:103;:::i;:::-;17650:111;;17502:270;17855:4;17848:5;17844:16;17838:23;17874:69;17937:4;17932:3;17928:14;17914:12;17874:69;:::i;:::-;17782:171;17970:4;17963:11;;16388:1592;16266:1714;;;;:::o;17986:369::-;18127:4;18165:2;18154:9;18150:18;18142:26;;18214:9;18208:4;18204:20;18200:1;18189:9;18185:17;18178:47;18242:106;18343:4;18334:6;18242:106;:::i;:::-;18234:114;;17986:369;;;;:::o;18361:116::-;18431:21;18446:5;18431:21;:::i;:::-;18424:5;18421:32;18411:60;;18467:1;18464;18457:12;18411:60;18361:116;:::o;18483:133::-;18526:5;18564:6;18551:20;18542:29;;18580:30;18604:5;18580:30;:::i;:::-;18483:133;;;;:::o;18622:468::-;18687:6;18695;18744:2;18732:9;18723:7;18719:23;18715:32;18712:119;;;18750:79;;:::i;:::-;18712:119;18870:1;18895:53;18940:7;18931:6;18920:9;18916:22;18895:53;:::i;:::-;18885:63;;18841:117;18997:2;19023:50;19065:7;19056:6;19045:9;19041:22;19023:50;:::i;:::-;19013:60;;18968:115;18622:468;;;;;:::o;19096:329::-;19155:6;19204:2;19192:9;19183:7;19179:23;19175:32;19172:119;;;19210:79;;:::i;:::-;19172:119;19330:1;19355:53;19400:7;19391:6;19380:9;19376:22;19355:53;:::i;:::-;19345:63;;19301:117;19096:329;;;;:::o;19431:332::-;19552:4;19590:2;19579:9;19575:18;19567:26;;19603:71;19671:1;19660:9;19656:17;19647:6;19603:71;:::i;:::-;19684:72;19752:2;19741:9;19737:18;19728:6;19684:72;:::i;:::-;19431:332;;;;;:::o;19769:180::-;19817:77;19814:1;19807:88;19914:4;19911:1;19904:15;19938:4;19935:1;19928:15;19955:320;19999:6;20036:1;20030:4;20026:12;20016:22;;20083:1;20077:4;20073:12;20104:18;20094:81;;20160:4;20152:6;20148:17;20138:27;;20094:81;20222:2;20214:6;20211:14;20191:18;20188:38;20185:84;;20241:18;;:::i;:::-;20185:84;20006:269;19955:320;;;:::o;20281:149::-;20330:6;20364:5;20358:12;20348:22;;20390:33;20416:6;20390:33;:::i;:::-;20380:43;;20281:149;;;:::o;20436:180::-;20484:77;20481:1;20474:88;20581:4;20578:1;20571:15;20605:4;20602:1;20595:15;20622:141;20671:4;20694:3;20686:11;;20717:3;20714:1;20707:14;20751:4;20748:1;20738:18;20730:26;;20622:141;;;:::o;20769:93::-;20806:6;20853:2;20848;20841:5;20837:14;20833:23;20823:33;;20769:93;;;:::o;20868:107::-;20912:8;20962:5;20956:4;20952:16;20931:37;;20868:107;;;;:::o;20981:393::-;21050:6;21100:1;21088:10;21084:18;21123:97;21153:66;21142:9;21123:97;:::i;:::-;21241:39;21271:8;21260:9;21241:39;:::i;:::-;21229:51;;21313:4;21309:9;21302:5;21298:21;21289:30;;21362:4;21352:8;21348:19;21341:5;21338:30;21328:40;;21057:317;;20981:393;;;;;:::o;21380:60::-;21408:3;21429:5;21422:12;;21380:60;;;:::o;21446:142::-;21496:9;21529:53;21547:34;21556:24;21574:5;21556:24;:::i;:::-;21547:34;:::i;:::-;21529:53;:::i;:::-;21516:66;;21446:142;;;:::o;21594:75::-;21637:3;21658:5;21651:12;;21594:75;;;:::o;21675:269::-;21785:39;21816:7;21785:39;:::i;:::-;21846:91;21895:41;21919:16;21895:41;:::i;:::-;21887:6;21880:4;21874:11;21846:91;:::i;:::-;21840:4;21833:105;21751:193;21675:269;;;:::o;21950:73::-;21995:3;21950:73;:::o;22029:189::-;22106:32;;:::i;:::-;22147:65;22205:6;22197;22191:4;22147:65;:::i;:::-;22082:136;22029:189;;:::o;22224:186::-;22284:120;22301:3;22294:5;22291:14;22284:120;;;22355:39;22392:1;22385:5;22355:39;:::i;:::-;22328:1;22321:5;22317:13;22308:22;;22284:120;;;22224:186;;:::o;22416:543::-;22517:2;22512:3;22509:11;22506:446;;;22551:38;22583:5;22551:38;:::i;:::-;22635:29;22653:10;22635:29;:::i;:::-;22625:8;22621:44;22818:2;22806:10;22803:18;22800:49;;;22839:8;22824:23;;22800:49;22862:80;22918:22;22936:3;22918:22;:::i;:::-;22908:8;22904:37;22891:11;22862:80;:::i;:::-;22521:431;;22506:446;22416:543;;;:::o;22965:117::-;23019:8;23069:5;23063:4;23059:16;23038:37;;22965:117;;;;:::o;23088:169::-;23132:6;23165:51;23213:1;23209:6;23201:5;23198:1;23194:13;23165:51;:::i;:::-;23161:56;23246:4;23240;23236:15;23226:25;;23139:118;23088:169;;;;:::o;23262:295::-;23338:4;23484:29;23509:3;23503:4;23484:29;:::i;:::-;23476:37;;23546:3;23543:1;23539:11;23533:4;23530:21;23522:29;;23262:295;;;;:::o;23562:1451::-;23673:3;23667:4;23664:13;23661:26;;23680:5;;;;23661:26;23711:34;23741:3;23711:34;:::i;:::-;23810:18;23802:6;23799:30;23796:56;;;23832:18;;:::i;:::-;23796:56;23876:38;23908:4;23902:11;23876:38;:::i;:::-;23961:67;24021:6;24013;24007:4;23961:67;:::i;:::-;24055:1;24084:2;24076:6;24073:14;24101:1;24096:672;;;;24812:1;24829:6;24826:77;;;24878:9;24873:3;24869:19;24863:26;24854:35;;24826:77;24929:67;24989:6;24982:5;24929:67;:::i;:::-;24923:4;24916:81;24785:222;24066:941;;24096:672;24148:4;24144:9;24136:6;24132:22;24174:36;24206:3;24174:36;:::i;:::-;24167:43;;24237:37;24269:4;24237:37;:::i;:::-;24296:1;24310:207;24324:7;24321:1;24318:14;24310:207;;;24403:9;24398:3;24394:19;24388:26;24380:6;24373:42;24454:1;24446:6;24442:14;24432:24;;24501:1;24490:9;24486:17;24473:30;;24347:4;24344:1;24340:12;24335:17;;24310:207;;;24545:6;24536:7;24533:19;24530:179;;;24603:9;24598:3;24594:19;24588:26;24646:48;24688:4;24680:6;24676:17;24665:9;24646:48;:::i;:::-;24638:6;24631:64;24553:156;24530:179;24755:1;24751;24743:6;24739:14;24735:22;24729:4;24722:36;24103:665;;;24066:941;;23651:1362;;;23562:1451;;;:::o;25019:180::-;25067:77;25064:1;25057:88;25164:4;25161:1;25154:15;25188:4;25185:1;25178:15;25205:233;25244:3;25267:24;25285:5;25267:24;:::i;:::-;25258:33;;25313:66;25306:5;25303:77;25300:103;;25383:18;;:::i;:::-;25300:103;25430:1;25423:5;25419:13;25412:20;;25205:233;;;:::o;25630:117::-;25739:1;25736;25729:12;25753:117;25862:1;25859;25852:12;25876:117;25985:1;25982;25975:12;25999:725;26077:4;26083:6;26139:11;26126:25;26239:1;26233:4;26229:12;26218:8;26202:14;26198:29;26194:48;26174:18;26170:73;26160:168;;26247:79;;:::i;:::-;26160:168;26359:18;26349:8;26345:33;26337:41;;26411:4;26398:18;26388:28;;26439:18;26431:6;26428:30;26425:117;;;26461:79;;:::i;:::-;26425:117;26569:2;26563:4;26559:13;26551:21;;26626:4;26618:6;26614:17;26598:14;26594:38;26588:4;26584:49;26581:136;;;26636:79;;:::i;:::-;26581:136;26090:634;25999:725;;;;;:::o;26730:97::-;26789:6;26817:3;26807:13;;26730:97;;;;:::o;26833:1403::-;26957:44;26997:3;26992;26957:44;:::i;:::-;27066:18;27058:6;27055:30;27052:56;;;27088:18;;:::i;:::-;27052:56;27132:38;27164:4;27158:11;27132:38;:::i;:::-;27217:67;27277:6;27269;27263:4;27217:67;:::i;:::-;27311:1;27340:2;27332:6;27329:14;27357:1;27352:632;;;;28028:1;28045:6;28042:84;;;28101:9;28096:3;28092:19;28079:33;28070:42;;28042:84;28152:67;28212:6;28205:5;28152:67;:::i;:::-;28146:4;28139:81;28001:229;27322:908;;27352:632;27404:4;27400:9;27392:6;27388:22;27438:37;27470:4;27438:37;:::i;:::-;27497:1;27511:215;27525:7;27522:1;27519:14;27511:215;;;27611:9;27606:3;27602:19;27589:33;27581:6;27574:49;27662:1;27654:6;27650:14;27640:24;;27709:2;27698:9;27694:18;27681:31;;27548:4;27545:1;27541:12;27536:17;;27511:215;;;27754:6;27745:7;27742:19;27739:186;;;27819:9;27814:3;27810:19;27797:33;27862:48;27904:4;27896:6;27892:17;27881:9;27862:48;:::i;:::-;27854:6;27847:64;27762:163;27739:186;27971:1;27967;27959:6;27955:14;27951:22;27945:4;27938:36;27359:625;;;27322:908;;26932:1304;;;26833:1403;;;:::o;28242:218::-;28357:97;28446:7;28437;28431:4;28357:97;:::i;:::-;28242:218;;;:::o;28466:186::-;28511:11;28560:3;28547:17;28573:33;28600:5;28573:33;:::i;:::-;28640:5;28616:29;;28523:129;28466:186;;;:::o;28658:92::-;28690:8;28737:5;28734:1;28730:13;28709:34;;28658:92;;;:::o;28756:290::-;28814:6;28843:66;28930:22;28943:8;28930:22;:::i;:::-;28918:34;;28985:4;28981:9;28974:5;28970:21;28961:30;;29034:4;29024:8;29020:19;29013:5;29010:30;29000:40;;28821:225;28756:290;;;;:::o;29052:262::-;29162:39;29193:7;29162:39;:::i;:::-;29223:84;29265:41;29289:16;29265:41;:::i;:::-;29258:4;29252:11;29223:84;:::i;:::-;29217:4;29210:98;29128:186;29052:262;;:::o;29320:1901::-;29496:1;29490:4;29486:12;29542:1;29535:5;29531:13;29607:63;29657:12;29650:5;29607:63;:::i;:::-;29684:112;29782:13;29767;29755:10;29684:112;:::i;:::-;29453:354;;;;29860:1;29854:4;29850:12;29906:2;29899:5;29895:14;29972:63;30022:12;30015:5;29972:63;:::i;:::-;30049:112;30147:13;30132;30120:10;30049:112;:::i;:::-;29817:355;;;;30225:1;30219:4;30215:12;30271:2;30264:5;30260:14;30337:63;30387:12;30380:5;30337:63;:::i;:::-;30414:112;30512:13;30497;30485:10;30414:112;:::i;:::-;30182:355;;;;30590:1;30584:4;30580:12;30636:2;30629:5;30625:14;30687:12;30730:42;30758:13;30730:42;:::i;:::-;30713:59;;30786:78;30850:13;30838:10;30786:78;:::i;:::-;30547:328;;;30928:1;30922:4;30918:12;30974:3;30967:5;30963:15;31026:12;31069:42;31097:13;31069:42;:::i;:::-;31052:59;;31125:78;31189:13;31177:10;31125:78;:::i;:::-;30885:329;;;29320:1901;;:::o;31227:256::-;31363:114;31469:7;31463:4;31363:114;:::i;:::-;31227:256;;:::o;31489:191::-;31529:3;31548:20;31566:1;31548:20;:::i;:::-;31543:25;;31582:20;31600:1;31582:20;:::i;:::-;31577:25;;31625:1;31622;31618:9;31611:16;;31646:3;31643:1;31640:10;31637:36;;;31653:18;;:::i;:::-;31637:36;31489:191;;;;:::o;31686:117::-;31795:1;31792;31785:12;31809:117;31918:1;31915;31908:12;31932:117;32041:1;32038;32031:12;32055:712;32120:5;32127:6;32183:3;32170:17;32275:1;32269:4;32265:12;32254:8;32238:14;32234:29;32230:48;32210:18;32206:73;32196:168;;32283:79;;:::i;:::-;32196:168;32406:8;32386:18;32382:33;32373:42;;32448:5;32435:19;32425:29;;32483:4;32476:5;32472:16;32463:25;;32511:18;32503:6;32500:30;32497:117;;;32533:79;;:::i;:::-;32497:117;32669:4;32661:6;32657:17;32641:14;32637:38;32630:5;32626:50;32623:137;;;32679:79;;:::i;:::-;32623:137;32134:633;32055:712;;;;;:::o;32773:146::-;32870:6;32865:3;32860;32847:30;32911:1;32902:6;32897:3;32893:16;32886:27;32773:146;;;:::o;32949:297::-;33037:3;33058:61;33112:6;33107:3;33058:61;:::i;:::-;33051:68;;33129:56;33178:6;33173:3;33166:5;33129:56;:::i;:::-;33210:29;33232:6;33210:29;:::i;:::-;33205:3;33201:39;33194:46;;32949:297;;;;;:::o;33252:122::-;33304:5;33329:39;33364:2;33359:3;33355:12;33350:3;33329:39;:::i;:::-;33320:48;;33252:122;;;;:::o;33444:1574::-;33565:3;33601:4;33596:3;33592:14;33690:62;33746:4;33739:5;33735:16;33728:5;33690:62;:::i;:::-;33799:3;33793:4;33789:14;33782:4;33777:3;33773:14;33766:38;33825:89;33909:4;33895:12;33881;33825:89;:::i;:::-;33817:97;;33616:309;;34011:62;34067:4;34060:5;34056:16;34049:5;34011:62;:::i;:::-;34120:3;34114:4;34110:14;34103:4;34098:3;34094:14;34087:38;34146:89;34230:4;34216:12;34202;34146:89;:::i;:::-;34138:97;;33935:311;;34325:62;34381:4;34374:5;34370:16;34363:5;34325:62;:::i;:::-;34434:3;34428:4;34424:14;34417:4;34412:3;34408:14;34401:38;34460:89;34544:4;34530:12;34516;34460:89;:::i;:::-;34452:97;;34256:304;;34638:50;34682:4;34675:5;34671:16;34664:5;34638:50;:::i;:::-;34701:63;34758:4;34753:3;34749:14;34735:12;34701:63;:::i;:::-;34570:204;34855:50;34899:4;34892:5;34888:16;34881:5;34855:50;:::i;:::-;34918:63;34975:4;34970:3;34966:14;34952:12;34918:63;:::i;:::-;34784:207;35008:4;35001:11;;33570:1448;33444:1574;;;;:::o;35024:487::-;35197:4;35235:2;35224:9;35220:18;35212:26;;35284:9;35278:4;35274:20;35270:1;35259:9;35255:17;35248:47;35312:110;35417:4;35408:6;35312:110;:::i;:::-;35304:118;;35432:72;35500:2;35489:9;35485:18;35476:6;35432:72;:::i;:::-;35024:487;;;;;:::o;35517:180::-;35565:77;35562:1;35555:88;35662:4;35659:1;35652:15;35686:4;35683:1;35676:15;35703:169;35787:11;35821:6;35816:3;35809:19;35861:4;35856:3;35852:14;35837:29;;35703:169;;;;:::o;35878:228::-;36018:34;36014:1;36006:6;36002:14;35995:58;36087:11;36082:2;36074:6;36070:15;36063:36;35878:228;:::o;36112:366::-;36254:3;36275:67;36339:2;36334:3;36275:67;:::i;:::-;36268:74;;36351:93;36440:3;36351:93;:::i;:::-;36469:2;36464:3;36460:12;36453:19;;36112:366;;;:::o;36484:419::-;36650:4;36688:2;36677:9;36673:18;36665:26;;36737:9;36731:4;36727:20;36723:1;36712:9;36708:17;36701:47;36765:131;36891:4;36765:131;:::i;:::-;36757:139;;36484:419;;;:::o;36909:229::-;37049:34;37045:1;37037:6;37033:14;37026:58;37118:12;37113:2;37105:6;37101:15;37094:37;36909:229;:::o;37144:366::-;37286:3;37307:67;37371:2;37366:3;37307:67;:::i;:::-;37300:74;;37383:93;37472:3;37383:93;:::i;:::-;37501:2;37496:3;37492:12;37485:19;;37144:366;;;:::o;37516:419::-;37682:4;37720:2;37709:9;37705:18;37697:26;;37769:9;37763:4;37759:20;37755:1;37744:9;37740:17;37733:47;37797:131;37923:4;37797:131;:::i;:::-;37789:139;;37516:419;;;:::o

Swarm Source

ipfs://5b75ea85aaff8323f9bbb7369d77dbae46c5c509bb7adef8df31d040b3e1e923
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.