Sepolia Testnet

Contract

0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
Sponsored: Advertise across our explorers and boost your visibility. Book your slot here! 
Source Code Source Code

Overview

ETH Balance

0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount
Approve Authoriz...71740732024-11-29 2:57:00644 days ago1732849020IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000070941.50090131
Join Sortition P...69152772024-10-21 8:42:24683 days ago1729500144IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.0006523812.45128976
Register Operato...69114532024-10-20 17:26:12684 days ago1729445172IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000154092.08511667
Update Operator ...68699292024-10-13 19:01:12690 days ago1728846072IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000409969.97138007
Register Operato...68697162024-10-13 18:08:24690 days ago1728842904IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.0011009514.89788068
Register Operato...63809872024-07-26 20:13:36769 days ago1722024816IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000529667.16725313
Update Operator ...60798762024-06-10 17:06:24816 days ago1718039184IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.0005632412.13149793
Register Operato...59158532024-05-16 17:03:00841 days ago1715878980IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.0032116443.45933636
Update Operator ...57532042024-04-22 13:05:24865 days ago1713791124IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000090260.83346702
Update Operator ...57531732024-04-22 12:59:12865 days ago1713790752IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000078290.72296512
Update Operator ...57531702024-04-22 12:58:36865 days ago1713790716IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000078030.72298612
Update Operator ...57531702024-04-22 12:58:36865 days ago1713790716IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000078290.72298612
Update Operator ...57531672024-04-22 12:58:00865 days ago1713790680IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000078310.72314253
Update Operator ...57531672024-04-22 12:58:00865 days ago1713790680IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000078050.72314253
Update Operator ...57531672024-04-22 12:58:00865 days ago1713790680IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000078310.72314253
Update Operator ...57531672024-04-22 12:58:00865 days ago1713790680IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000078310.72314253
Update Operator ...57531672024-04-22 12:58:00865 days ago1713790680IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000078310.72314253
Update Operator ...57531672024-04-22 12:58:00865 days ago1713790680IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000078310.72314253
Register Operato...54654902024-03-11 19:18:12906 days ago1710184692IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000185382.50862324
Register Operato...51899942024-01-31 9:46:24947 days ago1706694384IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.0030475541.23887578
Register Operato...49115202023-12-18 15:23:36991 days ago1702913016IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.0015121320.46195251
Register Operato...49111922023-12-18 14:10:36991 days ago1702908636IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.0023098531.25649569
Register Operato...48864522023-12-14 18:40:24994 days ago1702579224IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000111641.51079072
Register Operato...48792402023-12-13 14:33:24996 days ago1702478004IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.0016897322.86513518
Register Operato...47900832023-11-29 16:15:241010 days ago1701274524IN
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
0 ETH0.000015770.21341848
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Source Code Verified Exact Match

Contract Name

