My Name Tag:
Not Available, login to update
[ Download CSV Export ]
OVERVIEW
Governance contract for Keep3r BSC Network.
Latest 25 internal transaction
[ Download CSV Export ]
Contract Name:
Governance
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at BscScan.com on 2020-12-27 */ // SPDX-License-Identifier: MIT /** * KEEP3RB.NETWORK * Optimized Dapp * Clean & tested code */ /** * This governance contract will govern over the ecosystem. * It has no mint() function. So it can't mint anything. * It process all proposals such a democratic way. */ pragma solidity ^0.6.12; pragma experimental ABIEncoderV2; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function add(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, errorMessage); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction underflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function mul(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, errorMessage); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } interface IKeep3rb { function addVotes(address voter, uint amount) external; function removeVotes(address voter, uint amount) external; function addKPRCredit(address job, uint amount) external; function approveLiquidity(address liquidity) external; function revokeLiquidity(address liquidity) external; function addJob(address job) external; function removeJob(address job) external; function setKeep3rbHelper(address _kprh) external; function setGovernance(address _governance) external; function acceptGovernance() external; function dispute(address keeper) external; function slash(address bonded, address keeper, uint amount) external; function revoke(address keeper) external; function resolve(address keeper) external; function getPriorVotes(address account, uint blockNumber) external view returns (uint); function totalBonded() external view returns (uint); } contract Governance { using SafeMath for uint; /// @notice The name of this contract string public constant name = "KP3RB Governance"; /// @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 uint public _quorumVotes = 50000; // % of total supply required /// @notice The number of votes required in order for a voter to become a proposer uint public _proposalThreshold = 50000; uint public constant BASE = 10000; function setQuorum(uint quorum_) external { require(msg.sender == address(this), "Governance::setQuorum: timelock only"); require(quorum_ <= BASE, "Governance::setQuorum: quorum_ > BASE"); _quorumVotes = quorum_; } function quorumVotes() public view returns (uint) { return KPR.totalBonded().mul(_quorumVotes).div(BASE); } function proposalThreshold() public view returns (uint) { return KPR.totalBonded().mul(_proposalThreshold).div(BASE); } function setThreshold(uint threshold_) external { require(msg.sender == address(this), "Governance::setQuorum: timelock only"); require(threshold_ <= BASE, "Governance::setThreshold: threshold_ > BASE"); _proposalThreshold = threshold_; } /// @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 governance token IKeep3rb immutable public KPR; /// @notice The total number of proposals uint public proposalCount; struct Proposal { uint id; address proposer; uint eta; address[] targets; uint[] values; string[] signatures; bytes[] calldatas; uint startBlock; uint endBlock; uint forVotes; uint againstVotes; bool canceled; bool executed; mapping (address => Receipt) receipts; } /// @notice Ballot receipt record for a voter struct Receipt { bool hasVoted; bool support; uint 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)"); bytes32 public immutable DOMAINSEPARATOR; /// @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); function proposeJob(address job) public { require(msg.sender == address(KPR), "Governance::proposeJob: only VOTER can propose new jobs"); address[] memory targets; targets[0] = address(KPR); string[] memory signatures; signatures[0] = "addJob(address)"; bytes[] memory calldatas; calldatas[0] = abi.encode(job); uint[] memory values; values[0] = 0; _propose(targets, values, signatures, calldatas, string(abi.encodePacked("Governance::proposeJob(): ", job))); } function propose(address[] memory targets, uint[] memory values, string[] memory signatures, bytes[] memory calldatas, string memory description) public returns (uint) { require(KPR.getPriorVotes(msg.sender, block.number.sub(1)) >= proposalThreshold(), "Governance::propose: proposer votes below proposal threshold"); require(targets.length == values.length && targets.length == signatures.length && targets.length == calldatas.length, "Governance::propose: proposal function information arity mismatch"); require(targets.length != 0, "Governance::propose: must provide actions"); require(targets.length <= proposalMaxOperations(), "Governance::propose: too many actions"); uint latestProposalId = latestProposalIds[msg.sender]; if (latestProposalId != 0) { ProposalState proposersLatestProposalState = state(latestProposalId); require(proposersLatestProposalState != ProposalState.Active, "Governance::propose: one live proposal per proposer, found an already active proposal"); require(proposersLatestProposalState != ProposalState.Pending, "Governance::propose: one live proposal per proposer, found an already pending proposal"); } return _propose(targets, values, signatures, calldatas, description); } function _propose(address[] memory targets, uint[] memory values, string[] memory signatures, bytes[] memory calldatas, string memory description) internal returns (uint) { uint startBlock = block.number.add(votingDelay()); uint endBlock = startBlock.add(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, "Governance::queue: proposal can only be queued if it is succeeded"); Proposal storage proposal = proposals[proposalId]; uint eta = block.timestamp.add(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(!queuedTransactions[keccak256(abi.encode(target, value, signature, data, eta))], "Governance::_queueOrRevert: proposal action already queued at eta"); _queueTransaction(target, value, signature, data, eta); } function execute(uint proposalId) public payable { require(guardian == address(0x0) || msg.sender == guardian, "Governance:execute: !guardian"); require(state(proposalId) == ProposalState.Queued, "Governance::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++) { _executeTransaction(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, "Governance::cancel: cannot cancel executed proposal"); Proposal storage proposal = proposals[proposalId]; require(proposal.proposer != address(KPR) && KPR.getPriorVotes(proposal.proposer, block.number.sub(1)) < proposalThreshold(), "Governance::cancel: proposer above threshold"); proposal.canceled = true; for (uint i = 0; i < proposal.targets.length; i++) { _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, "Governance::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.add(proposal.againstVotes) < quorumVotes()) { return ProposalState.Defeated; } else if (proposal.forVotes <= proposal.againstVotes) { return ProposalState.Defeated; } else if (proposal.eta == 0) { return ProposalState.Succeeded; } else if (proposal.executed) { return ProposalState.Executed; } else if (block.timestamp >= proposal.eta.add(GRACE_PERIOD)) { return ProposalState.Expired; } else { return ProposalState.Queued; } } function castVote(uint proposalId, bool support) public { _castVote(msg.sender, proposalId, support); } function castVoteBySig(uint proposalId, bool support, uint8 v, bytes32 r, bytes32 s) public { 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), "Governance::castVoteBySig: invalid signature"); _castVote(signatory, proposalId, support); } function _castVote(address voter, uint proposalId, bool support) internal { require(state(proposalId) == ProposalState.Active, "Governance::_castVote: voting is closed"); Proposal storage proposal = proposals[proposalId]; Receipt storage receipt = proposal.receipts[voter]; require(receipt.hasVoted == false, "Governance::_castVote: voter already voted"); uint votes = KPR.getPriorVotes(voter, proposal.startBlock); if (support) { proposal.forVotes = proposal.forVotes.add(votes); } else { proposal.againstVotes = proposal.againstVotes.add(votes); } receipt.hasVoted = true; receipt.support = support; receipt.votes = votes; emit VoteCast(voter, proposalId, support, votes); } function getChainId() internal pure returns (uint) { uint chainId; assembly { chainId := chainid() } return chainId; } event NewDelay(uint indexed newDelay); event CancelTransaction(bytes32 indexed txHash, address indexed target, uint value, string signature, bytes data, uint eta); event ExecuteTransaction(bytes32 indexed txHash, address indexed target, uint value, string signature, bytes data, uint eta); event QueueTransaction(bytes32 indexed txHash, address indexed target, uint value, string signature, bytes data, uint eta); uint public constant GRACE_PERIOD = 13 days; uint public constant MINIMUM_DELAY = 1 days; uint public constant MAXIMUM_DELAY = 30 days; uint public delay = MINIMUM_DELAY; address public guardian; address public pendingGuardian; function setGuardian(address _guardian) external { require(msg.sender == guardian, "Keep3rbGovernance::setGuardian: !guardian"); pendingGuardian = _guardian; } function acceptGuardianship() external { require(msg.sender == pendingGuardian, "Keep3rbGovernance::setGuardian: !pendingGuardian"); guardian = pendingGuardian; } function addVotes(address voter, uint amount) external { require(msg.sender == guardian, "Keep3rbGovernance::addVotes: !guardian"); KPR.addVotes(voter, amount); } function removeVotes(address voter, uint amount) external { require(msg.sender == guardian, "Keep3rbGovernance::removeVotes: !guardian"); KPR.removeVotes(voter, amount); } function addKPRCredit(address job, uint amount) external { require(msg.sender == guardian, "Keep3rbGovernance::addKPRCredit: !guardian"); KPR.addKPRCredit(job, amount); } function approveLiquidity(address liquidity) external { require(msg.sender == guardian, "Keep3rbGovernance::approveLiquidity: !guardian"); KPR.approveLiquidity(liquidity); } function revokeLiquidity(address liquidity) external { require(msg.sender == guardian, "Keep3rbGovernance::revokeLiquidity: !guardian"); KPR.revokeLiquidity(liquidity); } function addJob(address job) external { require(msg.sender == guardian, "Keep3rbGovernance::addJob: !guardian"); KPR.addJob(job); } function removeJob(address job) external { require(msg.sender == guardian, "Keep3rbGovernance::removeJob: !guardian"); KPR.removeJob(job); } function setKeep3rbHelper(address kprh) external { require(msg.sender == guardian, "Keep3rbGovernance::setKeep3rbHelper: !guardian"); KPR.setKeep3rbHelper(kprh); } function setGovernance(address _governance) external { require(msg.sender == guardian, "Keep3rbGovernance::setGovernance: !guardian"); KPR.setGovernance(_governance); } function acceptGovernance() external { require(msg.sender == guardian, "Keep3rbGovernance::acceptGovernance: !guardian"); KPR.acceptGovernance(); } function dispute(address keeper) external { require(msg.sender == guardian, "Keep3rbGovernance::dispute: !guardian"); KPR.dispute(keeper); } function slash(address bonded, address keeper, uint amount) external { require(msg.sender == guardian, "Keep3rbGovernance::slash: !guardian"); KPR.slash(bonded, keeper, amount); } function revoke(address keeper) external { require(msg.sender == guardian, "Keep3rbGovernance::revoke: !guardian"); KPR.revoke(keeper); } function resolve(address keeper) external { require(msg.sender == guardian, "Keep3rbGovernance::resolve: !guardian"); KPR.resolve(keeper); } mapping (bytes32 => bool) public queuedTransactions; constructor(address token_) public { guardian = msg.sender; KPR = IKeep3rb(token_); DOMAINSEPARATOR = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this))); } receive() external payable { } function setDelay(uint delay_) public { require(msg.sender == address(this), "Timelock::setDelay: Call must come from Timelock."); require(delay_ >= MINIMUM_DELAY, "Timelock::setDelay: Delay must exceed minimum delay."); require(delay_ <= MAXIMUM_DELAY, "Timelock::setDelay: Delay must not exceed maximum delay."); delay = delay_; emit NewDelay(delay); } function _queueTransaction(address target, uint value, string memory signature, bytes memory data, uint eta) internal returns (bytes32) { require(eta >= getBlockTimestamp().add(delay), "Timelock::queueTransaction: Estimated execution block must satisfy delay."); bytes32 txHash = keccak256(abi.encode(target, value, signature, data, eta)); queuedTransactions[txHash] = true; emit QueueTransaction(txHash, target, value, signature, data, eta); return txHash; } function _cancelTransaction(address target, uint value, string memory signature, bytes memory data, uint eta) internal { bytes32 txHash = keccak256(abi.encode(target, value, signature, data, eta)); queuedTransactions[txHash] = false; emit CancelTransaction(txHash, target, value, signature, data, eta); } function _executeTransaction(address target, uint value, string memory signature, bytes memory data, uint eta) internal returns (bytes memory) { bytes32 txHash = keccak256(abi.encode(target, value, signature, data, eta)); require(queuedTransactions[txHash], "Timelock::executeTransaction: Transaction hasn't been queued."); require(getBlockTimestamp() >= eta, "Timelock::executeTransaction: Transaction hasn't surpassed time lock."); require(getBlockTimestamp() <= eta.add(GRACE_PERIOD), "Timelock::executeTransaction: Transaction is stale."); queuedTransactions[txHash] = false; bytes memory callData; if (bytes(signature).length == 0) { callData = data; } else { callData = abi.encodePacked(bytes4(keccak256(bytes(signature))), data); } // solium-disable-next-line security/no-call-value (bool success, bytes memory returnData) = target.call{value:value}(callData); require(success, "Timelock::executeTransaction: Transaction execution reverted."); emit ExecuteTransaction(txHash, target, value, signature, data, eta); return returnData; } function getBlockTimestamp() internal view returns (uint) { // solium-disable-next-line security/no-block-members return block.timestamp; } }
[{"inputs":[{"internalType":"address","name":"token_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"string","name":"signature","type":"string"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"CancelTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"string","name":"signature","type":"string"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"ExecuteTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newDelay","type":"uint256"}],"name":"NewDelay","type":"event"},{"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":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"string","name":"signature","type":"string"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"QueueTransaction","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"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAINSEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GRACE_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"KPR","outputs":[{"internalType":"contract IKeep3rb","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAXIMUM_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINIMUM_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_quorumVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"acceptGuardianship","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"job","type":"address"}],"name":"addJob","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"job","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addKPRCredit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addVotes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"liquidity","type":"address"}],"name":"approveLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"cancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"bool","name":"support","type":"bool"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"delay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"keeper","type":"address"}],"name":"dispute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"payable","type":"function"},{"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[]"}],"stateMutability":"view","type":"function"},{"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":"uint256","name":"votes","type":"uint256"}],"internalType":"struct Governance.Receipt","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"latestProposalIds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingGuardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalMaxOperations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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"}],"stateMutability":"view","type":"function"},{"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"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"job","type":"address"}],"name":"proposeJob","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"queue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"queuedTransactions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"job","type":"address"}],"name":"removeJob","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"voter","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"removeVotes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"keeper","type":"address"}],"name":"resolve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"keeper","type":"address"}],"name":"revoke","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"liquidity","type":"address"}],"name":"revokeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"delay_","type":"uint256"}],"name":"setDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"setGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_guardian","type":"address"}],"name":"setGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"kprh","type":"address"}],"name":"setKeep3rbHelper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"quorum_","type":"uint256"}],"name":"setQuorum","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"threshold_","type":"uint256"}],"name":"setThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"bonded","type":"address"},{"internalType":"address","name":"keeper","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"slash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum Governance.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c060405261c35060005561c350600155620151806005553480156200002457600080fd5b5060405162004b8038038062004b8083398101604081905262000047916200011b565b600680546001600160a01b031916331790556001600160601b0319606082901b1660805260408051808201909152601081526f4b5033524220476f7665726e616e636560801b6020909101527f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8667f4c5878df9254a455366bfd78227667983b57feefdc56806393c4d957b5d79738620000df62000117565b30604051602001620000f594939291906200014b565b60408051601f19818403018152919052805160209091012060a052506200016f565b4690565b6000602082840312156200012d578081fd5b81516001600160a01b038116811462000144578182fd5b9392505050565b938452602084019290925260408301526001600160a01b0316606082015260800190565b60805160601c60a05161497762000209600039806109aa5280611391525080610a285280610ae25280610b655280610c07528061102a528061107752806114aa528061152052806115a25280611633528061178952806117d5528061186d528061193652806119ac5280611a5a5280611aab5280611c885280611cc9528061204f52806121e752806122b352806125f952506149776000f3fe6080604052600436106103035760003560e01c80638a0dac4a11610190578063da35c664116100dc578063e177246e11610095578063ec342ad01161006f578063ec342ad014610899578063f2b06537146108ae578063f75f9f7b146108db578063fe0d94c1146108fb5761030a565b8063e177246e1461082c578063e23a9a521461084c578063e74f8239146108795761030a565b8063da35c66414610782578063da95691a14610797578063dc380cbb146107b7578063ddf0b009146107d7578063de63298d146107f7578063deaaa7cc146108175761030a565b8063b600702a11610149578063c1ba4e5911610123578063c1ba4e5914610702578063c5198abc14610722578063ce6a088014610742578063d8ae6faf146107625761030a565b8063b600702a146106b8578063be4a66b6146106d8578063c1a287e2146106ed5761030a565b80638a0dac4a14610619578063960bfe0414610639578063995e617a14610659578063ab033ea91461066e578063b1b43ae51461068e578063b58131b0146106a35761030a565b80633e4f49e61161024f5780636a42b8f811610208578063762c31ba116101e2578063762c31ba146105ba5780637bdbe4d0146105cf5780637d645fab146105e457806380711989146105f95761030a565b80636a42b8f8146105705780636e3827b71461058557806374a8f1031461059a5761030a565b80633e4f49e6146104ae57806340e58ee5146104db578063452a9320146104fb5780634634c61f1461051057806355ea6c471461053057806364bb43ee146105505761030a565b806319666a81116102bc57806324bc1a641161029657806324bc1a64146104325780633006018514610447578063328dd982146104695780633932abb1146104995761030a565b806319666a81146103e857806320606b7014610408578063238efcbc1461041d5761030a565b8063013cf08b1461030f57806302a251a31461034d57806306fdde031461036f57806315373e3d146103915780631778e29c146103b357806317977c61146103c85761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b5061032f61032a3660046134e5565b61090e565b604051610344999897969594939291906147f4565b60405180910390f35b34801561035957600080fd5b50610362610967565b604051610344919061387f565b34801561037b57600080fd5b5061038461096d565b60405161034491906138d2565b34801561039d57600080fd5b506103b16103ac366004613541565b610999565b005b3480156103bf57600080fd5b506103626109a8565b3480156103d457600080fd5b506103626103e3366004613394565b6109cc565b3480156103f457600080fd5b506103b1610403366004613394565b6109de565b34801561041457600080fd5b50610362610a92565b34801561042957600080fd5b506103b1610ab6565b34801561043e57600080fd5b50610362610b55565b34801561045357600080fd5b5061045c610c05565b6040516103449190613762565b34801561047557600080fd5b506104896104843660046134e5565b610c29565b6040516103449493929190613827565b3480156104a557600080fd5b50610362610eb8565b3480156104ba57600080fd5b506104ce6104c93660046134e5565b610ebd565b60405161034491906138be565b3480156104e757600080fd5b506103b16104f63660046134e5565b610fdc565b34801561050757600080fd5b5061045c61132f565b34801561051c57600080fd5b506103b161052b366004613570565b61133e565b34801561053c57600080fd5b506103b161054b366004613394565b611469565b34801561055c57600080fd5b506103b161056b366004613394565b6114df565b34801561057c57600080fd5b50610362611555565b34801561059157600080fd5b5061036261155b565b3480156105a657600080fd5b506103b16105b5366004613394565b611561565b3480156105c657600080fd5b5061045c6115d7565b3480156105db57600080fd5b506103626115e6565b3480156105f057600080fd5b506103626115eb565b34801561060557600080fd5b506103b1610614366004613394565b6115f2565b34801561062557600080fd5b506103b1610634366004613394565b611668565b34801561064557600080fd5b506103b16106543660046134e5565b6116b4565b34801561066557600080fd5b506103b16116fa565b34801561067a57600080fd5b506103b1610689366004613394565b611748565b34801561069a57600080fd5b506103626117be565b3480156106af57600080fd5b506103626117c5565b3480156106c457600080fd5b506103b16106d3366004613394565b61182c565b3480156106e457600080fd5b506103626118a2565b3480156106f957600080fd5b506103626118a8565b34801561070e57600080fd5b506103b161071d3660046134e5565b6118af565b34801561072e57600080fd5b506103b161073d366004613394565b6118f5565b34801561074e57600080fd5b506103b161075d3660046133ef565b61196b565b34801561076e57600080fd5b506103b161077d3660046133ef565b611a19565b34801561078e57600080fd5b50610362611a91565b3480156107a357600080fd5b506103626107b2366004613419565b611a97565b3480156107c357600080fd5b506103b16107d2366004613394565b611c7d565b3480156107e357600080fd5b506103b16107f23660046134e5565b611dda565b34801561080357600080fd5b506103b16108123660046133ef565b61200e565b34801561082357600080fd5b50610362612086565b34801561083857600080fd5b506103b16108473660046134e5565b6120aa565b34801561085857600080fd5b5061086c610867366004613515565b612142565b6040516103449190614737565b34801561088557600080fd5b506103b16108943660046133af565b6121a6565b3480156108a557600080fd5b50610362612257565b3480156108ba57600080fd5b506108ce6108c93660046134e5565b61225d565b6040516103449190613874565b3480156108e757600080fd5b506103b16108f6366004613394565b612272565b6103b16109093660046134e5565b6122e8565b6003602052600090815260409020805460018201546002830154600784015460088501546009860154600a870154600b9097015495966001600160a01b0390951695939492939192909160ff8082169161010090041689565b619d8090565b6040518060400160405280601081526020016f4b5033524220476f7665726e616e636560801b81525081565b6109a433838361255e565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60046020526000908152604090205481565b6006546001600160a01b03163314610a115760405162461bcd60e51b8152600401610a08906140ac565b60405180910390fd5b6040516319666a8160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906319666a8190610a5d908490600401613762565b600060405180830381600087803b158015610a7757600080fd5b505af1158015610a8b573d6000803e3d6000fd5b5050505050565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b6006546001600160a01b03163314610ae05760405162461bcd60e51b8152600401610a0890614206565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663238efcbc6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b3b57600080fd5b505af1158015610b4f573d6000803e3d6000fd5b50505050565b6000610c00612710610bfa6000547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166344d96e956040518163ffffffff1660e01b815260040160206040518083038186803b158015610bbc57600080fd5b505afa158015610bd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf491906134fd565b9061271b565b9061275c565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60608060608060006003600087815260200190815260200160002090508060030181600401826005018360060183805480602002602001604051908101604052809291908181526020018280548015610cab57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c8d575b5050505050935082805480602002602001604051908101604052809291908181526020018280548015610cfd57602002820191906000526020600020905b815481526020019060010190808311610ce9575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b82821015610dd05760008481526020908190208301805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015610dbc5780601f10610d9157610100808354040283529160200191610dbc565b820191906000526020600020905b815481529060010190602001808311610d9f57829003601f168201915b505050505081526020019060010190610d25565b50505050915080805480602002602001604051908101604052809291908181526020016000905b82821015610ea25760008481526020908190208301805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015610e8e5780601f10610e6357610100808354040283529160200191610e8e565b820191906000526020600020905b815481529060010190602001808311610e7157829003601f168201915b505050505081526020019060010190610df7565b5050505090509450945094509450509193509193565b600190565b60008160025410158015610ed15750600082115b610eed5760405162461bcd60e51b8152600401610a089061449a565b6000828152600360205260409020600b81015460ff1615610f12576002915050610fd7565b80600701544311610f27576000915050610fd7565b80600801544311610f3c576001915050610fd7565b610f44610b55565b600a8201546009830154610f579161279e565b1015610f67576003915050610fd7565b80600a0154816009015411610f80576003915050610fd7565b6002810154610f93576004915050610fd7565b600b810154610100900460ff1615610faf576007915050610fd7565b6002810154610fc1906211238061279e565b4210610fd1576006915050610fd7565b60059150505b919050565b6000610fe782610ebd565b90506007816007811115610ff757fe5b14156110155760405162461bcd60e51b8152600401610a0890613d7d565b600082815260036020526040902060018101547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161480159061111d57506110676117c5565b6001808301546001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263782d6fe192909116906110ae9043906127c3565b6040518363ffffffff1660e01b81526004016110cb929190613776565b60206040518083038186803b1580156110e357600080fd5b505afa1580156110f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111b91906134fd565b105b6111395760405162461bcd60e51b8152600401610a089061433c565b600b8101805460ff1916600117905560005b60038201548110156112f2576112ea82600301828154811061116957fe5b6000918252602090912001546004840180546001600160a01b03909216918490811061119157fe5b90600052602060002001548460050184815481106111ab57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156112395780601f1061120e57610100808354040283529160200191611239565b820191906000526020600020905b81548152906001019060200180831161121c57829003601f168201915b505050505085600601858154811061124d57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156112db5780601f106112b0576101008083540402835291602001916112db565b820191906000526020600020905b8154815290600101906020018083116112be57829003601f168201915b50505050508660020154612805565b60010161114b565b507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c83604051611322919061387f565b60405180910390a1505050565b6006546001600160a01b031681565b60007f8e25870c07e0b0b3884c78da52790939a455c275406c44ae8b434b692fb916ee868660405160200161137593929190613888565b60405160208183030381529060405280519060200120905060007f0000000000000000000000000000000000000000000000000000000000000000826040516020016113c2929190613704565b6040516020818303038152906040528051906020012090506000600182878787604051600081526020016040526040516113ff94939291906138a0565b6020604051602081039080840390855afa158015611421573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166114545760405162461bcd60e51b8152600401610a0890613e80565b61145f81898961255e565b5050505050505050565b6006546001600160a01b031633146114935760405162461bcd60e51b8152600401610a08906138e5565b6040516355ea6c4760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906355ea6c4790610a5d908490600401613762565b6006546001600160a01b031633146115095760405162461bcd60e51b8152600401610a08906144e0565b60405163325da1f760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906364bb43ee90610a5d908490600401613762565b60055481565b60015481565b6006546001600160a01b0316331461158b5760405162461bcd60e51b8152600401610a0890613c46565b6040516374a8f10360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906374a8f10390610a5d908490600401613762565b6007546001600160a01b031681565b600a90565b62278d0081565b6006546001600160a01b0316331461161c5760405162461bcd60e51b8152600401610a08906139a5565b604051638071198960e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638071198990610a5d908490600401613762565b6006546001600160a01b031633146116925760405162461bcd60e51b8152600401610a0890613f33565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b3330146116d35760405162461bcd60e51b8152600401610a08906146f3565b6127108111156116f55760405162461bcd60e51b8152600401610a0890613a53565b600155565b6007546001600160a01b031633146117245760405162461bcd60e51b8152600401610a08906146a3565b600754600680546001600160a01b0319166001600160a01b03909216919091179055565b6006546001600160a01b031633146117725760405162461bcd60e51b8152600401610a0890614404565b60405163ab033ea960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab033ea990610a5d908490600401613762565b6201518081565b6000610c00612710610bfa6001547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166344d96e956040518163ffffffff1660e01b815260040160206040518083038186803b158015610bbc57600080fd5b6006546001600160a01b031633146118565760405162461bcd60e51b8152600401610a0890614604565b604051635b00381560e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b600702a90610a5d908490600401613762565b60005481565b6211238081565b3330146118ce5760405162461bcd60e51b8152600401610a08906146f3565b6127108111156118f05760405162461bcd60e51b8152600401610a0890614145565b600055565b6006546001600160a01b0316331461191f5760405162461bcd60e51b8152600401610a0890613f7c565b60405163314662af60e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5198abc90610a5d908490600401613762565b6006546001600160a01b031633146119955760405162461bcd60e51b8152600401610a0890613dd0565b60405163019cd41160e71b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ce6a0880906119e39085908590600401613776565b600060405180830381600087803b1580156119fd57600080fd5b505af1158015611a11573d6000803e3d6000fd5b505050505050565b6006546001600160a01b03163314611a435760405162461bcd60e51b8152600401610a08906142f2565b60405163d8ae6faf60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d8ae6faf906119e39085908590600401613776565b60025481565b6000611aa16117c5565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663782d6fe133611adc4360016127c3565b6040518363ffffffff1660e01b8152600401611af9929190613776565b60206040518083038186803b158015611b1157600080fd5b505afa158015611b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4991906134fd565b1015611b675760405162461bcd60e51b8152600401610a0890613b69565b84518651148015611b79575083518651145b8015611b86575082518651145b611ba25760405162461bcd60e51b8152600401610a08906139ec565b8551611bc05760405162461bcd60e51b8152600401610a0890613bfd565b611bc86115e6565b86511115611be85760405162461bcd60e51b8152600401610a0890614388565b336000908152600460205260409020548015611c65576000611c0982610ebd565b90506001816007811115611c1957fe5b1415611c375760405162461bcd60e51b8152600401610a089061392a565b6000816007811115611c4557fe5b1415611c635760405162461bcd60e51b8152600401610a089061418a565b505b611c72878787878761289f565b979650505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611cc55760405162461bcd60e51b8152600401610a0890614254565b60607f000000000000000000000000000000000000000000000000000000000000000081600081518110611cf557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060606040518060400160405280600f81526020016e6164644a6f6228616464726573732960881b81525081600081518110611d4c57fe5b6020026020010181905250606083604051602001611d6a9190613762565b60405160208183030381529060405281600081518110611d8657fe5b60200260200101819052506060600081600081518110611da257fe5b602002602001018181525050611a118482858589604051602001611dc6919061371f565b60405160208183030381529060405261289f565b6004611de582610ebd565b6007811115611df057fe5b14611e0d5760405162461bcd60e51b8152600401610a0890613e19565b6000818152600360205260408120600554909190611e2c90429061279e565b905060005b6003830154811015611fd457611fcc836003018281548110611e4f57fe5b6000918252602090912001546004850180546001600160a01b039092169184908110611e7757fe5b9060005260206000200154856005018481548110611e9157fe5b600091825260209182902001805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611f1f5780601f10611ef457610100808354040283529160200191611f1f565b820191906000526020600020905b815481529060010190602001808311611f0257829003601f168201915b5050505050866006018581548110611f3357fe5b600091825260209182902001805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611fc15780601f10611f9657610100808354040283529160200191611fc1565b820191906000526020600020905b815481529060010190602001808311611fa457829003601f168201915b505050505086612aea565b600101611e31565b50600282018190556040517f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289290611322908590849061487d565b6006546001600160a01b031633146120385760405162461bcd60e51b8152600401610a0890613ce3565b60405163de63298d60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063de63298d906119e39085908590600401613776565b7f8e25870c07e0b0b3884c78da52790939a455c275406c44ae8b434b692fb916ee81565b3330146120c95760405162461bcd60e51b8152600401610a0890614652565b620151808110156120ec5760405162461bcd60e51b8152600401610a0890613d29565b62278d0081111561210f5760405162461bcd60e51b8152600401610a0890614005565b600581905560405181907f948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c90600090a250565b61214a612e7b565b5060008281526003602090815260408083206001600160a01b0385168452600c018252918290208251606081018452815460ff808216151583526101009091041615159281019290925260010154918101919091525b92915050565b6006546001600160a01b031633146121d05760405162461bcd60e51b8152600401610a0890613ae5565b60405163e74f823960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e74f8239906122209086908690869060040161378f565b600060405180830381600087803b15801561223a57600080fd5b505af115801561224e573d6000803e3d6000fd5b50505050505050565b61271081565b60086020526000908152604090205460ff1681565b6006546001600160a01b0316331461229c5760405162461bcd60e51b8152600401610a0890613fc0565b60405163f75f9f7b60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f75f9f7b90610a5d908490600401613762565b6006546001600160a01b0316158061230a57506006546001600160a01b031633145b6123265760405162461bcd60e51b8152600401610a08906143cd565b600561233182610ebd565b600781111561233c57fe5b146123595760405162461bcd60e51b8152600401610a089061459c565b6000818152600360205260408120600b8101805461ff001916610100179055905b60038201548110156125225761251982600301828154811061239857fe5b6000918252602090912001546004840180546001600160a01b0390921691849081106123c057fe5b90600052602060002001548460050184815481106123da57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156124685780601f1061243d57610100808354040283529160200191612468565b820191906000526020600020905b81548152906001019060200180831161244b57829003601f168201915b505050505085600601858154811061247c57fe5b600091825260209182902001805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561250a5780601f106124df5761010080835404028352916020019161250a565b820191906000526020600020905b8154815290600101906020018083116124ed57829003601f168201915b50505050508660020154612b5a565b5060010161237a565b507f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f82604051612552919061387f565b60405180910390a15050565b600161256983610ebd565b600781111561257457fe5b146125915760405162461bcd60e51b8152600401610a0890613a9e565b60008281526003602090815260408083206001600160a01b0387168452600c8101909252909120805460ff16156125da5760405162461bcd60e51b8152600401610a0890614062565b600782015460405163782d6fe160e01b81526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163782d6fe19161262f918a9190600401613776565b60206040518083038186803b15801561264757600080fd5b505afa15801561265b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061267f91906134fd565b905083156126a0576009830154612696908261279e565b60098401556126b5565b600a8301546126af908261279e565b600a8401555b8154600160ff19909116811761ff0019166101008615150217835582018190556040517f877856338e13f63d0c36822ff0ef736b80934cd90574a3a5bc9262c39d217c469061270b9088908890889086906137b3565b60405180910390a1505050505050565b60008261272a575060006121a0565b8282028284828161273757fe5b04146127555760405162461bcd60e51b8152600401610a08906142b1565b9392505050565b600061275583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612d40565b6000828201838110156127555760405162461bcd60e51b8152600401610a0890613bc6565b600061275583836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f7700815250612d77565b600085858585856040516020016128209594939291906137db565b60408051601f19818403018152828252805160209182012060008181526008909252919020805460ff1916905591506001600160a01b0387169082907f2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf879061288f908990899089908990614840565b60405180910390a3505050505050565b6000806128b46128ad610eb8565b439061279e565b905060006128ca6128c3610967565b839061279e565b60028054600101905590506128dd612e9b565b604051806101a001604052806002548152602001336001600160a01b03168152602001600081526020018a815260200189815260200188815260200187815260200184815260200183815260200160008152602001600081526020016000151581526020016000151581525090508060036000836000015181526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040820151816002015560608201518160030190805190602001906129c0929190612f10565b50608082015180516129dc916004840191602090910190612f75565b5060a082015180516129f8916005840191602090910190612fbc565b5060c08201518051612a14916006840191602090910190613015565b5060e082015160078201556101008083015160088301556101208301516009830155610140830151600a830155610160830151600b90920180546101809094015160ff199094169215159290921761ff0019169215150291909117905580516020808301516001600160a01b03166000908152600490915260409081902091909155815190517f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e091612ad59133908d908d908d908d908b908b908f9061475c565b60405180910390a15198975050505050505050565b600860008686868686604051602001612b079594939291906137db565b60408051601f198184030181529181528151602092830120835290820192909252016000205460ff1615612b4d5760405162461bcd60e51b8152600401610a0890613ecc565b611a118585858585612da3565b606060008686868686604051602001612b779594939291906137db565b60408051601f1981840301815291815281516020928301206000818152600890935291205490915060ff16612bbe5760405162461bcd60e51b8152600401610a08906140fa565b82612bc7612e77565b1015612be55760405162461bcd60e51b8152600401610a0890613c8a565b612bf2836211238061279e565b612bfa612e77565b1115612c185760405162461bcd60e51b8152600401610a0890613b28565b6000818152600860205260409020805460ff191690558451606090612c3e575083612c6a565b858051906020012085604051602001612c589291906136b7565b60405160208183030381529060405290505b60006060896001600160a01b03168984604051612c8791906136e8565b60006040518083038185875af1925050503d8060008114612cc4576040519150601f19603f3d011682016040523d82523d6000602084013e612cc9565b606091505b509150915081612ceb5760405162461bcd60e51b8152600401610a089061444f565b896001600160a01b0316847fa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e78b8b8b8b604051612d2b9493929190614840565b60405180910390a39998505050505050505050565b60008183612d615760405162461bcd60e51b8152600401610a0891906138d2565b506000838581612d6d57fe5b0495945050505050565b60008184841115612d9b5760405162461bcd60e51b8152600401610a0891906138d2565b505050900390565b6000612db9600554612db3612e77565b9061279e565b821015612dd85760405162461bcd60e51b8152600401610a089061452d565b60008686868686604051602001612df39594939291906137db565b60408051601f19818403018152828252805160209182012060008181526008909252919020805460ff1916600117905591506001600160a01b0388169082907f76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f90612e65908a908a908a908a90614840565b60405180910390a39695505050505050565b4290565b604080516060810182526000808252602082018190529181019190915290565b604051806101a001604052806000815260200160006001600160a01b031681526020016000815260200160608152602001606081526020016060815260200160608152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b828054828255906000526020600020908101928215612f65579160200282015b82811115612f6557825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612f30565b50612f7192915061306e565b5090565b828054828255906000526020600020908101928215612fb0579160200282015b82811115612fb0578251825591602001919060010190612f95565b50612f7192915061308d565b828054828255906000526020600020908101928215613009579160200282015b828111156130095782518051612ff99184916020909101906130a2565b5091602001919060010190612fdc565b50612f7192915061310f565b828054828255906000526020600020908101928215613062579160200282015b8281111561306257825180516130529184916020909101906130a2565b5091602001919060010190613035565b50612f7192915061312c565b5b80821115612f715780546001600160a01b031916815560010161306f565b5b80821115612f71576000815560010161308e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106130e357805160ff1916838001178555612fb0565b82800160010185558215612fb05791820182811115612fb0578251825591602001919060010190612f95565b80821115612f715760006131238282613149565b5060010161310f565b80821115612f715760006131408282613149565b5060010161312c565b50805460018160011615610100020316600290046000825580601f1061316f575061318d565b601f01602090049060005260206000209081019061318d919061308d565b50565b80356001600160a01b03811681146121a057600080fd5b600082601f8301126131b7578081fd5b81356131ca6131c5826148b2565b61488b565b8181529150602080830190848101818402860182018710156131eb57600080fd5b60005b84811015613212576132008883613190565b845292820192908201906001016131ee565b505050505092915050565b600082601f83011261322d578081fd5b813561323b6131c5826148b2565b818152915060208083019084810160005b8481101561321257613263888484358a010161332b565b8452928201929082019060010161324c565b600082601f830112613285578081fd5b81356132936131c5826148b2565b818152915060208083019084810160005b84811015613212576132bb888484358a010161332b565b845292820192908201906001016132a4565b600082601f8301126132dd578081fd5b81356132eb6131c5826148b2565b81815291506020808301908481018184028601820187101561330c57600080fd5b60005b848110156132125781358452928201929082019060010161330f565b600082601f83011261333b578081fd5b813567ffffffffffffffff811115613351578182fd5b613364601f8201601f191660200161488b565b915080825283602082850101111561337b57600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156133a5578081fd5b6127558383613190565b6000806000606084860312156133c3578182fd5b83356133ce816148fe565b925060208401356133de816148fe565b929592945050506040919091013590565b60008060408385031215613401578182fd5b61340b8484613190565b946020939093013593505050565b600080600080600060a08688031215613430578081fd5b853567ffffffffffffffff80821115613447578283fd5b61345389838a016131a7565b96506020880135915080821115613468578283fd5b61347489838a016132cd565b95506040880135915080821115613489578283fd5b61349589838a01613275565b945060608801359150808211156134aa578283fd5b6134b689838a0161321d565b935060808801359150808211156134cb578283fd5b506134d88882890161332b565b9150509295509295909350565b6000602082840312156134f6578081fd5b5035919050565b60006020828403121561350e578081fd5b5051919050565b60008060408385031215613527578182fd5b823591506135388460208501613190565b90509250929050565b60008060408385031215613553578182fd5b82359150602083013561356581614913565b809150509250929050565b600080600080600060a08688031215613587578283fd5b85359450602086013561359981614913565b9350604086013560ff811681146135ae578384fd5b94979396509394606081013594506080013592915050565b6000815180845260208085019450808401835b838110156135fe5781516001600160a01b0316875295820195908201906001016135d9565b509495945050505050565b6000815180845260208085018081965082840281019150828601855b8581101561364f57828403895261363d84835161368b565b98850198935090840190600101613625565b5091979650505050505050565b6000815180845260208085019450808401835b838110156135fe5781518752958201959082019060010161366f565b600081518084526136a38160208601602086016148d2565b601f01601f19169290920160200192915050565b6001600160e01b03198316815281516000906136da8160048501602087016148d2565b919091016004019392505050565b600082516136fa8184602087016148d2565b9190910192915050565b61190160f01b81526002810192909252602282015260420190565b7f476f7665726e616e63653a3a70726f706f73654a6f6228293a20000000000000815260609190911b6bffffffffffffffffffffffff1916601a820152602e0190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03949094168452602084019290925215156040830152606082015260800190565b600060018060a01b038716825285602083015260a0604083015261380260a083018661368b565b8281036060840152613814818661368b565b9150508260808301529695505050505050565b60006080825261383a60808301876135c6565b828103602084015261384c818761365c565b905082810360408401526138608186613609565b90508281036060840152611c728185613609565b901515815260200190565b90815260200190565b92835260208301919091521515604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b60208101600883106138cc57fe5b91905290565b600060208252612755602083018461368b565b60208082526025908201527f4b656570337262476f7665726e616e63653a3a7265736f6c76653a2021677561604082015264393234b0b760d91b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f4b656570337262476f7665726e616e63653a3a72656d6f76654a6f623a2021676040820152663ab0b93234b0b760c91b606082015260800190565b60208082526041908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73616c20667560408201527f6e6374696f6e20696e666f726d6174696f6e206172697479206d69736d6174636060820152600d60fb1b608082015260a00190565b6020808252602b908201527f476f7665726e616e63653a3a7365745468726573686f6c643a2074687265736860408201526a6f6c645f203e204241534560a81b606082015260800190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b60208082526023908201527f4b656570337262476f7665726e616e63653a3a736c6173683a2021677561726460408201526234b0b760e91b606082015260800190565b602080825260339082015260008051602061492283398151915260408201527230b739b0b1ba34b7b71034b99039ba30b6329760691b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526029908201527f476f7665726e616e63653a3a70726f706f73653a206d7573742070726f7669646040820152686520616374696f6e7360b81b606082015260800190565b60208082526024908201527f4b656570337262476f7665726e616e63653a3a7265766f6b653a2021677561726040820152633234b0b760e11b606082015260800190565b602080825260459082015260008051602061492283398151915260408201527f616e73616374696f6e206861736e2774207375727061737365642074696d65206060820152643637b1b59760d91b608082015260a00190565b60208082526026908201527f4b656570337262476f7665726e616e63653a3a616464566f7465733a2021677560408201526530b93234b0b760d11b606082015260800190565b60208082526034908201527f54696d656c6f636b3a3a73657444656c61793a2044656c6179206d75737420656040820152733c31b2b2b21036b4b734b6bab6903232b630bc9760611b606082015260800190565b60208082526033908201527f476f7665726e616e63653a3a63616e63656c3a2063616e6e6f742063616e63656040820152721b08195e1958dd5d1959081c1c9bdc1bdcd85b606a1b606082015260800190565b60208082526029908201527f4b656570337262476f7665726e616e63653a3a72656d6f7665566f7465733a2060408201526810b3bab0b93234b0b760b91b606082015260800190565b60208082526041908201527f476f7665726e616e63653a3a71756575653a2070726f706f73616c2063616e2060408201527f6f6e6c79206265207175657565642069662069742069732073756363656564656060820152601960fa1b608082015260a00190565b6020808252602c908201527f476f7665726e616e63653a3a63617374566f746542795369673a20696e76616c60408201526b6964207369676e617475726560a01b606082015260800190565b60208082526041908201527f476f7665726e616e63653a3a5f71756575654f725265766572743a2070726f7060408201527f6f73616c20616374696f6e20616c7265616479207175657565642061742065746060820152606160f81b608082015260a00190565b60208082526029908201527f4b656570337262476f7665726e616e63653a3a736574477561726469616e3a2060408201526810b3bab0b93234b0b760b91b606082015260800190565b60208082526024908201527f4b656570337262476f7665726e616e63653a3a6164644a6f623a2021677561726040820152633234b0b760e11b606082015260800190565b60208082526025908201527f4b656570337262476f7665726e616e63653a3a646973707574653a2021677561604082015264393234b0b760d91b606082015260800190565b60208082526038908201527f54696d656c6f636b3a3a73657444656c61793a2044656c6179206d757374206e60408201527f6f7420657863656564206d6178696d756d2064656c61792e0000000000000000606082015260800190565b6020808252602a908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74657220616c726040820152691958591e481d9bdd195960b21b606082015260800190565b6020808252602e908201527f4b656570337262476f7665726e616e63653a3a7365744b65657033726248656c60408201526d3832b91d1010b3bab0b93234b0b760911b606082015260800190565b6020808252603d9082015260008051602061492283398151915260408201527f616e73616374696f6e206861736e2774206265656e207175657565642e000000606082015260800190565b60208082526025908201527f476f7665726e616e63653a3a73657451756f72756d3a2071756f72756d5f203e604082015264204241534560d81b606082015260800190565b60208082526056908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152751c9958591e481c195b991a5b99c81c1c9bdc1bdcd85b60521b608082015260a00190565b6020808252602e908201527f4b656570337262476f7665726e616e63653a3a616363657074476f7665726e6160408201526d3731b29d1010b3bab0b93234b0b760911b606082015260800190565b60208082526037908201527f476f7665726e616e63653a3a70726f706f73654a6f623a206f6e6c7920564f5460408201527f45522063616e2070726f706f7365206e6577206a6f6273000000000000000000606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252602a908201527f4b656570337262476f7665726e616e63653a3a6164644b50524372656469743a6040820152691010b3bab0b93234b0b760b11b606082015260800190565b6020808252602c908201527f476f7665726e616e63653a3a63616e63656c3a2070726f706f7365722061626f60408201526b1d99481d1a1c995cda1bdb1960a21b606082015260800190565b60208082526025908201527f476f7665726e616e63653a3a70726f706f73653a20746f6f206d616e7920616360408201526474696f6e7360d81b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a657865637574653a2021677561726469616e000000604082015260600190565b6020808252602b908201527f4b656570337262476f7665726e616e63653a3a736574476f7665726e616e636560408201526a1d1010b3bab0b93234b0b760a91b606082015260800190565b6020808252603d9082015260008051602061492283398151915260408201527f616e73616374696f6e20657865637574696f6e2072657665727465642e000000606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602d908201527f4b656570337262476f7665726e616e63653a3a7265766f6b654c69717569646960408201526c3a3c9d1010b3bab0b93234b0b760991b606082015260800190565b60208082526049908201527f54696d656c6f636b3a3a71756575655472616e73616374696f6e3a204573746960408201527f6d6174656420657865637574696f6e20626c6f636b206d757374207361746973606082015268333c903232b630bc9760b91b608082015260a00190565b60208082526042908201527f476f7665726e616e63653a3a657865637574653a2070726f706f73616c20636160408201527f6e206f6e6c792062652065786563757465642069662069742069732071756575606082015261195960f21b608082015260a00190565b6020808252602e908201527f4b656570337262476f7665726e616e63653a3a617070726f76654c697175696460408201526d34ba3c9d1010b3bab0b93234b0b760911b606082015260800190565b60208082526031908201527f54696d656c6f636b3a3a73657444656c61793a2043616c6c206d75737420636f60408201527036b290333937b6902a34b6b2b637b1b59760791b606082015260800190565b60208082526030908201527f4b656570337262476f7665726e616e63653a3a736574477561726469616e3a2060408201526f10b832b73234b733a3bab0b93234b0b760811b606082015260800190565b60208082526024908201527f476f7665726e616e63653a3a73657451756f72756d3a2074696d656c6f636b206040820152636f6e6c7960e01b606082015260800190565b8151151581526020808301511515908201526040918201519181019190915260600190565b8981526001600160a01b0389166020820152610120604082018190526000906147878382018b6135c6565b9050828103606084015261479b818a61365c565b905082810360808401526147af8189613609565b905082810360a08401526147c38188613609565b90508560c08401528460e08401528281036101008401526147e4818561368b565b9c9b505050505050505050505050565b9889526001600160a01b0397909716602089015260408801959095526060870193909352608086019190915260a085015260c0840152151560e083015215156101008201526101200190565b600085825260806020830152614859608083018661368b565b828103604084015261486b818661368b565b91505082606083015295945050505050565b918252602082015260400190565b60405181810167ffffffffffffffff811182821017156148aa57600080fd5b604052919050565b600067ffffffffffffffff8211156148c8578081fd5b5060209081020190565b60005b838110156148ed5781810151838201526020016148d5565b83811115610b4f5750506000910152565b6001600160a01b038116811461318d57600080fd5b801515811461318d57600080fdfe54696d656c6f636b3a3a657865637574655472616e73616374696f6e3a205472a26469706673582212201f27d8393d4a4ffad834347885fe5af18b6ef743417c8446d8f7aaeeab66e12164736f6c634300060c00330000000000000000000000005ea29eee799aa7cc379fde5cf370bc24f2ea7c81
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000005ea29eee799aa7cc379fde5cf370bc24f2ea7c81
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005ea29eee799aa7cc379fde5cf370bc24f2ea7c81
Deployed ByteCode Sourcemap
3361:19490:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6265:43;;;;;;;;;;-1:-1:-1;6265:43:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;5111:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;3461:48::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;14548:117::-;;;;;;;;;;-1:-1:-1;14548:117:0;;;;;:::i;:::-;;:::i;:::-;;6636:40;;;;;;;;;;;;;:::i;6372:50::-;;;;;;;;;;-1:-1:-1;6372:50:0;;;;;:::i;:::-;;:::i;18576:186::-;;;;;;;;;;-1:-1:-1;18576:186:0;;;;;:::i;:::-;;:::i;6495:122::-;;;;;;;;;;;;;:::i;18965:170::-;;;;;;;;;;;;;:::i;4153:121::-;;;;;;;;;;;;;:::i;5284:29::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;12967:287::-;;;;;;;;;;-1:-1:-1;12967:287:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;4964:63::-;;;;;;;;;;;;;:::i;13422:1118::-;;;;;;;;;;-1:-1:-1;13422:1118:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12200:759::-;;;;;;;;;;-1:-1:-1;12200:759:0;;;;;:::i;:::-;;:::i;16792:23::-;;;;;;;;;;;;;:::i;14673:487::-;;;;;;;;;;-1:-1:-1;14673:487:0;;;;;:::i;:::-;;:::i;19684:163::-;;;;;;;;;;-1:-1:-1;19684:163:0;;;;;:::i;:::-;;:::i;18048:193::-;;;;;;;;;;-1:-1:-1;18048:193:0;;;;;:::i;:::-;;:::i;16746:33::-;;;;;;;;;;;;;:::i;3810:38::-;;;;;;;;;;;;;:::i;19518:160::-;;;;;;;;;;-1:-1:-1;19518:160:0;;;;;:::i;:::-;;:::i;16822:30::-;;;;;;;;;;;;;:::i;4783:74::-;;;;;;;;;;;;;:::i;16693:44::-;;;;;;;;;;;;;:::i;18407:163::-;;;;;;;;;;-1:-1:-1;18407:163:0;;;;;:::i;:::-;;:::i;16865:182::-;;;;;;;;;;-1:-1:-1;16865:182:0;;;;;:::i;:::-;;:::i;4423:270::-;;;;;;;;;;-1:-1:-1;4423:270:0;;;;;:::i;:::-;;:::i;17059:185::-;;;;;;;;;;;;;:::i;18768:191::-;;;;;;;;;;-1:-1:-1;18768:191:0;;;;;:::i;:::-;;:::i;16643:43::-;;;;;;;;;;;;;:::i;4282:133::-;;;;;;;;;;;;;:::i;17846:196::-;;;;;;;;;;-1:-1:-1;17846:196:0;;;;;:::i;:::-;;:::i;3651:32::-;;;;;;;;;;;;;:::i;16593:43::-;;;;;;;;;;;;;:::i;3899:246::-;;;;;;;;;;-1:-1:-1;3899:246:0;;;;;:::i;:::-;;:::i;18247:154::-;;;;;;;;;;-1:-1:-1;18247:154:0;;;;;:::i;:::-;;:::i;17447:194::-;;;;;;;;;;-1:-1:-1;17447:194:0;;;;;:::i;:::-;;:::i;17647:193::-;;;;;;;;;;-1:-1:-1;17647:193:0;;;;;:::i;:::-;;:::i;5369:25::-;;;;;;;;;;;;;:::i;8206:1321::-;;;;;;;;;;-1:-1:-1;8206:1321:0;;;;;:::i;:::-;;:::i;7634:564::-;;;;;;;;;;-1:-1:-1;7634:564:0;;;;;:::i;:::-;;:::i;10622:559::-;;;;;;;;;;-1:-1:-1;10622:559:0;;;;;:::i;:::-;;:::i;17256:185::-;;;;;;;;;;-1:-1:-1;17256:185:0;;;;;:::i;:::-;;:::i;6766:94::-;;;;;;;;;;;;;:::i;20189:406::-;;;;;;;;;;-1:-1:-1;20189:406:0;;;;;:::i;:::-;;:::i;13262:152::-;;;;;;;;;;-1:-1:-1;13262:152:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;19310:202::-;;;;;;;;;;-1:-1:-1;19310:202:0;;;;;:::i;:::-;;:::i;3857:33::-;;;;;;;;;;;;;:::i;19855:51::-;;;;;;;;;;-1:-1:-1;19855:51:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;19141:163::-;;;;;;;;;;-1:-1:-1;19141:163:0;;;;;:::i;:::-;;:::i;11553:639::-;;;;;;:::i;:::-;;:::i;6265:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6265:43:0;;;;;;;;;;;;;;;;;;;;;;:::o;5111:69::-;5171:6;5111:69;:::o;3461:48::-;;;;;;;;;;;;;;-1:-1:-1;;;3461:48:0;;;;:::o;14548:117::-;14615:42;14625:10;14637;14649:7;14615:9;:42::i;:::-;14548:117;;:::o;6636:40::-;;;:::o;6372:50::-;;;;;;;;;;;;;:::o;18576:186::-;18658:8;;-1:-1:-1;;;;;18658:8:0;18644:10;:22;18636:81;;;;-1:-1:-1;;;18636:81:0;;;;;;;:::i;:::-;;;;;;;;;18728:26;;-1:-1:-1;;;18728:26:0;;-1:-1:-1;;;;;18728:3:0;:20;;;;:26;;18749:4;;18728:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18576:186;:::o;6495:122::-;6537:80;6495:122;:::o;18965:170::-;19035:8;;-1:-1:-1;;;;;19035:8:0;19021:10;:22;19013:81;;;;-1:-1:-1;;;19013:81:0;;;;;;;:::i;:::-;19105:3;-1:-1:-1;;;;;19105:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18965:170::o;4153:121::-;4197:4;4221:45;3885:5;4221:35;4243:12;;4221:3;-1:-1:-1;;;;;4221:15:0;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:21;;:35::i;:::-;:39;;:45::i;:::-;4214:52;;4153:121;:::o;5284:29::-;;;:::o;12967:287::-;13025:24;13051:20;13073:26;13101:24;13138:18;13159:9;:21;13169:10;13159:21;;;;;;;;;;;13138:42;;13199:1;:9;;13210:1;:8;;13220:1;:12;;13234:1;:11;;13191:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13191:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13191:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13191:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12967:287;;;;;:::o;4964:63::-;5023:1;4964:63;:::o;13422:1118::-;13475:13;13526:10;13509:13;;:27;;:45;;;;;13553:1;13540:10;:14;13509:45;13501:96;;;;-1:-1:-1;;;13501:96:0;;;;;;;:::i;:::-;13608:25;13636:21;;;:9;:21;;;;;13672:17;;;;;;13668:865;;;13713:22;13706:29;;;;;13668:865;13773:8;:19;;;13757:12;:35;13753:780;;13816:21;13809:28;;;;;13753:780;13875:8;:17;;;13859:12;:33;13855:678;;13916:20;13909:27;;;;;13855:678;14005:13;:11;:13::i;:::-;13980:21;;;;13958:17;;;;:44;;:21;:44::i;:::-;:60;13954:579;;;14042:22;14035:29;;;;;13954:579;14107:8;:21;;;14086:8;:17;;;:42;14082:451;;14152:22;14145:29;;;;;14082:451;14196:12;;;;14192:341;;14237:23;14230:30;;;;;14192:341;14282:17;;;;;;;;;14278:255;;;14323:22;14316:29;;;;;14278:255;14386:12;;;;:30;;16629:7;14386:16;:30::i;:::-;14367:15;:49;14363:170;;14440:21;14433:28;;;;;14363:170;14501:20;14494:27;;;13422:1118;;;;:::o;12200:759::-;12251:19;12273:17;12279:10;12273:5;:17::i;:::-;12251:39;-1:-1:-1;12318:22:0;12309:5;:31;;;;;;;;;;12301:95;;;;-1:-1:-1;;;12301:95:0;;;;;;;:::i;:::-;12409:25;12437:21;;;:9;:21;;;;;12477:17;;;;12506:3;-1:-1:-1;;;;;12477:33:0;;;:17;;:33;;;;:134;;;12592:19;:17;:19::i;:::-;12550:17;;;;;-1:-1:-1;;;;;12532:3:0;:17;;;;;12550;;;;12569:19;;:12;;:16;:19::i;:::-;12532:57;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:79;12477:134;12469:191;;;;-1:-1:-1;;;12469:191:0;;;;;;;:::i;:::-;12673:17;;;:24;;-1:-1:-1;;12673:24:0;12693:4;12673:24;;;:17;12708:198;12729:16;;;:23;12725:27;;12708:198;;;12774:120;12793:8;:16;;12810:1;12793:19;;;;;;;;;;;;;;;;;;12814:15;;;:18;;-1:-1:-1;;;;;12793:19:0;;;;12830:1;;12814:18;;;;;;;;;;;;;;12834:8;:19;;12854:1;12834:22;;;;;;;;;;;;;;;;;;12774:120;;;;;;;-1:-1:-1;;12774:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12834:22;12774:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12858:8;:18;;12877:1;12858:21;;;;;;;;;;;;;;;;;;12774:120;;;;;;;-1:-1:-1;;12774:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12858:21;12774:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12881:8;:12;;;12774:18;:120::i;:::-;12754:3;;12708:198;;;;12923:28;12940:10;12923:28;;;;;;:::i;:::-;;;;;;;;12200:759;;;:::o;16792:23::-;;;-1:-1:-1;;;;;16792:23:0;;:::o;14673:487::-;14776:18;6808:52;14835:10;14847:7;14807:48;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14797:59;;;;;;14776:80;;14867:14;14923:15;14940:10;14894:57;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14884:68;;;;;;14867:85;;14963:17;14983:26;14993:6;15001:1;15004;15007;14983:26;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14983:26:0;;-1:-1:-1;;14983:26:0;;;-1:-1:-1;;;;;;;15028:23:0;;15020:80;;;;-1:-1:-1;;;15020:80:0;;;;;;;:::i;:::-;15111:41;15121:9;15132:10;15144:7;15111:9;:41::i;:::-;14673:487;;;;;;;;:::o;19684:163::-;19759:8;;-1:-1:-1;;;;;19759:8:0;19745:10;:22;19737:72;;;;-1:-1:-1;;;19737:72:0;;;;;;;:::i;:::-;19820:19;;-1:-1:-1;;;19820:19:0;;-1:-1:-1;;;;;19820:3:0;:11;;;;:19;;19832:6;;19820:19;;;:::i;18048:193::-;18134:8;;-1:-1:-1;;;;;18134:8:0;18120:10;:22;18112:80;;;;-1:-1:-1;;;18112:80:0;;;;;;;:::i;:::-;18203:30;;-1:-1:-1;;;18203:30:0;;-1:-1:-1;;;;;18203:3:0;:19;;;;:30;;18223:9;;18203:30;;;:::i;16746:33::-;;;;:::o;3810:38::-;;;;:::o;19518:160::-;19592:8;;-1:-1:-1;;;;;19592:8:0;19578:10;:22;19570:71;;;;-1:-1:-1;;;19570:71:0;;;;;;;:::i;:::-;19652:18;;-1:-1:-1;;;19652:18:0;;-1:-1:-1;;;;;19652:3:0;:10;;;;:18;;19663:6;;19652:18;;;:::i;16822:30::-;;;-1:-1:-1;;;;;16822:30:0;;:::o;4783:74::-;4852:2;4783:74;:::o;16693:44::-;16730:7;16693:44;:::o;18407:163::-;18481:8;;-1:-1:-1;;;;;18481:8:0;18467:10;:22;18459:74;;;;-1:-1:-1;;;18459:74:0;;;;;;;:::i;:::-;18544:18;;-1:-1:-1;;;18544:18:0;;-1:-1:-1;;;;;18544:3:0;:13;;;;:18;;18558:3;;18544:18;;;:::i;16865:182::-;16947:8;;-1:-1:-1;;;;;16947:8:0;16933:10;:22;16925:76;;;;-1:-1:-1;;;16925:76:0;;;;;;;:::i;:::-;17012:15;:27;;-1:-1:-1;;;;;;17012:27:0;-1:-1:-1;;;;;17012:27:0;;;;;;;;;;16865:182::o;4423:270::-;4490:10;4512:4;4490:27;4482:76;;;;-1:-1:-1;;;4482:76:0;;;;;;;:::i;:::-;3885:5;4577:10;:18;;4569:74;;;;-1:-1:-1;;;4569:74:0;;;;;;;:::i;:::-;4654:18;:31;4423:270::o;17059:185::-;17131:15;;-1:-1:-1;;;;;17131:15:0;17117:10;:29;17109:90;;;;-1:-1:-1;;;17109:90:0;;;;;;;:::i;:::-;17221:15;;17210:8;:26;;-1:-1:-1;;;;;;17210:26:0;-1:-1:-1;;;;;17221:15:0;;;17210:26;;;;;;17059:185::o;18768:191::-;18854:8;;-1:-1:-1;;;;;18854:8:0;18840:10;:22;18832:78;;;;-1:-1:-1;;;18832:78:0;;;;;;;:::i;:::-;18921:30;;-1:-1:-1;;;18921:30:0;;-1:-1:-1;;;;;18921:3:0;:17;;;;:30;;18939:11;;18921:30;;;:::i;16643:43::-;16680:6;16643:43;:::o;4282:133::-;4332:4;4356:51;3885:5;4356:41;4378:18;;4356:3;-1:-1:-1;;;;;4356:15:0;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17846:196;17933:8;;-1:-1:-1;;;;;17933:8:0;17919:10;:22;17911:81;;;;-1:-1:-1;;;17911:81:0;;;;;;;:::i;:::-;18003:31;;-1:-1:-1;;;18003:31:0;;-1:-1:-1;;;;;18003:3:0;:20;;;;:31;;18024:9;;18003:31;;;:::i;3651:32::-;;;;:::o;16593:43::-;16629:7;16593:43;:::o;3899:246::-;3960:10;3982:4;3960:27;3952:76;;;;-1:-1:-1;;;3952:76:0;;;;;;;:::i;:::-;3885:5;4047:7;:15;;4039:65;;;;-1:-1:-1;;;4039:65:0;;;;;;;:::i;:::-;4115:12;:22;3899:246::o;18247:154::-;18318:8;;-1:-1:-1;;;;;18318:8:0;18304:10;:22;18296:71;;;;-1:-1:-1;;;18296:71:0;;;;;;;:::i;:::-;18378:15;;-1:-1:-1;;;18378:15:0;;-1:-1:-1;;;;;18378:3:0;:10;;;;:15;;18389:3;;18378:15;;;:::i;17447:194::-;17538:8;;-1:-1:-1;;;;;17538:8:0;17524:10;:22;17516:76;;;;-1:-1:-1;;;17516:76:0;;;;;;;:::i;:::-;17603:30;;-1:-1:-1;;;17603:30:0;;-1:-1:-1;;;;;17603:3:0;:15;;;;:30;;17619:5;;17626:6;;17603:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17447:194;;:::o;17647:193::-;17737:8;;-1:-1:-1;;;;;17737:8:0;17723:10;:22;17715:77;;;;-1:-1:-1;;;17715:77:0;;;;;;;:::i;:::-;17803:29;;-1:-1:-1;;;17803:29:0;;-1:-1:-1;;;;;17803:3:0;:16;;;;:29;;17820:3;;17825:6;;17803:29;;;:::i;5369:25::-;;;;:::o;8206:1321::-;8368:4;8447:19;:17;:19::i;:::-;-1:-1:-1;;;;;8393:3:0;:17;;8411:10;8423:19;:12;8440:1;8423:16;:19::i;:::-;8393:50;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:73;;8385:146;;;;-1:-1:-1;;;8385:146:0;;;;;;;:::i;:::-;8568:6;:13;8550:7;:14;:31;:70;;;;;8603:10;:17;8585:7;:14;:35;8550:70;:108;;;;;8642:9;:16;8624:7;:14;:34;8550:108;8542:186;;;;-1:-1:-1;;;8542:186:0;;;;;;;:::i;:::-;8747:14;;8739:73;;;;-1:-1:-1;;;8739:73:0;;;;;;;:::i;:::-;8849:23;:21;:23::i;:::-;8831:7;:14;:41;;8823:91;;;;-1:-1:-1;;;8823:91:0;;;;;;;:::i;:::-;8969:10;8927:21;8951:29;;;:17;:29;;;;;;8995:21;;8991:448;;9031:42;9076:23;9082:16;9076:5;:23::i;:::-;9031:68;-1:-1:-1;9152:20:0;9120:28;:52;;;;;;;;;;9112:150;;;;-1:-1:-1;;;9112:150:0;;;;;;;:::i;:::-;9315:21;9283:28;:53;;;;;;;;;;9275:152;;;;-1:-1:-1;;;9275:152:0;;;;;;;:::i;:::-;8991:448;;9458:61;9467:7;9476:6;9484:10;9496:9;9507:11;9458:8;:61::i;:::-;9451:68;8206:1321;-1:-1:-1;;;;;;;8206:1321:0:o;7634:564::-;7693:10;-1:-1:-1;;;;;7715:3:0;7693:26;;7685:94;;;;-1:-1:-1;;;7685:94:0;;;;;;;:::i;:::-;7790:24;7846:3;7825:7;7833:1;7825:10;;;;;;;;;;;;;:25;-1:-1:-1;;;;;7825:25:0;;;-1:-1:-1;;;;;7825:25:0;;;;;7863:26;7900:33;;;;;;;;;;;;;-1:-1:-1;;;7900:33:0;;;:10;7911:1;7900:13;;;;;;;;;;;;;:33;;;;7946:24;8007:3;7996:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;7981:9;7991:1;7981:12;;;;;;;;;;;;;:30;;;;8024:20;8067:1;8055:6;8062:1;8055:9;;;;;;;;;;;;;:13;;;;;8081:109;8090:7;8099:6;8107:10;8119:9;8184:3;8137:51;;;;;;;;:::i;:::-;;;;;;;;;;;;;8081:8;:109::i;10622:559::-;10701:23;10680:17;10686:10;10680:5;:17::i;:::-;:44;;;;;;;;;10672:122;;;;-1:-1:-1;;;10672:122:0;;;;;;;:::i;:::-;10805:25;10833:21;;;:9;:21;;;;;10896:5;;10833:21;;10805:25;10876:26;;:15;;:19;:26::i;:::-;10865:37;;10918:6;10913:185;10934:16;;;:23;10930:27;;10913:185;;;10979:107;10994:8;:16;;11011:1;10994:19;;;;;;;;;;;;;;;;;;11015:15;;;:18;;-1:-1:-1;;;;;10994:19:0;;;;11031:1;;11015:18;;;;;;;;;;;;;;11035:8;:19;;11055:1;11035:22;;;;;;;;;;;;;;;;;;10979:107;;;;;;;-1:-1:-1;;10979:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11035:22;10979:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11059:8;:18;;11078:1;11059:21;;;;;;;;;;;;;;;;;;10979:107;;;;;;;-1:-1:-1;;10979:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11059:21;10979:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11082:3;10979:14;:107::i;:::-;10959:3;;10913:185;;;-1:-1:-1;11108:12:0;;;:18;;;11142:31;;;;;;11157:10;;11123:3;;11142:31;:::i;17256:185::-;17344:8;;-1:-1:-1;;;;;17344:8:0;17330:10;:22;17322:73;;;;-1:-1:-1;;;17322:73:0;;;;;;;:::i;:::-;17406:27;;-1:-1:-1;;;17406:27:0;;-1:-1:-1;;;;;17406:3:0;:12;;;;:27;;17419:5;;17426:6;;17406:27;;;:::i;6766:94::-;6808:52;6766:94;:::o;20189:406::-;20246:10;20268:4;20246:27;20238:89;;;;-1:-1:-1;;;20238:89:0;;;;;;;:::i;:::-;16680:6;20346;:23;;20338:88;;;;-1:-1:-1;;;20338:88:0;;;;;;;:::i;:::-;16730:7;20445:6;:23;;20437:92;;;;-1:-1:-1;;;20437:92:0;;;;;;;:::i;:::-;20540:5;:14;;;20572:15;;20548:6;;20572:15;;;;;20189:406;:::o;13262:152::-;13335:14;;:::i;:::-;-1:-1:-1;13369:21:0;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;13369:37:0;;;;:30;;:37;;;;;;13362:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13262:152;;;;;:::o;19310:202::-;19412:8;;-1:-1:-1;;;;;19412:8:0;19398:10;:22;19390:70;;;;-1:-1:-1;;;19390:70:0;;;;;;;:::i;:::-;19471:33;;-1:-1:-1;;;19471:33:0;;-1:-1:-1;;;;;19471:3:0;:9;;;;:33;;19481:6;;19489;;19497;;19471:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19310:202;;;:::o;3857:33::-;3885:5;3857:33;:::o;19855:51::-;;;;;;;;;;;;;;;:::o;19141:163::-;19216:8;;-1:-1:-1;;;;;19216:8:0;19202:10;:22;19194:72;;;;-1:-1:-1;;;19194:72:0;;;;;;;:::i;:::-;19277:19;;-1:-1:-1;;;19277:19:0;;-1:-1:-1;;;;;19277:3:0;:11;;;;:19;;19289:6;;19277:19;;;:::i;11553:639::-;11621:8;;-1:-1:-1;;;;;11621:8:0;:24;;:50;;-1:-1:-1;11663:8:0;;-1:-1:-1;;;;;11663:8:0;11649:10;:22;11621:50;11613:92;;;;-1:-1:-1;;;11613:92:0;;;;;;;:::i;:::-;11745:20;11724:17;11730:10;11724:5;:17::i;:::-;:41;;;;;;;;;11716:120;;;;-1:-1:-1;;;11716:120:0;;;;;;;:::i;:::-;11847:25;11875:21;;;:9;:21;;;;;11907:17;;;:24;;-1:-1:-1;;11907:24:0;;;;;11875:21;11942:199;11963:16;;;:23;11959:27;;11942:199;;;12008:121;12028:8;:16;;12045:1;12028:19;;;;;;;;;;;;;;;;;;12049:15;;;:18;;-1:-1:-1;;;;;12028:19:0;;;;12065:1;;12049:18;;;;;;;;;;;;;;12069:8;:19;;12089:1;12069:22;;;;;;;;;;;;;;;;;;12008:121;;;;;;;-1:-1:-1;;12008:121:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12069:22;12008:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12093:8;:18;;12112:1;12093:21;;;;;;;;;;;;;;;;;;12008:121;;;;;;;-1:-1:-1;;12008:121:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12093:21;12008:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12116:8;:12;;;12008:19;:121::i;:::-;-1:-1:-1;11988:3:0;;11942:199;;;;12156:28;12173:10;12156:28;;;;;;:::i;:::-;;;;;;;;11553:639;;:::o;15168:821::-;15282:20;15261:17;15267:10;15261:5;:17::i;:::-;:41;;;;;;;;;15253:93;;;;-1:-1:-1;;;15253:93:0;;;;;;;:::i;:::-;15357:25;15385:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;15443:24:0;;;;:17;;;:24;;;;;;15486:16;;;;:25;15478:80;;;;-1:-1:-1;;;15478:80:0;;;;;;;:::i;:::-;15607:19;;;;15582:45;;-1:-1:-1;;;15582:45:0;;15569:10;;-1:-1:-1;;;;;15582:3:0;:17;;;;:45;;15600:5;;15607:19;15582:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15569:58;;15644:7;15640:177;;;15688:17;;;;:28;;15710:5;15688:21;:28::i;:::-;15668:17;;;:48;15640:177;;;15773:21;;;;:32;;15799:5;15773:25;:32::i;:::-;15749:21;;;:56;15640:177;15829:23;;15848:4;-1:-1:-1;;15829:23:0;;;;;-1:-1:-1;;15863:25:0;15829:23;15863:25;;;;;;;15899:13;;:21;;;15938:43;;;;;;15947:5;;15954:10;;15863:25;;15899:21;;15938:43;:::i;:::-;;;;;;;;15168:821;;;;;;:::o;1109:249::-;1167:7;1190:6;1186:47;;-1:-1:-1;1220:1:0;1213:8;;1186:47;1257:5;;;1261:1;1257;:5;:1;1281:5;;;;;:10;1273:56;;;;-1:-1:-1;;;1273:56:0;;;;;;;:::i;:::-;1349:1;1109:249;-1:-1:-1;;;1109:249:0:o;1619:132::-;1677:7;1704:39;1708:1;1711;1704:39;;;;;;;;;;;;;;;;;:3;:39::i;394:181::-;452:7;484:5;;;508:6;;;;500:46;;;;-1:-1:-1;;;500:46:0;;;;;;;:::i;773:137::-;831:7;858:44;862:1;865;858:44;;;;;;;;;;;;;;;;;:3;:44::i;21122:338::-;21252:14;21290:6;21298:5;21305:9;21316:4;21322:3;21279:47;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;21279:47:0;;;;;;;;;21269:58;;21279:47;21269:58;;;;21367:5;21338:26;;;:18;:26;;;;;;:34;;-1:-1:-1;;21338:34:0;;;21269:58;-1:-1:-1;;;;;;21390:62:0;;;21269:58;;21390:62;;;;21424:5;;21431:9;;21442:4;;21448:3;;21390:62;:::i;:::-;;;;;;;;21122:338;;;;;;:::o;9535:1079::-;9700:4;9717:15;9735:31;9752:13;:11;:13::i;:::-;9735:12;;:16;:31::i;:::-;9717:49;;9777:13;9793:30;9808:14;:12;:14::i;:::-;9793:10;;:14;:30::i;:::-;9836:13;:15;;;;;;9777:46;-1:-1:-1;9862:27:0;;:::i;:::-;9892:427;;;;;;;;9920:13;;9892:427;;;;9958:10;-1:-1:-1;;;;;9892:427:0;;;;;9988:1;9892:427;;;;10013:7;9892:427;;;;10043:6;9892:427;;;;10076:10;9892:427;;;;10112:9;9892:427;;;;10148:10;9892:427;;;;10183:8;9892:427;;;;10216:1;9892:427;;;;10246:1;9892:427;;;;10272:5;9892:427;;;;;;10302:5;9892:427;;;;;9862:457;;10360:11;10332:9;:25;10342:11;:14;;;10332:25;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10332:39:0;;;;;-1:-1:-1;;;;;10332:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10332:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10332:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10332:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10332:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10332:39:0;;;;;;;;;;-1:-1:-1;;10332:39:0;;;;;;;;;;;10424:14;;10400:20;;;;;-1:-1:-1;;;;;10382:39:0;-1:-1:-1;10382:39:0;;;:17;:39;;;;;;;;:56;;;;10472:14;;10456:118;;;;;;10488:10;;10500:7;;10509:6;;10517:10;;10529:9;;10540:10;;10552:8;;10562:11;;10456:118;:::i;:::-;;;;;;;;10592:14;;9535:1079;-1:-1:-1;;;;;;;;9535:1079:0:o;11189:356::-;11324:18;:78;11364:6;11372:5;11379:9;11390:4;11396:3;11353:47;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;11353:47:0;;;;;;;;;11343:58;;11353:47;11343:58;;;;11324:78;;;;;;;;;;-1:-1:-1;11324:78:0;;;;11323:79;11315:157;;;;-1:-1:-1;;;11315:157:0;;;;;;;:::i;:::-;11483:54;11501:6;11509:5;11516:9;11527:4;11533:3;11483:17;:54::i;21468:1210::-;21597:12;21622:14;21660:6;21668:5;21675:9;21686:4;21692:3;21649:47;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;21649:47:0;;;;;;;;;21639:58;;21649:47;21639:58;;;;21716:26;;;;:18;:26;;;;;;21639:58;;-1:-1:-1;21716:26:0;;21708:100;;;;-1:-1:-1;;;21708:100:0;;;;;;;:::i;:::-;21850:3;21827:19;:17;:19::i;:::-;:26;;21819:108;;;;-1:-1:-1;;;21819:108:0;;;;;;;:::i;:::-;21969:21;:3;16629:7;21969;:21::i;:::-;21946:19;:17;:19::i;:::-;:44;;21938:108;;;;-1:-1:-1;;;21938:108:0;;;;;;;:::i;:::-;22088:5;22059:26;;;:18;:26;;;;;:34;;-1:-1:-1;;22059:34:0;;;22144:23;;22106:21;;22140:179;;-1:-1:-1;22200:4:0;22140:179;;;22288:9;22272:27;;;;;;22302:4;22248:59;;;;;;;;;:::i;:::-;;;;;;;;;;;;;22237:70;;22140:179;22392:12;22406:23;22433:6;-1:-1:-1;;;;;22433:11:0;22451:5;22458:8;22433:34;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22391:76;;;;22486:7;22478:81;;;;-1:-1:-1;;;22478:81:0;;;;;;;:::i;:::-;22604:6;-1:-1:-1;;;;;22577:63:0;22596:6;22577:63;22612:5;22619:9;22630:4;22636:3;22577:63;;;;;;;;;:::i;:::-;;;;;;;;22660:10;21468:1210;-1:-1:-1;;;;;;;;;21468:1210:0:o;1754:345::-;1840:7;1942:12;1935:5;1927:28;;;;-1:-1:-1;;;1927:28:0;;;;;;;;:::i;:::-;;1966:9;1982:1;1978;:5;;;;;;;1754:345;-1:-1:-1;;;;;1754:345:0:o;913:192::-;999:7;1035:12;1027:6;;;;1019:29;;;;-1:-1:-1;;;1019:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1071:5:0;;;913:192::o;20603:511::-;20730:7;20765:30;20789:5;;20765:19;:17;:19::i;:::-;:23;;:30::i;:::-;20758:3;:37;;20750:123;;;;-1:-1:-1;;;20750:123:0;;;;;;;:::i;:::-;20884:14;20922:6;20930:5;20937:9;20948:4;20954:3;20911:47;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;20911:47:0;;;;;;;;;20901:58;;20911:47;20901:58;;;;20970:26;;;;:18;:26;;;;;;:33;;-1:-1:-1;;20970:33:0;20999:4;20970:33;;;20901:58;-1:-1:-1;;;;;;21021:61:0;;;20901:58;;21021:61;;;;21054:5;;21061:9;;21072:4;;21078:3;;21021:61;:::i;:::-;;;;;;;;21100:6;20603:511;-1:-1:-1;;;;;;20603:511:0:o;22686:162::-;22825:15;22686:162;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;5:130::-;72:20;;-1:-1;;;;;75785:54;;78006:35;;77996:2;;78055:1;;78045:12;160:707;;277:3;270:4;262:6;258:17;254:27;244:2;;-1:-1;;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;:::i;:::-;354:80;:::i;:::-;462:21;;;345:89;-1:-1;506:4;519:14;;;;494:17;;;608;;;599:27;;;;596:36;-1:-1;593:2;;;645:1;;635:12;593:2;670:1;655:206;680:6;677:1;674:13;655:206;;;760:37;793:3;781:10;760:37;:::i;:::-;748:50;;812:14;;;;840;;;;702:1;695:9;655:206;;;659:14;;;;;237:630;;;;:::o;891:705::-;;1017:3;1010:4;1002:6;998:17;994:27;984:2;;-1:-1;;1025:12;984:2;1072:6;1059:20;1094:89;1109:73;1175:6;1109:73;:::i;1094:89::-;1211:21;;;1085:98;-1:-1;1255:4;1268:14;;;;1243:17;;;1363:1;1348:242;1373:6;1370:1;1367:13;1348:242;;;1480:46;1522:3;1255:4;1456:3;1443:17;1247:6;1431:30;;1480:46;:::i;:::-;1468:59;;1541:14;;;;1569;;;;1395:1;1388:9;1348:242;;1621:708;;1748:3;1741:4;1733:6;1729:17;1725:27;1715:2;;-1:-1;;1756:12;1715:2;1803:6;1790:20;1825:90;1840:74;1907:6;1840:74;:::i;1825:90::-;1943:21;;;1816:99;-1:-1;1987:4;2000:14;;;;1975:17;;;2095:1;2080:243;2105:6;2102:1;2099:13;2080:243;;;2212:47;2255:3;1987:4;2188:3;2175:17;1979:6;2163:30;;2212:47;:::i;:::-;2200:60;;2274:14;;;;2302;;;;2127:1;2120:9;2080:243;;2355:707;;2472:3;2465:4;2457:6;2453:17;2449:27;2439:2;;-1:-1;;2480:12;2439:2;2527:6;2514:20;2549:80;2564:64;2621:6;2564:64;:::i;2549:80::-;2657:21;;;2540:89;-1:-1;2701:4;2714:14;;;;2689:17;;;2803;;;2794:27;;;;2791:36;-1:-1;2788:2;;;2840:1;;2830:12;2788:2;2865:1;2850:206;2875:6;2872:1;2869:13;2850:206;;;4305:20;;2943:50;;3007:14;;;;3035;;;;2897:1;2890:9;2850:206;;3339:440;;3440:3;3433:4;3425:6;3421:17;3417:27;3407:2;;-1:-1;;3448:12;3407:2;3495:6;3482:20;70920:18;70912:6;70909:30;70906:2;;;-1:-1;;70942:12;70906:2;3517:64;71015:9;70996:17;;-1:-1;;70992:33;71083:4;71073:15;3517:64;:::i;:::-;3508:73;;3601:6;3594:5;3587:21;3705:3;71083:4;3696:6;3629;3687:16;;3684:25;3681:2;;;3722:1;;3712:12;3681:2;76917:6;71083:4;3629:6;3625:17;71083:4;3663:5;3659:16;76894:30;76973:1;76955:16;;;71083:4;76955:16;76948:27;3663:5;3400:379;-1:-1;;3400:379::o;4649:241::-;;4753:2;4741:9;4732:7;4728:23;4724:32;4721:2;;;-1:-1;;4759:12;4721:2;4821:53;4866:7;4842:22;4821:53;:::i;4897:491::-;;;;5035:2;5023:9;5014:7;5010:23;5006:32;5003:2;;;-1:-1;;5041:12;5003:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;5093:63;-1:-1;5193:2;5232:22;;72:20;97:33;72:20;97:33;:::i;:::-;4997:391;;5201:63;;-1:-1;;;5301:2;5340:22;;;;4305:20;;4997:391::o;5395:366::-;;;5516:2;5504:9;5495:7;5491:23;5487:32;5484:2;;;-1:-1;;5522:12;5484:2;5584:53;5629:7;5605:22;5584:53;:::i;:::-;5574:63;5674:2;5713:22;;;;4305:20;;-1:-1;;;5478:283::o;5768:1431::-;;;;;;6069:3;6057:9;6048:7;6044:23;6040:33;6037:2;;;-1:-1;;6076:12;6037:2;6134:17;6121:31;6172:18;;6164:6;6161:30;6158:2;;;-1:-1;;6194:12;6158:2;6224:78;6294:7;6285:6;6274:9;6270:22;6224:78;:::i;:::-;6214:88;;6367:2;6356:9;6352:18;6339:32;6325:46;;6172:18;6383:6;6380:30;6377:2;;;-1:-1;;6413:12;6377:2;6443:78;6513:7;6504:6;6493:9;6489:22;6443:78;:::i;:::-;6433:88;;6586:2;6575:9;6571:18;6558:32;6544:46;;6172:18;6602:6;6599:30;6596:2;;;-1:-1;;6632:12;6596:2;6662:88;6742:7;6733:6;6722:9;6718:22;6662:88;:::i;:::-;6652:98;;6815:2;6804:9;6800:18;6787:32;6773:46;;6172:18;6831:6;6828:30;6825:2;;;-1:-1;;6861:12;6825:2;6891:87;6970:7;6961:6;6950:9;6946:22;6891:87;:::i;:::-;6881:97;;7043:3;7032:9;7028:19;7015:33;7001:47;;6172:18;7060:6;7057:30;7054:2;;;-1:-1;;7090:12;7054:2;;7120:63;7175:7;7166:6;7155:9;7151:22;7120:63;:::i;:::-;7110:73;;;6031:1168;;;;;;;;:::o;7206:241::-;;7310:2;7298:9;7289:7;7285:23;7281:32;7278:2;;;-1:-1;;7316:12;7278:2;-1:-1;3268:20;;7272:175;-1:-1;7272:175::o;7702:263::-;;7817:2;7805:9;7796:7;7792:23;7788:32;7785:2;;;-1:-1;;7823:12;7785:2;-1:-1;4453:13;;7779:186;-1:-1;7779:186::o;7972:366::-;;;8093:2;8081:9;8072:7;8068:23;8064:32;8061:2;;;-1:-1;;8099:12;8061:2;4318:6;4305:20;8151:63;;8269:53;8314:7;8251:2;8294:9;8290:22;8269:53;:::i;:::-;8259:63;;8055:283;;;;;:::o;8345:360::-;;;8463:2;8451:9;8442:7;8438:23;8434:32;8431:2;;;-1:-1;;8469:12;8431:2;4318:6;4305:20;8521:63;;8621:2;8661:9;8657:22;3134:20;3159:30;3183:5;3159:30;:::i;:::-;8629:60;;;;8425:280;;;;;:::o;8712:733::-;;;;;;8879:3;8867:9;8858:7;8854:23;8850:33;8847:2;;;-1:-1;;8886:12;8847:2;4318:6;4305:20;8938:63;;9038:2;9078:9;9074:22;3134:20;3159:30;3183:5;3159:30;:::i;:::-;9046:60;-1:-1;9143:2;9180:22;;4581:20;76001:4;75990:16;;78494:33;;78484:2;;-1:-1;;78531:12;78484:2;8841:604;;;;-1:-1;9151:61;;9249:2;9288:22;;3268:20;;-1:-1;9357:3;9397:22;3268:20;;8841:604;-1:-1;;8841:604::o;10785:690::-;;10978:5;72188:12;73547:6;73542:3;73535:19;73584:4;;73579:3;73575:14;10990:93;;73584:4;11154:5;71549:14;-1:-1;11193:260;11218:6;11215:1;11212:13;11193:260;;;11279:13;;-1:-1;;;;;75785:54;10426:37;;9606:14;;;;73026;;;;75796:42;11233:9;11193:260;;;-1:-1;11459:10;;10909:566;-1:-1;;;;;10909:566::o;11510:920::-;;11730:5;72188:12;73547:6;73542:3;73535:19;73584:4;;73579:3;73575:14;11742:102;;;;73584:4;11901:6;11897:17;11892:3;11888:27;11876:39;;73584:4;11995:5;71549:14;-1:-1;12034:357;12059:6;12056:1;12053:13;12034:357;;;12121:9;12115:4;12111:20;12106:3;12099:33;9754:64;9814:3;12166:6;12160:13;9754:64;:::i;:::-;12370:14;;;;12180:90;-1:-1;73026:14;;;;12081:1;12074:9;12034:357;;;-1:-1;12414:10;;11652:778;-1:-1;;;;;;;11652:778::o;13434:690::-;;13627:5;72188:12;73547:6;73542:3;73535:19;73584:4;;73579:3;73575:14;13639:93;;73584:4;13803:5;71549:14;-1:-1;13842:260;13867:6;13864:1;13861:13;13842:260;;;13928:13;;14415:37;;10188:14;;;;73026;;;;13889:1;13882:9;13842:260;;14778:323;;14910:5;72188:12;73547:6;73542:3;73535:19;14993:52;15038:6;73584:4;73579:3;73575:14;73584:4;15019:5;15015:16;14993:52;:::i;:::-;71015:9;77693:14;-1:-1;;77689:28;15057:39;;;;73584:4;15057:39;;14858:243;-1:-1;;14858:243::o;37005:405::-;-1:-1;;;;;;75486:78;;14710:56;;72188:12;;37005:405;;15729:52;72188:12;37272:1;37263:11;;15762:4;15751:16;;15729:52;:::i;:::-;15793:16;;;;37272:1;15793:16;;37165:245;-1:-1;;;37165:245::o;37417:271::-;;15618:5;72188:12;15729:52;15774:6;15769:3;15762:4;15755:5;15751:16;15729:52;:::i;:::-;15793:16;;;;;37551:137;-1:-1;;37551:137::o;37695:659::-;-1:-1;;;20755:87;;20740:1;20861:11;;14415:37;;;;38206:12;;;14415:37;38317:12;;;37940:414::o;38361:520::-;29185:28;29165:49;;77804:2;77800:14;;;;-1:-1;;77800:14;29149:2;29233:12;;10684:58;38844:12;;;38578:303::o;38888:222::-;-1:-1;;;;;75785:54;;;;10426:37;;39015:2;39000:18;;38986:124::o;39117:349::-;-1:-1;;;;;75785:54;;;;10295:58;;39452:2;39437:18;;14415:37;39280:2;39265:18;;39251:215::o;39473:444::-;-1:-1;;;;;75785:54;;;10426:37;;75785:54;;;;39820:2;39805:18;;10426:37;39903:2;39888:18;;14415:37;;;;39656:2;39641:18;;39627:290::o;40264:544::-;-1:-1;;;;;75785:54;;;;10426:37;;40634:2;40619:18;;14415:37;;;;75320:13;75313:21;40711:2;40696:18;;14187:34;40794:2;40779:18;;14415:37;40469:3;40454:19;;40440:368::o;40815:840::-;;75796:42;;;;;75236:5;75785:54;10433:3;10426:37;14445:5;41257:2;41246:9;41242:18;14415:37;41092:3;41294:2;41283:9;41279:18;41272:48;41334:78;41092:3;41081:9;41077:19;41398:6;41334:78;:::i;:::-;41460:9;41454:4;41450:20;41445:2;41434:9;41430:18;41423:48;41485:76;41556:4;41547:6;41485:76;:::i;:::-;41477:84;;;14445:5;41640:3;41629:9;41625:19;14415:37;41063:592;;;;;;;;:::o;41662:1224::-;;42111:3;42133:17;42126:47;42187:108;42111:3;42100:9;42096:19;42281:6;42187:108;:::i;:::-;42343:9;42337:4;42333:20;42328:2;42317:9;42313:18;42306:48;42368:108;42471:4;42462:6;42368:108;:::i;:::-;42360:116;;42524:9;42518:4;42514:20;42509:2;42498:9;42494:18;42487:48;42549:128;42672:4;42663:6;42549:128;:::i;:::-;42541:136;;42725:9;42719:4;42715:20;42710:2;42699:9;42695:18;42688:48;42750:126;42871:4;42862:6;42750:126;:::i;42893:210::-;75320:13;;75313:21;14187:34;;43014:2;42999:18;;42985:118::o;43110:222::-;14415:37;;;43237:2;43222:18;;43208:124::o;43339:432::-;14415:37;;;43680:2;43665:18;;14415:37;;;;75320:13;75313:21;43757:2;43742:18;;14187:34;43516:2;43501:18;;43487:284::o;43778:548::-;14415:37;;;76001:4;75990:16;;;;44146:2;44131:18;;36958:35;44229:2;44214:18;;14415:37;44312:2;44297:18;;14415:37;43985:3;43970:19;;43956:370::o;44594:252::-;44736:2;44721:18;;77918:1;77908:12;;77898:2;;77924:9;77898:2;16072:65;;;44707:139;:::o;44853:310::-;;45000:2;45021:17;45014:47;45075:78;45000:2;44989:9;44985:18;45139:6;45075:78;:::i;45170:416::-;45370:2;45384:47;;;17062:2;45355:18;;;73535:19;17098:34;73575:14;;;17078:55;-1:-1;;;17153:12;;;17146:29;17194:12;;;45341:245::o;45593:416::-;45793:2;45807:47;;;17445:2;45778:18;;;73535:19;17481:34;73575:14;;;17461:55;17550:34;17536:12;;;17529:56;-1:-1;;;17605:12;;;17598:45;17662:12;;;45764:245::o;46016:416::-;46216:2;46230:47;;;17913:2;46201:18;;;73535:19;17949:34;73575:14;;;17929:55;-1:-1;;;18004:12;;;17997:31;18047:12;;;46187:245::o;46439:416::-;46639:2;46653:47;;;18298:2;46624:18;;;73535:19;18334:34;73575:14;;;18314:55;18403:34;18389:12;;;18382:56;-1:-1;;;18458:12;;;18451:25;18495:12;;;46610:245::o;46862:416::-;47062:2;47076:47;;;18746:2;47047:18;;;73535:19;18782:34;73575:14;;;18762:55;-1:-1;;;18837:12;;;18830:35;18884:12;;;47033:245::o;47285:416::-;47485:2;47499:47;;;19135:2;47470:18;;;73535:19;19171:34;73575:14;;;19151:55;-1:-1;;;19226:12;;;19219:31;19269:12;;;47456:245::o;47708:416::-;47908:2;47922:47;;;19520:2;47893:18;;;73535:19;19556:34;73575:14;;;19536:55;-1:-1;;;19611:12;;;19604:27;19650:12;;;47879:245::o;48131:416::-;48331:2;48345:47;;;19901:2;48316:18;;;73535:19;-1:-1;;;;;;;;;;;73575:14;;;19917:55;-1:-1;;;19992:12;;;19985:43;20047:12;;;48302:245::o;48554:416::-;48754:2;48768:47;;;20298:2;48739:18;;;73535:19;20334:34;73575:14;;;20314:55;20403:30;20389:12;;;20382:52;20453:12;;;48725:245::o;48977:416::-;49177:2;49191:47;;;21111:2;49162:18;;;73535:19;21147:29;73575:14;;;21127:50;21196:12;;;49148:245::o;49400:416::-;49600:2;49614:47;;;21447:2;49585:18;;;73535:19;21483:34;73575:14;;;21463:55;-1:-1;;;21538:12;;;21531:33;21583:12;;;49571:245::o;49823:416::-;50023:2;50037:47;;;21834:2;50008:18;;;73535:19;21870:34;73575:14;;;21850:55;-1:-1;;;21925:12;;;21918:28;21965:12;;;49994:245::o;50246:416::-;50446:2;50460:47;;;22216:2;50431:18;;;73535:19;-1:-1;;;;;;;;;;;73575:14;;;22232:55;22321:34;22307:12;;;22300:56;-1:-1;;;22376:12;;;22369:29;22417:12;;;50417:245::o;50669:416::-;50869:2;50883:47;;;22668:2;50854:18;;;73535:19;22704:34;73575:14;;;22684:55;-1:-1;;;22759:12;;;22752:30;22801:12;;;50840:245::o;51092:416::-;51292:2;51306:47;;;23052:2;51277:18;;;73535:19;23088:34;73575:14;;;23068:55;-1:-1;;;23143:12;;;23136:44;23199:12;;;51263:245::o;51515:416::-;51715:2;51729:47;;;23450:2;51700:18;;;73535:19;23486:34;73575:14;;;23466:55;-1:-1;;;23541:12;;;23534:43;23596:12;;;51686:245::o;51938:416::-;52138:2;52152:47;;;23847:2;52123:18;;;73535:19;23883:34;73575:14;;;23863:55;-1:-1;;;23938:12;;;23931:33;23983:12;;;52109:245::o;52361:416::-;52561:2;52575:47;;;24234:2;52546:18;;;73535:19;24270:34;73575:14;;;24250:55;24339:34;24325:12;;;24318:56;-1:-1;;;24394:12;;;24387:25;24431:12;;;52532:245::o;52784:416::-;52984:2;52998:47;;;24682:2;52969:18;;;73535:19;24718:34;73575:14;;;24698:55;-1:-1;;;24773:12;;;24766:36;24821:12;;;52955:245::o;53207:416::-;53407:2;53421:47;;;25072:2;53392:18;;;73535:19;25108:34;73575:14;;;25088:55;25177:34;25163:12;;;25156:56;-1:-1;;;25232:12;;;25225:25;25269:12;;;53378:245::o;53630:416::-;53830:2;53844:47;;;25520:2;53815:18;;;73535:19;25556:34;73575:14;;;25536:55;-1:-1;;;25611:12;;;25604:33;25656:12;;;53801:245::o;54053:416::-;54253:2;54267:47;;;25907:2;54238:18;;;73535:19;25943:34;73575:14;;;25923:55;-1:-1;;;25998:12;;;25991:28;26038:12;;;54224:245::o;54476:416::-;54676:2;54690:47;;;26289:2;54661:18;;;73535:19;26325:34;73575:14;;;26305:55;-1:-1;;;26380:12;;;26373:29;26421:12;;;54647:245::o;54899:416::-;55099:2;55113:47;;;26672:2;55084:18;;;73535:19;26708:34;73575:14;;;26688:55;26777:26;26763:12;;;26756:48;26823:12;;;55070:245::o;55322:416::-;55522:2;55536:47;;;27074:2;55507:18;;;73535:19;27110:34;73575:14;;;27090:55;-1:-1;;;27165:12;;;27158:34;27211:12;;;55493:245::o;55745:416::-;55945:2;55959:47;;;27462:2;55930:18;;;73535:19;27498:34;73575:14;;;27478:55;-1:-1;;;27553:12;;;27546:38;27603:12;;;55916:245::o;56168:416::-;56368:2;56382:47;;;27854:2;56353:18;;;73535:19;-1:-1;;;;;;;;;;;73575:14;;;27870:55;27959:31;27945:12;;;27938:53;28010:12;;;56339:245::o;56591:416::-;56791:2;56805:47;;;28261:2;56776:18;;;73535:19;28297:34;73575:14;;;28277:55;-1:-1;;;28352:12;;;28345:29;28393:12;;;56762:245::o;57014:416::-;57214:2;57228:47;;;28644:2;57199:18;;;73535:19;28680:34;73575:14;;;28660:55;28749:34;28735:12;;;28728:56;-1:-1;;;28804:12;;;28797:46;28862:12;;;57185:245::o;57437:416::-;57637:2;57651:47;;;29484:2;57622:18;;;73535:19;29520:34;73575:14;;;29500:55;-1:-1;;;29575:12;;;29568:38;29625:12;;;57608:245::o;57860:416::-;58060:2;58074:47;;;29876:2;58045:18;;;73535:19;29912:34;73575:14;;;29892:55;29981:25;29967:12;;;29960:47;30026:12;;;58031:245::o;58283:416::-;58483:2;58497:47;;;30277:2;58468:18;;;73535:19;30313:34;73575:14;;;30293:55;-1:-1;;;30368:12;;;30361:25;30405:12;;;58454:245::o;58706:416::-;58906:2;58920:47;;;30656:2;58891:18;;;73535:19;30692:34;73575:14;;;30672:55;-1:-1;;;30747:12;;;30740:34;30793:12;;;58877:245::o;59129:416::-;59329:2;59343:47;;;31044:2;59314:18;;;73535:19;31080:34;73575:14;;;31060:55;-1:-1;;;31135:12;;;31128:36;31183:12;;;59300:245::o;59552:416::-;59752:2;59766:47;;;31434:2;59737:18;;;73535:19;31470:34;73575:14;;;31450:55;-1:-1;;;31525:12;;;31518:29;31566:12;;;59723:245::o;59975:416::-;60175:2;60189:47;;;31817:2;60160:18;;;73535:19;31853:31;73575:14;;;31833:52;31904:12;;;60146:245::o;60398:416::-;60598:2;60612:47;;;32155:2;60583:18;;;73535:19;32191:34;73575:14;;;32171:55;-1:-1;;;32246:12;;;32239:35;32293:12;;;60569:245::o;60821:416::-;61021:2;61035:47;;;32544:2;61006:18;;;73535:19;-1:-1;;;;;;;;;;;73575:14;;;32560:55;32649:31;32635:12;;;32628:53;32700:12;;;60992:245::o;61244:416::-;61444:2;61458:47;;;32951:2;61429:18;;;73535:19;32987:34;73575:14;;;32967:55;-1:-1;;;33042:12;;;33035:30;33084:12;;;61415:245::o;61667:416::-;61867:2;61881:47;;;33335:2;61852:18;;;73535:19;33371:34;73575:14;;;33351:55;-1:-1;;;33426:12;;;33419:37;33475:12;;;61838:245::o;62090:416::-;62290:2;62304:47;;;33726:2;62275:18;;;73535:19;33762:34;73575:14;;;33742:55;33831:34;33817:12;;;33810:56;-1:-1;;;33886:12;;;33879:33;33931:12;;;62261:245::o;62513:416::-;62713:2;62727:47;;;34182:2;62698:18;;;73535:19;34218:34;73575:14;;;34198:55;34287:34;34273:12;;;34266:56;-1:-1;;;34342:12;;;34335:26;34380:12;;;62684:245::o;62936:416::-;63136:2;63150:47;;;34631:2;63121:18;;;73535:19;34667:34;73575:14;;;34647:55;-1:-1;;;34722:12;;;34715:38;34772:12;;;63107:245::o;63359:416::-;63559:2;63573:47;;;35023:2;63544:18;;;73535:19;35059:34;73575:14;;;35039:55;-1:-1;;;35114:12;;;35107:41;35167:12;;;63530:245::o;63782:416::-;63982:2;63996:47;;;35418:2;63967:18;;;73535:19;35454:34;73575:14;;;35434:55;-1:-1;;;35509:12;;;35502:40;35561:12;;;63953:245::o;64205:416::-;64405:2;64419:47;;;35812:2;64390:18;;;73535:19;35848:34;73575:14;;;35828:55;-1:-1;;;35903:12;;;35896:28;35943:12;;;64376:245::o;64628:318::-;36241:23;;75320:13;75313:21;14187:34;;36409:4;36398:16;;;36392:23;75320:13;75313:21;36463:14;;;14187:34;36558:4;36547:16;;;36541:23;36618:14;;;14415:37;;;;64803:2;64788:18;;64774:172::o;65182:1888::-;14415:37;;;-1:-1;;;;;75785:54;;65972:2;65957:18;;10295:58;65799:3;66009:2;65994:18;;65987:48;;;65182:1888;;66049:108;65784:19;;;66143:6;66049:108;:::i;:::-;66041:116;;66205:9;66199:4;66195:20;66190:2;66179:9;66175:18;66168:48;66230:108;66333:4;66324:6;66230:108;:::i;:::-;66222:116;;66387:9;66381:4;66377:20;66371:3;66360:9;66356:19;66349:49;66412:128;66535:4;66526:6;66412:128;:::i;:::-;66404:136;;66589:9;66583:4;66579:20;66573:3;66562:9;66558:19;66551:49;66614:126;66735:4;66726:6;66614:126;:::i;:::-;66606:134;;14445:5;66819:3;66808:9;66804:19;14415:37;14445:5;66903:3;66892:9;66888:19;14415:37;66957:9;66951:4;66947:20;66941:3;66930:9;66926:19;66919:49;66982:78;67055:4;67046:6;66982:78;:::i;:::-;66974:86;65770:1300;-1:-1;;;;;;;;;;;;65770:1300::o;67077:1092::-;14415:37;;;-1:-1;;;;;75785:54;;;;67581:2;67566:18;;10426:37;67664:2;67649:18;;14415:37;;;;67747:2;67732:18;;14415:37;;;;67830:3;67815:19;;14415:37;;;;75796:42;67899:19;;14415:37;67998:3;67983:19;;14415:37;75320:13;75313:21;68076:3;68061:19;;14187:34;75320:13;75313:21;68154:3;68139:19;;14187:34;67416:3;67401:19;;67387:782::o;68176:728::-;;14445:5;14422:3;14415:37;68425:3;68544:2;68533:9;68529:18;68522:48;68584:78;68425:3;68414:9;68410:19;68648:6;68584:78;:::i;:::-;68710:9;68704:4;68700:20;68695:2;68684:9;68680:18;68673:48;68735:76;68806:4;68797:6;68735:76;:::i;:::-;68727:84;;;14445:5;68890:2;68879:9;68875:18;14415:37;68396:508;;;;;;;:::o;68911:333::-;14415:37;;;69230:2;69215:18;;14415:37;69066:2;69051:18;;69037:207::o;69251:256::-;69313:2;69307:9;69339:17;;;69414:18;69399:34;;69435:22;;;69396:62;69393:2;;;69471:1;;69461:12;69393:2;69313;69480:22;69291:216;;-1:-1;69291:216::o;69514:304::-;;69673:18;69665:6;69662:30;69659:2;;;-1:-1;;69695:12;69659:2;-1:-1;69740:4;69728:17;;;69793:15;;69596:222::o;76990:268::-;77055:1;77062:101;77076:6;77073:1;77070:13;77062:101;;;77143:11;;;77137:18;77124:11;;;77117:39;77098:2;77091:10;77062:101;;;77178:6;77175:1;77172:13;77169:2;;;-1:-1;;77055:1;77225:16;;77218:27;77039:219::o;77947:117::-;-1:-1;;;;;75785:54;;78006:35;;77996:2;;78055:1;;78045:12;78071:111;78152:5;75320:13;75313:21;78130:5;78127:32;78117:2;;78173:1;;78163:12
Swarm Source
ipfs://1f27d8393d4a4ffad834347885fe5af18b6ef743417c8446d8f7aaeeab66e121
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.