0 txs
11.7k calls
constructor
No constructor.
functions
accRewardsPerBooster
viewfunction accRewardsPerBooster() view returns (uint256)
accRewardsPerBoosterLastBlockUpdated
viewfunction accRewardsPerBoosterLastBlockUpdated() view returns (uint256)
accSQTPerStake
viewfunction accSQTPerStake() view returns (uint256)
boosterQueryRewardRate
viewfunction boosterQueryRewardRate(uint8) view returns (uint256)
deploymentPools
viewfunction deploymentPools(bytes32) view returns (uint256 boosterPoint, uint256 accRewardsForDeployment, uint256 accRewardsForDeploymentSnapshot, uint256 accRewardsPerBooster, uint256 accRewardsPerBoosterSnapshot, uint256 accRewardsPerAllocatedToken, uint256 accQueryRewardsPerBooster)
getAccQueryRewards
viewfunction getAccQueryRewards(bytes32 _deploymentId, address _account) view returns (uint256)
getAccQueryRewardsPerBooster
viewfunction getAccQueryRewardsPerBooster(bytes32 _deploymentId) view returns (uint256, uint256)
getAccRewardsForDeployment
viewfunction getAccRewardsForDeployment(bytes32 _deploymentId) view returns (uint256)
getAccRewardsPerAllocatedToken
viewfunction getAccRewardsPerAllocatedToken(bytes32 _deploymentId) view returns (uint256, uint256)
getAccRewardsPerBooster
viewfunction getAccRewardsPerBooster() view returns (uint256)
getAllocationRewards
viewfunction getAllocationRewards(bytes32 _deploymentId, address _runner) view returns (uint256, uint256)
getBoosterQueryRewards
viewfunction getBoosterQueryRewards(bytes32 _deploymentId, address _account) view returns (tuple)
getMissedLabor
viewfunction getMissedLabor(bytes32 _deploymentId, address _runner) view returns (uint256)
getNewRewardsPerBooster
viewfunction getNewRewardsPerBooster() view returns (uint256)
getQueryRewards
viewfunction getQueryRewards(bytes32 _deploymentId, address _account) view returns (uint256)
getRunnerDeploymentBooster
viewfunction getRunnerDeploymentBooster(bytes32 _deploymentId, address _runner) view returns (uint256)
getRunnerDeploymentRewards
viewfunction getRunnerDeploymentRewards(bytes32 _deploymentId, address _account) view returns (tuple)
issuancePerBlock
viewfunction issuancePerBlock() view returns (uint256)
minimumDeploymentBooster
viewfunction minimumDeploymentBooster() view returns (uint256)
owner
viewfunction owner() view returns (address)
reporters
viewfunction reporters(address) view returns (bool)
settings
viewfunction settings() view returns (address)
totalBoosterPoint
viewfunction totalBoosterPoint() view returns (uint256)
boostDeployment
nonpayablefunction boostDeployment(bytes32 _deploymentId, uint256 _amount)
boostDeploymentFor
nonpayablefunction boostDeploymentFor(bytes32 _deploymentId, uint256 _amount, address _for)
collectAllocationReward
nonpayablefunction collectAllocationReward(bytes32 _deploymentId, address _runner)
initialize
nonpayablefunction initialize(address _settings, uint256 _issuancePerBlock, uint256 _minimumDeploymentBooster)
onAllocationUpdate
nonpayablefunction onAllocationUpdate(bytes32 _deploymentId) returns (uint256)
onDeploymentBoosterUpdate
nonpayablefunction onDeploymentBoosterUpdate(bytes32 _deploymentId, address _account) returns (uint256)
refundQueryRewards
nonpayablefunction refundQueryRewards(bytes32 _deploymentId, address _spender, uint256 _amount, bytes _data)
removeBoosterDeployment
nonpayablefunction removeBoosterDeployment(bytes32 deploymentId, uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
setBoosterQueryRewardRate
nonpayablefunction setBoosterQueryRewardRate(uint8 _type, uint256 _rate)
setIssuancePerBlock
nonpayablefunction setIssuancePerBlock(uint256 _issuancePerBlock)
setMinimumDeploymentBooster
nonpayablefunction setMinimumDeploymentBooster(uint256 _minimumDeploymentBooster)
setMissedLabor
nonpayablefunction setMissedLabor(bytes32[] _deploymentIds, address[] _runners, bool[] _disableds, uint256[] _missedLaborChanges, uint256 _reportAt)
setReporter
nonpayablefunction setReporter(address reporter, bool allow)
setSettings
nonpayablefunction setSettings(address _settings)
spendQueryRewards
nonpayablefunction spendQueryRewards(bytes32 _deploymentId, address _spender, uint256 _amount, bytes _data) returns (uint256)
swapBoosterDeployment
nonpayablefunction swapBoosterDeployment(address account, bytes32 from, bytes32 to, uint256 amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateAccRewardsPerBooster
nonpayablefunction updateAccRewardsPerBooster() returns (uint256)
events
AllocationRewardsBurnt
event AllocationRewardsBurnt(bytes32 indexed deploymentId, address indexed runner, uint256 amount)
AllocationRewardsGiven
event AllocationRewardsGiven(bytes32 indexed deploymentId, address indexed runner, uint256 amount)
DeploymentBoosterAdded
event DeploymentBoosterAdded(bytes32 indexed deploymentId, address indexed account, uint256 amount)
DeploymentBoosterRemoved
event DeploymentBoosterRemoved(bytes32 indexed deploymentId, address indexed account, uint256 amount)
Initialized
event Initialized(uint8 version)
MissedLabor
event MissedLabor(bytes32 indexed deploymentId, address indexed runner, uint256 labor)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Parameter
event Parameter(string name, bytes value)
ParameterUpdated
event ParameterUpdated(string param, uint256 value)
QueryRewardsRefunded
event QueryRewardsRefunded(bytes32 indexed deploymentId, address indexed spender, uint256 amount, bytes data)
QueryRewardsSpent
event QueryRewardsSpent(bytes32 indexed deploymentId, address indexed spender, uint256 amount, bytes data)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50613d64806100206000396000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c80639d0f160f11610146578063c223ba48116100c3578063e1bb513311610087578063e1bb5133146105cf578063e798f401146105e2578063f2fde38b146105f5578063fca4a4d914610608578063fe76a2051461061b578063ffb16ae91461065557600080fd5b8063c223ba4814610590578063c31f9b95146105a3578063c76ee091146105ab578063d8fb2e04146105b4578063e06174e4146105bc57600080fd5b8063b0b3a0d31161010a578063b0b3a0d314610524578063b3f4071614610537578063b7a6533e1461054a578063b8afcf881461055d578063c0d5662c1461057d57600080fd5b80639d0f160f146104cf578063a01d3c2c146104d8578063a3700702146104eb578063a40120e2146104fe578063a847c4af1461051157600080fd5b80636e6322dd116101df5780637236faa8116101a35780637236faa81461044b5780637a1ac61e1461045e57806385ceea3e146104715780638d25d3d1146104845780638da5cb5b146104975780638e81f729146104bc57600080fd5b80636e6322dd146103ec578063702a280e146103f55780637038e78d1461041d57806370c0dbc514610430578063715018a61461044357600080fd5b80632cc1cd9e116102265780632cc1cd9e1461038c578063492e54b9146103bf5780634a0b5e66146103c75780635baaecc6146103d05780636c080f18146103e357600080fd5b80630b1d6b72146102635780631156bdc1146102cd5780631c461e4c146102e257806327214213146102f557806329ed02cf1461030c575b600080fd5b6102766102713660046135de565b61068a565b6040516102c49190600060c082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151151560a083015292915050565b60405180910390f35b6102e06102db36600461360e565b61073c565b005b6102e06102f0366004613627565b61078d565b6102fe606d5481565b6040519081526020016102c4565b61035761031a36600461360e565b606b602052600090815260409020805460048201546005830154600684015460078501546008860154600990960154949593949293919290919087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e0016102c4565b6103af61039a366004613662565b60666020526000908152604090205460ff1681565b60405190151581526020016102c4565b6102fe610a72565b6102fe606a5481565b6102e06103de36600461368c565b610adf565b6102fe60675481565b6102fe60685481565b61040861040336600461360e565b610ba3565b604080519283526020830191909152016102c4565b6102fe61042b3660046135de565b610e47565b61040861043e36600461360e565b610efb565b6102e06110a6565b6104086104593660046135de565b6110ba565b6102e061046c3660046136b8565b6112c6565b6102e061047f36600461360e565b611483565b6102e06104923660046136ed565b6114c6565b6033546001600160a01b03165b6040516001600160a01b0390911681526020016102c4565b6102e06104ca366004613726565b61178f565b6102fe606c5481565b6102e06104e6366004613662565b611a08565b6102fe6104f9366004613726565b611a32565b6102e061050c366004613801565b611d7f565b6102fe61051f3660046135de565b612111565b6102fe6105323660046135de565b6121a6565b6102fe61054536600461360e565b612226565b6102fe61055836600461360e565b61226d565b6102fe61056b3660046138cd565b606e6020526000908152604090205481565b6102e061058b3660046135de565b6122c2565b6102e061059e3660046138ea565b61248f565b6102fe6125d5565b6102fe60695481565b6102fe6125f1565b6065546104a4906001600160a01b031681565b6102e06105dd36600461391a565b612609565b6102e06105f03660046138ea565b61263c565b6102e0610603366004613662565b6126d6565b6102fe6106163660046135de565b61274f565b6102fe6106293660046135de565b6000828152606b602090815260408083206001600160a01b038516845260010190915290205492915050565b6106686106633660046135de565b6127d6565b60408051825181526020808401519082015291810151908201526060016102c4565b6106c56040518060c0016040528060008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b506000828152606b602090815260408083206001600160a01b03851684526003908101835292819020815160c081018352815481526001820154938101939093526002810154918301919091529182015460608201526004820154608082015260059091015460ff16151560a08201525b92915050565b61074461284b565b61074c6125f1565b5060678190556040517f3a64504f0bc0c335e2aecb78638a257e0351a3fe0370861fd54ee4190b92093390610782908390613948565b60405180910390a150565b60655460405163f4e5699160e01b815283916001600160a01b03169063f4e56991906107bd90600490810161399c565b602060405180830381865afa1580156107da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fe91906139b6565b6001600160a01b03166376ef34ff826040518263ffffffff1660e01b815260040161082b91815260200190565b602060405180830381865afa158015610848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086c91906139d3565b6108915760405162461bcd60e51b8152600401610888906139f0565b60405180910390fd5b84336001600160a01b038216146109c05760655460405163f4e5699160e01b81526000916001600160a01b03169063f4e56991906108d49060109060040161399c565b602060405180830381865afa1580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091591906139b6565b604051636488dab760e11b81526001600160a01b038481166004830152336024830152919091169063c911b56e90604401602060405180830381865afa158015610963573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098791906139d3565b9050806109be5760405162461bcd60e51b815260206004820152600560248201526414908c0c4d60da1b6044820152606401610888565b505b8385036109f75760405162461bcd60e51b8152602060048201526005602482015264524230313360d81b6044820152606401610888565b6000858152606b602090815260408083206001600160a01b038a168452600101909152902054831115610a545760405162461bcd60e51b8152602060048201526005602482015264524230303360d81b6044820152606401610888565b610a5f8587856128a5565b610a6a8487856129e9565b505050505050565b600080610a8a606d5443612afc90919063ffffffff16565b9050801580610a995750606754155b80610aa45750606a54155b15610ab157600091505090565b600081606754610ac19190613a25565b9050610ad881670de0b6b3a7640000606a54612b1f565b9250505090565b610ae761284b565b620f42408110610b215760405162461bcd60e51b8152602060048201526005602482015264292118181960d91b6044820152606401610888565b80606e6000846004811115610b3857610b38613986565b6004811115610b4957610b49613986565b815260200190815260200160002081905550600080516020613d0f8339815191528282604051602001610b7d929190613a44565b60408051601f1981840301815290829052610b9791613ac2565b60405180910390a15050565b6000818152606b60205260408120819081610bbd8561226d565b90506000610bcf828460050154612b36565b60655460405163f4e5699160e01b81529192506000916001600160a01b039091169063f4e5699190610c069060149060040161399c565b602060405180830381865afa158015610c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4791906139b6565b6040516373d6756760e11b8152600481018990529091506000906001600160a01b0383169063e7aceace90602401602060405180830381865afa158015610c92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb69190613b02565b905080600003610cd25750505060089091015494909350915050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190610d0390600490810161399c565b602060405180830381865afa158015610d20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4491906139b6565b6001600160a01b031663eed568488a6040518263ffffffff1660e01b8152600401610d7191815260200190565b602060405180830381865afa158015610d8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db29190613b1b565b90506000606e6000836004811115610dcc57610dcc613986565b6004811115610ddd57610ddd613986565b815260200190815260200160002054620f4240610dfa9190613b38565b90506000610e0c8683620f4240612b1f565b90506000610e2382670de0b6b3a764000087612b1f565b9050808960080154610e359190613b4f565b9c979b50969950505050505050505050565b6000828152606b6020526040812081610e5f85610efb565b506001600160a01b0385166000908152600184016020908152604080832054600287019092528220549293509091610e98919084612b46565b6001600160a01b038616600090815260028086016020908152604092839020835160608101855281548152600182015492810183905292015492820183905292935091610ee6908490613b4f565b610ef09190613b38565b979650505050505050565b6000818152606b60205260408120819081610f158561226d565b90506000610f27828460050154612b36565b83549091506000819003610f4657505060099091015494909350915050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190610f7790600490810161399c565b602060405180830381865afa158015610f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb891906139b6565b6001600160a01b031663eed56848896040518263ffffffff1660e01b8152600401610fe591815260200190565b602060405180830381865afa158015611002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110269190613b1b565b9050600061106d84606e600085600481111561104457611044613986565b600481111561105557611055613986565b815260200190815260200160002054620f4240612b1f565b9050600061108482670de0b6b3a764000086612b1f565b90508087600901546110969190613b4f565b9a95995094975050505050505050565b6110ae61284b565b6110b86000612b68565b565b6000828152606b6020526040808220606554915163f4e5699160e01b8152839283916001600160a01b039091169063f4e56991906110fd9060149060040161399c565b602060405180830381865afa15801561111a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113e91906139b6565b6040516301ea43f360e31b81526001600160a01b03878116600483015260248201899052919250600091831690630f521f9890604401602060405180830381865afa158015611191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b59190613b02565b6001600160a01b0387166000908152600380860160209081526040808420815160c081018352815481526001820154938101939093526002810154918301919091529182015460608201526004820154608082015260059091015460ff16151560a082015291925061122689610ba3565b509050600061123a84846000015184612b46565b6040516345441b0f60e11b81526001600160a01b038b811660048301529192506112b49183918691891690638a88361e90602401602060405180830381865afa15801561128b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112af9190613b02565b612bba565b975097505050505050505b9250929050565b600054610100900460ff16158080156112e65750600054600160ff909116105b806113005750303b158015611300575060005460ff166001145b6113635760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610888565b6000805460ff191660011790558015611386576000805461ff0019166101001790555b61138e612c64565b606580546001600160a01b0319166001600160a01b038616179055606783905560688290556040805160208101859052600080516020613d0f833981519152910160408051601f19818403018152908290526113e991613b67565b60405180910390a1600080516020613d0f83398151915260685460405160200161141591815260200190565b60408051601f198184030181529082905261142f91613ba9565b60405180910390a1801561147d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b61148b61284b565b60688190556040805160208101839052600080516020613d0f833981519152910160408051601f198184030181529082905261078291613ba9565b80336001600160a01b038216146115f55760655460405163f4e5699160e01b81526000916001600160a01b03169063f4e56991906115099060109060040161399c565b602060405180830381865afa158015611526573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154a91906139b6565b604051636488dab760e11b81526001600160a01b038481166004830152336024830152919091169063c911b56e90604401602060405180830381865afa158015611598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bc91906139d3565b9050806115f35760405162461bcd60e51b815260206004820152600560248201526414908c0c4d60da1b6044820152606401610888565b505b60655460405163f4e5699160e01b815285916001600160a01b03169063f4e569919061162590600490810161399c565b602060405180830381865afa158015611642573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166691906139b6565b6001600160a01b03166376ef34ff826040518263ffffffff1660e01b815260040161169391815260200190565b602060405180830381865afa1580156116b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d491906139d3565b6116f05760405162461bcd60e51b8152600401610888906139f0565b6116fb8584866129e9565b60655460405163f4e5699160e01b8152611788913391309188916001600160a01b039091169063f4e56991906117369060009060040161399c565b602060405180830381865afa158015611753573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177791906139b6565b6001600160a01b0316929190612c93565b5050505050565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e56991906117c090600f9060040161399c565b602060405180830381865afa1580156117dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180191906139b6565b6001600160a01b0316336001600160a01b0316146118495760405162461bcd60e51b8152602060048201526005602482015264292118181b60d91b6044820152606401610888565b6000858152606b602090815260408083206001600160a01b038816845260028082019093529220908101548511156118ab5760405162461bcd60e51b8152602060048201526005602482015264524230303760d81b6044820152606401610888565b848160020160008282546118bf9190613b38565b909155505060655460405163f4e5699160e01b81526119ba916001600160a01b03169063f4e56991906118f79060129060040161399c565b602060405180830381865afa158015611914573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193891906139b6565b60655460405163f4e5699160e01b815288916001600160a01b03169063f4e56991906119699060009060040161399c565b602060405180830381865afa158015611986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119aa91906139b6565b6001600160a01b03169190612cfe565b856001600160a01b0316877ee93a7785fdbe5e50803c2bd630405a174e3b1dac1d5b105c9b918cb312a3af8787876040516119f793929190613bf0565b60405180910390a350505050505050565b611a1061284b565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190611a6490600f9060040161399c565b602060405180830381865afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa591906139b6565b6001600160a01b0316336001600160a01b031614611aed5760405162461bcd60e51b8152602060048201526005602482015264292118181b60d91b6044820152606401610888565b6000611af98787610e47565b905084811015611b07578094505b6000878152606b602090815260408083206001600160a01b038a1684526002808201909352908320918201805491938992611b43908490613b4f565b909155505060655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190611b7990849060040161399c565b602060405180830381865afa158015611b96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bba91906139b6565b60655460405163f4e5699160e01b8152919250611c45916001600160a01b039091169063f4e5699190611bf29060129060040161399c565b602060405180830381865afa158015611c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3391906139b6565b6001600160a01b03831690308b612c93565b60655460405163f4e5699160e01b81526001600160a01b039091169063f4e5699190611c769060009060040161399c565b602060405180830381865afa158015611c93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb791906139b6565b60405163095ea7b360e01b8152336004820152602481018a90526001600160a01b03919091169063095ea7b3906044016020604051808303816000875af1158015611d06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2a91906139d3565b50886001600160a01b03168a7fe88d8641d97a825cab7b11b45fbfee810ebf3a0f64fa1842e2b7ed98ef4360998a8a8a604051611d6993929190613bf0565b60405180910390a3509598975050505050505050565b3360009081526066602052604090205460ff16611dc65760405162461bcd60e51b815260206004820152600560248201526414908c0c0d60da1b6044820152606401610888565b8786148015611dd457508784145b8015611ddf57508782145b611e135760405162461bcd60e51b8152602060048201526005602482015264292118189960d91b6044820152606401610888565b60005b86811015612105576000606b60008c8c85818110611e3657611e36613c26565b90506020020135815260200190815260200160002060030160008a8a85818110611e6257611e62613c26565b9050602002016020810190611e779190613662565b6001600160a01b03166001600160a01b031681526020019081526020016000209050806004015483118015611eac5750428311155b611ee05760405162461bcd60e51b8152602060048201526005602482015264052423031360dc1b6044820152606401610888565b6000878784818110611ef457611ef4613c26565b9050602002016020810190611f099190613c3c565b15611f20576004820154611f1d9085613b38565b90505b6000868685818110611f3457611f34613c26565b905060200201351115611fbb576004820154611f509085613b38565b868685818110611f6257611f62613c26565b905060200201351115611f9f5760405162461bcd60e51b8152602060048201526005602482015264524230313160d81b6044820152606401610888565b858584818110611fb157611fb1613c26565b9050602002013590505b80826003016000828254611fcf9190613b4f565b909155508890508784818110611fe757611fe7613c26565b9050602002016020810190611ffc9190613c3c565b60058301805460ff19169115159190911790556004820184905560018201546000906120289086613b38565b905080836003015411156120665760405162461bcd60e51b8152602060048201526005602482015264524230303960d81b6044820152606401610888565b81156120ef578a8a8581811061207e5761207e613c26565b90506020020160208101906120939190613662565b6001600160a01b03168d8d868181106120ae576120ae613c26565b905060200201357f7d625cb2c747cc18eb23ab7c12cbdd5b1f314b71ceeb3c8019ce9ecb1a17587f846040516120e691815260200190565b60405180910390a35b50505080806120fd90613c59565b915050611e16565b50505050505050505050565b600061211b6125f1565b506000838152606b602052604090206121338461226d565b6004820155606c5460078201556001600160a01b03831660009081526002820160205260408120908061216587610efb565b91509150612173878761274f565b600184015581835560098401829055600061218d88610ba3565b5060088601555060058401555050600401549392505050565b6000828152606b602090815260408083206001600160a01b038516845260038082018452828520835160c0810185528154815260018201549581019590955260028101549385019390935282015460608401526004820154608084015260059091015460ff16151560a08301529061221d81612d2e565b95945050505050565b6000818152606b60205260408120818061223f85610ba3565b600885018290559092509050600061225686610efb565b506009850155506005830155506008015492915050565b6000818152606b60205260408120600781015482906122a89061228e6125d5565b6122989190613b38565b8354670de0b6b3a7640000612b1f565b90508082600401546122ba9190613b4f565b949350505050565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e56991906122f49060039060040161399c565b602060405180830381865afa158015612311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061233591906139b6565b604051634463315560e11b81526001600160a01b0384811660048301529192506000918316906388c662aa90602401602060405180830381865afa158015612381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a591906139b6565b60655460405163f4e5699160e01b81529192506000916001600160a01b039091169063f4e56991906123dc9060149060040161399c565b602060405180830381865afa1580156123f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061241d91906139b6565b9050336001600160a01b038516148061243e5750336001600160a01b038316145b806124515750336001600160a01b038216145b6124855760405162461bcd60e51b8152602060048201526005602482015264524230303560d81b6044820152606401610888565b6117888585612d5a565b60655460405163f4e5699160e01b815283916001600160a01b03169063f4e56991906124bf90600490810161399c565b602060405180830381865afa1580156124dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250091906139b6565b6001600160a01b03166376ef34ff826040518263ffffffff1660e01b815260040161252d91815260200190565b602060405180830381865afa15801561254a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256e91906139d3565b61258a5760405162461bcd60e51b8152600401610888906139f0565b6125958333846129e9565b60655460405163f4e5699160e01b81526125d0913391309186916001600160a01b039091169063f4e56991906117369060009060040161399c565b505050565b60006125df610a72565b606c546125ec9190613b4f565b905090565b60006125fb6125d5565b606c81905543606d55919050565b61261161284b565b6001600160a01b03919091166000908152606660205260409020805460ff1916911515919091179055565b6000828152606b602090815260408083203384526001019091529020548111156126905760405162461bcd60e51b8152602060048201526005602482015264524230303360d81b6044820152606401610888565b61269b8233836128a5565b60655460405163f4e5699160e01b81526126d291339184916001600160a01b03169063f4e56991906119699060009060040161399c565b5050565b6126de61284b565b6001600160a01b0381166127435760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610888565b61274c81612b68565b50565b6000828152606b602052604081208161276785610efb565b506001600160a01b0385166000818152600280860160209081526040808420815160608101835281548152600180830154828601529190940154848301529484529387019052918120548251939450919290916127c49185612b46565b9050808260200151610ef09190613b4f565b6127fa60405180606001604052806000815260200160008152602001600081525090565b506000918252606b602090815260408084206001600160a01b039390931684526002928301825292839020835160608101855281548152600182015492810192909252909101549181019190915290565b6033546001600160a01b031633146110b85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610888565b6000838152606b602052604090206128bd8484612111565b50818160000160008282546128d29190613b38565b90915550506001600160a01b038316600090815260018201602052604081208054849290612901908490613b38565b9091555050606c546006820155606a8054839190600090612923908490613b38565b90915550506068546001600160a01b038416600090815260018301602052604090205410158061296b57506001600160a01b0383166000908152600182016020526040902054155b61299f5760405162461bcd60e51b8152602060048201526005602482015264292118189b60d91b6044820152606401610888565b826001600160a01b0316847f3f10f69dbc8fed64282cb6b8b5e41b182c94974b60c511c008b4be6f285215a9846040516129db91815260200190565b60405180910390a350505050565b6000838152606b60205260409020612a018484612111565b5081816000016000828254612a169190613b4f565b90915550506001600160a01b038316600090815260018201602052604081208054849290612a45908490613b4f565b9091555050606c546006820155606a8054839190600090612a67908490613b4f565b90915550506068546001600160a01b03841660009081526001830160205260409020541015612ac05760405162461bcd60e51b8152602060048201526005602482015264524230313560d81b6044820152606401610888565b826001600160a01b0316847fa1dbb37511b5bf34cd8d5ef12817741c0bcde3c97f0e088feac12b83d7acf6b5846040516129db91815260200190565b600081831015612b0e57506000610736565b612b188284613b38565b9392505050565b600081612b2c8486613a25565b6122ba9190613c72565b6000818311612b0e576000612b18565b600080612b538484613b38565b905061221d8186670de0b6b3a7640000612b1f565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000806000846020015142612bcf9190613b38565b905085600003612be6576000809250925050612c5c565b80600003612bfb576000809250925050612c5c565b6000856040015185612c0d9190613b38565b90506000612c2e88612c1e89612d2e565b612c289086613b38565b85612b1f565b90506000612c4682612c408587613b38565b86612b1f565b905080612c53818b613b38565b95509550505050505b935093915050565b600054610100900460ff16612c8b5760405162461bcd60e51b815260040161088890613c94565b6110b8613304565b6040516001600160a01b038085166024830152831660448201526064810182905261147d9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613334565b6040516001600160a01b0383166024820152604481018290526125d090849063a9059cbb60e01b90606401612cc7565b606081015160a08201516000919015610736576080830151612d509042613b38565b612b189082613b4f565b6000612d6583612226565b6000848152606b6020526040808220606554915163f4e5699160e01b8152939450926001600160a01b039091169063f4e5699190612da89060149060040161399c565b602060405180830381865afa158015612dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de991906139b6565b6040516301ea43f360e31b81526001600160a01b03868116600483015260248201889052919250600091831690630f521f9890604401602060405180830381865afa158015612e3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e609190613b02565b6001600160a01b03861660009081526003850160205260408120805492935091612e8c90849088612b46565b8683556040516345441b0f60e11b81526001600160a01b038981166004830152919250600091829190871690638a88361e90602401602060405180830381865afa158015612ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f029190613b02565b6040805160c08101825286548152600187015460208201526002870154918101919091526003860154606082015260048601546080820152600586015460ff16151560a0820152909150612f5890849083612bba565b426001870181905560006003880155600487015560028601839055909350915082156132ae5760655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190612fb09060129060040161399c565b602060405180830381865afa158015612fcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ff191906139b6565b60655460405163f4e5699160e01b81529192506000916001600160a01b039091169063f4e56991906130289060089060040161399c565b602060405180830381865afa158015613045573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061306991906139b6565b60655460405163f4e5699160e01b81529192506000916001600160a01b039091169063f4e56991906130a09060059060040161399c565b602060405180830381865afa1580156130bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e191906139b6565b60655460405163f4e5699160e01b81529192506000916001600160a01b039091169063f4e569919061311790849060040161399c565b602060405180830381865afa158015613134573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061315891906139b6565b905061316f6001600160a01b03821685308a612c93565b6131836001600160a01b0382168489613409565b826001600160a01b0316635912589a8e308a866001600160a01b0316636f853a5d6040518163ffffffff1660e01b81526004016020604051808303816000875af11580156131d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131f99190613b02565b6040516001600160e01b031960e087901b1681526001600160a01b03948516600482015293909216602484015260448301526064820152608401600060405180830381600087803b15801561324d57600080fd5b505af1158015613261573d6000803e3d6000fd5b505050508c6001600160a01b03168e7f66f30f0abe637ad2a5e976f25a363a3bc6746235c0d91c1f9e352a99ac5e7898896040516132a191815260200190565b60405180910390a3505050505b811561210557886001600160a01b03168a7ff49bb5f5a5d3da3d0b6ee855e44891df776c5f32f9bd72d647ab98a3c7e16a64846040516132f091815260200190565b60405180910390a350505050505050505050565b600054610100900460ff1661332b5760405162461bcd60e51b815260040161088890613c94565b6110b833612b68565b6000613389826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166134b69092919063ffffffff16565b90508051600014806133aa5750808060200190518101906133aa91906139d3565b6125d05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610888565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015613459573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347d9190613b02565b905061147d8463095ea7b360e01b856134968686613b4f565b6040516001600160a01b0390921660248301526044820152606401612cc7565b60606122ba848460008585600080866001600160a01b031685876040516134dd9190613cdf565b60006040518083038185875af1925050503d806000811461351a576040519150601f19603f3d011682016040523d82523d6000602084013e61351f565b606091505b5091509150610ef0878383876060831561359a578251600003613593576001600160a01b0385163b6135935760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610888565b50816122ba565b6122ba83838151156135af5781518083602001fd5b8060405162461bcd60e51b81526004016108889190613cfb565b6001600160a01b038116811461274c57600080fd5b600080604083850312156135f157600080fd5b823591506020830135613603816135c9565b809150509250929050565b60006020828403121561362057600080fd5b5035919050565b6000806000806080858703121561363d57600080fd5b8435613648816135c9565b966020860135965060408601359560600135945092505050565b60006020828403121561367457600080fd5b8135612b18816135c9565b6005811061274c57600080fd5b6000806040838503121561369f57600080fd5b82356136aa8161367f565b946020939093013593505050565b6000806000606084860312156136cd57600080fd5b83356136d8816135c9565b95602085013595506040909401359392505050565b60008060006060848603121561370257600080fd5b8335925060208401359150604084013561371b816135c9565b809150509250925092565b60008060008060006080868803121561373e57600080fd5b853594506020860135613750816135c9565b935060408601359250606086013567ffffffffffffffff8082111561377457600080fd5b818801915088601f83011261378857600080fd5b81358181111561379757600080fd5b8960208285010111156137a957600080fd5b9699959850939650602001949392505050565b60008083601f8401126137ce57600080fd5b50813567ffffffffffffffff8111156137e657600080fd5b6020830191508360208260051b85010111156112bf57600080fd5b600080600080600080600080600060a08a8c03121561381f57600080fd5b893567ffffffffffffffff8082111561383757600080fd5b6138438d838e016137bc565b909b50995060208c013591508082111561385c57600080fd5b6138688d838e016137bc565b909950975060408c013591508082111561388157600080fd5b61388d8d838e016137bc565b909750955060608c01359150808211156138a657600080fd5b506138b38c828d016137bc565b9a9d999c50979a9699959894979660800135949350505050565b6000602082840312156138df57600080fd5b8135612b188161367f565b600080604083850312156138fd57600080fd5b50508035926020909101359150565b801515811461274c57600080fd5b6000806040838503121561392d57600080fd5b8235613938816135c9565b915060208301356136038161390c565b60408152600061397860408301601081526f69737375616e6365506572426c6f636b60801b602082015260400190565b905082602083015292915050565b634e487b7160e01b600052602160045260246000fd5b60208101601583106139b0576139b0613986565b91905290565b6000602082840312156139c857600080fd5b8151612b18816135c9565b6000602082840312156139e557600080fd5b8151612b188161390c565b6020808252600590820152640a4846060760db1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615613a3f57613a3f613a0f565b500290565b600060058410613a5657613a56613986565b5060f89290921b8252600182015260210190565b60005b83811015613a85578181015183820152602001613a6d565b8381111561147d5750506000910152565b60008151808452613aae816020860160208601613a6a565b601f01601f19169290920160200192915050565b604081526016604082015275626f6f7374657251756572795265776172645261746560501b6060820152608060208201526000612b186080830184613a96565b600060208284031215613b1457600080fd5b5051919050565b600060208284031215613b2d57600080fd5b8151612b188161367f565b600082821015613b4a57613b4a613a0f565b500390565b60008219821115613b6257613b62613a0f565b500190565b604081526000613b9760408301601081526f69737375616e6365506572426c6f636b60801b602082015260400190565b82810360208401526122ba8185613a96565b60408152601860408201527f6d696e696d756d4465706c6f796d656e74426f6f7374657200000000000000006060820152608060208201526000612b186080830184613a96565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215613c4e57600080fd5b8135612b188161390c565b600060018201613c6b57613c6b613a0f565b5060010190565b600082613c8f57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251613cf1818460208701613a6a565b9190910192915050565b602081526000612b186020830184613a9656fe63c3003ba148ae22ef0cecea7dab164660fafd04037d699677e4478e17ef7b1ba26469706673582212204893c421fb51512b164f8c2bebcca074892e6bbd68b89f6a74e82a68b072e6f764736f6c634300080f0033