0 txs
3.4k calls
constructor
constructor()
functions
compounder
viewfunction compounder() view returns (address)
deskExchanger
viewfunction deskExchanger() view returns (address)
hmxStaking
viewfunction hmxStaking() view returns (address)
owner
viewfunction owner() view returns (address)
rewarders
viewfunction rewarders(uint256, uint256) view returns (address)
stakingPools
viewfunction stakingPools(uint256) view returns (address)
startEpochTimestamp
viewfunction startEpochTimestamp() view returns (uint256)
whitelistedCaller
viewfunction whitelistedCaller() view returns (address)
initialize
nonpayablefunction initialize(address _deskExchanger, address _hmxStaking)
migrate
nonpayablefunction migrate(address[] _users)
renounceOwnership
nonpayablefunction renounceOwnership()
revokeAllowances
nonpayablefunction revokeAllowances()
setCompounderParams
nonpayablefunction setCompounderParams(address _compounder, address[] _stakingPools, address[][] _rewarders, uint256 _startEpochTimestamp)
setWhitelistedCaller
nonpayablefunction setWhitelistedCaller(address _whitelistedCaller)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Initialized
event Initialized(uint8 version)
LogMigration
event LogMigration(address indexed user, address indexed token, uint256 amount)
LogSetWhitelistedCaller
event LogSetWhitelistedCaller(address oldAddress, address newAddress)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
StakingMigrator_ArrayLengthMismatch
error StakingMigrator_ArrayLengthMismatch()
StakingMigrator_BatchTooLarge
error StakingMigrator_BatchTooLarge()
StakingMigrator_EmptyArray
error StakingMigrator_EmptyArray()
StakingMigrator_EmptyUsersArray
error StakingMigrator_EmptyUsersArray()
StakingMigrator_Forbidden
error StakingMigrator_Forbidden()
StakingMigrator_InvalidTimestamp
error StakingMigrator_InvalidTimestamp()
StakingMigrator_ZeroAddress
error StakingMigrator_ZeroAddress()
creation bytecode
0x60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61349580620000f46000396000f3fe608060405234801561001057600080fd5b50600436106100c55760003560e01c8063125d5d71146100ca5780632e558d69146100e6578063485cc955146100fb5780635aad6cf01461010e5780636fa19e8d1461012e578063715018a61461014157806378d01b96146101495780638c21b411146101515780638da5cb5b14610164578063b5e17b1b1461016c578063eac37bef1461017f578063ed9adf1114610192578063f0a741bd146101a5578063f2fde38b146101b8578063fa2cc3c0146101cb575b600080fd5b6100d3609d5481565b6040519081526020015b60405180910390f35b6100f96100f4366004613046565b6101de565b005b6100f9610109366004613082565b6117b0565b61012161011c3660046130bb565b6121b6565b6040516100dd91906130d4565b609754610121906001600160a01b031681565b6100f96121e0565b6100f96121f4565b609954610121906001600160a01b031681565b610121612a77565b609854610121906001600160a01b031681565b6100f961018d3660046130e8565b612a86565b6101216101a036600461310c565b612b1e565b6100f96101b336600461312e565b612b62565b6100f96101c63660046130e8565b612c63565b609a54610121906001600160a01b031681565b6099546001600160a01b0316331461020857604051620512f360e01b815260040160405180910390fd5b805160000361022a57604051632ab9eb9760e21b815260040160405180910390fd5b604080516101e08101825260008082526020808301828152838501839052606084018390526080840183905260a0840183905260c0840183905260e08401839052610100840183905261012084018390526101408401839052610160840183905261018084018390526101a084018390526101c08401839052855190526097548451635479fd0960e01b8152945193946001600160a01b0390911693635479fd09936004808401949383900301908290875af11580156102ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610312919061321d565b6001600160a01b03908116604080840191909152609754815163f5bcf05360e01b8152915192169163f5bcf0539160048082019260209290919082900301816000875af1158015610367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038b919061321d565b6001600160a01b0390811660608301526097546040805163304aca4f60e21b81529051919092169163c12b293c91600480830192602092919082900301816000875af11580156103df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610403919061321d565b6001600160a01b039081166080830152609754604080516377c04d0360e11b81529051919092169163ef809a0691600480830192602092919082900301816000875af1158015610457573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047b919061321d565b6001600160a01b0390811660a0830152609854604080516393eb049d60e01b8152905191909216916393eb049d91600480830192602092919082900301816000875af11580156104cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f3919061321d565b6001600160a01b0390811660c083015260975460408051630a1e072560e41b81529051919092169163a1e0725091600480830192602092919082900301816000875af1158015610547573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056b919061321d565b6001600160a01b0390811660e083015260975460408051634915432f60e01b815290519190921691634915432f91600480830192602092919082900301816000875af11580156105bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e3919061321d565b6001600160a01b039081166101008301526097546040805163257afd8560e01b81529051919092169163257afd8591600480830192602092919082900301816000875af1158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065c919061321d565b6001600160a01b03908116610120830152609754604080516308f4678160e11b8152905191909216916311e8cf0291600480830192602092919082900301816000875af11580156106b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d5919061321d565b6001600160a01b03166101408201525b6020810151815110156117ac57609a54815183516001600160a01b0390921691631972416e918591811061071b5761071b61323a565b6020026020010151609b609c609d546040518563ffffffff1660e01b81526004016107499493929190613250565b600060405180830381600087803b15801561076357600080fd5b505af1158015610777573d6000803e3d6000fd5b5050609854835185516001600160a01b0390921693506335eb107a9250859181106107a4576107a461323a565b60200260200101516040518263ffffffff1660e01b81526004016107c891906130d4565b600060405180830381600087803b1580156107e257600080fd5b505af11580156107f6573d6000803e3d6000fd5b505060985460c0840151845186516001600160a01b039093169450631f1a675d93509091869190811061082b5761082b61323a565b60200260200101516040518363ffffffff1660e01b8152600401610850929190613337565b6020604051808303816000875af115801561086f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108939190613351565b6101c0820181905215610d1657609854815183516001600160a01b0390921691638c37c32a91859181106108c9576108c961323a565b60200260200101518360c00151846101c001516040518463ffffffff1660e01b81526004016108fa9392919061336a565b600060405180830381600087803b15801561091457600080fd5b505af1158015610928573d6000803e3d6000fd5b50505060c08201516101c0830151604051632770a7eb60e21b81526001600160a01b039092169250639dc29fac9161096491309160040161338e565b600060405180830381600087803b15801561097e57600080fd5b505af1158015610992573d6000803e3d6000fd5b50505050609760009054906101000a90046001600160a01b03166001600160a01b03166359e741d26040518163ffffffff1660e01b81526004016020604051808303816000875af11580156109eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0f9190613351565b816101c00151610a1f91906133a7565b61016082015260975460408051632cf3a0e960e11b815290516001600160a01b03909216916359e741d29160048082019260209290919082900301816000875af1158015610a71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a959190613351565b609854604080516302741d3360e61b815290516001600160a01b039092169163fee88cb6918391639d074cc09160048082019260209290919082900301816000875af1158015610ae9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0d919061321d565b85856000015181518110610b2357610b2361323a565b60200260200101516040518363ffffffff1660e01b8152600401610b48929190613337565b602060405180830381865afa158015610b65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b899190613351565b610b9391906133a7565b610b9e9060026133a7565b6101a082018190526101608201511115610bbf576101a08101516101608201525b8060c001516001600160a01b03166340c10f19308361016001516040518363ffffffff1660e01b8152600401610bf692919061338e565b600060405180830381600087803b158015610c1057600080fd5b505af1158015610c24573d6000803e3d6000fd5b5050609854835185516001600160a01b039092169350638340f549925085918110610c5157610c5161323a565b60200260200101518360c001518461016001516040518463ffffffff1660e01b8152600401610c829392919061336a565b600060405180830381600087803b158015610c9c57600080fd5b505af1158015610cb0573d6000803e3d6000fd5b505050508060c001516001600160a01b031682826000015181518110610cd857610cd861323a565b60200260200101516001600160a01b0316600080516020613440833981519152836101600151604051610d0d91815260200190565b60405180910390a35b6098546040820151825184516001600160a01b0390931692631f1a675d929186918110610d4557610d4561323a565b60200260200101516040518363ffffffff1660e01b8152600401610d6a929190613337565b6020604051808303816000875af1158015610d89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dad9190613351565b6101c0820181905215610fb957609854815183516001600160a01b0390921691638c37c32a9185918110610de357610de361323a565b60200260200101518360400151846101c001516040518463ffffffff1660e01b8152600401610e149392919061336a565b600060405180830381600087803b158015610e2e57600080fd5b505af1158015610e42573d6000803e3d6000fd5b50506097546040808501516101c0860151915163cf3cb33f60e01b81526001600160a01b03909316945063cf3cb33f9350610e829290919060040161338e565b6020604051808303816000875af1158015610ea1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec59190613351565b610160820152609854815183516001600160a01b0390921691638340f5499185918110610ef457610ef461323a565b602002602001015183608001518461016001516040518463ffffffff1660e01b8152600401610f259392919061336a565b600060405180830381600087803b158015610f3f57600080fd5b505af1158015610f53573d6000803e3d6000fd5b5050505080608001516001600160a01b031682826000015181518110610f7b57610f7b61323a565b60200260200101516001600160a01b0316600080516020613440833981519152836101600151604051610fb091815260200190565b60405180910390a35b6098546060820151825184516001600160a01b0390931692631f1a675d929186918110610fe857610fe861323a565b60200260200101516040518363ffffffff1660e01b815260040161100d929190613337565b6020604051808303816000875af115801561102c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110509190613351565b6101c082018190521561125957609854815183516001600160a01b0390921691638c37c32a91859181106110865761108661323a565b60200260200101518360600151846101c001516040518463ffffffff1660e01b81526004016110b79392919061336a565b600060405180830381600087803b1580156110d157600080fd5b505af11580156110e5573d6000803e3d6000fd5b505060975460608401516101c085015160405163cf3cb33f60e01b81526001600160a01b03909316945063cf3cb33f93506111229260040161338e565b6020604051808303816000875af1158015611141573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111659190613351565b610160820152609854815183516001600160a01b0390921691638340f54991859181106111945761119461323a565b60200260200101518360a001518461016001516040518463ffffffff1660e01b81526004016111c59392919061336a565b600060405180830381600087803b1580156111df57600080fd5b505af11580156111f3573d6000803e3d6000fd5b505050508060a001516001600160a01b03168282600001518151811061121b5761121b61323a565b60200260200101516001600160a01b031660008051602061344083398151915283610160015160405161125091815260200190565b60405180910390a35b60985460e0820151825184516001600160a01b0390931692631f1a675d9291869181106112885761128861323a565b60200260200101516040518363ffffffff1660e01b81526004016112ad929190613337565b6020604051808303816000875af11580156112cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f09190613351565b6101c08201819052156114fb57609854815183516001600160a01b0390921691638c37c32a91859181106113265761132661323a565b60200260200101518360e00151846101c001516040518463ffffffff1660e01b81526004016113579392919061336a565b600060405180830381600087803b15801561137157600080fd5b505af1158015611385573d6000803e3d6000fd5b505060975460e08401516101c085015160405163cf3cb33f60e01b81526001600160a01b03909316945063cf3cb33f93506113c29260040161338e565b6020604051808303816000875af11580156113e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114059190613351565b610160820152609854815183516001600160a01b0390921691638340f54991859181106114345761143461323a565b60200260200101518361010001518461016001516040518463ffffffff1660e01b81526004016114669392919061336a565b600060405180830381600087803b15801561148057600080fd5b505af1158015611494573d6000803e3d6000fd5b505050508061010001516001600160a01b0316828260000151815181106114bd576114bd61323a565b60200260200101516001600160a01b03166000805160206134408339815191528361016001516040516114f291815260200190565b60405180910390a35b609854610120820151825184516001600160a01b0390931692631f1a675d92918691811061152b5761152b61323a565b60200260200101516040518363ffffffff1660e01b8152600401611550929190613337565b6020604051808303816000875af115801561156f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115939190613351565b6101c08201819052156117a057609854815183516001600160a01b0390921691638c37c32a91859181106115c9576115c961323a565b6020026020010151836101200151846101c001516040518463ffffffff1660e01b81526004016115fb9392919061336a565b600060405180830381600087803b15801561161557600080fd5b505af1158015611629573d6000803e3d6000fd5b50506097546101208401516101c085015160405163cf3cb33f60e01b81526001600160a01b03909316945063cf3cb33f93506116679260040161338e565b6020604051808303816000875af1158015611686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116aa9190613351565b610160820152609854815183516001600160a01b0390921691638340f54991859181106116d9576116d961323a565b60200260200101518361014001518461016001516040518463ffffffff1660e01b815260040161170b9392919061336a565b600060405180830381600087803b15801561172557600080fd5b505af1158015611739573d6000803e3d6000fd5b505050508061014001516001600160a01b0316828260000151815181106117625761176261323a565b60200260200101516001600160a01b031660008051602061344083398151915283610160015160405161179791815260200190565b60405180910390a35b805160010181526106e5565b5050565b600054610100900460ff16158080156117d05750600054600160ff909116105b806117ea5750303b1580156117ea575060005460ff166001145b6118525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611875576000805461ff0019166101001790555b6001600160a01b03831661189c57604051637323474160e11b815260040160405180910390fd5b6001600160a01b0382166118c357604051637323474160e11b815260040160405180910390fd5b6118cb612cd9565b6118d3612d08565b609780546001600160a01b038086166001600160a01b03199283168117909355609880549186169190921617905560408051635479fd0960e01b81529051635479fd099160048082019260209290919082900301816000875af115801561193e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611962919061321d565b60975460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611997929116906000199060040161338e565b6020604051808303816000875af11580156119b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119da91906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b031663f5bcf0536040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a54919061321d565b60975460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611a89929116906000199060040161338e565b6020604051808303816000875af1158015611aa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acc91906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b031663a1e072506040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b46919061321d565b60975460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611b7b929116906000199060040161338e565b6020604051808303816000875af1158015611b9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bbe91906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b031663257afd856040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c38919061321d565b60975460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611c6d929116906000199060040161338e565b6020604051808303816000875af1158015611c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb091906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b031663c12b293c6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611d06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2a919061321d565b60985460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611d5f929116906000199060040161338e565b6020604051808303816000875af1158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da291906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b031663ef809a066040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611df8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1c919061321d565b60985460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611e51929116906000199060040161338e565b6020604051808303816000875af1158015611e70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9491906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b0316634915432f6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0e919061321d565b60985460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611f43929116906000199060040161338e565b6020604051808303816000875af1158015611f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8691906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b03166311e8cf026040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611fdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612000919061321d565b60985460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392612035929116906000199060040161338e565b6020604051808303816000875af1158015612054573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061207891906133d2565b50609860009054906101000a90046001600160a01b03166001600160a01b03166393eb049d6040518163ffffffff1660e01b81526004016020604051808303816000875af11580156120ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f2919061321d565b60985460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392612127929116906000199060040161338e565b6020604051808303816000875af1158015612146573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216a91906133d2565b5080156121b1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b609b81815481106121c657600080fd5b6000918252602090912001546001600160a01b0316905081565b6121e8612d37565b6121f26000612d96565b565b6121fc612d37565b609760009054906101000a90046001600160a01b03166001600160a01b0316635479fd096040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612251573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612275919061321d565b60975460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926122a99291169060009060040161338e565b6020604051808303816000875af11580156122c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ec91906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b031663f5bcf0536040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612342573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612366919061321d565b60975460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261239a9291169060009060040161338e565b6020604051808303816000875af11580156123b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123dd91906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b031663a1e072506040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612433573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612457919061321d565b60975460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261248b9291169060009060040161338e565b6020604051808303816000875af11580156124aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ce91906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b031663257afd856040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612524573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612548919061321d565b60975460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261257c9291169060009060040161338e565b6020604051808303816000875af115801561259b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125bf91906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b031663c12b293c6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612615573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612639919061321d565b60985460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261266d9291169060009060040161338e565b6020604051808303816000875af115801561268c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b091906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b031663ef809a066040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061272a919061321d565b60985460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261275e9291169060009060040161338e565b6020604051808303816000875af115801561277d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127a191906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b0316634915432f6040518163ffffffff1660e01b81526004016020604051808303816000875af11580156127f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061281b919061321d565b60985460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261284f9291169060009060040161338e565b6020604051808303816000875af115801561286e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289291906133d2565b50609760009054906101000a90046001600160a01b03166001600160a01b03166311e8cf026040518163ffffffff1660e01b81526004016020604051808303816000875af11580156128e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061290c919061321d565b60985460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926129409291169060009060040161338e565b6020604051808303816000875af115801561295f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298391906133d2565b50609860009054906101000a90046001600160a01b03166001600160a01b03166393eb049d6040518163ffffffff1660e01b81526004016020604051808303816000875af11580156129d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129fd919061321d565b60985460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392612a319291169060009060040161338e565b6020604051808303816000875af1158015612a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7491906133d2565b50565b6033546001600160a01b031690565b612a8e612d37565b6001600160a01b038116612ab557604051637323474160e11b815260040160405180910390fd5b6099546040517fc7ff14fa8b7c757dc21dd546dba5ce4348f48a70ff2db71d156998c0b8d79af491612af4916001600160a01b03909116908490613337565b60405180910390a1609980546001600160a01b0319166001600160a01b0392909216919091179055565b609c8281548110612b2e57600080fd5b906000526020600020018181548110612b4657600080fd5b6000918252602090912001546001600160a01b03169150829050565b612b6a612d37565b6001600160a01b038416612b9157604051637323474160e11b815260040160405180910390fd5b8251600003612bb357604051631182793d60e21b815260040160405180910390fd5b8151600003612bd557604051631182793d60e21b815260040160405180910390fd5b8151835114612bf757604051635f03027360e11b815260040160405180910390fd5b80600003612c1857604051630f37868b60e31b815260040160405180910390fd5b609a80546001600160a01b0319166001600160a01b0386161790558251612c4690609b906020860190612e46565b508151612c5a90609c906020850190612eab565b50609d55505050565b612c6b612d37565b6001600160a01b038116612cd05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611849565b612a7481612d96565b600054610100900460ff16612d005760405162461bcd60e51b8152600401611849906133f4565b6121f2612de8565b600054610100900460ff16612d2f5760405162461bcd60e51b8152600401611849906133f4565b6121f2612e18565b33612d40612a77565b6001600160a01b0316146121f25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611849565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16612e0f5760405162461bcd60e51b8152600401611849906133f4565b6121f233612d96565b600054610100900460ff16612e3f5760405162461bcd60e51b8152600401611849906133f4565b6001606555565b828054828255906000526020600020908101928215612e9b579160200282015b82811115612e9b57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612e66565b50612ea7929150612f04565b5090565b828054828255906000526020600020908101928215612ef8579160200282015b82811115612ef85782518051612ee8918491602090910190612e46565b5091602001919060010190612ecb565b50612ea7929150612f19565b5b80821115612ea75760008155600101612f05565b80821115612ea7576000612f2d8282612f36565b50600101612f19565b5080546000825590600052602060002090810190612a749190612f04565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612f9257612f92612f54565b604052919050565b60006001600160401b03821115612fb357612fb3612f54565b5060051b60200190565b6001600160a01b0381168114612a7457600080fd5b600082601f830112612fe357600080fd5b81356020612ff8612ff383612f9a565b612f6a565b82815260059290921b8401810191818101908684111561301757600080fd5b8286015b8481101561303b57803561302e81612fbd565b835291830191830161301b565b509695505050505050565b60006020828403121561305857600080fd5b81356001600160401b0381111561306e57600080fd5b61307a84828501612fd2565b949350505050565b6000806040838503121561309557600080fd5b82356130a081612fbd565b915060208301356130b081612fbd565b809150509250929050565b6000602082840312156130cd57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6000602082840312156130fa57600080fd5b813561310581612fbd565b9392505050565b6000806040838503121561311f57600080fd5b50508035926020909101359150565b6000806000806080858703121561314457600080fd5b843561314f81612fbd565b93506020858101356001600160401b038082111561316c57600080fd5b61317889838a01612fd2565b9550604088013591508082111561318e57600080fd5b818801915088601f8301126131a257600080fd5b81356131b0612ff382612f9a565b81815260059190911b8301840190848101908b8311156131cf57600080fd5b8585015b83811015613207578035858111156131eb5760008081fd5b6131f98e89838a0101612fd2565b8452509186019186016131d3565b50989b979a509798606001359750505050505050565b60006020828403121561322f57600080fd5b815161310581612fbd565b634e487b7160e01b600052603260045260246000fd5b60006080820160018060a01b038088168452602060808186015282885480855260a08701915060009450898552828520855b828110156132a0578154861684529284019260019182019101613282565b50505085810360408701528088548083528383019150838160051b8401018a8752848720875b8381101561331c57858303601f190185528154808452828a52878a2088850191908b5b828110156133075781548c168452928a0192600191820191016132e9565b505050948701949250600191820191016132c6565b50508097505050505050505082606083015295945050505050565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561336357600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b80820281158282048414176133cc57634e487b7160e01b600052601160045260246000fd5b92915050565b6000602082840312156133e457600080fd5b8151801515811461310557600080fd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fe5387614dd8d042f434b2b210fd289b0688bfb31bfeb0b26ae519b1627bde45f8a26469706673582212204c0a633a096db6056765f513e5d0c807a8be8ded7e228591f62a04b15c28fff364736f6c63430008120033