RandomBeacon

Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled
Yes with 200 runs
Other Settings
default evmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract ABI
API
[{"inputs":[{"internalType":"contract SortitionPool","name":"_sortitionPool","type":"address"},{"internalType":"contract IERC20","name":"_tToken","type":"address"},{"internalType":"contract IStaking","name":"_staking","type":"address"},{"internalType":"contract BeaconDkgValidator","name":"_dkgValidator","type":"address"},{"internalType":"contract ReimbursementPool","name":"_reimbursementPool","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"stakingProvider","type":"address"}],"name":"AuthorizationDecreaseApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"stakingProvider","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"uint96","name":"fromAmount","type":"uint96"},{"indexed":false,"internalType":"uint96","name":"toAmount","type":"uint96"},{"indexed":false,"internalType":"uint64","name":"decreasingAt","type":"uint64"}],"name":"AuthorizationDecreaseRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"stakingProvider","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"uint96","name":"fromAmount","type":"uint96"},{"indexed":false,"internalType":"uint96","name":"toAmount","type":"uint96"}],"name":"AuthorizationIncreased","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint96","name":"minimumAuthorization","type":"uint96"},{"indexed":false,"internalType":"uint64","name":"authorizationDecreaseDelay","type":"uint64"},{"indexed":false,"internalType":"uint64","name":"authorizationDecreaseChangePeriod","type":"uint64"}],"name":"AuthorizationParametersUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"entry","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"entrySubmittedBlock","type":"uint256"}],"name":"CallbackFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"resultHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"slashingAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"maliciousSubmitter","type":"address"}],"name":"DkgMaliciousResultSlashed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"resultHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"slashingAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"maliciousSubmitter","type":"address"}],"name":"DkgMaliciousResultSlashingFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"resultHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"approver","type":"address"}],"name":"DkgResultApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"resultHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"challenger","type":"address"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"DkgResultChallenged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"resultHash","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"seed","type":"uint256"},{"components":[{"internalType":"uint256","name":"submitterMemberIndex","type":"uint256"},{"internalType":"bytes","name":"groupPubKey","type":"bytes"},{"internalType":"uint8[]","name":"misbehavedMembersIndices","type":"uint8[]"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"uint256[]","name":"signingMembersIndices","type":"uint256[]"},{"internalType":"uint32[]","name":"members","type":"uint32[]"},{"internalType":"bytes32","name":"membersHash","type":"bytes32"}],"indexed":false,"internalType":"struct BeaconDkg.Result","name":"result","type":"tuple"}],"name":"DkgResultSubmitted","type":"event"},{"anonymous":false,"inputs":[],"name":"DkgSeedTimedOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"seed","type":"uint256"}],"name":"DkgStarted","type":"event"},{"anonymous":false,"inputs":[],"name":"DkgStateLocked","type":"event"},{"anonymous":false,"inputs":[],"name":"DkgTimedOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"dkgResultSubmissionGas","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"dkgResultApprovalGasOffset","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"notifyOperatorInactivityGasOffset","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"relayEntrySubmissionGasOffset","type":"uint256"}],"name":"GasParametersUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldGovernance","type":"address"},{"indexed":false,"internalType":"address","name":"newGovernance","type":"address"}],"name":"GovernanceTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"groupCreationFrequency","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"groupLifetime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"dkgResultChallengePeriodLength","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"dkgResultChallengeExtraGas","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"dkgResultSubmissionTimeout","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"dkgResultSubmitterPrecedencePeriodLength","type":"uint256"}],"name":"GroupCreationParametersUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"groupId","type":"uint64"},{"indexed":true,"internalType":"bytes","name":"groupPubKey","type":"bytes"}],"name":"GroupRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"groupId","type":"uint64"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":false,"internalType":"address","name":"notifier","type":"address"}],"name":"InactivityClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"stakingProvider","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"uint96","name":"fromAmount","type":"uint96"},{"indexed":false,"internalType":"uint96","name":"toAmount","type":"uint96"}],"name":"InvoluntaryAuthorizationDecreaseFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"stakingProvider","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"}],"name":"OperatorJoinedSortitionPool","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"stakingProvider","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"}],"name":"OperatorRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"stakingProvider","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"}],"name":"OperatorStatusUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newReimbursementPool","type":"address"}],"name":"ReimbursementPoolUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"slashingAmount","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"groupMembers","type":"address[]"}],"name":"RelayEntryDelaySlashed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"slashingAmount","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"groupMembers","type":"address[]"}],"name":"RelayEntryDelaySlashingFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"relayEntrySoftTimeout","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"relayEntryHardTimeout","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"callbackGasLimit","type":"uint256"}],"name":"RelayEntryParametersUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"uint64","name":"groupId","type":"uint64"},{"indexed":false,"internalType":"bytes","name":"previousEntry","type":"bytes"}],"name":"RelayEntryRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"address","name":"submitter","type":"address"},{"indexed":false,"internalType":"bytes","name":"entry","type":"bytes"}],"name":"RelayEntrySubmitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"uint64","name":"terminatedGroupId","type":"uint64"}],"name":"RelayEntryTimedOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"slashingAmount","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"groupMembers","type":"address[]"}],"name":"RelayEntryTimeoutSlashed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"slashingAmount","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"groupMembers","type":"address[]"}],"name":"RelayEntryTimeoutSlashingFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"requester","type":"address"},{"indexed":false,"internalType":"bool","name":"isAuthorized","type":"bool"}],"name":"RequesterAuthorizationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sortitionPoolRewardsBanDuration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"relayEntryTimeoutNotificationRewardMultiplier","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unauthorizedSigningNotificationRewardMultiplier","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"dkgMaliciousResultNotificationRewardMultiplier","type":"uint256"}],"name":"RewardParametersUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"stakingProvider","type":"address"},{"indexed":false,"internalType":"uint96","name":"amount","type":"uint96"}],"name":"RewardsWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"relayEntrySubmissionFailureSlashingAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"maliciousDkgResultSlashingAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unauthorizedSigningSlashingAmount","type":"uint256"}],"name":"SlashingParametersUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"groupId","type":"uint64"},{"indexed":false,"internalType":"uint256","name":"unauthorizedSigningSlashingAmount","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"groupMembers","type":"address[]"}],"name":"UnauthorizedSigningSlashed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"groupId","type":"uint64"},{"indexed":false,"internalType":"uint256","name":"unauthorizedSigningSlashingAmount","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"groupMembers","type":"address[]"}],"name":"UnauthorizedSigningSlashingFailed","type":"event"},{"inputs":[{"internalType":"address","name":"stakingProvider","type":"address"}],"name":"approveAuthorizationDecrease","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"submitterMemberIndex","type":"uint256"},{"internalType":"bytes","name":"groupPubKey","type":"bytes"},{"internalType":"uint8[]","name":"misbehavedMembersIndices","type":"uint8[]"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"uint256[]","name":"signingMembersIndices","type":"uint256[]"},{"internalType":"uint32[]","name":"members","type":"uint32[]"},{"internalType":"bytes32","name":"membersHash","type":"bytes32"}],"internalType":"struct BeaconDkg.Result","name":"dkgResult","type":"tuple"}],"name":"approveDkgResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"stakingProvider","type":"address"},{"internalType":"uint96","name":"fromAmount","type":"uint96"},{"internalType":"uint96","name":"toAmount","type":"uint96"}],"name":"authorizationDecreaseRequested","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"stakingProvider","type":"address"},{"internalType":"uint96","name":"fromAmount","type":"uint96"},{"internalType":"uint96","name":"toAmount","type":"uint96"}],"name":"authorizationIncreased","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authorizationParameters","outputs":[{"internalType":"uint96","name":"minimumAuthorization","type":"uint96"},{"internalType":"uint64","name":"authorizationDecreaseDelay","type":"uint64"},{"internalType":"uint64","name":"authorizationDecreaseChangePeriod","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedRequesters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakingProvider","type":"address"}],"name":"availableRewards","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"submitterMemberIndex","type":"uint256"},{"internalType":"bytes","name":"groupPubKey","type":"bytes"},{"internalType":"uint8[]","name":"misbehavedMembersIndices","type":"uint8[]"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"uint256[]","name":"signingMembersIndices","type":"uint256[]"},{"internalType":"uint32[]","name":"members","type":"uint32[]"},{"internalType":"bytes32","name":"membersHash","type":"bytes32"}],"internalType":"struct BeaconDkg.Result","name":"dkgResult","type":"tuple"}],"name":"challengeDkgResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"stakingProvider","type":"address"}],"name":"eligibleStake","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gasParameters","outputs":[{"internalType":"uint256","name":"dkgResultSubmissionGas","type":"uint256"},{"internalType":"uint256","name":"dkgResultApprovalGasOffset","type":"uint256"},{"internalType":"uint256","name":"notifyOperatorInactivityGasOffset","type":"uint256"},{"internalType":"uint256","name":"relayEntrySubmissionGasOffset","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"groupId","type":"uint64"}],"name":"getGroup","outputs":[{"components":[{"internalType":"bytes","name":"groupPubKey","type":"bytes"},{"internalType":"uint256","name":"registrationBlockNumber","type":"uint256"},{"internalType":"bytes32","name":"membersHash","type":"bytes32"},{"internalType":"bool","name":"terminated","type":"bool"}],"internalType":"struct Groups.Group","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"groupPubKey","type":"bytes"}],"name":"getGroup","outputs":[{"components":[{"internalType":"bytes","name":"groupPubKey","type":"bytes"},{"internalType":"uint256","name":"registrationBlockNumber","type":"uint256"},{"internalType":"bytes32","name":"membersHash","type":"bytes32"},{"internalType":"bool","name":"terminated","type":"bool"}],"internalType":"struct Groups.Group","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGroupCreationState","outputs":[{"internalType":"enum BeaconDkg.State","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGroupsRegistry","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"groupCreationParameters","outputs":[{"internalType":"uint256","name":"groupCreationFrequency","type":"uint256"},{"internalType":"uint256","name":"groupLifetime","type":"uint256"},{"internalType":"uint256","name":"dkgResultChallengePeriodLength","type":"uint256"},{"internalType":"uint256","name":"dkgResultChallengeExtraGas","type":"uint256"},{"internalType":"uint256","name":"dkgResultSubmissionTimeout","type":"uint256"},{"internalType":"uint256","name":"dkgSubmitterPrecedencePeriodLength","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hasDkgTimedOut","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"","type":"uint64"}],"name":"inactivityClaimNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakingProvider","type":"address"},{"internalType":"uint96","name":"fromAmount","type":"uint96"},{"internalType":"uint96","name":"toAmount","type":"uint96"}],"name":"involuntaryAuthorizationDecrease","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"isOperatorInPool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"isOperatorUpToDate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isRelayRequestInProgress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"joinSortitionPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minimumAuthorization","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"notifyDkgTimeout","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint64","name":"groupId","type":"uint64"},{"internalType":"uint256[]","name":"inactiveMembersIndices","type":"uint256[]"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"uint256[]","name":"signingMembersIndices","type":"uint256[]"}],"internalType":"struct BeaconInactivity.Claim","name":"claim","type":"tuple"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint32[]","name":"groupMembers","type":"uint32[]"}],"name":"notifyOperatorInactivity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"operatorToStakingProvider","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakingProvider","type":"address"}],"name":"pendingAuthorizationDecrease","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"registerOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reimbursementPool","outputs":[{"internalType":"contract ReimbursementPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relayEntryParameters","outputs":[{"internalType":"uint256","name":"relayEntrySoftTimeout","type":"uint256"},{"internalType":"uint256","name":"relayEntryHardTimeout","type":"uint256"},{"internalType":"uint256","name":"callbackGasLimit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakingProvider","type":"address"}],"name":"remainingAuthorizationDecreaseDelay","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"groupMembers","type":"uint32[]"}],"name":"reportRelayEntryTimeout","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"signedMsgSender","type":"bytes"},{"internalType":"uint64","name":"groupId","type":"uint64"},{"internalType":"uint32[]","name":"groupMembers","type":"uint32[]"}],"name":"reportUnauthorizedSigning","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRandomBeaconConsumer","name":"callbackContract","type":"address"}],"name":"requestRelayEntry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardParameters","outputs":[{"internalType":"uint256","name":"sortitionPoolRewardsBanDuration","type":"uint256"},{"internalType":"uint256","name":"relayEntryTimeoutNotificationRewardMultiplier","type":"uint256"},{"internalType":"uint256","name":"unauthorizedSigningNotificationRewardMultiplier","type":"uint256"},{"internalType":"uint256","name":"dkgMaliciousResultNotificationRewardMultiplier","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"selectGroup","outputs":[{"internalType":"uint32[]","name":"","type":"uint32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"bool","name":"isAuthorized","type":"bool"}],"name":"setRequesterAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"slashingParameters","outputs":[{"internalType":"uint96","name":"relayEntrySubmissionFailureSlashingAmount","type":"uint96"},{"internalType":"uint96","name":"maliciousDkgResultSlashingAmount","type":"uint96"},{"internalType":"uint96","name":"unauthorizedSigningSlashingAmount","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sortitionPool","outputs":[{"internalType":"contract SortitionPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"staking","outputs":[{"internalType":"contract IStaking","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakingProvider","type":"address"}],"name":"stakingProviderToOperator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"submitterMemberIndex","type":"uint256"},{"internalType":"bytes","name":"groupPubKey","type":"bytes"},{"internalType":"uint8[]","name":"misbehavedMembersIndices","type":"uint8[]"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"uint256[]","name":"signingMembersIndices","type":"uint256[]"},{"internalType":"uint32[]","name":"members","type":"uint32[]"},{"internalType":"bytes32","name":"membersHash","type":"bytes32"}],"internalType":"struct BeaconDkg.Result","name":"dkgResult","type":"tuple"}],"name":"submitDkgResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"entry","type":"bytes"},{"internalType":"uint32[]","name":"groupMembers","type":"uint32[]"}],"name":"submitRelayEntry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"entry","type":"bytes"}],"name":"submitRelayEntry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newGovernance","type":"address"}],"name":"transferGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint96","name":"_minimumAuthorization","type":"uint96"},{"internalType":"uint64","name":"_authorizationDecreaseDelay","type":"uint64"},{"internalType":"uint64","name":"_authorizationDecreaseChangePeriod","type":"uint64"}],"name":"updateAuthorizationParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dkgResultSubmissionGas","type":"uint256"},{"internalType":"uint256","name":"dkgResultApprovalGasOffset","type":"uint256"},{"internalType":"uint256","name":"notifyOperatorInactivityGasOffset","type":"uint256"},{"internalType":"uint256","name":"relayEntrySubmissionGasOffset","type":"uint256"}],"name":"updateGasParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"groupCreationFrequency","type":"uint256"},{"internalType":"uint256","name":"groupLifetime","type":"uint256"},{"internalType":"uint256","name":"dkgResultChallengePeriodLength","type":"uint256"},{"internalType":"uint256","name":"dkgResultChallengeExtraGas","type":"uint256"},{"internalType":"uint256","name":"dkgResultSubmissionTimeout","type":"uint256"},{"internalType":"uint256","name":"dkgSubmitterPrecedencePeriodLength","type":"uint256"}],"name":"updateGroupCreationParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"updateOperatorStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ReimbursementPool","name":"_reimbursementPool","type":"address"}],"name":"updateReimbursementPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"relayEntrySoftTimeout","type":"uint256"},{"internalType":"uint256","name":"relayEntryHardTimeout","type":"uint256"},{"internalType":"uint256","name":"callbackGasLimit","type":"uint256"}],"name":"updateRelayEntryParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sortitionPoolRewardsBanDuration","type":"uint256"},{"internalType":"uint256","name":"relayEntryTimeoutNotificationRewardMultiplier","type":"uint256"},{"internalType":"uint256","name":"unauthorizedSigningNotificationRewardMultiplier","type":"uint256"},{"internalType":"uint256","name":"dkgMaliciousResultNotificationRewardMultiplier","type":"uint256"}],"name":"updateRewardParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint96","name":"relayEntrySubmissionFailureSlashingAmount","type":"uint96"},{"internalType":"uint96","name":"maliciousDkgResultSlashingAmount","type":"uint96"},{"internalType":"uint96","name":"unauthorizedSigningSlashingAmount","type":"uint96"}],"name":"updateSlashingParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"withdrawIneligibleRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"stakingProvider","type":"address"}],"name":"withdrawRewards","outputs":[],"stateMutability":"nonpayable","type":"function"}]
60806040523480156200001157600080fd5b5060405162006ab738038062006ab7833981016040819052620000349162000a49565b607180546001600160a01b038088166001600160a01b0319928316811790935560728054888316908416179055607380548783169084161790556032805491851691909216179055620000bd5760405162461bcd60e51b8152602060048201526016602482015260008051602062006a5783398151915260448201526064015b60405180910390fd5b6001600160a01b038416620001045760405162461bcd60e51b8152602060048201526016602482015260008051602062006a578339815191526044820152606401620000b4565b6001600160a01b0383166200014b5760405162461bcd60e51b8152602060048201526016602482015260008051602062006a578339815191526044820152606401620000b4565b6001600160a01b038216620001925760405162461bcd60e51b8152602060048201526016602482015260008051602062006a578339815191526044820152606401620000b4565b6001600160a01b038116620001d95760405162461bcd60e51b8152602060048201526016602482015260008051602062006a578339815191526044820152606401620000b4565b620001f6858360786200038c60201b62003060179092919060201c565b6200020d60886200048560201b620031551760201c565b62000218336200052a565b604051633d36f3fd60e21b815260746004820152690878678326eac90000006024820152623b538060448201819052606482015273511dc2904da87895439be0bcb4411b3e1cf04c939063f4dbcff49060840160006040518083038186803b1580156200028457600080fd5b505af415801562000299573d6000803e3d6000fd5b5050606680546001600160c01b0319167415af1d78b58c40000000000015af1d78b58c40000017905550620002e7905060886815af1d78b58c4000006200058b602090811b620031e917901c565b6064606a819055606981905560685562127500606755620003206078612d0061c35061050060146200062e602090811b6200327d17901c565b6200034161050061168060886200084860201b62003475179092919060201c565b61fa006064556200036360836203f480620008e6602090811b6200350017901c565b5050600260655550506203a052606b555061a21c606c5561d4e4606d55612bf2606e5562000b32565b82546001600160a01b031615620003f15760405162461bcd60e51b815260206004820152602260248201527f536f72746974696f6e20506f6f6c206164647265737320616c72656164792073604482015261195d60f21b6064820152608401620000b4565b60018301546001600160a01b031615620004585760405162461bcd60e51b815260206004820152602160248201527f444b472056616c696461746f72206164647265737320616c72656164792073656044820152601d60fa1b6064820152608401620000b4565b82546001600160a01b03199081166001600160a01b03938416178455600190930180549093169116179055565b60018101541580156200049a57506002810154155b620004e85760405162461bcd60e51b815260206004820152601e60248201527f5365656420656e74727920616c726561647920696e697469616c697a656400006044820152606401620000b4565b6200051760405180606001604052806040815260200162006a7760409139620008ee60201b620035081760201c565b8051600183015560200151600290910155565b600080546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80910160405180910390a15050565b620005ab82546801000000000000000090046001600160401b0316151590565b15620005fa5760405162461bcd60e51b815260206004820152601960248201527f52656c6179207265717565737420696e2070726f6772657373000000000000006044820152606401620000b4565b600390910180546001600160601b039092166801000000000000000002600160401b600160a01b0319909216919091179055565b60006200063b8662000974565b60048111156200064f576200064f62000ac9565b146200069e5760405162461bcd60e51b815260206004820152601960248201527f43757272656e74207374617465206973206e6f742049444c45000000000000006044820152606401620000b4565b60008411620007165760405162461bcd60e51b815260206004820152603a60248201527f526573756c74206368616c6c656e676520706572696f64206c656e677468207360448201527f686f756c642062652067726561746572207468616e207a65726f0000000000006064820152608401620000b4565b600082116200078e5760405162461bcd60e51b815260206004820152603560248201527f526573756c74207375626d697373696f6e2074696d656f75742073686f756c6460448201527f2062652067726561746572207468616e207a65726f00000000000000000000006064820152608401620000b4565b8181106200082b5760405162461bcd60e51b815260206004820152605460248201527f5375626d697474657220707265636564656e636520706572696f64206c656e6760448201527f74682073686f756c64206265206c657373207468616e2074686520726573756c60648201527f74207375626d697373696f6e2074696d656f7574000000000000000000000000608482015260a401620000b4565b600285019390935560038401919091556004830155600590910155565b6200086883546801000000000000000090046001600160401b0316151590565b15620008b75760405162461bcd60e51b815260206004820152601960248201527f52656c6179207265717565737420696e2070726f6772657373000000000000006044820152606401620000b4565b6003909201805463ffffffff938416640100000000026001600160401b03199091169390921692909217179055565b600490910155565b60408051808201909152600080825260208201528151604014620009555760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964204731206279746573206c656e6774680000000000000000006044820152606401620000b4565b5060208181015160409283015183518085019094529083529082015290565b805460408051632938b58d60e21b815290516000926001600160a01b03169163a4e2d6349160048083019260209291908290030181865afa158015620009be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009e4919062000adf565b1562000a2b575060068101546001901562000a2b57600290506048826006015462000a10919062000b0a565b43111562000a2b5750600a8101546003901562000a2b575060045b919050565b6001600160a01b038116811462000a4657600080fd5b50565b600080600080600060a0868803121562000a6257600080fd5b855162000a6f8162000a30565b602087015190955062000a828162000a30565b604087015190945062000a958162000a30565b606087015190935062000aa88162000a30565b608087015190925062000abb8162000a30565b809150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b60006020828403121562000af257600080fd5b8151801515811462000b0357600080fd5b9392505050565b8082018082111562000b2c57634e487b7160e01b600052601160045260246000fd5b92915050565b615f158062000b426000396000f3fe608060405234801561001057600080fd5b506004361061038e5760003560e01c80637e0049fd116101de578063c35d64ea1161010f578063ded56d45116100ad578063f5ee563f1161007c578063f5ee563f146108fc578063f7186ce01461092a578063f854a27f1461093d578063fd2a47881461095057600080fd5b8063ded56d4514610897578063e03e4535146108c3578063e686440f146108d8578063f0820c92146108eb57600080fd5b8063cb8b3779116100e9578063cb8b377914610854578063ccfd3bbe14610869578063d38bfff41461087c578063d855c6311461088f57600080fd5b8063c35d64ea14610802578063c7c49c9814610815578063c9bacaad1461084157600080fd5b8063a04e29801161017c578063b142f85c11610156578063b142f85c1461078a578063b53dacdf146107c9578063b54a2374146107dc578063c09975cd146107ef57600080fd5b8063a04e29801461075c578063a7f0b3de1461076f578063b0d010d61461077757600080fd5b80638f105e37116101b85780638f105e37146106f1578063985e64871461070b5780639a7d09351461071e5780639c9de0281461073157600080fd5b80637e0049fd146106a25780637e33cba6146106b557806388a59590146106e057600080fd5b80634a07068e116102c3578063663032cd1161026157806375e0ae5a1161023057806375e0ae5a1461060c57806377a5a7bd1461061f5780637b14729e146106325780637b35b4e61461068f57600080fd5b8063663032cd146105ae57806368c34948146105c15780636a7f7a90146105c957806374024ab7146105dc57600080fd5b806355b64bcc1161029d57806355b64bcc1461056257806357665912146105755780635aa6e675146105885780635c5b38701461059b57600080fd5b80634a07068e146104f75780634cf088d91461050a578063529023011461053557600080fd5b8063319ac101116103305780633ea478aa1161030a5780633ea478aa1461048b57806342d86693146104be5780634368ec0c146104d15780634549cc4b146104e457600080fd5b8063319ac10114610445578063339646ac146104655780633682a4501461047857600080fd5b80631872ea941161036c5780631872ea94146103c35780631c5b0762146103e15780631d35fa63146103f4578063313767661461043257600080fd5b80630519e9911461039357806314a85474146103a8578063167f0517146103bb575b600080fd5b6103a66103a1366004614c6d565b610963565b005b6103a66103b6366004614ccd565b610a1b565b6103a6610aeb565b6103cb610b6d565b6040516103d89190614ced565b60405180910390f35b6103a66103ef366004614d31565b610bc8565b608b5460665460408051600160401b9093046001600160601b0390811684528083166020850152600160601b909204909116908201526060016103d8565b6103a6610440366004614d4e565b610c55565b610458610453366004614d9d565b610ed3565b6040516103d89190614e00565b6103a6610473366004614e48565b610fc9565b6103a6610486366004614d31565b611056565b6104ae610499366004614d31565b60706020526000908152604090205460ff1681565b60405190151581526020016103d8565b6103a66104cc366004614d31565b61109d565b6103a66104df366004614d31565b611237565b6104586104f2366004614f2f565b611348565b6103a6610505366004614fae565b611383565b60735461051d906001600160a01b031681565b6040516001600160a01b0390911681526020016103d8565b606754606854606954606a545b6040805194855260208501939093529183015260608201526080016103d8565b6103a6610570366004615030565b6116f1565b6103a661058336600461509b565b611a8a565b60005461051d906001600160a01b031681565b6103a66105a9366004614d4e565b611b93565b6103a66105bc366004614d31565b611d4e565b6104ae611dd3565b6103a66105d7366004614ccd565b611de4565b608b546064546040805163ffffffff808516825264010000000090940490931660208401528201526060016103d8565b6103a661061a366004614d31565b611e6c565b6103a661062d3660046150d0565b611ebf565b6106606074546001600160601b038116916001600160401b03600160601b8304811692600160a01b90041690565b604080516001600160601b0390941684526001600160401b0392831660208501529116908201526060016103d8565b6103a661069d366004614d31565b611f5f565b6103a66106b0366004614d4e565b611fe7565b6106c86106c3366004614d31565b61203a565b6040516001600160601b0390911681526020016103d8565b606b54606c54606d54606e54610542565b608854600160401b90046001600160401b031615156104ae565b6103a6610719366004615121565b6120d3565b6103a661072c36600461515a565b61215c565b61074461073f366004614d31565b6121d5565b6040516001600160401b0390911681526020016103d8565b6103a661076a366004615186565b612259565b6103a6612360565b6103a6610785366004614e48565b612422565b606554608754607a54607b54607c54607d54604080519687526020870195909552938501929092526060840152608083015260a082015260c0016103d8565b6103a66107d73660046151c6565b6124a5565b60715461051d906001600160a01b031681565b60325461051d906001600160a01b031681565b60725461051d906001600160a01b031681565b61051d610823366004614d31565b6001600160a01b039081166000908152607560205260409020541690565b6103a661084f366004614ccd565b612962565b61085c6129ea565b6040516103d8919061523d565b6103a6610877366004615265565b6129f6565b6103a661088a366004614d31565b612ca6565b6103a6612d3d565b61051d6108a5366004614d31565b6001600160a01b039081166000908152607660205260409020541690565b6108cb612dc5565b6040516103d89190615304565b6104ae6108e6366004614d31565b612e49565b6074546001600160601b03166106c8565b61091c61090a366004614d9d565b606f6020526000908152604090205481565b6040519081526020016103d8565b6104ae610938366004614d31565b612ee6565b6106c861094b366004614d31565b612f31565b6106c861095e366004614d31565b613016565b6000546001600160a01b031633146109965760405162461bcd60e51b815260040161098d90615317565b60405180910390fd5b6109a16088846131e9565b606680546001600160601b038481166001600160c01b03199092168217600160601b858316908102919091179093556040805191871682526020820192909252908101919091527f1eda09aaee2b21bbf5571b06eab42dd1b2c2b629a5d6336230ff8b0e1f538276906060015b60405180910390a1505050565b6073546001600160a01b03163314610a455760405162461bcd60e51b815260040161098d9061534e565b60735460715460405163117964a560e21b8152607460048201526001600160a01b039283166024820152908216604482015290841660648201526001600160601b038084166084830152821660a482015273511dc2904da87895439be0bcb4411b3e1cf04c93906345e592949060c4015b60006040518083038186803b158015610ace57600080fd5b505af4158015610ae2573d6000803e3d6000fd5b50505050505050565b60735460715460405163520c3d3160e01b8152607460048201526001600160a01b0392831660248201529116604482015273511dc2904da87895439be0bcb4411b3e1cf04c939063520c3d319060640160006040518083038186803b158015610b5357600080fd5b505af4158015610b67573d6000803e3d6000fd5b50505050565b60606083600101805480602002602001604051908101604052809291908181526020018280548015610bbe57602002820191906000526020600020905b815481526020019060010190808311610baa575b5050505050905090565b60735460715460405163c6e1c83960e01b8152607460048201526001600160a01b0392831660248201529082166044820152908216606482015273511dc2904da87895439be0bcb4411b3e1cf04c939063c6e1c839906084015b60006040518083038186803b158015610c3a57600080fd5b505af4158015610c4e573d6000803e3d6000fd5b5050505050565b6040516346bf00db60e01b8152600090819073db7851413df88fbce0040ece22e798269f9affda906346bf00db90610c949060789087906004016154c5565b6040805180830381865af4158015610cb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd491906155e5565b606654607154604051638871ca5d60e01b815263ffffffff841660048201529395509193506001600160601b0316916000916001600160a01b031690638871ca5d90602401602060405180830381865afa158015610d36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5a919061560a565b60408051600180825281830190925291925060009190602080830190803683375050506001600160a01b038381166000908152607660205260409020549192501681600081518110610dae57610dae615627565b6001600160a01b039283166020918202929092010152607354606a546040516383ddba8f60e01b815291909216916383ddba8f91610df491879133908790600401615676565b600060405180830381600087803b158015610e0e57600080fd5b505af1925050508015610e1f575060015b610e7457604080516001600160601b03851681526001600160a01b038416602082015286917f14621289a12ab59e0737decc388bba91d929c723defb4682d5d19b9a12ecfecb910160405180910390a2610ec1565b604080516001600160601b03851681526001600160a01b038416602082015286917f88f76c659db78142f88e94db3ca791869495394c6c1b3d412ced9022dc97c9e3910160405180910390a25b610ecb607861358c565b505050505050565b604080516080810182526060808252600060208301819052928201839052810191909152610f026083836135e0565b604051806080016040529081600082018054610f1d906156b6565b80601f0160208091040260200160405190810160405280929190818152602001828054610f49906156b6565b8015610f965780601f10610f6b57610100808354040283529160200191610f96565b820191906000526020600020905b815481529060010190602001808311610f7957829003601f168201915b5050509183525050600182015460208201526002820154604082015260039091015460ff16151560609091015292915050565b6000546001600160a01b03163314610ff35760405162461bcd60e51b815260040161098d90615317565b606784905560688390556069829055606a8190556040805185815260208101859052908101839052606081018290527fbe6727aab9b80431985c18deef80d48599397c63884c62e96959f82abd16f16d906080015b60405180910390a150505050565b604051634755926360e01b8152607460048201526001600160a01b038216602482015273511dc2904da87895439be0bcb4411b3e1cf04c9390634755926390604401610c22565b6001600160a01b0381811660009081526075602052604090205416806110f85760405162461bcd60e51b815260206004820152601060248201526f2ab735b737bbb71037b832b930ba37b960811b604482015260640161098d565b607354604051632de9480760e01b81526001600160a01b0384811660048301526000921690632de9480790602401606060405180830381865afa158015611143573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116791906156f0565b50607154604051637104c0e560e11b81526001600160a01b03868116600483015280841660248301529294506000935091169063e20981ca906044016020604051808303816000875af11580156111c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e69190615732565b6040516001600160601b03821681529091506001600160a01b038516907f38532b6dea69d7266fa923c7813d190be37625f2454ddfa3d93c45c79482e3fd906020015b60405180910390a250505050565b3360009081526070602052604090205460ff166112965760405162461bcd60e51b815260206004820152601c60248201527f526571756573746572206d75737420626520617574686f72697a656400000000604482015260640161098d565b604080518082019091526089548152608a5460208201526000906112cd906112bd90613627565b8051602090910120608390613661565b90506112da6088826136fe565b608c80546001600160a01b0319166001600160a01b03841617905560655460885461130e91906001600160401b0316615765565b158015611335575060006113226078613863565b600481111561133357611333615227565b145b15611344576113446078613916565b5050565b604080516080810182526060808252600060208084018290528385018290529183018190528451858301208152608390915291909120610f02565b608854600160801b90046001600160401b031660006113a36083836135e0565b905083836040516020016113b8929190615779565b604051602081830303815290604052805190602001208160020154146113f05760405162461bcd60e51b815260040161098d906157c4565b608b54607154604051637bfcd47d60e11b8152600160401b9092046001600160601b0316916000916001600160a01b03169063f7f9a8fa906114389089908990600401615779565b600060405180830381865afa158015611455573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261147d9190810190615816565b9050600081516001600160401b0381111561149a5761149a614e7a565b6040519080825280602002602001820160405280156114c3578160200160208202803683370190505b50905060005b82518110156115495761150d8382815181106114e7576114e7615627565b60200260200101516001600160a01b039081166000908152607660205260409020541690565b82828151811061151f5761151f615627565b6001600160a01b039092166020928302919091019091015280611541816158ca565b9150506114c9565b506073546068546040516383ddba8f60e01b81526001600160a01b03909216916383ddba8f916115829187919033908790600401615676565b600060405180830381600087803b15801561159c57600080fd5b505af19250505080156115ad575060015b61160557608854604051600160401b9091046001600160401b0316907f678dcbc52328cedef940fe45ab75280e81c09ec03fe55df62e67642aa18bc278906115f890869086906158e3565b60405180910390a2611655565b608854604051600160401b9091046001600160401b0316907f6e1369aebaf86903bf1f0ab69c3edd0cadbf0534635f699f57a74a3ce54d37189061164c90869086906158e3565b60405180910390a25b6116606083866139e9565b61166a6083613c1b565b60006116766083613e36565b6001600160401b031611156116bb57604080518082019091526089548152608a5460208201526116a9906112bd90613627565b94506116b6608886613e7e565b610ae2565b6116c56088613fc1565b60016116d16078613863565b60048111156116e2576116e2615227565b03610ae257610ae26078614076565b60005a6088549091506001600160401b03600160401b820481169160009161172491608391600160801b909104166135e0565b90508484604051602001611739929190615779565b604051602081830303815290604052805190602001208160020154146117715760405162461bcd60e51b815260040161098d906157c4565b600061178060888989856140e1565b90506001600160601b0381161561198e57607154604051637bfcd47d60e11b81526000916001600160a01b03169063f7f9a8fa906117c4908a908a90600401615779565b600060405180830381865afa1580156117e1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118099190810190615816565b9050600081516001600160401b0381111561182657611826614e7a565b60405190808252806020026020018201604052801561184f578160200160208202803683370190505b50905060005b82518110156118af576118738382815181106114e7576114e7615627565b82828151811061188557611885615627565b6001600160a01b0390921660209283029190910190910152806118a7816158ca565b915050611855565b5060735460405163f07f91c560e01b81526001600160a01b039091169063f07f91c5906118e290869085906004016158e3565b600060405180830381600087803b1580156118fc57600080fd5b505af192505050801561190d575060015b61195057847fd3f7d9c595537a55b26b224409f386868056764bc4d55bf8c3d86e20d047afc184846040516119439291906158e3565b60405180910390a261198b565b847f94af8e9c35b4ede2a77f659b202b1efe096bf99f0e6f5dd5905c800978a9a64784846040516119829291906158e3565b60405180910390a25b50505b600161199a6078613863565b60048111156119ab576119ab615227565b036119d4576119d488886040516119c3929190615905565b604051908190039020607890614106565b6119fc88886040516119e7929190615905565b604051908190039020606454608c9190614178565b603254606e546001600160a01b0390911690637ad226dc905a611a1f9088615915565b611a299190615928565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611a6857600080fd5b505af1158015611a7c573d6000803e3d6000fd5b505050505050505050505050565b60005a608854909150600090611ab290608390600160801b90046001600160401b03166135e0565b9050611ac16088858584614225565b6001611acd6078613863565b6004811115611ade57611ade615227565b03611af657611af684846040516119c3929190615905565b611b0984846040516119e7929190615905565b603254606e546001600160a01b0390911690637ad226dc905a611b2c9086615915565b611b369190615928565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611b7557600080fd5b505af1158015611b89573d6000803e3d6000fd5b5050505050505050565b60005a60405163716ae95760e01b815290915060009073db7851413df88fbce0040ece22e798269f9affda9063716ae95790611bd69060789087906004016154c5565b600060405180830381865af4158015611bf3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c1b919081019061593b565b805190915015611c99576071546067546001600160a01b039091169063942f6892908390611c499042615928565b6040518363ffffffff1660e01b8152600401611c669291906159c9565b600060405180830381600087803b158015611c8057600080fd5b505af1158015611c94573d6000803e3d6000fd5b505050505b611cb7611ca960208501856159eb565b6083919060c0870135614288565b611cc16078614351565b603254606c546001600160a01b0390911690637ad226dc905a611ce49086615915565b606b54611cf19190615928565b611cfb9190615928565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611d3a57600080fd5b505af1158015610ae2573d6000803e3d6000fd5b6000546001600160a01b03163314611d785760405162461bcd60e51b815260040161098d90615317565b607154604051632a59250560e21b81526001600160a01b0383811660048301529091169063a964941490602401600060405180830381600087803b158015611dbf57600080fd5b505af1158015610c4e573d6000803e3d6000fd5b6000611ddf60786143b5565b905090565b6073546001600160a01b03163314611e0e5760405162461bcd60e51b815260040161098d9061534e565b604051636dc1282760e11b8152607460048201526001600160a01b03841660248201526001600160601b0380841660448301528216606482015273511dc2904da87895439be0bcb4411b3e1cf04c939063db82504e90608401610ab6565b6073546040516304a3b6b360e31b8152607460048201526001600160a01b039182166024820152908216604482015273511dc2904da87895439be0bcb4411b3e1cf04c939063251db59890606401610c22565b6000546001600160a01b03163314611ee95760405162461bcd60e51b815260040161098d90615317565b60658690556087859055611f0160788585858561327d565b6040805187815260208101879052908101859052606081018490526080810183905260a081018290527f88243406f452bee756e4fff4cb19e6855a5d3b7bfab8814ea6838685e08da0939060c00160405180910390a1505050505050565b6000546001600160a01b03163314611f895760405162461bcd60e51b815260040161098d90615317565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1603280546001600160a01b0319166001600160a01b0392909216919091179055565b612000611ff760208301836159eb565b60839190614412565b6040516305149aaf60e51b815273db7851413df88fbce0040ece22e798269f9affda9063a29355e090610c229060789085906004016154c5565b607354604051635c359a0f60e11b8152607460048201526001600160a01b039182166024820152908216604482015260009073511dc2904da87895439be0bcb4411b3e1cf04c939063b86b341e906064015b602060405180830381865af41580156120a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cd9190615732565b92915050565b6000546001600160a01b031633146120fd5760405162461bcd60e51b815260040161098d90615317565b6001600160a01b038216600081815260706020908152604091829020805460ff191685151590811790915591519182527fb4d9db68405970190721d2b3726fc9f728c1413038755e60518dea67d5545556910160405180910390a25050565b6000546001600160a01b031633146121865760405162461bcd60e51b815260040161098d90615317565b606481905561219760888484613475565b60408051848152602081018490529081018290527fea9006ae23cd9b51dbfbc9d747fc3b0bc77acba4fefba609c76f8e9a9513602e90606001610a0e565b604051624f4ac760e01b8152607460048201526001600160a01b038216602482015260009073511dc2904da87895439be0bcb4411b3e1cf04c9390624f4ac790604401602060405180830381865af4158015612235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cd9190615a31565b6000546001600160a01b031633146122835760405162461bcd60e51b815260040161098d90615317565b604051633d36f3fd60e21b8152607460048201526001600160601b03841660248201526001600160401b0380841660448301528216606482015273511dc2904da87895439be0bcb4411b3e1cf04c939063f4dbcff49060840160006040518083038186803b1580156122f457600080fd5b505af4158015612308573d6000803e3d6000fd5b5050604080516001600160601b03871681526001600160401b0380871660208301528516918101919091527f544b726e42801bb47073854eeedae851903f66fe32a5bd24e626e10b90027b5192506060019050610a0e565b61236a6083613e36565b6001600160401b0316156123b75760405162461bcd60e51b81526020600482015260146024820152734e6f74206177616974696e672067656e6573697360601b604482015260640161098d565b6123c16078613916565b6124207f4574c8c75d6e88acd28f7e467dac97b5c60c3838d9dad993900bdf402152228e43604051602001612400929190918252602082015260400190565b60408051601f198184030181529190528051602090910120607890614106565b565b6000546001600160a01b0316331461244c5760405162461bcd60e51b815260040161098d90615317565b606b849055606c839055606d829055606e8190556040805185815260208101859052908101839052606081018290527feffd28b20afc0bf9349e8d49d5346c7568689b661a6bcd71c26a939b57b0acd190608001611048565b60006124b26083856135e0565b6040518060800160405290816000820180546124cd906156b6565b80601f01602080910402602001604051908101604052809291908181526020018280546124f9906156b6565b80156125465780601f1061251b57610100808354040283529160200191612546565b820191906000526020600020905b81548152906001019060200180831161252957829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820160009054906101000a900460ff16151515158152505090508282604051602001612593929190615779565b604051602081830303815290604052805190602001208160400151146125cb5760405162461bcd60e51b815260040161098d906157c4565b80606001511561261d5760405162461bcd60e51b815260206004820152601a60248201527f47726f75702063616e6e6f74206265207465726d696e61746564000000000000604482015260640161098d565b8051604080513360601b6bffffffffffffffffffffffff191660208201528151601481830301815260348201928390526339c6c5f160e21b909252734d1f50c1e4a22beb8980f08cd143da59bad5028d9263e71b17c492612682928a90603801615a4e565b602060405180830381865af415801561269f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126c39190615a87565b6127035760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b604482015260640161098d565b61270e6083856139e9565b607154604051637bfcd47d60e11b81526000916001600160a01b03169063f7f9a8fa906127419087908790600401615779565b600060405180830381865afa15801561275e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526127869190810190615816565b9050600081516001600160401b038111156127a3576127a3614e7a565b6040519080825280602002602001820160405280156127cc578160200160208202803683370190505b50905060005b825181101561282c576127f08382815181106114e7576114e7615627565b82828151811061280257612802615627565b6001600160a01b039092166020928302919091019091015280612824816158ca565b9150506127d2565b506073546066546069546040516383ddba8f60e01b81526001600160a01b03909316926383ddba8f9261287792600160601b9091046001600160601b03169133908790600401615676565b600060405180830381600087803b15801561289157600080fd5b505af19250505080156128a2575060015b612902576066546040516001600160401b038816917ffd4a5a45de3194b94e2a7954706ac9023b7c9935cf1a25242691da2a94d720d4916128f591600160601b90046001600160601b03169086906158e3565b60405180910390a2610ae2565b6066546040516001600160401b038816917fa311dcb2a3eb32651a722488f4f281b3f8e4ab05abcd8a37a5c7d663bba5a8859161295191600160601b90046001600160601b03169086906158e3565b60405180910390a250505050505050565b6073546001600160a01b0316331461298c5760405162461bcd60e51b815260040161098d9061534e565b604051633558d21760e21b8152607460048201526001600160a01b03841660248201526001600160601b0380841660448301528216606482015273511dc2904da87895439be0bcb4411b3e1cf04c939063d563485c90608401610ab6565b6000611ddf6078613863565b60005a90506000612a0a6020870187614d9d565b6001600160401b0381166000908152606f60205260409020549091508514612a645760405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964206e6f6e636560981b604482015260640161098d565b612a6f6083826144fb565b612ab15760405162461bcd60e51b815260206004820152601360248201527247726f7570206973206e6f742061637469766560681b604482015260640161098d565b6000612abe6083836135e0565b90508484604051602001612ad3929190615779565b60405160208183030381529060405280519060200120816002015414612b0b5760405162461bcd60e51b815260040161098d906157c4565b60715460405163fc21976b60e01b815260009173bf115c9b450ee98efc26feeaaa8600b3cc0fed5f9163fc21976b91612b5c916001600160a01b03909116908c9087908d908d908d90600401615b21565b600060405180830381865af4158015612b79573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ba1919081019061593b565b6001600160401b0384166000908152606f60205260408120805492935090612bc8836158ca565b9091555050604080518881523360208201526001600160401b038516917f3ca10b33fda0a4adbc75ac1939659a06e8c332b8f6a2792bedbf8741e4268417910160405180910390a26071546067546001600160a01b039091169063942f6892908390612c349042615928565b6040518363ffffffff1660e01b8152600401612c519291906159c9565b600060405180830381600087803b158015612c6b57600080fd5b505af1158015612c7f573d6000803e3d6000fd5b5050603254606d546001600160a01b039091169250637ad226dc91505a611a1f9088615915565b6000546001600160a01b03163314612cd05760405162461bcd60e51b815260040161098d90615317565b6001600160a01b038116612d315760405162461bcd60e51b815260206004820152602260248201527f4e657720676f7665726e616e636520697320746865207a65726f206164647265604482015261737360f01b606482015260840161098d565b612d3a8161453b565b50565b3360005a9050612d4d607861459c565b6032546001600160a01b0316637ad226dc5a612d699084615915565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b0385166024820152604401600060405180830381600087803b158015612db157600080fd5b505af1158015610ecb573d6000803e3d6000fd5b607154607f5460408051636c2530b960e01b81526060936001600160a01b031692636c2530b992612e0492909190600401918252602082015260400190565b600060405180830381865afa158015612e21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ddf919081019061593b565b60735460715460405163148140a160e21b8152607460048201526001600160a01b0392831660248201529082166044820152908216606482015260009073511dc2904da87895439be0bcb4411b3e1cf04c9390635205028490608401602060405180830381865af4158015612ec2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cd9190615a87565b6071546040516307b8c36760e51b81526001600160a01b038381166004830152600092169063f7186ce090602401602060405180830381865afa158015612ec2573d6000803e3d6000fd5b600080612f56836001600160a01b039081166000908152607560205260409020541690565b90506001600160a01b038116612fa15760405162461bcd60e51b815260206004820152601060248201526f2ab735b737bbb71037b832b930ba37b960811b604482015260640161098d565b60715460405163439f18fd60e11b81526001600160a01b0383811660048301529091169063873e31fa90602401602060405180830381865afa158015612feb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061300f9190615732565b9392505050565b604051635fc3290960e11b8152607460048201526001600160a01b038216602482015260009073511dc2904da87895439be0bcb4411b3e1cf04c939063bf8652129060440161208c565b82546001600160a01b0316156130c35760405162461bcd60e51b815260206004820152602260248201527f536f72746974696f6e20506f6f6c206164647265737320616c72656164792073604482015261195d60f21b606482015260840161098d565b60018301546001600160a01b0316156131285760405162461bcd60e51b815260206004820152602160248201527f444b472056616c696461746f72206164647265737320616c72656164792073656044820152601d60fa1b606482015260840161098d565b82546001600160a01b03199081166001600160a01b03938416178455600190930180549093169116179055565b600181015415801561316957506002810154155b6131b55760405162461bcd60e51b815260206004820152601e60248201527f5365656420656e74727920616c726561647920696e697469616c697a65640000604482015260640161098d565b6131d6604051806060016040528060408152602001615ea060409139613508565b8051600183015560200151600290910155565b8154600160401b90046001600160401b0316156132445760405162461bcd60e51b815260206004820152601960248201527852656c6179207265717565737420696e2070726f677265737360381b604482015260640161098d565b600390910180546001600160601b03909216600160401b0273ffffffffffffffffffffffff000000000000000019909216919091179055565b600061328886613863565b600481111561329957613299615227565b146132e25760405162461bcd60e51b815260206004820152601960248201527843757272656e74207374617465206973206e6f742049444c4560381b604482015260640161098d565b600084116133585760405162461bcd60e51b815260206004820152603a60248201527f526573756c74206368616c6c656e676520706572696f64206c656e677468207360448201527f686f756c642062652067726561746572207468616e207a65726f000000000000606482015260840161098d565b600082116133c65760405162461bcd60e51b815260206004820152603560248201527f526573756c74207375626d697373696f6e2074696d656f75742073686f756c646044820152742062652067726561746572207468616e207a65726f60581b606482015260840161098d565b8181106134585760405162461bcd60e51b815260206004820152605460248201527f5375626d697474657220707265636564656e636520706572696f64206c656e6760448201527f74682073686f756c64206265206c657373207468616e2074686520726573756c6064820152731d081cdd589b5a5cdcda5bdb881d1a5b595bdd5d60621b608482015260a40161098d565b600285019390935560038401919091556004830155600590910155565b8254600160401b90046001600160401b0316156134d05760405162461bcd60e51b815260206004820152601960248201527852656c6179207265717565737420696e2070726f677265737360381b604482015260640161098d565b6003909201805463ffffffff9384166401000000000267ffffffffffffffff199091169390921692909217179055565b600490910155565b6040805180820190915260008082526020820152815160401461356d5760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964204731206279746573206c656e677468000000000000000000604482015260640161098d565b5060208181015160409283015183518085019094529083529082015290565b60038101545a1015612d3a5760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f75676820657874726120676173206c65667400000000000000604482015260640161098d565b600082600001600084600101846001600160401b03168154811061360657613606615627565b90600052602060002001548152602001908152602001600020905092915050565b6040805181815260608181018352916000919060208201818036833750508451602095860151958301525060408101939093525090919050565b600061366c83613c1b565b600061367784613e36565b6001600160401b0316116136c05760405162461bcd60e51b815260206004820152601060248201526f4e6f206163746976652067726f75707360801b604482015260640161098d565b60006136cb84613e36565b6136de906001600160401b031684615765565b905060006136f5856136f0878561461b565b614637565b95945050505050565b8154600160401b90046001600160401b0316156137675760405162461bcd60e51b815260206004820152602160248201527f416e6f746865722072656c6179207265717565737420696e2070726f677265736044820152607360f81b606482015260840161098d565b815460009083908290613782906001600160401b0316615c02565b82546101009290920a6001600160401b038181021990931682841691820217909355855477ffffffffffffffffffffffffffffffff00000000000000001916600160401b840267ffffffffffffffff60801b191617600160801b86841602176001600160c01b0316600160c01b43909316929092029190911785556040805180820190915260018601548152600286015460208201529092507fdf86f752d80d21879cbd208ba1d036c03f836b1d7f8f887b0b9e0b63f8a49f5d90849061384890613627565b604051613856929190615c28565b60405180910390a2505050565b805460408051632938b58d60e21b815290516000926001600160a01b03169163a4e2d6349160048083019260209291908290030181865afa1580156138ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138d09190615a87565b1561391157506006810154600190156139115760029050604882600601546138f89190615928565b4311156139115750600a81015460039015613911575060045b919050565b600061392182613863565b600481111561393257613932615227565b1461397b5760405162461bcd60e51b815260206004820152601960248201527843757272656e74207374617465206973206e6f742049444c4560381b604482015260640161098d565b6040517f5c3ed2397d4d21298b2fb5027ac8e2d42e3c9c72bbb55ddb030e2a36a0cdff6b90600090a1805460408051637c1e845d60e11b815290516001600160a01b039092169163f83d08ba9160048082019260009290919082900301818387803b158015611dbf57600080fd5b6139f382826146cd565b15613a4a5760405162461bcd60e51b815260206004820152602160248201527f47726f757020686173206265656e20616c7265616479207465726d696e6174656044820152601960fa1b606482015260840161098d565b600182600001600084600101846001600160401b031681548110613a7057613a70615627565b60009182526020808320919091015483528201929092526040018120600301805460ff1916921515929092179091556002830180546001908101808355918352613ab991615915565b90505b600081118015613b1957506001600160401b03821660028401613ae0600184615915565b81548110613af057613af0615627565b6000918252602090912060048204015460039091166008026101000a90046001600160401b0316115b15613bc75760028301613b2d600183615915565b81548110613b3d57613b3d615627565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b0316836002018281548110613b7b57613b7b615627565b90600052602060002090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b031602179055508080613bbf90615c4a565b915050613abc565b81836002018281548110613bdd57613bdd615627565b90600052602060002090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b03160217905550505050565b600181015460038201546001600160401b0316108015613c75575060038101546001820180544392613c7392859290916001600160401b0316908110613c6357613c63615627565b906000526020600020015461471d565b105b15613cbf576003810180546001600160401b0316906000613c9583615c02565b91906101000a8154816001600160401b0302191690836001600160401b0316021790555050613c1b565b60005b600282015481101561134457816002018181548110613ce357613ce3615627565b6000918252602090912060048204015460038481015492166008026101000a90046001600160401b0390811691161115613e2457805b6002830154613d2a90600190615915565b811015613dda5760028301613d40826001615928565b81548110613d5057613d50615627565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b0316836002018281548110613d8e57613d8e615627565b90600052602060002090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b031602179055508080613dd2906158ca565b915050613d19565b5081600201805480613dee57613dee615c61565b60008281526020902060046000199092019182040180546001600160401b03600860038516026101000a02191690559055613cc2565b80613e2e816158ca565b915050613cc2565b60018101546000908103613e4c57506000919050565b60028201546003830154600184015460009291613e74916001600160401b0390911690615915565b61300f9190615915565b613e878261473f565b613ed35760405162461bcd60e51b815260206004820152601e60248201527f52656c6179207265717565737420646964206e6f742074696d65206f75740000604482015260640161098d565b81546040516001600160401b03600160801b83048116808352600160401b90930416919082907fc28be0fa97c9083fa79881ba8950c1333fb45ec5100d2b893ec0f41544e78bef9060200160405180910390a283546fffffffffffffffffffffffffffffffff16600160801b6001600160401b03858116919091026001600160c01b031691909117600160c01b43831602178555604080518082019091526001860154815260028601546020820152908316907fdf86f752d80d21879cbd208ba1d036c03f836b1d7f8f887b0b9e0b63f8a49f5d908590613fb390613627565b604051611229929190615c28565b613fca8161473f565b6140165760405162461bcd60e51b815260206004820152601e60248201527f52656c6179207265717565737420646964206e6f742074696d65206f75740000604482015260640161098d565b80546040516001600160401b03600160801b830481168252600160401b909204909116907fc28be0fa97c9083fa79881ba8950c1333fb45ec5100d2b893ec0f41544e78bef9060200160405180910390a280546001600160401b03169055565b600161408182613863565b600481111561409257614092615227565b146140af5760405162461bcd60e51b815260040161098d90615c77565b6040517f68c52f05452e81639fa06f379aee3178cddee4725521fff886f244c99e868b5090600090a1612d3a81614351565b6000806140ed866147b3565b90506140fb86868686614848565b90505b949350505050565b600161411183613863565b600481111561412257614122615227565b1461413f5760405162461bcd60e51b815260040161098d90615c77565b60405181907fb2ad26c2940889d79df2ee9c758a8aefa00c5ca90eee119af0e5d795df3b98bb90600090a2436006830155600790910155565b82546001600160a01b031615614220578254604051631bfaf51960e21b8152600481018490524360248201526001600160a01b0390911690636febd464908390604401600060405180830381600088803b1580156141d557600080fd5b5087f1935050505080156141e7575060015b61422057604080518381524360208201527f5e2af61e77ec91022b1cafe282abce475bb18e8cdd47083464caa06583fe39099101610a0e565b505050565b61422e84614b38565b431061427c5760405162461bcd60e51b815260206004820152601f60248201527f52656c617920656e74727920736f66742074696d656f75742070617373656400604482015260640161098d565b610b6784848484614848565b6000838360405161429a929190615905565b60408051918290039091206000818152602088905291909120909150806142c2858783615cff565b50600281018390554360018083019190915586810180549182018155600090815260209020018290556040516142fb9086908690615905565b6040519081900390206001878101546143149190615915565b6001600160401b03167f4c0666db2c51896711b100d1f4f5d20a347c59e6e16ad8f365ed81ff97358b4e60405160405180910390a3505050505050565b600060068201819055600782018190556008820181905560098201819055600a820181905581546040805163a69df4b560e01b815290516001600160a01b039092169263a69df4b59260048084019382900301818387803b158015611dbf57600080fd5b600060036143c283613863565b60048111156143d3576143d3615227565b1480156120cd57506004820154600883015460068401546143f690604890615928565b6144009190615928565b61440a9190615928565b431192915050565b608081146144625760405162461bcd60e51b815260206004820181905260248201527f496e76616c6964206c656e677468206f6620746865207075626c6963206b6579604482015260640161098d565b60008282604051614474929190615905565b604080519182900390912060008181526020879052919091206001015490915015610b675760405162461bcd60e51b815260206004820152603160248201527f47726f757020776974682074686973207075626c6963206b65792077617320616044820152701b1c9958591e481c9959da5cdd195c9959607a1b606482015260840161098d565b6000436145208485600101856001600160401b031681548110613c6357613c63615627565b1015801561300f575061453383836146cd565b159392505050565b600080546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80910160405180910390a15050565b6145a5816143b5565b6145e95760405162461bcd60e51b81526020600482015260156024820152741112d1c81a185cc81b9bdd081d1a5b5959081bdd5d605a1b604482015260640161098d565b6040517f2852b3e178dd281713b041c3d90b4815bb55b7ec812931d1e8e8d8bb2ed72d3e90600090a1612d3a81614351565b600382015460009061300f9083906001600160401b0316615dbe565b600081815b60028501546001600160401b03821610156146c557816001600160401b031685600201826001600160401b03168154811061467957614679615627565b6000918252602090912060048204015460039091166008026101000a90046001600160401b0316116146b357816146af81615c02565b9250505b806146bd81615c02565b91505061463c565b509392505050565b600082600001600084600101846001600160401b0316815481106146f3576146f3615627565b6000918252602080832090910154835282019290925260400190206003015460ff16905092915050565b6004820154600082815260208490526040812060010154909161300f91615928565b600381015460009081906147639063ffffffff640100000000820481169116615de5565b63ffffffff16905061478683546001600160401b03600160401b90910416151590565b801561300f575082546147aa908290600160c01b90046001600160401b0316615928565b43119392505050565b6000806147bf83614b38565b90508043111561483f5760006147d58243615915565b6003850154909150640100000000900463ffffffff1681111561480757506003830154640100000000900463ffffffff165b6003840154640100000000810463ffffffff169061483590600160401b90046001600160601b031683615e02565b6140fe9190615e19565b50600092915050565b8354600160401b90046001600160401b03166148a65760405162461bcd60e51b815260206004820152601c60248201527f4e6f2072656c6179207265717565737420696e2070726f677265737300000000604482015260640161098d565b6148af8461473f565b156148fc5760405162461bcd60e51b815260206004820152601760248201527f52656c617920726571756573742074696d6564206f7574000000000000000000604482015260640161098d565b734d1f50c1e4a22beb8980f08cd143da59bad5028d63b6087a0f6149a8838054614925906156b6565b80601f0160208091040260200160405190810160405280929190818152602001828054614951906156b6565b801561499e5780601f106149735761010080835404028352916020019161499e565b820191906000526020600020905b81548152906001019060200180831161498157829003601f168201915b5050505050614b73565b866001016149eb87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061350892505050565b6040518463ffffffff1660e01b8152600401614a0993929190615e2d565b602060405180830381865af4158015614a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a4a9190615a87565b614a865760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420656e74727960981b604482015260640161098d565b8354604051600160401b9091046001600160401b0316907f087df9fd862e4448d02f8b58e33a18941769c795a8b83cfb95dfaf9c92ca897e90614ace90339087908790615e7a565b60405180910390a2614b1583838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061350892505050565b80516001860155602001516002850155505081546001600160401b031690915550565b60038101548154600091614b649163ffffffff90911690600160c01b90046001600160401b0316615dbe565b6001600160401b031692915050565b614b7b614c14565b8151608014614bcc5760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964204732206279746573206c656e677468000000000000000000604482015260640161098d565b50602081810151604080840151606080860151608096870151845197880185528785019586529187019290925292855281518083019092528152808301919091529082015290565b60408051608081018252600091810182815260608201929092529081908152602001614c53604051806040016040528060008152602001600081525090565b905290565b6001600160601b0381168114612d3a57600080fd5b600080600060608486031215614c8257600080fd5b8335614c8d81614c58565b92506020840135614c9d81614c58565b91506040840135614cad81614c58565b809150509250925092565b6001600160a01b0381168114612d3a57600080fd5b600080600060608486031215614ce257600080fd5b8335614c8d81614cb8565b6020808252825182820181905260009190848201906040850190845b81811015614d2557835183529284019291840191600101614d09565b50909695505050505050565b600060208284031215614d4357600080fd5b813561300f81614cb8565b600060208284031215614d6057600080fd5b81356001600160401b03811115614d7657600080fd5b820160e0818503121561300f57600080fd5b6001600160401b0381168114612d3a57600080fd5b600060208284031215614daf57600080fd5b813561300f81614d88565b6000815180845260005b81811015614de057602081850181015186830182015201614dc4565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000825160806020840152614e1c60a0840182614dba565b905060208401516040840152604084015160608401526060840151151560808401528091505092915050565b60008060008060808587031215614e5e57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614eb857614eb8614e7a565b604052919050565b600082601f830112614ed157600080fd5b81356001600160401b03811115614eea57614eea614e7a565b614efd601f8201601f1916602001614e90565b818152846020838601011115614f1257600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215614f4157600080fd5b81356001600160401b03811115614f5757600080fd5b6140fe84828501614ec0565b60008083601f840112614f7557600080fd5b5081356001600160401b03811115614f8c57600080fd5b6020830191508360208260051b8501011115614fa757600080fd5b9250929050565b60008060208385031215614fc157600080fd5b82356001600160401b03811115614fd757600080fd5b614fe385828601614f63565b90969095509350505050565b60008083601f84011261500157600080fd5b5081356001600160401b0381111561501857600080fd5b602083019150836020828501011115614fa757600080fd5b6000806000806040858703121561504657600080fd5b84356001600160401b038082111561505d57600080fd5b61506988838901614fef565b9096509450602087013591508082111561508257600080fd5b5061508f87828801614f63565b95989497509550505050565b600080602083850312156150ae57600080fd5b82356001600160401b038111156150c457600080fd5b614fe385828601614fef565b60008060008060008060c087890312156150e957600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b8015158114612d3a57600080fd5b6000806040838503121561513457600080fd5b823561513f81614cb8565b9150602083013561514f81615113565b809150509250929050565b60008060006060848603121561516f57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561519b57600080fd5b83356151a681614c58565b925060208401356151b681614d88565b91506040840135614cad81614d88565b600080600080606085870312156151dc57600080fd5b84356001600160401b03808211156151f357600080fd5b6151ff88838901614ec0565b95506020870135915061521182614d88565b9093506040860135908082111561508257600080fd5b634e487b7160e01b600052602160045260246000fd5b602081016005831061525f57634e487b7160e01b600052602160045260246000fd5b91905290565b6000806000806060858703121561527b57600080fd5b84356001600160401b038082111561529257600080fd5b90860190608082890312156152a657600080fd5b909450602086013593506040860135908082111561508257600080fd5b600081518084526020808501945080840160005b838110156152f957815163ffffffff16875295820195908201906001016152d7565b509495945050505050565b60208152600061300f60208301846152c3565b6020808252601c908201527f43616c6c6572206973206e6f742074686520676f7665726e616e636500000000604082015260600190565b60208082526022908201527f43616c6c6572206973206e6f7420746865207374616b696e6720636f6e74726160408201526118dd60f21b606082015260800190565b6000808335601e198436030181126153a757600080fd5b83016020810192503590506001600160401b038111156153c657600080fd5b803603821315614fa757600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261541557600080fd5b83016020810192503590506001600160401b0381111561543457600080fd5b8060051b3603821315614fa757600080fd5b81835260006001600160fb1b0383111561545f57600080fd5b8260051b80836020870137939093016020019392505050565b63ffffffff81168114612d3a57600080fd5b8183526000602080850194508260005b858110156152f95781356154ad81615478565b63ffffffff168752958201959082019060010161549a565b82815260006020604081840152833560408401526154e581850185615390565b60e060608601526154fb610120860182846153d5565b91505061550b60408601866153fe565b603f19868403810160808801528184529192600092908501835b8381101561555157853560ff811680821461553e578687fd5b8352509486019490860190600101615525565b5061555f60608a018a615390565b96509450818882030160a08901526155788187876153d5565b95505061558860808901896153fe565b94509250808786030160c08801526155a1858585615446565b94506155b060a08901896153fe565b94509250808786030160e088015250506155cb83838361548a565b9250505060c0840135610100840152809150509392505050565b600080604083850312156155f857600080fd5b82519150602083015161514f81615478565b60006020828403121561561c57600080fd5b815161300f81614cb8565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156152f95781516001600160a01b031687529582019590820190600101615651565b6001600160601b038516815283602082015260018060a01b03831660408201526080606082015260006156ac608083018461563d565b9695505050505050565b600181811c908216806156ca57607f821691505b6020821081036156ea57634e487b7160e01b600052602260045260246000fd5b50919050565b60008060006060848603121561570557600080fd5b835161571081614cb8565b602085015190935061572181614cb8565b6040850151909250614cad81614cb8565b60006020828403121561574457600080fd5b815161300f81614c58565b634e487b7160e01b600052601260045260246000fd5b6000826157745761577461574f565b500690565b60208082528181018390526000908460408401835b868110156157b95782356157a181615478565b63ffffffff168252918301919083019060010161578e565b509695505050505050565b602080825260159082015274496e76616c69642067726f7570206d656d6265727360581b604082015260600190565b60006001600160401b0382111561580c5761580c614e7a565b5060051b60200190565b6000602080838503121561582957600080fd5b82516001600160401b0381111561583f57600080fd5b8301601f8101851361585057600080fd5b805161586361585e826157f3565b614e90565b81815260059190911b8201830190838101908783111561588257600080fd5b928401925b828410156158a957835161589a81614cb8565b82529284019290840190615887565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016158dc576158dc6158b4565b5060010190565b6001600160601b03831681526040602082015260006140fe604083018461563d565b8183823760009101908152919050565b818103818111156120cd576120cd6158b4565b808201808211156120cd576120cd6158b4565b6000602080838503121561594e57600080fd5b82516001600160401b0381111561596457600080fd5b8301601f8101851361597557600080fd5b805161598361585e826157f3565b81815260059190911b820183019083810190878311156159a257600080fd5b928401925b828410156158a95783516159ba81615478565b825292840192908401906159a7565b6040815260006159dc60408301856152c3565b90508260208301529392505050565b6000808335601e19843603018112615a0257600080fd5b8301803591506001600160401b03821115615a1c57600080fd5b602001915036819003821315614fa757600080fd5b600060208284031215615a4357600080fd5b815161300f81614d88565b606081526000615a616060830186614dba565b8281036020840152615a738186614dba565b905082810360408401526156ac8185614dba565b600060208284031215615a9957600080fd5b815161300f81615113565b60008154615ab1816156b6565b808552602060018381168015615ace5760018114615ae857615b16565b60ff1985168884015283151560051b880183019550615b16565b866000528260002060005b85811015615b0e5781548a8201860152908301908401615af3565b890184019650505b505050505092915050565b6001600160a01b038716815260a0602082015260008635615b4181614d88565b6001600160401b031660a0830152615b5c60208801886153fe565b608060c0850152615b7261012085018284615446565b915050615b826040890189615390565b609f19808685030160e0870152615b9a8483856153d5565b9350615ba960608c018c6153fe565b93509150808685030161010087015250615bc4838383615446565b925050508281036040840152615bda8188615aa4565b90508560608401528281036080840152615bf581858761548a565b9998505050505050505050565b60006001600160401b03808316818103615c1e57615c1e6158b4565b6001019392505050565b6001600160401b03831681526040602082015260006140fe6040830184614dba565b600081615c5957615c596158b4565b506000190190565b634e487b7160e01b600052603160045260246000fd5b60208082526022908201527f43757272656e74207374617465206973206e6f74204157414954494e475f5345604082015261115160f21b606082015260800190565b601f82111561422057600081815260208120601f850160051c81016020861015615ce05750805b601f850160051c820191505b81811015610ecb57828155600101615cec565b6001600160401b03831115615d1657615d16614e7a565b615d2a83615d2483546156b6565b83615cb9565b6000601f841160018114615d5e5760008515615d465750838201355b600019600387901b1c1916600186901b178355610c4e565b600083815260209020601f19861690835b82811015615d8f5786850135825560209485019460019092019101615d6f565b5086821015615dac5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6001600160401b03818116838216019080821115615dde57615dde6158b4565b5092915050565b63ffffffff818116838216019080821115615dde57615dde6158b4565b80820281158282048414176120cd576120cd6158b4565b600082615e2857615e2861574f565b500490565b835180518252602090810151818301528085015180516040840152810151606083015283546080830152600184015460a0830152825160c083015282015160e082015261010081016140fe565b6001600160a01b03841681526040602082018190526000906136f590830184866153d556fe15c30f4b6cf6dbbcbdcc10fe22f54c8170aea44e198139b776d512d8f027319a1b9e8bfaf1383978231ce98e42bafc8129f473fc993cf60ce327f7d223460663a2646970667358221220018e28efc36dbb2c44b85b67ee0f964830f7b3dac6c76a9f4ef851bdcd4c5eea64736f6c634300081100335a65726f2d61646472657373207265666572656e63650000000000000000000015c30f4b6cf6dbbcbdcc10fe22f54c8170aea44e198139b776d512d8f027319a1b9e8bfaf1383978231ce98e42bafc8129f473fc993cf60ce327f7d223460663000000000000000000000000d636b635630c42a474858b877ea2324afde796d200000000000000000000000046abdf5ad1726ba700794539c3db8fe5918547290000000000000000000000003d4cb85c0e3c5bd1667b7e30f3e86b3fab878ff80000000000000000000000006555793e925241d50bbcb7d131f3b0d5b557944f0000000000000000000000004947243cc818b627a5d06d14c4ece7398a23ce1a
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061038e5760003560e01c80637e0049fd116101de578063c35d64ea1161010f578063ded56d45116100ad578063f5ee563f1161007c578063f5ee563f146108fc578063f7186ce01461092a578063f854a27f1461093d578063fd2a47881461095057600080fd5b8063ded56d4514610897578063e03e4535146108c3578063e686440f146108d8578063f0820c92146108eb57600080fd5b8063cb8b3779116100e9578063cb8b377914610854578063ccfd3bbe14610869578063d38bfff41461087c578063d855c6311461088f57600080fd5b8063c35d64ea14610802578063c7c49c9814610815578063c9bacaad1461084157600080fd5b8063a04e29801161017c578063b142f85c11610156578063b142f85c1461078a578063b53dacdf146107c9578063b54a2374146107dc578063c09975cd146107ef57600080fd5b8063a04e29801461075c578063a7f0b3de1461076f578063b0d010d61461077757600080fd5b80638f105e37116101b85780638f105e37146106f1578063985e64871461070b5780639a7d09351461071e5780639c9de0281461073157600080fd5b80637e0049fd146106a25780637e33cba6146106b557806388a59590146106e057600080fd5b80634a07068e116102c3578063663032cd1161026157806375e0ae5a1161023057806375e0ae5a1461060c57806377a5a7bd1461061f5780637b14729e146106325780637b35b4e61461068f57600080fd5b8063663032cd146105ae57806368c34948146105c15780636a7f7a90146105c957806374024ab7146105dc57600080fd5b806355b64bcc1161029d57806355b64bcc1461056257806357665912146105755780635aa6e675146105885780635c5b38701461059b57600080fd5b80634a07068e146104f75780634cf088d91461050a578063529023011461053557600080fd5b8063319ac101116103305780633ea478aa1161030a5780633ea478aa1461048b57806342d86693146104be5780634368ec0c146104d15780634549cc4b146104e457600080fd5b8063319ac10114610445578063339646ac146104655780633682a4501461047857600080fd5b80631872ea941161036c5780631872ea94146103c35780631c5b0762146103e15780631d35fa63146103f4578063313767661461043257600080fd5b80630519e9911461039357806314a85474146103a8578063167f0517146103bb575b600080fd5b6103a66103a1366004614c6d565b610963565b005b6103a66103b6366004614ccd565b610a1b565b6103a6610aeb565b6103cb610b6d565b6040516103d89190614ced565b60405180910390f35b6103a66103ef366004614d31565b610bc8565b608b5460665460408051600160401b9093046001600160601b0390811684528083166020850152600160601b909204909116908201526060016103d8565b6103a6610440366004614d4e565b610c55565b610458610453366004614d9d565b610ed3565b6040516103d89190614e00565b6103a6610473366004614e48565b610fc9565b6103a6610486366004614d31565b611056565b6104ae610499366004614d31565b60706020526000908152604090205460ff1681565b60405190151581526020016103d8565b6103a66104cc366004614d31565b61109d565b6103a66104df366004614d31565b611237565b6104586104f2366004614f2f565b611348565b6103a6610505366004614fae565b611383565b60735461051d906001600160a01b031681565b6040516001600160a01b0390911681526020016103d8565b606754606854606954606a545b6040805194855260208501939093529183015260608201526080016103d8565b6103a6610570366004615030565b6116f1565b6103a661058336600461509b565b611a8a565b60005461051d906001600160a01b031681565b6103a66105a9366004614d4e565b611b93565b6103a66105bc366004614d31565b611d4e565b6104ae611dd3565b6103a66105d7366004614ccd565b611de4565b608b546064546040805163ffffffff808516825264010000000090940490931660208401528201526060016103d8565b6103a661061a366004614d31565b611e6c565b6103a661062d3660046150d0565b611ebf565b6106606074546001600160601b038116916001600160401b03600160601b8304811692600160a01b90041690565b604080516001600160601b0390941684526001600160401b0392831660208501529116908201526060016103d8565b6103a661069d366004614d31565b611f5f565b6103a66106b0366004614d4e565b611fe7565b6106c86106c3366004614d31565b61203a565b6040516001600160601b0390911681526020016103d8565b606b54606c54606d54606e54610542565b608854600160401b90046001600160401b031615156104ae565b6103a6610719366004615121565b6120d3565b6103a661072c36600461515a565b61215c565b61074461073f366004614d31565b6121d5565b6040516001600160401b0390911681526020016103d8565b6103a661076a366004615186565b612259565b6103a6612360565b6103a6610785366004614e48565b612422565b606554608754607a54607b54607c54607d54604080519687526020870195909552938501929092526060840152608083015260a082015260c0016103d8565b6103a66107d73660046151c6565b6124a5565b60715461051d906001600160a01b031681565b60325461051d906001600160a01b031681565b60725461051d906001600160a01b031681565b61051d610823366004614d31565b6001600160a01b039081166000908152607560205260409020541690565b6103a661084f366004614ccd565b612962565b61085c6129ea565b6040516103d8919061523d565b6103a6610877366004615265565b6129f6565b6103a661088a366004614d31565b612ca6565b6103a6612d3d565b61051d6108a5366004614d31565b6001600160a01b039081166000908152607660205260409020541690565b6108cb612dc5565b6040516103d89190615304565b6104ae6108e6366004614d31565b612e49565b6074546001600160601b03166106c8565b61091c61090a366004614d9d565b606f6020526000908152604090205481565b6040519081526020016103d8565b6104ae610938366004614d31565b612ee6565b6106c861094b366004614d31565b612f31565b6106c861095e366004614d31565b613016565b6000546001600160a01b031633146109965760405162461bcd60e51b815260040161098d90615317565b60405180910390fd5b6109a16088846131e9565b606680546001600160601b038481166001600160c01b03199092168217600160601b858316908102919091179093556040805191871682526020820192909252908101919091527f1eda09aaee2b21bbf5571b06eab42dd1b2c2b629a5d6336230ff8b0e1f538276906060015b60405180910390a1505050565b6073546001600160a01b03163314610a455760405162461bcd60e51b815260040161098d9061534e565b60735460715460405163117964a560e21b8152607460048201526001600160a01b039283166024820152908216604482015290841660648201526001600160601b038084166084830152821660a482015273511dc2904da87895439be0bcb4411b3e1cf04c93906345e592949060c4015b60006040518083038186803b158015610ace57600080fd5b505af4158015610ae2573d6000803e3d6000fd5b50505050505050565b60735460715460405163520c3d3160e01b8152607460048201526001600160a01b0392831660248201529116604482015273511dc2904da87895439be0bcb4411b3e1cf04c939063520c3d319060640160006040518083038186803b158015610b5357600080fd5b505af4158015610b67573d6000803e3d6000fd5b50505050565b60606083600101805480602002602001604051908101604052809291908181526020018280548015610bbe57602002820191906000526020600020905b815481526020019060010190808311610baa575b5050505050905090565b60735460715460405163c6e1c83960e01b8152607460048201526001600160a01b0392831660248201529082166044820152908216606482015273511dc2904da87895439be0bcb4411b3e1cf04c939063c6e1c839906084015b60006040518083038186803b158015610c3a57600080fd5b505af4158015610c4e573d6000803e3d6000fd5b5050505050565b6040516346bf00db60e01b8152600090819073db7851413df88fbce0040ece22e798269f9affda906346bf00db90610c949060789087906004016154c5565b6040805180830381865af4158015610cb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd491906155e5565b606654607154604051638871ca5d60e01b815263ffffffff841660048201529395509193506001600160601b0316916000916001600160a01b031690638871ca5d90602401602060405180830381865afa158015610d36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5a919061560a565b60408051600180825281830190925291925060009190602080830190803683375050506001600160a01b038381166000908152607660205260409020549192501681600081518110610dae57610dae615627565b6001600160a01b039283166020918202929092010152607354606a546040516383ddba8f60e01b815291909216916383ddba8f91610df491879133908790600401615676565b600060405180830381600087803b158015610e0e57600080fd5b505af1925050508015610e1f575060015b610e7457604080516001600160601b03851681526001600160a01b038416602082015286917f14621289a12ab59e0737decc388bba91d929c723defb4682d5d19b9a12ecfecb910160405180910390a2610ec1565b604080516001600160601b03851681526001600160a01b038416602082015286917f88f76c659db78142f88e94db3ca791869495394c6c1b3d412ced9022dc97c9e3910160405180910390a25b610ecb607861358c565b505050505050565b604080516080810182526060808252600060208301819052928201839052810191909152610f026083836135e0565b604051806080016040529081600082018054610f1d906156b6565b80601f0160208091040260200160405190810160405280929190818152602001828054610f49906156b6565b8015610f965780601f10610f6b57610100808354040283529160200191610f96565b820191906000526020600020905b815481529060010190602001808311610f7957829003601f168201915b5050509183525050600182015460208201526002820154604082015260039091015460ff16151560609091015292915050565b6000546001600160a01b03163314610ff35760405162461bcd60e51b815260040161098d90615317565b606784905560688390556069829055606a8190556040805185815260208101859052908101839052606081018290527fbe6727aab9b80431985c18deef80d48599397c63884c62e96959f82abd16f16d906080015b60405180910390a150505050565b604051634755926360e01b8152607460048201526001600160a01b038216602482015273511dc2904da87895439be0bcb4411b3e1cf04c9390634755926390604401610c22565b6001600160a01b0381811660009081526075602052604090205416806110f85760405162461bcd60e51b815260206004820152601060248201526f2ab735b737bbb71037b832b930ba37b960811b604482015260640161098d565b607354604051632de9480760e01b81526001600160a01b0384811660048301526000921690632de9480790602401606060405180830381865afa158015611143573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116791906156f0565b50607154604051637104c0e560e11b81526001600160a01b03868116600483015280841660248301529294506000935091169063e20981ca906044016020604051808303816000875af11580156111c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e69190615732565b6040516001600160601b03821681529091506001600160a01b038516907f38532b6dea69d7266fa923c7813d190be37625f2454ddfa3d93c45c79482e3fd906020015b60405180910390a250505050565b3360009081526070602052604090205460ff166112965760405162461bcd60e51b815260206004820152601c60248201527f526571756573746572206d75737420626520617574686f72697a656400000000604482015260640161098d565b604080518082019091526089548152608a5460208201526000906112cd906112bd90613627565b8051602090910120608390613661565b90506112da6088826136fe565b608c80546001600160a01b0319166001600160a01b03841617905560655460885461130e91906001600160401b0316615765565b158015611335575060006113226078613863565b600481111561133357611333615227565b145b15611344576113446078613916565b5050565b604080516080810182526060808252600060208084018290528385018290529183018190528451858301208152608390915291909120610f02565b608854600160801b90046001600160401b031660006113a36083836135e0565b905083836040516020016113b8929190615779565b604051602081830303815290604052805190602001208160020154146113f05760405162461bcd60e51b815260040161098d906157c4565b608b54607154604051637bfcd47d60e11b8152600160401b9092046001600160601b0316916000916001600160a01b03169063f7f9a8fa906114389089908990600401615779565b600060405180830381865afa158015611455573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261147d9190810190615816565b9050600081516001600160401b0381111561149a5761149a614e7a565b6040519080825280602002602001820160405280156114c3578160200160208202803683370190505b50905060005b82518110156115495761150d8382815181106114e7576114e7615627565b60200260200101516001600160a01b039081166000908152607660205260409020541690565b82828151811061151f5761151f615627565b6001600160a01b039092166020928302919091019091015280611541816158ca565b9150506114c9565b506073546068546040516383ddba8f60e01b81526001600160a01b03909216916383ddba8f916115829187919033908790600401615676565b600060405180830381600087803b15801561159c57600080fd5b505af19250505080156115ad575060015b61160557608854604051600160401b9091046001600160401b0316907f678dcbc52328cedef940fe45ab75280e81c09ec03fe55df62e67642aa18bc278906115f890869086906158e3565b60405180910390a2611655565b608854604051600160401b9091046001600160401b0316907f6e1369aebaf86903bf1f0ab69c3edd0cadbf0534635f699f57a74a3ce54d37189061164c90869086906158e3565b60405180910390a25b6116606083866139e9565b61166a6083613c1b565b60006116766083613e36565b6001600160401b031611156116bb57604080518082019091526089548152608a5460208201526116a9906112bd90613627565b94506116b6608886613e7e565b610ae2565b6116c56088613fc1565b60016116d16078613863565b60048111156116e2576116e2615227565b03610ae257610ae26078614076565b60005a6088549091506001600160401b03600160401b820481169160009161172491608391600160801b909104166135e0565b90508484604051602001611739929190615779565b604051602081830303815290604052805190602001208160020154146117715760405162461bcd60e51b815260040161098d906157c4565b600061178060888989856140e1565b90506001600160601b0381161561198e57607154604051637bfcd47d60e11b81526000916001600160a01b03169063f7f9a8fa906117c4908a908a90600401615779565b600060405180830381865afa1580156117e1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118099190810190615816565b9050600081516001600160401b0381111561182657611826614e7a565b60405190808252806020026020018201604052801561184f578160200160208202803683370190505b50905060005b82518110156118af576118738382815181106114e7576114e7615627565b82828151811061188557611885615627565b6001600160a01b0390921660209283029190910190910152806118a7816158ca565b915050611855565b5060735460405163f07f91c560e01b81526001600160a01b039091169063f07f91c5906118e290869085906004016158e3565b600060405180830381600087803b1580156118fc57600080fd5b505af192505050801561190d575060015b61195057847fd3f7d9c595537a55b26b224409f386868056764bc4d55bf8c3d86e20d047afc184846040516119439291906158e3565b60405180910390a261198b565b847f94af8e9c35b4ede2a77f659b202b1efe096bf99f0e6f5dd5905c800978a9a64784846040516119829291906158e3565b60405180910390a25b50505b600161199a6078613863565b60048111156119ab576119ab615227565b036119d4576119d488886040516119c3929190615905565b604051908190039020607890614106565b6119fc88886040516119e7929190615905565b604051908190039020606454608c9190614178565b603254606e546001600160a01b0390911690637ad226dc905a611a1f9088615915565b611a299190615928565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611a6857600080fd5b505af1158015611a7c573d6000803e3d6000fd5b505050505050505050505050565b60005a608854909150600090611ab290608390600160801b90046001600160401b03166135e0565b9050611ac16088858584614225565b6001611acd6078613863565b6004811115611ade57611ade615227565b03611af657611af684846040516119c3929190615905565b611b0984846040516119e7929190615905565b603254606e546001600160a01b0390911690637ad226dc905a611b2c9086615915565b611b369190615928565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611b7557600080fd5b505af1158015611b89573d6000803e3d6000fd5b5050505050505050565b60005a60405163716ae95760e01b815290915060009073db7851413df88fbce0040ece22e798269f9affda9063716ae95790611bd69060789087906004016154c5565b600060405180830381865af4158015611bf3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c1b919081019061593b565b805190915015611c99576071546067546001600160a01b039091169063942f6892908390611c499042615928565b6040518363ffffffff1660e01b8152600401611c669291906159c9565b600060405180830381600087803b158015611c8057600080fd5b505af1158015611c94573d6000803e3d6000fd5b505050505b611cb7611ca960208501856159eb565b6083919060c0870135614288565b611cc16078614351565b603254606c546001600160a01b0390911690637ad226dc905a611ce49086615915565b606b54611cf19190615928565b611cfb9190615928565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611d3a57600080fd5b505af1158015610ae2573d6000803e3d6000fd5b6000546001600160a01b03163314611d785760405162461bcd60e51b815260040161098d90615317565b607154604051632a59250560e21b81526001600160a01b0383811660048301529091169063a964941490602401600060405180830381600087803b158015611dbf57600080fd5b505af1158015610c4e573d6000803e3d6000fd5b6000611ddf60786143b5565b905090565b6073546001600160a01b03163314611e0e5760405162461bcd60e51b815260040161098d9061534e565b604051636dc1282760e11b8152607460048201526001600160a01b03841660248201526001600160601b0380841660448301528216606482015273511dc2904da87895439be0bcb4411b3e1cf04c939063db82504e90608401610ab6565b6073546040516304a3b6b360e31b8152607460048201526001600160a01b039182166024820152908216604482015273511dc2904da87895439be0bcb4411b3e1cf04c939063251db59890606401610c22565b6000546001600160a01b03163314611ee95760405162461bcd60e51b815260040161098d90615317565b60658690556087859055611f0160788585858561327d565b6040805187815260208101879052908101859052606081018490526080810183905260a081018290527f88243406f452bee756e4fff4cb19e6855a5d3b7bfab8814ea6838685e08da0939060c00160405180910390a1505050505050565b6000546001600160a01b03163314611f895760405162461bcd60e51b815260040161098d90615317565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1603280546001600160a01b0319166001600160a01b0392909216919091179055565b612000611ff760208301836159eb565b60839190614412565b6040516305149aaf60e51b815273db7851413df88fbce0040ece22e798269f9affda9063a29355e090610c229060789085906004016154c5565b607354604051635c359a0f60e11b8152607460048201526001600160a01b039182166024820152908216604482015260009073511dc2904da87895439be0bcb4411b3e1cf04c939063b86b341e906064015b602060405180830381865af41580156120a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cd9190615732565b92915050565b6000546001600160a01b031633146120fd5760405162461bcd60e51b815260040161098d90615317565b6001600160a01b038216600081815260706020908152604091829020805460ff191685151590811790915591519182527fb4d9db68405970190721d2b3726fc9f728c1413038755e60518dea67d5545556910160405180910390a25050565b6000546001600160a01b031633146121865760405162461bcd60e51b815260040161098d90615317565b606481905561219760888484613475565b60408051848152602081018490529081018290527fea9006ae23cd9b51dbfbc9d747fc3b0bc77acba4fefba609c76f8e9a9513602e90606001610a0e565b604051624f4ac760e01b8152607460048201526001600160a01b038216602482015260009073511dc2904da87895439be0bcb4411b3e1cf04c9390624f4ac790604401602060405180830381865af4158015612235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cd9190615a31565b6000546001600160a01b031633146122835760405162461bcd60e51b815260040161098d90615317565b604051633d36f3fd60e21b8152607460048201526001600160601b03841660248201526001600160401b0380841660448301528216606482015273511dc2904da87895439be0bcb4411b3e1cf04c939063f4dbcff49060840160006040518083038186803b1580156122f457600080fd5b505af4158015612308573d6000803e3d6000fd5b5050604080516001600160601b03871681526001600160401b0380871660208301528516918101919091527f544b726e42801bb47073854eeedae851903f66fe32a5bd24e626e10b90027b5192506060019050610a0e565b61236a6083613e36565b6001600160401b0316156123b75760405162461bcd60e51b81526020600482015260146024820152734e6f74206177616974696e672067656e6573697360601b604482015260640161098d565b6123c16078613916565b6124207f4574c8c75d6e88acd28f7e467dac97b5c60c3838d9dad993900bdf402152228e43604051602001612400929190918252602082015260400190565b60408051601f198184030181529190528051602090910120607890614106565b565b6000546001600160a01b0316331461244c5760405162461bcd60e51b815260040161098d90615317565b606b849055606c839055606d829055606e8190556040805185815260208101859052908101839052606081018290527feffd28b20afc0bf9349e8d49d5346c7568689b661a6bcd71c26a939b57b0acd190608001611048565b60006124b26083856135e0565b6040518060800160405290816000820180546124cd906156b6565b80601f01602080910402602001604051908101604052809291908181526020018280546124f9906156b6565b80156125465780601f1061251b57610100808354040283529160200191612546565b820191906000526020600020905b81548152906001019060200180831161252957829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820160009054906101000a900460ff16151515158152505090508282604051602001612593929190615779565b604051602081830303815290604052805190602001208160400151146125cb5760405162461bcd60e51b815260040161098d906157c4565b80606001511561261d5760405162461bcd60e51b815260206004820152601a60248201527f47726f75702063616e6e6f74206265207465726d696e61746564000000000000604482015260640161098d565b8051604080513360601b6bffffffffffffffffffffffff191660208201528151601481830301815260348201928390526339c6c5f160e21b909252734d1f50c1e4a22beb8980f08cd143da59bad5028d9263e71b17c492612682928a90603801615a4e565b602060405180830381865af415801561269f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126c39190615a87565b6127035760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b604482015260640161098d565b61270e6083856139e9565b607154604051637bfcd47d60e11b81526000916001600160a01b03169063f7f9a8fa906127419087908790600401615779565b600060405180830381865afa15801561275e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526127869190810190615816565b9050600081516001600160401b038111156127a3576127a3614e7a565b6040519080825280602002602001820160405280156127cc578160200160208202803683370190505b50905060005b825181101561282c576127f08382815181106114e7576114e7615627565b82828151811061280257612802615627565b6001600160a01b039092166020928302919091019091015280612824816158ca565b9150506127d2565b506073546066546069546040516383ddba8f60e01b81526001600160a01b03909316926383ddba8f9261287792600160601b9091046001600160601b03169133908790600401615676565b600060405180830381600087803b15801561289157600080fd5b505af19250505080156128a2575060015b612902576066546040516001600160401b038816917ffd4a5a45de3194b94e2a7954706ac9023b7c9935cf1a25242691da2a94d720d4916128f591600160601b90046001600160601b03169086906158e3565b60405180910390a2610ae2565b6066546040516001600160401b038816917fa311dcb2a3eb32651a722488f4f281b3f8e4ab05abcd8a37a5c7d663bba5a8859161295191600160601b90046001600160601b03169086906158e3565b60405180910390a250505050505050565b6073546001600160a01b0316331461298c5760405162461bcd60e51b815260040161098d9061534e565b604051633558d21760e21b8152607460048201526001600160a01b03841660248201526001600160601b0380841660448301528216606482015273511dc2904da87895439be0bcb4411b3e1cf04c939063d563485c90608401610ab6565b6000611ddf6078613863565b60005a90506000612a0a6020870187614d9d565b6001600160401b0381166000908152606f60205260409020549091508514612a645760405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964206e6f6e636560981b604482015260640161098d565b612a6f6083826144fb565b612ab15760405162461bcd60e51b815260206004820152601360248201527247726f7570206973206e6f742061637469766560681b604482015260640161098d565b6000612abe6083836135e0565b90508484604051602001612ad3929190615779565b60405160208183030381529060405280519060200120816002015414612b0b5760405162461bcd60e51b815260040161098d906157c4565b60715460405163fc21976b60e01b815260009173bf115c9b450ee98efc26feeaaa8600b3cc0fed5f9163fc21976b91612b5c916001600160a01b03909116908c9087908d908d908d90600401615b21565b600060405180830381865af4158015612b79573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ba1919081019061593b565b6001600160401b0384166000908152606f60205260408120805492935090612bc8836158ca565b9091555050604080518881523360208201526001600160401b038516917f3ca10b33fda0a4adbc75ac1939659a06e8c332b8f6a2792bedbf8741e4268417910160405180910390a26071546067546001600160a01b039091169063942f6892908390612c349042615928565b6040518363ffffffff1660e01b8152600401612c519291906159c9565b600060405180830381600087803b158015612c6b57600080fd5b505af1158015612c7f573d6000803e3d6000fd5b5050603254606d546001600160a01b039091169250637ad226dc91505a611a1f9088615915565b6000546001600160a01b03163314612cd05760405162461bcd60e51b815260040161098d90615317565b6001600160a01b038116612d315760405162461bcd60e51b815260206004820152602260248201527f4e657720676f7665726e616e636520697320746865207a65726f206164647265604482015261737360f01b606482015260840161098d565b612d3a8161453b565b50565b3360005a9050612d4d607861459c565b6032546001600160a01b0316637ad226dc5a612d699084615915565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b0385166024820152604401600060405180830381600087803b158015612db157600080fd5b505af1158015610ecb573d6000803e3d6000fd5b607154607f5460408051636c2530b960e01b81526060936001600160a01b031692636c2530b992612e0492909190600401918252602082015260400190565b600060405180830381865afa158015612e21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ddf919081019061593b565b60735460715460405163148140a160e21b8152607460048201526001600160a01b0392831660248201529082166044820152908216606482015260009073511dc2904da87895439be0bcb4411b3e1cf04c9390635205028490608401602060405180830381865af4158015612ec2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cd9190615a87565b6071546040516307b8c36760e51b81526001600160a01b038381166004830152600092169063f7186ce090602401602060405180830381865afa158015612ec2573d6000803e3d6000fd5b600080612f56836001600160a01b039081166000908152607560205260409020541690565b90506001600160a01b038116612fa15760405162461bcd60e51b815260206004820152601060248201526f2ab735b737bbb71037b832b930ba37b960811b604482015260640161098d565b60715460405163439f18fd60e11b81526001600160a01b0383811660048301529091169063873e31fa90602401602060405180830381865afa158015612feb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061300f9190615732565b9392505050565b604051635fc3290960e11b8152607460048201526001600160a01b038216602482015260009073511dc2904da87895439be0bcb4411b3e1cf04c939063bf8652129060440161208c565b82546001600160a01b0316156130c35760405162461bcd60e51b815260206004820152602260248201527f536f72746974696f6e20506f6f6c206164647265737320616c72656164792073604482015261195d60f21b606482015260840161098d565b60018301546001600160a01b0316156131285760405162461bcd60e51b815260206004820152602160248201527f444b472056616c696461746f72206164647265737320616c72656164792073656044820152601d60fa1b606482015260840161098d565b82546001600160a01b03199081166001600160a01b03938416178455600190930180549093169116179055565b600181015415801561316957506002810154155b6131b55760405162461bcd60e51b815260206004820152601e60248201527f5365656420656e74727920616c726561647920696e697469616c697a65640000604482015260640161098d565b6131d6604051806060016040528060408152602001615ea060409139613508565b8051600183015560200151600290910155565b8154600160401b90046001600160401b0316156132445760405162461bcd60e51b815260206004820152601960248201527852656c6179207265717565737420696e2070726f677265737360381b604482015260640161098d565b600390910180546001600160601b03909216600160401b0273ffffffffffffffffffffffff000000000000000019909216919091179055565b600061328886613863565b600481111561329957613299615227565b146132e25760405162461bcd60e51b815260206004820152601960248201527843757272656e74207374617465206973206e6f742049444c4560381b604482015260640161098d565b600084116133585760405162461bcd60e51b815260206004820152603a60248201527f526573756c74206368616c6c656e676520706572696f64206c656e677468207360448201527f686f756c642062652067726561746572207468616e207a65726f000000000000606482015260840161098d565b600082116133c65760405162461bcd60e51b815260206004820152603560248201527f526573756c74207375626d697373696f6e2074696d656f75742073686f756c646044820152742062652067726561746572207468616e207a65726f60581b606482015260840161098d565b8181106134585760405162461bcd60e51b815260206004820152605460248201527f5375626d697474657220707265636564656e636520706572696f64206c656e6760448201527f74682073686f756c64206265206c657373207468616e2074686520726573756c6064820152731d081cdd589b5a5cdcda5bdb881d1a5b595bdd5d60621b608482015260a40161098d565b600285019390935560038401919091556004830155600590910155565b8254600160401b90046001600160401b0316156134d05760405162461bcd60e51b815260206004820152601960248201527852656c6179207265717565737420696e2070726f677265737360381b604482015260640161098d565b6003909201805463ffffffff9384166401000000000267ffffffffffffffff199091169390921692909217179055565b600490910155565b6040805180820190915260008082526020820152815160401461356d5760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964204731206279746573206c656e677468000000000000000000604482015260640161098d565b5060208181015160409283015183518085019094529083529082015290565b60038101545a1015612d3a5760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f75676820657874726120676173206c65667400000000000000604482015260640161098d565b600082600001600084600101846001600160401b03168154811061360657613606615627565b90600052602060002001548152602001908152602001600020905092915050565b6040805181815260608181018352916000919060208201818036833750508451602095860151958301525060408101939093525090919050565b600061366c83613c1b565b600061367784613e36565b6001600160401b0316116136c05760405162461bcd60e51b815260206004820152601060248201526f4e6f206163746976652067726f75707360801b604482015260640161098d565b60006136cb84613e36565b6136de906001600160401b031684615765565b905060006136f5856136f0878561461b565b614637565b95945050505050565b8154600160401b90046001600160401b0316156137675760405162461bcd60e51b815260206004820152602160248201527f416e6f746865722072656c6179207265717565737420696e2070726f677265736044820152607360f81b606482015260840161098d565b815460009083908290613782906001600160401b0316615c02565b82546101009290920a6001600160401b038181021990931682841691820217909355855477ffffffffffffffffffffffffffffffff00000000000000001916600160401b840267ffffffffffffffff60801b191617600160801b86841602176001600160c01b0316600160c01b43909316929092029190911785556040805180820190915260018601548152600286015460208201529092507fdf86f752d80d21879cbd208ba1d036c03f836b1d7f8f887b0b9e0b63f8a49f5d90849061384890613627565b604051613856929190615c28565b60405180910390a2505050565b805460408051632938b58d60e21b815290516000926001600160a01b03169163a4e2d6349160048083019260209291908290030181865afa1580156138ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138d09190615a87565b1561391157506006810154600190156139115760029050604882600601546138f89190615928565b4311156139115750600a81015460039015613911575060045b919050565b600061392182613863565b600481111561393257613932615227565b1461397b5760405162461bcd60e51b815260206004820152601960248201527843757272656e74207374617465206973206e6f742049444c4560381b604482015260640161098d565b6040517f5c3ed2397d4d21298b2fb5027ac8e2d42e3c9c72bbb55ddb030e2a36a0cdff6b90600090a1805460408051637c1e845d60e11b815290516001600160a01b039092169163f83d08ba9160048082019260009290919082900301818387803b158015611dbf57600080fd5b6139f382826146cd565b15613a4a5760405162461bcd60e51b815260206004820152602160248201527f47726f757020686173206265656e20616c7265616479207465726d696e6174656044820152601960fa1b606482015260840161098d565b600182600001600084600101846001600160401b031681548110613a7057613a70615627565b60009182526020808320919091015483528201929092526040018120600301805460ff1916921515929092179091556002830180546001908101808355918352613ab991615915565b90505b600081118015613b1957506001600160401b03821660028401613ae0600184615915565b81548110613af057613af0615627565b6000918252602090912060048204015460039091166008026101000a90046001600160401b0316115b15613bc75760028301613b2d600183615915565b81548110613b3d57613b3d615627565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b0316836002018281548110613b7b57613b7b615627565b90600052602060002090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b031602179055508080613bbf90615c4a565b915050613abc565b81836002018281548110613bdd57613bdd615627565b90600052602060002090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b03160217905550505050565b600181015460038201546001600160401b0316108015613c75575060038101546001820180544392613c7392859290916001600160401b0316908110613c6357613c63615627565b906000526020600020015461471d565b105b15613cbf576003810180546001600160401b0316906000613c9583615c02565b91906101000a8154816001600160401b0302191690836001600160401b0316021790555050613c1b565b60005b600282015481101561134457816002018181548110613ce357613ce3615627565b6000918252602090912060048204015460038481015492166008026101000a90046001600160401b0390811691161115613e2457805b6002830154613d2a90600190615915565b811015613dda5760028301613d40826001615928565b81548110613d5057613d50615627565b90600052602060002090600491828204019190066008029054906101000a90046001600160401b0316836002018281548110613d8e57613d8e615627565b90600052602060002090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b031602179055508080613dd2906158ca565b915050613d19565b5081600201805480613dee57613dee615c61565b60008281526020902060046000199092019182040180546001600160401b03600860038516026101000a02191690559055613cc2565b80613e2e816158ca565b915050613cc2565b60018101546000908103613e4c57506000919050565b60028201546003830154600184015460009291613e74916001600160401b0390911690615915565b61300f9190615915565b613e878261473f565b613ed35760405162461bcd60e51b815260206004820152601e60248201527f52656c6179207265717565737420646964206e6f742074696d65206f75740000604482015260640161098d565b81546040516001600160401b03600160801b83048116808352600160401b90930416919082907fc28be0fa97c9083fa79881ba8950c1333fb45ec5100d2b893ec0f41544e78bef9060200160405180910390a283546fffffffffffffffffffffffffffffffff16600160801b6001600160401b03858116919091026001600160c01b031691909117600160c01b43831602178555604080518082019091526001860154815260028601546020820152908316907fdf86f752d80d21879cbd208ba1d036c03f836b1d7f8f887b0b9e0b63f8a49f5d908590613fb390613627565b604051611229929190615c28565b613fca8161473f565b6140165760405162461bcd60e51b815260206004820152601e60248201527f52656c6179207265717565737420646964206e6f742074696d65206f75740000604482015260640161098d565b80546040516001600160401b03600160801b830481168252600160401b909204909116907fc28be0fa97c9083fa79881ba8950c1333fb45ec5100d2b893ec0f41544e78bef9060200160405180910390a280546001600160401b03169055565b600161408182613863565b600481111561409257614092615227565b146140af5760405162461bcd60e51b815260040161098d90615c77565b6040517f68c52f05452e81639fa06f379aee3178cddee4725521fff886f244c99e868b5090600090a1612d3a81614351565b6000806140ed866147b3565b90506140fb86868686614848565b90505b949350505050565b600161411183613863565b600481111561412257614122615227565b1461413f5760405162461bcd60e51b815260040161098d90615c77565b60405181907fb2ad26c2940889d79df2ee9c758a8aefa00c5ca90eee119af0e5d795df3b98bb90600090a2436006830155600790910155565b82546001600160a01b031615614220578254604051631bfaf51960e21b8152600481018490524360248201526001600160a01b0390911690636febd464908390604401600060405180830381600088803b1580156141d557600080fd5b5087f1935050505080156141e7575060015b61422057604080518381524360208201527f5e2af61e77ec91022b1cafe282abce475bb18e8cdd47083464caa06583fe39099101610a0e565b505050565b61422e84614b38565b431061427c5760405162461bcd60e51b815260206004820152601f60248201527f52656c617920656e74727920736f66742074696d656f75742070617373656400604482015260640161098d565b610b6784848484614848565b6000838360405161429a929190615905565b60408051918290039091206000818152602088905291909120909150806142c2858783615cff565b50600281018390554360018083019190915586810180549182018155600090815260209020018290556040516142fb9086908690615905565b6040519081900390206001878101546143149190615915565b6001600160401b03167f4c0666db2c51896711b100d1f4f5d20a347c59e6e16ad8f365ed81ff97358b4e60405160405180910390a3505050505050565b600060068201819055600782018190556008820181905560098201819055600a820181905581546040805163a69df4b560e01b815290516001600160a01b039092169263a69df4b59260048084019382900301818387803b158015611dbf57600080fd5b600060036143c283613863565b60048111156143d3576143d3615227565b1480156120cd57506004820154600883015460068401546143f690604890615928565b6144009190615928565b61440a9190615928565b431192915050565b608081146144625760405162461bcd60e51b815260206004820181905260248201527f496e76616c6964206c656e677468206f6620746865207075626c6963206b6579604482015260640161098d565b60008282604051614474929190615905565b604080519182900390912060008181526020879052919091206001015490915015610b675760405162461bcd60e51b815260206004820152603160248201527f47726f757020776974682074686973207075626c6963206b65792077617320616044820152701b1c9958591e481c9959da5cdd195c9959607a1b606482015260840161098d565b6000436145208485600101856001600160401b031681548110613c6357613c63615627565b1015801561300f575061453383836146cd565b159392505050565b600080546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80910160405180910390a15050565b6145a5816143b5565b6145e95760405162461bcd60e51b81526020600482015260156024820152741112d1c81a185cc81b9bdd081d1a5b5959081bdd5d605a1b604482015260640161098d565b6040517f2852b3e178dd281713b041c3d90b4815bb55b7ec812931d1e8e8d8bb2ed72d3e90600090a1612d3a81614351565b600382015460009061300f9083906001600160401b0316615dbe565b600081815b60028501546001600160401b03821610156146c557816001600160401b031685600201826001600160401b03168154811061467957614679615627565b6000918252602090912060048204015460039091166008026101000a90046001600160401b0316116146b357816146af81615c02565b9250505b806146bd81615c02565b91505061463c565b509392505050565b600082600001600084600101846001600160401b0316815481106146f3576146f3615627565b6000918252602080832090910154835282019290925260400190206003015460ff16905092915050565b6004820154600082815260208490526040812060010154909161300f91615928565b600381015460009081906147639063ffffffff640100000000820481169116615de5565b63ffffffff16905061478683546001600160401b03600160401b90910416151590565b801561300f575082546147aa908290600160c01b90046001600160401b0316615928565b43119392505050565b6000806147bf83614b38565b90508043111561483f5760006147d58243615915565b6003850154909150640100000000900463ffffffff1681111561480757506003830154640100000000900463ffffffff165b6003840154640100000000810463ffffffff169061483590600160401b90046001600160601b031683615e02565b6140fe9190615e19565b50600092915050565b8354600160401b90046001600160401b03166148a65760405162461bcd60e51b815260206004820152601c60248201527f4e6f2072656c6179207265717565737420696e2070726f677265737300000000604482015260640161098d565b6148af8461473f565b156148fc5760405162461bcd60e51b815260206004820152601760248201527f52656c617920726571756573742074696d6564206f7574000000000000000000604482015260640161098d565b734d1f50c1e4a22beb8980f08cd143da59bad5028d63b6087a0f6149a8838054614925906156b6565b80601f0160208091040260200160405190810160405280929190818152602001828054614951906156b6565b801561499e5780601f106149735761010080835404028352916020019161499e565b820191906000526020600020905b81548152906001019060200180831161498157829003601f168201915b5050505050614b73565b866001016149eb87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061350892505050565b6040518463ffffffff1660e01b8152600401614a0993929190615e2d565b602060405180830381865af4158015614a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a4a9190615a87565b614a865760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420656e74727960981b604482015260640161098d565b8354604051600160401b9091046001600160401b0316907f087df9fd862e4448d02f8b58e33a18941769c795a8b83cfb95dfaf9c92ca897e90614ace90339087908790615e7a565b60405180910390a2614b1583838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061350892505050565b80516001860155602001516002850155505081546001600160401b031690915550565b60038101548154600091614b649163ffffffff90911690600160c01b90046001600160401b0316615dbe565b6001600160401b031692915050565b614b7b614c14565b8151608014614bcc5760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964204732206279746573206c656e677468000000000000000000604482015260640161098d565b50602081810151604080840151606080860151608096870151845197880185528785019586529187019290925292855281518083019092528152808301919091529082015290565b60408051608081018252600091810182815260608201929092529081908152602001614c53604051806040016040528060008152602001600081525090565b905290565b6001600160601b0381168114612d3a57600080fd5b600080600060608486031215614c8257600080fd5b8335614c8d81614c58565b92506020840135614c9d81614c58565b91506040840135614cad81614c58565b809150509250925092565b6001600160a01b0381168114612d3a57600080fd5b600080600060608486031215614ce257600080fd5b8335614c8d81614cb8565b6020808252825182820181905260009190848201906040850190845b81811015614d2557835183529284019291840191600101614d09565b50909695505050505050565b600060208284031215614d4357600080fd5b813561300f81614cb8565b600060208284031215614d6057600080fd5b81356001600160401b03811115614d7657600080fd5b820160e0818503121561300f57600080fd5b6001600160401b0381168114612d3a57600080fd5b600060208284031215614daf57600080fd5b813561300f81614d88565b6000815180845260005b81811015614de057602081850181015186830182015201614dc4565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000825160806020840152614e1c60a0840182614dba565b905060208401516040840152604084015160608401526060840151151560808401528091505092915050565b60008060008060808587031215614e5e57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614eb857614eb8614e7a565b604052919050565b600082601f830112614ed157600080fd5b81356001600160401b03811115614eea57614eea614e7a565b614efd601f8201601f1916602001614e90565b818152846020838601011115614f1257600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215614f4157600080fd5b81356001600160401b03811115614f5757600080fd5b6140fe84828501614ec0565b60008083601f840112614f7557600080fd5b5081356001600160401b03811115614f8c57600080fd5b6020830191508360208260051b8501011115614fa757600080fd5b9250929050565b60008060208385031215614fc157600080fd5b82356001600160401b03811115614fd757600080fd5b614fe385828601614f63565b90969095509350505050565b60008083601f84011261500157600080fd5b5081356001600160401b0381111561501857600080fd5b602083019150836020828501011115614fa757600080fd5b6000806000806040858703121561504657600080fd5b84356001600160401b038082111561505d57600080fd5b61506988838901614fef565b9096509450602087013591508082111561508257600080fd5b5061508f87828801614f63565b95989497509550505050565b600080602083850312156150ae57600080fd5b82356001600160401b038111156150c457600080fd5b614fe385828601614fef565b60008060008060008060c087890312156150e957600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b8015158114612d3a57600080fd5b6000806040838503121561513457600080fd5b823561513f81614cb8565b9150602083013561514f81615113565b809150509250929050565b60008060006060848603121561516f57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561519b57600080fd5b83356151a681614c58565b925060208401356151b681614d88565b91506040840135614cad81614d88565b600080600080606085870312156151dc57600080fd5b84356001600160401b03808211156151f357600080fd5b6151ff88838901614ec0565b95506020870135915061521182614d88565b9093506040860135908082111561508257600080fd5b634e487b7160e01b600052602160045260246000fd5b602081016005831061525f57634e487b7160e01b600052602160045260246000fd5b91905290565b6000806000806060858703121561527b57600080fd5b84356001600160401b038082111561529257600080fd5b90860190608082890312156152a657600080fd5b909450602086013593506040860135908082111561508257600080fd5b600081518084526020808501945080840160005b838110156152f957815163ffffffff16875295820195908201906001016152d7565b509495945050505050565b60208152600061300f60208301846152c3565b6020808252601c908201527f43616c6c6572206973206e6f742074686520676f7665726e616e636500000000604082015260600190565b60208082526022908201527f43616c6c6572206973206e6f7420746865207374616b696e6720636f6e74726160408201526118dd60f21b606082015260800190565b6000808335601e198436030181126153a757600080fd5b83016020810192503590506001600160401b038111156153c657600080fd5b803603821315614fa757600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261541557600080fd5b83016020810192503590506001600160401b0381111561543457600080fd5b8060051b3603821315614fa757600080fd5b81835260006001600160fb1b0383111561545f57600080fd5b8260051b80836020870137939093016020019392505050565b63ffffffff81168114612d3a57600080fd5b8183526000602080850194508260005b858110156152f95781356154ad81615478565b63ffffffff168752958201959082019060010161549a565b82815260006020604081840152833560408401526154e581850185615390565b60e060608601526154fb610120860182846153d5565b91505061550b60408601866153fe565b603f19868403810160808801528184529192600092908501835b8381101561555157853560ff811680821461553e578687fd5b8352509486019490860190600101615525565b5061555f60608a018a615390565b96509450818882030160a08901526155788187876153d5565b95505061558860808901896153fe565b94509250808786030160c08801526155a1858585615446565b94506155b060a08901896153fe565b94509250808786030160e088015250506155cb83838361548a565b9250505060c0840135610100840152809150509392505050565b600080604083850312156155f857600080fd5b82519150602083015161514f81615478565b60006020828403121561561c57600080fd5b815161300f81614cb8565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156152f95781516001600160a01b031687529582019590820190600101615651565b6001600160601b038516815283602082015260018060a01b03831660408201526080606082015260006156ac608083018461563d565b9695505050505050565b600181811c908216806156ca57607f821691505b6020821081036156ea57634e487b7160e01b600052602260045260246000fd5b50919050565b60008060006060848603121561570557600080fd5b835161571081614cb8565b602085015190935061572181614cb8565b6040850151909250614cad81614cb8565b60006020828403121561574457600080fd5b815161300f81614c58565b634e487b7160e01b600052601260045260246000fd5b6000826157745761577461574f565b500690565b60208082528181018390526000908460408401835b868110156157b95782356157a181615478565b63ffffffff168252918301919083019060010161578e565b509695505050505050565b602080825260159082015274496e76616c69642067726f7570206d656d6265727360581b604082015260600190565b60006001600160401b0382111561580c5761580c614e7a565b5060051b60200190565b6000602080838503121561582957600080fd5b82516001600160401b0381111561583f57600080fd5b8301601f8101851361585057600080fd5b805161586361585e826157f3565b614e90565b81815260059190911b8201830190838101908783111561588257600080fd5b928401925b828410156158a957835161589a81614cb8565b82529284019290840190615887565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016158dc576158dc6158b4565b5060010190565b6001600160601b03831681526040602082015260006140fe604083018461563d565b8183823760009101908152919050565b818103818111156120cd576120cd6158b4565b808201808211156120cd576120cd6158b4565b6000602080838503121561594e57600080fd5b82516001600160401b0381111561596457600080fd5b8301601f8101851361597557600080fd5b805161598361585e826157f3565b81815260059190911b820183019083810190878311156159a257600080fd5b928401925b828410156158a95783516159ba81615478565b825292840192908401906159a7565b6040815260006159dc60408301856152c3565b90508260208301529392505050565b6000808335601e19843603018112615a0257600080fd5b8301803591506001600160401b03821115615a1c57600080fd5b602001915036819003821315614fa757600080fd5b600060208284031215615a4357600080fd5b815161300f81614d88565b606081526000615a616060830186614dba565b8281036020840152615a738186614dba565b905082810360408401526156ac8185614dba565b600060208284031215615a9957600080fd5b815161300f81615113565b60008154615ab1816156b6565b808552602060018381168015615ace5760018114615ae857615b16565b60ff1985168884015283151560051b880183019550615b16565b866000528260002060005b85811015615b0e5781548a8201860152908301908401615af3565b890184019650505b505050505092915050565b6001600160a01b038716815260a0602082015260008635615b4181614d88565b6001600160401b031660a0830152615b5c60208801886153fe565b608060c0850152615b7261012085018284615446565b915050615b826040890189615390565b609f19808685030160e0870152615b9a8483856153d5565b9350615ba960608c018c6153fe565b93509150808685030161010087015250615bc4838383615446565b925050508281036040840152615bda8188615aa4565b90508560608401528281036080840152615bf581858761548a565b9998505050505050505050565b60006001600160401b03808316818103615c1e57615c1e6158b4565b6001019392505050565b6001600160401b03831681526040602082015260006140fe6040830184614dba565b600081615c5957615c596158b4565b506000190190565b634e487b7160e01b600052603160045260246000fd5b60208082526022908201527f43757272656e74207374617465206973206e6f74204157414954494e475f5345604082015261115160f21b606082015260800190565b601f82111561422057600081815260208120601f850160051c81016020861015615ce05750805b601f850160051c820191505b81811015610ecb57828155600101615cec565b6001600160401b03831115615d1657615d16614e7a565b615d2a83615d2483546156b6565b83615cb9565b6000601f841160018114615d5e5760008515615d465750838201355b600019600387901b1c1916600186901b178355610c4e565b600083815260209020601f19861690835b82811015615d8f5786850135825560209485019460019092019101615d6f565b5086821015615dac5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6001600160401b03818116838216019080821115615dde57615dde6158b4565b5092915050565b63ffffffff818116838216019080821115615dde57615dde6158b4565b80820281158282048414176120cd576120cd6158b4565b600082615e2857615e2861574f565b500490565b835180518252602090810151818301528085015180516040840152810151606083015283546080830152600184015460a0830152825160c083015282015160e082015261010081016140fe565b6001600160a01b03841681526040602082018190526000906136f590830184866153d556fe15c30f4b6cf6dbbcbdcc10fe22f54c8170aea44e198139b776d512d8f027319a1b9e8bfaf1383978231ce98e42bafc8129f473fc993cf60ce327f7d223460663a2646970667358221220018e28efc36dbb2c44b85b67ee0f964830f7b3dac6c76a9f4ef851bdcd4c5eea64736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d636b635630c42a474858b877ea2324afde796d200000000000000000000000046abdf5ad1726ba700794539c3db8fe5918547290000000000000000000000003d4cb85c0e3c5bd1667b7e30f3e86b3fab878ff80000000000000000000000006555793e925241d50bbcb7d131f3b0d5b557944f0000000000000000000000004947243cc818b627a5d06d14c4ece7398a23ce1a

-----Decoded View---------------
Arg [0] : _sortitionPool (address): 0xd636B635630c42A474858b877ea2324AFdE796d2
Arg [1] : _tToken (address): 0x46abDF5aD1726ba700794539C3dB8fE591854729
Arg [2] : _staking (address): 0x3d4cb85c0e3c5bd1667B7E30f3E86B3FAB878Ff8
Arg [3] : _dkgValidator (address): 0x6555793e925241D50bbCb7D131F3B0d5B557944F
Arg [4] : _reimbursementPool (address): 0x4947243CC818b627A5D06d14C4eCe7398A23Ce1A

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000d636b635630c42a474858b877ea2324afde796d2
Arg [1] : 00000000000000000000000046abdf5ad1726ba700794539c3db8fe591854729
Arg [2] : 0000000000000000000000003d4cb85c0e3c5bd1667b7e30f3e86b3fab878ff8
Arg [3] : 0000000000000000000000006555793e925241d50bbcb7d131f3b0d5b557944f
Arg [4] : 0000000000000000000000004947243cc818b627a5d06d14c4ece7398a23ce1a

Custom Contract ABI

                            

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
0x02CBA6D77CF9fB019e322c55b34c9d42f2eF4D74
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

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