@flarenetwork/flare-periphery-contract-artifacts 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/coston/deploys/contractAddresses.d.ts +1 -0
- package/dist/coston/deploys/contractAddresses.d.ts.map +1 -1
- package/dist/coston/deploys/contractAddresses.js +1 -0
- package/dist/coston/deploys/contractAddresses.js.map +1 -1
- package/dist/coston/deploys/mapper.d.ts.map +1 -1
- package/dist/coston/deploys/mapper.js +6 -2
- package/dist/coston/deploys/mapper.js.map +1 -1
- package/dist/coston2/abis.coston2.d.ts.map +1 -1
- package/dist/coston2/abis.coston2.js +8 -2
- package/dist/coston2/abis.coston2.js.map +1 -1
- package/dist/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +72 -2
- package/dist/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
- package/dist/coston2/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +2 -2
- package/dist/coston2/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +17 -64
- package/dist/coston2/artifacts/contracts/token/lib/IICombinedNatBalance.sol/IICombinedNatBalance.json +54 -0
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +148 -231
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/dist/coston2/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
- package/dist/coston2/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
- package/dist/coston2/deploys/contractAddresses.d.ts +2 -1
- package/dist/coston2/deploys/contractAddresses.d.ts.map +1 -1
- package/dist/coston2/deploys/contractAddresses.js +5 -4
- package/dist/coston2/deploys/contractAddresses.js.map +1 -1
- package/dist/coston2/deploys/mapper.d.ts.map +1 -1
- package/dist/coston2/deploys/mapper.js +6 -2
- package/dist/coston2/deploys/mapper.js.map +1 -1
- package/dist/flare/abis.flare.d.ts.map +1 -1
- package/dist/flare/abis.flare.js +8 -2
- package/dist/flare/abis.flare.js.map +1 -1
- package/dist/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +72 -2
- package/dist/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
- package/dist/flare/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +2 -2
- package/dist/flare/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +17 -64
- package/dist/flare/artifacts/contracts/token/lib/IICombinedNatBalance.sol/IICombinedNatBalance.json +54 -0
- package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +148 -231
- package/dist/flare/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
- package/dist/flare/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
- package/dist/flare/deploys/contractAddresses.d.ts +2 -1
- package/dist/flare/deploys/contractAddresses.d.ts.map +1 -1
- package/dist/flare/deploys/contractAddresses.js +5 -4
- package/dist/flare/deploys/contractAddresses.js.map +1 -1
- package/dist/flare/deploys/mapper.d.ts.map +1 -1
- package/dist/flare/deploys/mapper.js +6 -2
- package/dist/flare/deploys/mapper.js.map +1 -1
- package/dist/songbird/abis.songbird.d.ts.map +1 -1
- package/dist/songbird/abis.songbird.js +52 -4
- package/dist/songbird/abis.songbird.js.map +1 -1
- package/dist/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
- package/dist/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
- package/dist/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
- package/dist/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
- package/dist/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
- package/dist/songbird/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
- package/dist/songbird/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
- package/dist/songbird/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
- package/dist/songbird/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
- package/dist/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +175 -26
- package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +758 -146
- package/dist/songbird/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +162 -20
- package/dist/songbird/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +321 -46
- package/dist/songbird/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
- package/dist/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/dist/songbird/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
- package/dist/songbird/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/dist/songbird/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +2 -2
- package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +184 -3
- package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +164 -22
- package/dist/songbird/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +224 -0
- package/dist/songbird/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +2 -2
- package/dist/songbird/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +106 -785
- package/dist/songbird/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
- package/dist/songbird/artifacts/contracts/{tokenPools/interface/IIDataAvailabilityRewardManager.sol/IIDataAvailabilityRewardManager.json → governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json} +97 -91
- package/dist/songbird/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +220 -0
- package/dist/songbird/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +22 -154
- package/dist/songbird/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +126 -32
- package/dist/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
- package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +161 -90
- package/dist/songbird/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +0 -31
- package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
- package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
- package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
- package/dist/songbird/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
- package/dist/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
- package/dist/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/dist/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/dist/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/dist/songbird/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +25 -2
- package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +69 -0
- package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManagerV2.sol/IIFtsoRewardManagerV2.json +949 -0
- package/dist/songbird/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
- package/dist/songbird/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
- package/dist/songbird/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
- package/dist/songbird/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +327 -33
- package/dist/songbird/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
- package/dist/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +440 -0
- package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +238 -0
- package/dist/songbird/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
- package/dist/songbird/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +2 -20
- package/dist/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/dist/songbird/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +175 -13
- package/dist/songbird/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +120 -0
- package/dist/songbird/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
- package/dist/songbird/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
- package/dist/songbird/deploys/contractAddresses.d.ts +3 -0
- package/dist/songbird/deploys/contractAddresses.d.ts.map +1 -1
- package/dist/songbird/deploys/contractAddresses.js +19 -16
- package/dist/songbird/deploys/contractAddresses.js.map +1 -1
- package/dist/songbird/deploys/mapper.d.ts.map +1 -1
- package/dist/songbird/deploys/mapper.js +6 -2
- package/dist/songbird/deploys/mapper.js.map +1 -1
- package/package.json +1 -1
- package/dist/README.md +0 -5
- package/dist/coston/deploys/coston.json +0 -142
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +0 -561
- package/dist/coston2/deploys/coston2.json +0 -212
- package/dist/flare/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +0 -561
- package/dist/flare/deploys/flare.json +0 -207
- package/dist/package.json +0 -28
- package/dist/songbird/artifacts/contracts/tokenPools/implementation/DataAvailabilityRewardManager.sol/DataAvailabilityRewardManager.json +0 -566
- package/dist/songbird/deploys/songbird.json +0 -132
package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json
CHANGED
|
@@ -16,13 +16,18 @@
|
|
|
16
16
|
"type": "address"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
|
-
"internalType": "
|
|
20
|
-
"name": "
|
|
19
|
+
"internalType": "address",
|
|
20
|
+
"name": "_addressUpdater",
|
|
21
|
+
"type": "address"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"internalType": "contract IIFtsoManagerV1",
|
|
25
|
+
"name": "_oldFtsoManager",
|
|
21
26
|
"type": "address"
|
|
22
27
|
},
|
|
23
28
|
{
|
|
24
29
|
"internalType": "uint256",
|
|
25
|
-
"name": "
|
|
30
|
+
"name": "_firstPriceEpochStartTs",
|
|
26
31
|
"type": "uint256"
|
|
27
32
|
},
|
|
28
33
|
{
|
|
@@ -37,7 +42,7 @@
|
|
|
37
42
|
},
|
|
38
43
|
{
|
|
39
44
|
"internalType": "uint256",
|
|
40
|
-
"name": "
|
|
45
|
+
"name": "_firstRewardEpochStartTs",
|
|
41
46
|
"type": "uint256"
|
|
42
47
|
},
|
|
43
48
|
{
|
|
@@ -60,17 +65,17 @@
|
|
|
60
65
|
{
|
|
61
66
|
"indexed": false,
|
|
62
67
|
"internalType": "uint256",
|
|
63
|
-
"name": "
|
|
68
|
+
"name": "epochId",
|
|
64
69
|
"type": "uint256"
|
|
65
70
|
}
|
|
66
71
|
],
|
|
67
|
-
"name": "
|
|
72
|
+
"name": "AccruingUnearnedRewardsFailed",
|
|
68
73
|
"type": "event"
|
|
69
74
|
},
|
|
70
75
|
{
|
|
71
76
|
"anonymous": false,
|
|
72
77
|
"inputs": [],
|
|
73
|
-
"name": "
|
|
78
|
+
"name": "ChillingNonrevealingDataProvidersFailed",
|
|
74
79
|
"type": "event"
|
|
75
80
|
},
|
|
76
81
|
{
|
|
@@ -79,7 +84,20 @@
|
|
|
79
84
|
{
|
|
80
85
|
"indexed": false,
|
|
81
86
|
"internalType": "uint256",
|
|
82
|
-
"name": "
|
|
87
|
+
"name": "blockNumber",
|
|
88
|
+
"type": "uint256"
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"name": "CleanupBlockNumberManagerFailedForBlock",
|
|
92
|
+
"type": "event"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"anonymous": false,
|
|
96
|
+
"inputs": [
|
|
97
|
+
{
|
|
98
|
+
"indexed": false,
|
|
99
|
+
"internalType": "uint256",
|
|
100
|
+
"name": "rewardEpoch",
|
|
83
101
|
"type": "uint256"
|
|
84
102
|
}
|
|
85
103
|
],
|
|
@@ -187,6 +205,19 @@
|
|
|
187
205
|
"name": "FtsoAdded",
|
|
188
206
|
"type": "event"
|
|
189
207
|
},
|
|
208
|
+
{
|
|
209
|
+
"anonymous": false,
|
|
210
|
+
"inputs": [
|
|
211
|
+
{
|
|
212
|
+
"indexed": false,
|
|
213
|
+
"internalType": "contract IIFtso",
|
|
214
|
+
"name": "ftso",
|
|
215
|
+
"type": "address"
|
|
216
|
+
}
|
|
217
|
+
],
|
|
218
|
+
"name": "FtsoDeactivationFailed",
|
|
219
|
+
"type": "event"
|
|
220
|
+
},
|
|
190
221
|
{
|
|
191
222
|
"anonymous": false,
|
|
192
223
|
"inputs": [
|
|
@@ -211,12 +242,24 @@
|
|
|
211
242
|
"inputs": [
|
|
212
243
|
{
|
|
213
244
|
"indexed": false,
|
|
214
|
-
"internalType": "
|
|
215
|
-
"name": "
|
|
216
|
-
"type": "
|
|
245
|
+
"internalType": "bytes4",
|
|
246
|
+
"name": "selector",
|
|
247
|
+
"type": "bytes4"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"indexed": false,
|
|
251
|
+
"internalType": "uint256",
|
|
252
|
+
"name": "allowedAfterTimestamp",
|
|
253
|
+
"type": "uint256"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"indexed": false,
|
|
257
|
+
"internalType": "bytes",
|
|
258
|
+
"name": "encodedCall",
|
|
259
|
+
"type": "bytes"
|
|
217
260
|
}
|
|
218
261
|
],
|
|
219
|
-
"name": "
|
|
262
|
+
"name": "GovernanceCallTimelocked",
|
|
220
263
|
"type": "event"
|
|
221
264
|
},
|
|
222
265
|
{
|
|
@@ -225,17 +268,24 @@
|
|
|
225
268
|
{
|
|
226
269
|
"indexed": false,
|
|
227
270
|
"internalType": "address",
|
|
228
|
-
"name": "
|
|
271
|
+
"name": "initialGovernance",
|
|
229
272
|
"type": "address"
|
|
230
|
-
}
|
|
273
|
+
}
|
|
274
|
+
],
|
|
275
|
+
"name": "GovernanceInitialised",
|
|
276
|
+
"type": "event"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"anonymous": false,
|
|
280
|
+
"inputs": [
|
|
231
281
|
{
|
|
232
282
|
"indexed": false,
|
|
233
283
|
"internalType": "address",
|
|
234
|
-
"name": "
|
|
284
|
+
"name": "governanceSettings",
|
|
235
285
|
"type": "address"
|
|
236
286
|
}
|
|
237
287
|
],
|
|
238
|
-
"name": "
|
|
288
|
+
"name": "GovernedProductionModeEntered",
|
|
239
289
|
"type": "event"
|
|
240
290
|
},
|
|
241
291
|
{
|
|
@@ -295,6 +345,76 @@
|
|
|
295
345
|
"name": "RewardEpochFinalized",
|
|
296
346
|
"type": "event"
|
|
297
347
|
},
|
|
348
|
+
{
|
|
349
|
+
"anonymous": false,
|
|
350
|
+
"inputs": [
|
|
351
|
+
{
|
|
352
|
+
"indexed": false,
|
|
353
|
+
"internalType": "bytes4",
|
|
354
|
+
"name": "selector",
|
|
355
|
+
"type": "bytes4"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"indexed": false,
|
|
359
|
+
"internalType": "uint256",
|
|
360
|
+
"name": "timestamp",
|
|
361
|
+
"type": "uint256"
|
|
362
|
+
}
|
|
363
|
+
],
|
|
364
|
+
"name": "TimelockedGovernanceCallCanceled",
|
|
365
|
+
"type": "event"
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"anonymous": false,
|
|
369
|
+
"inputs": [
|
|
370
|
+
{
|
|
371
|
+
"indexed": false,
|
|
372
|
+
"internalType": "bytes4",
|
|
373
|
+
"name": "selector",
|
|
374
|
+
"type": "bytes4"
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"indexed": false,
|
|
378
|
+
"internalType": "uint256",
|
|
379
|
+
"name": "timestamp",
|
|
380
|
+
"type": "uint256"
|
|
381
|
+
}
|
|
382
|
+
],
|
|
383
|
+
"name": "TimelockedGovernanceCallExecuted",
|
|
384
|
+
"type": "event"
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"anonymous": false,
|
|
388
|
+
"inputs": [
|
|
389
|
+
{
|
|
390
|
+
"indexed": false,
|
|
391
|
+
"internalType": "uint256",
|
|
392
|
+
"name": "rewardEpoch",
|
|
393
|
+
"type": "uint256"
|
|
394
|
+
}
|
|
395
|
+
],
|
|
396
|
+
"name": "UpdatingActiveValidatorsTriggerFailed",
|
|
397
|
+
"type": "event"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"anonymous": false,
|
|
401
|
+
"inputs": [
|
|
402
|
+
{
|
|
403
|
+
"indexed": false,
|
|
404
|
+
"internalType": "bool",
|
|
405
|
+
"name": "useGoodRandom",
|
|
406
|
+
"type": "bool"
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"indexed": false,
|
|
410
|
+
"internalType": "uint256",
|
|
411
|
+
"name": "maxWaitForGoodRandomSeconds",
|
|
412
|
+
"type": "uint256"
|
|
413
|
+
}
|
|
414
|
+
],
|
|
415
|
+
"name": "UseGoodRandomSet",
|
|
416
|
+
"type": "event"
|
|
417
|
+
},
|
|
298
418
|
{
|
|
299
419
|
"inputs": [],
|
|
300
420
|
"name": "MAX_TRUSTED_ADDRESSES_LENGTH",
|
|
@@ -344,24 +464,25 @@
|
|
|
344
464
|
{
|
|
345
465
|
"inputs": [
|
|
346
466
|
{
|
|
347
|
-
"internalType": "
|
|
348
|
-
"name": "
|
|
349
|
-
"type": "address"
|
|
350
|
-
},
|
|
351
|
-
{
|
|
352
|
-
"internalType": "string",
|
|
353
|
-
"name": "message",
|
|
354
|
-
"type": "string"
|
|
467
|
+
"internalType": "contract IIFtso[]",
|
|
468
|
+
"name": "_ftsos",
|
|
469
|
+
"type": "address[]"
|
|
355
470
|
}
|
|
356
471
|
],
|
|
357
|
-
"name": "
|
|
472
|
+
"name": "addFtsosBulk",
|
|
358
473
|
"outputs": [],
|
|
359
474
|
"stateMutability": "nonpayable",
|
|
360
475
|
"type": "function"
|
|
361
476
|
},
|
|
362
477
|
{
|
|
363
|
-
"inputs": [
|
|
364
|
-
|
|
478
|
+
"inputs": [
|
|
479
|
+
{
|
|
480
|
+
"internalType": "bytes4",
|
|
481
|
+
"name": "_selector",
|
|
482
|
+
"type": "bytes4"
|
|
483
|
+
}
|
|
484
|
+
],
|
|
485
|
+
"name": "cancelGovernanceCall",
|
|
365
486
|
"outputs": [],
|
|
366
487
|
"stateMutability": "nonpayable",
|
|
367
488
|
"type": "function"
|
|
@@ -379,6 +500,19 @@
|
|
|
379
500
|
"stateMutability": "view",
|
|
380
501
|
"type": "function"
|
|
381
502
|
},
|
|
503
|
+
{
|
|
504
|
+
"inputs": [],
|
|
505
|
+
"name": "currentRewardEpochEnds",
|
|
506
|
+
"outputs": [
|
|
507
|
+
{
|
|
508
|
+
"internalType": "uint256",
|
|
509
|
+
"name": "",
|
|
510
|
+
"type": "uint256"
|
|
511
|
+
}
|
|
512
|
+
],
|
|
513
|
+
"stateMutability": "view",
|
|
514
|
+
"type": "function"
|
|
515
|
+
},
|
|
382
516
|
{
|
|
383
517
|
"inputs": [],
|
|
384
518
|
"name": "daemonize",
|
|
@@ -392,6 +526,19 @@
|
|
|
392
526
|
"stateMutability": "nonpayable",
|
|
393
527
|
"type": "function"
|
|
394
528
|
},
|
|
529
|
+
{
|
|
530
|
+
"inputs": [
|
|
531
|
+
{
|
|
532
|
+
"internalType": "contract IIFtso[]",
|
|
533
|
+
"name": "_ftsos",
|
|
534
|
+
"type": "address[]"
|
|
535
|
+
}
|
|
536
|
+
],
|
|
537
|
+
"name": "deactivateFtsos",
|
|
538
|
+
"outputs": [],
|
|
539
|
+
"stateMutability": "nonpayable",
|
|
540
|
+
"type": "function"
|
|
541
|
+
},
|
|
395
542
|
{
|
|
396
543
|
"inputs": [],
|
|
397
544
|
"name": "errorData",
|
|
@@ -410,6 +557,19 @@
|
|
|
410
557
|
"stateMutability": "view",
|
|
411
558
|
"type": "function"
|
|
412
559
|
},
|
|
560
|
+
{
|
|
561
|
+
"inputs": [
|
|
562
|
+
{
|
|
563
|
+
"internalType": "bytes4",
|
|
564
|
+
"name": "_selector",
|
|
565
|
+
"type": "bytes4"
|
|
566
|
+
}
|
|
567
|
+
],
|
|
568
|
+
"name": "executeGovernanceCall",
|
|
569
|
+
"outputs": [],
|
|
570
|
+
"stateMutability": "nonpayable",
|
|
571
|
+
"type": "function"
|
|
572
|
+
},
|
|
413
573
|
{
|
|
414
574
|
"inputs": [],
|
|
415
575
|
"name": "flareDaemon",
|
|
@@ -436,33 +596,72 @@
|
|
|
436
596
|
"stateMutability": "view",
|
|
437
597
|
"type": "function"
|
|
438
598
|
},
|
|
599
|
+
{
|
|
600
|
+
"inputs": [],
|
|
601
|
+
"name": "getAddressUpdater",
|
|
602
|
+
"outputs": [
|
|
603
|
+
{
|
|
604
|
+
"internalType": "address",
|
|
605
|
+
"name": "_addressUpdater",
|
|
606
|
+
"type": "address"
|
|
607
|
+
}
|
|
608
|
+
],
|
|
609
|
+
"stateMutability": "view",
|
|
610
|
+
"type": "function"
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
"inputs": [],
|
|
614
|
+
"name": "getContractName",
|
|
615
|
+
"outputs": [
|
|
616
|
+
{
|
|
617
|
+
"internalType": "string",
|
|
618
|
+
"name": "",
|
|
619
|
+
"type": "string"
|
|
620
|
+
}
|
|
621
|
+
],
|
|
622
|
+
"stateMutability": "pure",
|
|
623
|
+
"type": "function"
|
|
624
|
+
},
|
|
439
625
|
{
|
|
440
626
|
"inputs": [],
|
|
441
627
|
"name": "getCurrentPriceEpochData",
|
|
442
628
|
"outputs": [
|
|
443
629
|
{
|
|
444
630
|
"internalType": "uint256",
|
|
445
|
-
"name": "
|
|
631
|
+
"name": "_priceEpochId",
|
|
446
632
|
"type": "uint256"
|
|
447
633
|
},
|
|
448
634
|
{
|
|
449
635
|
"internalType": "uint256",
|
|
450
|
-
"name": "
|
|
636
|
+
"name": "_priceEpochStartTimestamp",
|
|
451
637
|
"type": "uint256"
|
|
452
638
|
},
|
|
453
639
|
{
|
|
454
640
|
"internalType": "uint256",
|
|
455
|
-
"name": "
|
|
641
|
+
"name": "_priceEpochEndTimestamp",
|
|
456
642
|
"type": "uint256"
|
|
457
643
|
},
|
|
458
644
|
{
|
|
459
645
|
"internalType": "uint256",
|
|
460
|
-
"name": "
|
|
646
|
+
"name": "_priceEpochRevealEndTimestamp",
|
|
461
647
|
"type": "uint256"
|
|
462
648
|
},
|
|
463
649
|
{
|
|
464
650
|
"internalType": "uint256",
|
|
465
|
-
"name": "
|
|
651
|
+
"name": "_currentTimestamp",
|
|
652
|
+
"type": "uint256"
|
|
653
|
+
}
|
|
654
|
+
],
|
|
655
|
+
"stateMutability": "view",
|
|
656
|
+
"type": "function"
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"inputs": [],
|
|
660
|
+
"name": "getCurrentPriceEpochId",
|
|
661
|
+
"outputs": [
|
|
662
|
+
{
|
|
663
|
+
"internalType": "uint256",
|
|
664
|
+
"name": "_priceEpochId",
|
|
466
665
|
"type": "uint256"
|
|
467
666
|
}
|
|
468
667
|
],
|
|
@@ -482,6 +681,25 @@
|
|
|
482
681
|
"stateMutability": "view",
|
|
483
682
|
"type": "function"
|
|
484
683
|
},
|
|
684
|
+
{
|
|
685
|
+
"inputs": [
|
|
686
|
+
{
|
|
687
|
+
"internalType": "contract IIFtso",
|
|
688
|
+
"name": "_ftso",
|
|
689
|
+
"type": "address"
|
|
690
|
+
}
|
|
691
|
+
],
|
|
692
|
+
"name": "getElasticBandWidthPPMFtso",
|
|
693
|
+
"outputs": [
|
|
694
|
+
{
|
|
695
|
+
"internalType": "uint256",
|
|
696
|
+
"name": "",
|
|
697
|
+
"type": "uint256"
|
|
698
|
+
}
|
|
699
|
+
],
|
|
700
|
+
"stateMutability": "view",
|
|
701
|
+
"type": "function"
|
|
702
|
+
},
|
|
485
703
|
{
|
|
486
704
|
"inputs": [],
|
|
487
705
|
"name": "getFallbackMode",
|
|
@@ -520,66 +738,245 @@
|
|
|
520
738
|
},
|
|
521
739
|
{
|
|
522
740
|
"inputs": [],
|
|
523
|
-
"name": "
|
|
741
|
+
"name": "getGovernanceParameters",
|
|
524
742
|
"outputs": [
|
|
525
743
|
{
|
|
526
744
|
"internalType": "uint256",
|
|
527
|
-
"name": "
|
|
745
|
+
"name": "_maxVotePowerNatThresholdFraction",
|
|
528
746
|
"type": "uint256"
|
|
529
747
|
},
|
|
530
748
|
{
|
|
531
749
|
"internalType": "uint256",
|
|
532
|
-
"name": "
|
|
750
|
+
"name": "_maxVotePowerAssetThresholdFraction",
|
|
533
751
|
"type": "uint256"
|
|
534
752
|
},
|
|
535
753
|
{
|
|
536
754
|
"internalType": "uint256",
|
|
537
|
-
"name": "
|
|
755
|
+
"name": "_lowAssetUSDThreshold",
|
|
538
756
|
"type": "uint256"
|
|
539
|
-
}
|
|
540
|
-
],
|
|
541
|
-
"stateMutability": "view",
|
|
542
|
-
"type": "function"
|
|
543
|
-
},
|
|
544
|
-
{
|
|
545
|
-
"inputs": [],
|
|
546
|
-
"name": "getPriceSubmitter",
|
|
547
|
-
"outputs": [
|
|
757
|
+
},
|
|
548
758
|
{
|
|
549
|
-
"internalType": "
|
|
550
|
-
"name": "",
|
|
551
|
-
"type": "
|
|
552
|
-
}
|
|
553
|
-
],
|
|
554
|
-
"stateMutability": "view",
|
|
555
|
-
"type": "function"
|
|
556
|
-
},
|
|
557
|
-
{
|
|
558
|
-
"inputs": [
|
|
759
|
+
"internalType": "uint256",
|
|
760
|
+
"name": "_highAssetUSDThreshold",
|
|
761
|
+
"type": "uint256"
|
|
762
|
+
},
|
|
559
763
|
{
|
|
560
764
|
"internalType": "uint256",
|
|
561
|
-
"name": "
|
|
765
|
+
"name": "_highAssetTurnoutThresholdBIPS",
|
|
562
766
|
"type": "uint256"
|
|
563
|
-
}
|
|
564
|
-
],
|
|
565
|
-
"name": "getRewardEpochVotePowerBlock",
|
|
566
|
-
"outputs": [
|
|
767
|
+
},
|
|
567
768
|
{
|
|
568
769
|
"internalType": "uint256",
|
|
569
|
-
"name": "",
|
|
770
|
+
"name": "_lowNatTurnoutThresholdBIPS",
|
|
570
771
|
"type": "uint256"
|
|
571
|
-
}
|
|
572
|
-
],
|
|
573
|
-
"stateMutability": "view",
|
|
574
|
-
"type": "function"
|
|
575
|
-
},
|
|
576
|
-
{
|
|
577
|
-
"inputs": [],
|
|
578
|
-
"name": "getVotePowerIntervalFraction",
|
|
579
|
-
"outputs": [
|
|
772
|
+
},
|
|
580
773
|
{
|
|
581
774
|
"internalType": "uint256",
|
|
582
|
-
"name": "",
|
|
775
|
+
"name": "_elasticBandRewardBIPS",
|
|
776
|
+
"type": "uint256"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"internalType": "uint256",
|
|
780
|
+
"name": "_rewardExpiryOffsetSeconds",
|
|
781
|
+
"type": "uint256"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"internalType": "address[]",
|
|
785
|
+
"name": "_trustedAddresses",
|
|
786
|
+
"type": "address[]"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"internalType": "bool",
|
|
790
|
+
"name": "_initialized",
|
|
791
|
+
"type": "bool"
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
"internalType": "bool",
|
|
795
|
+
"name": "_changed",
|
|
796
|
+
"type": "bool"
|
|
797
|
+
}
|
|
798
|
+
],
|
|
799
|
+
"stateMutability": "view",
|
|
800
|
+
"type": "function"
|
|
801
|
+
},
|
|
802
|
+
{
|
|
803
|
+
"inputs": [],
|
|
804
|
+
"name": "getLastUnprocessedPriceEpochData",
|
|
805
|
+
"outputs": [
|
|
806
|
+
{
|
|
807
|
+
"internalType": "uint256",
|
|
808
|
+
"name": "_lastUnprocessedPriceEpoch",
|
|
809
|
+
"type": "uint256"
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
"internalType": "uint256",
|
|
813
|
+
"name": "_lastUnprocessedPriceEpochRevealEnds",
|
|
814
|
+
"type": "uint256"
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
"internalType": "bool",
|
|
818
|
+
"name": "_lastUnprocessedPriceEpochInitialized",
|
|
819
|
+
"type": "bool"
|
|
820
|
+
}
|
|
821
|
+
],
|
|
822
|
+
"stateMutability": "view",
|
|
823
|
+
"type": "function"
|
|
824
|
+
},
|
|
825
|
+
{
|
|
826
|
+
"inputs": [],
|
|
827
|
+
"name": "getPriceEpochConfiguration",
|
|
828
|
+
"outputs": [
|
|
829
|
+
{
|
|
830
|
+
"internalType": "uint256",
|
|
831
|
+
"name": "_firstPriceEpochStartTs",
|
|
832
|
+
"type": "uint256"
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"internalType": "uint256",
|
|
836
|
+
"name": "_priceEpochDurationSeconds",
|
|
837
|
+
"type": "uint256"
|
|
838
|
+
},
|
|
839
|
+
{
|
|
840
|
+
"internalType": "uint256",
|
|
841
|
+
"name": "_revealEpochDurationSeconds",
|
|
842
|
+
"type": "uint256"
|
|
843
|
+
}
|
|
844
|
+
],
|
|
845
|
+
"stateMutability": "view",
|
|
846
|
+
"type": "function"
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
"inputs": [],
|
|
850
|
+
"name": "getPriceSubmitter",
|
|
851
|
+
"outputs": [
|
|
852
|
+
{
|
|
853
|
+
"internalType": "contract IIPriceSubmitter",
|
|
854
|
+
"name": "",
|
|
855
|
+
"type": "address"
|
|
856
|
+
}
|
|
857
|
+
],
|
|
858
|
+
"stateMutability": "view",
|
|
859
|
+
"type": "function"
|
|
860
|
+
},
|
|
861
|
+
{
|
|
862
|
+
"inputs": [],
|
|
863
|
+
"name": "getRewardEpochConfiguration",
|
|
864
|
+
"outputs": [
|
|
865
|
+
{
|
|
866
|
+
"internalType": "uint256",
|
|
867
|
+
"name": "_firstRewardEpochStartTs",
|
|
868
|
+
"type": "uint256"
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
"internalType": "uint256",
|
|
872
|
+
"name": "_rewardEpochDurationSeconds",
|
|
873
|
+
"type": "uint256"
|
|
874
|
+
}
|
|
875
|
+
],
|
|
876
|
+
"stateMutability": "view",
|
|
877
|
+
"type": "function"
|
|
878
|
+
},
|
|
879
|
+
{
|
|
880
|
+
"inputs": [
|
|
881
|
+
{
|
|
882
|
+
"internalType": "uint256",
|
|
883
|
+
"name": "_rewardEpochId",
|
|
884
|
+
"type": "uint256"
|
|
885
|
+
}
|
|
886
|
+
],
|
|
887
|
+
"name": "getRewardEpochData",
|
|
888
|
+
"outputs": [
|
|
889
|
+
{
|
|
890
|
+
"components": [
|
|
891
|
+
{
|
|
892
|
+
"internalType": "uint256",
|
|
893
|
+
"name": "votepowerBlock",
|
|
894
|
+
"type": "uint256"
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"internalType": "uint256",
|
|
898
|
+
"name": "startBlock",
|
|
899
|
+
"type": "uint256"
|
|
900
|
+
},
|
|
901
|
+
{
|
|
902
|
+
"internalType": "uint256",
|
|
903
|
+
"name": "startTimestamp",
|
|
904
|
+
"type": "uint256"
|
|
905
|
+
}
|
|
906
|
+
],
|
|
907
|
+
"internalType": "struct IIFtsoManager.RewardEpochData",
|
|
908
|
+
"name": "",
|
|
909
|
+
"type": "tuple"
|
|
910
|
+
}
|
|
911
|
+
],
|
|
912
|
+
"stateMutability": "view",
|
|
913
|
+
"type": "function"
|
|
914
|
+
},
|
|
915
|
+
{
|
|
916
|
+
"inputs": [],
|
|
917
|
+
"name": "getRewardEpochToExpireNext",
|
|
918
|
+
"outputs": [
|
|
919
|
+
{
|
|
920
|
+
"internalType": "uint256",
|
|
921
|
+
"name": "",
|
|
922
|
+
"type": "uint256"
|
|
923
|
+
}
|
|
924
|
+
],
|
|
925
|
+
"stateMutability": "view",
|
|
926
|
+
"type": "function"
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
"inputs": [
|
|
930
|
+
{
|
|
931
|
+
"internalType": "uint256",
|
|
932
|
+
"name": "_rewardEpoch",
|
|
933
|
+
"type": "uint256"
|
|
934
|
+
}
|
|
935
|
+
],
|
|
936
|
+
"name": "getRewardEpochVotePowerBlock",
|
|
937
|
+
"outputs": [
|
|
938
|
+
{
|
|
939
|
+
"internalType": "uint256",
|
|
940
|
+
"name": "_votepowerBlock",
|
|
941
|
+
"type": "uint256"
|
|
942
|
+
}
|
|
943
|
+
],
|
|
944
|
+
"stateMutability": "view",
|
|
945
|
+
"type": "function"
|
|
946
|
+
},
|
|
947
|
+
{
|
|
948
|
+
"inputs": [],
|
|
949
|
+
"name": "getRewardExpiryOffsetSeconds",
|
|
950
|
+
"outputs": [
|
|
951
|
+
{
|
|
952
|
+
"internalType": "uint256",
|
|
953
|
+
"name": "",
|
|
954
|
+
"type": "uint256"
|
|
955
|
+
}
|
|
956
|
+
],
|
|
957
|
+
"stateMutability": "view",
|
|
958
|
+
"type": "function"
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
"inputs": [],
|
|
962
|
+
"name": "getUpdateGovernanceParametersTs",
|
|
963
|
+
"outputs": [
|
|
964
|
+
{
|
|
965
|
+
"internalType": "uint256",
|
|
966
|
+
"name": "",
|
|
967
|
+
"type": "uint256"
|
|
968
|
+
}
|
|
969
|
+
],
|
|
970
|
+
"stateMutability": "view",
|
|
971
|
+
"type": "function"
|
|
972
|
+
},
|
|
973
|
+
{
|
|
974
|
+
"inputs": [],
|
|
975
|
+
"name": "getVotePowerIntervalFraction",
|
|
976
|
+
"outputs": [
|
|
977
|
+
{
|
|
978
|
+
"internalType": "uint256",
|
|
979
|
+
"name": "",
|
|
583
980
|
"type": "uint256"
|
|
584
981
|
}
|
|
585
982
|
],
|
|
@@ -599,11 +996,24 @@
|
|
|
599
996
|
"stateMutability": "view",
|
|
600
997
|
"type": "function"
|
|
601
998
|
},
|
|
999
|
+
{
|
|
1000
|
+
"inputs": [],
|
|
1001
|
+
"name": "governanceSettings",
|
|
1002
|
+
"outputs": [
|
|
1003
|
+
{
|
|
1004
|
+
"internalType": "contract IGovernanceSettings",
|
|
1005
|
+
"name": "",
|
|
1006
|
+
"type": "address"
|
|
1007
|
+
}
|
|
1008
|
+
],
|
|
1009
|
+
"stateMutability": "view",
|
|
1010
|
+
"type": "function"
|
|
1011
|
+
},
|
|
602
1012
|
{
|
|
603
1013
|
"inputs": [
|
|
604
1014
|
{
|
|
605
1015
|
"internalType": "address",
|
|
606
|
-
"name": "
|
|
1016
|
+
"name": "_initialGovernance",
|
|
607
1017
|
"type": "address"
|
|
608
1018
|
}
|
|
609
1019
|
],
|
|
@@ -627,12 +1037,12 @@
|
|
|
627
1037
|
},
|
|
628
1038
|
{
|
|
629
1039
|
"inputs": [],
|
|
630
|
-
"name": "
|
|
1040
|
+
"name": "maxWaitForGoodRandomSeconds",
|
|
631
1041
|
"outputs": [
|
|
632
1042
|
{
|
|
633
|
-
"internalType": "
|
|
1043
|
+
"internalType": "uint256",
|
|
634
1044
|
"name": "",
|
|
635
|
-
"type": "
|
|
1045
|
+
"type": "uint256"
|
|
636
1046
|
}
|
|
637
1047
|
],
|
|
638
1048
|
"stateMutability": "view",
|
|
@@ -641,22 +1051,41 @@
|
|
|
641
1051
|
{
|
|
642
1052
|
"inputs": [
|
|
643
1053
|
{
|
|
644
|
-
"internalType": "
|
|
645
|
-
"name": "
|
|
1054
|
+
"internalType": "contract IIFtso",
|
|
1055
|
+
"name": "_ftso",
|
|
646
1056
|
"type": "address"
|
|
647
1057
|
}
|
|
648
1058
|
],
|
|
649
|
-
"name": "
|
|
650
|
-
"outputs": [
|
|
651
|
-
|
|
1059
|
+
"name": "notInitializedFtsos",
|
|
1060
|
+
"outputs": [
|
|
1061
|
+
{
|
|
1062
|
+
"internalType": "bool",
|
|
1063
|
+
"name": "",
|
|
1064
|
+
"type": "bool"
|
|
1065
|
+
}
|
|
1066
|
+
],
|
|
1067
|
+
"stateMutability": "view",
|
|
652
1068
|
"type": "function"
|
|
653
1069
|
},
|
|
654
1070
|
{
|
|
655
1071
|
"inputs": [],
|
|
656
|
-
"name": "
|
|
1072
|
+
"name": "oldFtsoManager",
|
|
657
1073
|
"outputs": [
|
|
658
1074
|
{
|
|
659
|
-
"internalType": "
|
|
1075
|
+
"internalType": "contract IIFtsoManagerV1",
|
|
1076
|
+
"name": "",
|
|
1077
|
+
"type": "address"
|
|
1078
|
+
}
|
|
1079
|
+
],
|
|
1080
|
+
"stateMutability": "view",
|
|
1081
|
+
"type": "function"
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
"inputs": [],
|
|
1085
|
+
"name": "priceSubmitter",
|
|
1086
|
+
"outputs": [
|
|
1087
|
+
{
|
|
1088
|
+
"internalType": "contract IIPriceSubmitter",
|
|
660
1089
|
"name": "",
|
|
661
1090
|
"type": "address"
|
|
662
1091
|
}
|
|
@@ -664,6 +1093,19 @@
|
|
|
664
1093
|
"stateMutability": "view",
|
|
665
1094
|
"type": "function"
|
|
666
1095
|
},
|
|
1096
|
+
{
|
|
1097
|
+
"inputs": [],
|
|
1098
|
+
"name": "productionMode",
|
|
1099
|
+
"outputs": [
|
|
1100
|
+
{
|
|
1101
|
+
"internalType": "bool",
|
|
1102
|
+
"name": "",
|
|
1103
|
+
"type": "bool"
|
|
1104
|
+
}
|
|
1105
|
+
],
|
|
1106
|
+
"stateMutability": "view",
|
|
1107
|
+
"type": "function"
|
|
1108
|
+
},
|
|
667
1109
|
{
|
|
668
1110
|
"inputs": [
|
|
669
1111
|
{
|
|
@@ -679,11 +1121,6 @@
|
|
|
679
1121
|
},
|
|
680
1122
|
{
|
|
681
1123
|
"inputs": [
|
|
682
|
-
{
|
|
683
|
-
"internalType": "contract IIFtso",
|
|
684
|
-
"name": "_ftsoToRemove",
|
|
685
|
-
"type": "address"
|
|
686
|
-
},
|
|
687
1124
|
{
|
|
688
1125
|
"internalType": "contract IIFtso",
|
|
689
1126
|
"name": "_ftsoToAdd",
|
|
@@ -705,6 +1142,29 @@
|
|
|
705
1142
|
"stateMutability": "nonpayable",
|
|
706
1143
|
"type": "function"
|
|
707
1144
|
},
|
|
1145
|
+
{
|
|
1146
|
+
"inputs": [
|
|
1147
|
+
{
|
|
1148
|
+
"internalType": "contract IIFtso[]",
|
|
1149
|
+
"name": "_ftsosToAdd",
|
|
1150
|
+
"type": "address[]"
|
|
1151
|
+
},
|
|
1152
|
+
{
|
|
1153
|
+
"internalType": "bool",
|
|
1154
|
+
"name": "_copyCurrentPrice",
|
|
1155
|
+
"type": "bool"
|
|
1156
|
+
},
|
|
1157
|
+
{
|
|
1158
|
+
"internalType": "bool",
|
|
1159
|
+
"name": "_copyAssetOrAssetFtsos",
|
|
1160
|
+
"type": "bool"
|
|
1161
|
+
}
|
|
1162
|
+
],
|
|
1163
|
+
"name": "replaceFtsosBulk",
|
|
1164
|
+
"outputs": [],
|
|
1165
|
+
"stateMutability": "nonpayable",
|
|
1166
|
+
"type": "function"
|
|
1167
|
+
},
|
|
708
1168
|
{
|
|
709
1169
|
"inputs": [],
|
|
710
1170
|
"name": "rewardEpochDurationSeconds",
|
|
@@ -722,7 +1182,7 @@
|
|
|
722
1182
|
"inputs": [
|
|
723
1183
|
{
|
|
724
1184
|
"internalType": "uint256",
|
|
725
|
-
"name": "",
|
|
1185
|
+
"name": "_rewardEpochId",
|
|
726
1186
|
"type": "uint256"
|
|
727
1187
|
}
|
|
728
1188
|
],
|
|
@@ -730,17 +1190,17 @@
|
|
|
730
1190
|
"outputs": [
|
|
731
1191
|
{
|
|
732
1192
|
"internalType": "uint256",
|
|
733
|
-
"name": "
|
|
1193
|
+
"name": "_votepowerBlock",
|
|
734
1194
|
"type": "uint256"
|
|
735
1195
|
},
|
|
736
1196
|
{
|
|
737
1197
|
"internalType": "uint256",
|
|
738
|
-
"name": "
|
|
1198
|
+
"name": "_startBlock",
|
|
739
1199
|
"type": "uint256"
|
|
740
1200
|
},
|
|
741
1201
|
{
|
|
742
1202
|
"internalType": "uint256",
|
|
743
|
-
"name": "
|
|
1203
|
+
"name": "_startTimestamp",
|
|
744
1204
|
"type": "uint256"
|
|
745
1205
|
}
|
|
746
1206
|
],
|
|
@@ -765,7 +1225,7 @@
|
|
|
765
1225
|
"name": "rewardManager",
|
|
766
1226
|
"outputs": [
|
|
767
1227
|
{
|
|
768
|
-
"internalType": "contract
|
|
1228
|
+
"internalType": "contract IIFtsoRewardManagerV2",
|
|
769
1229
|
"name": "",
|
|
770
1230
|
"type": "address"
|
|
771
1231
|
}
|
|
@@ -776,32 +1236,22 @@
|
|
|
776
1236
|
{
|
|
777
1237
|
"inputs": [
|
|
778
1238
|
{
|
|
779
|
-
"internalType": "
|
|
780
|
-
"name": "
|
|
781
|
-
"type": "
|
|
782
|
-
},
|
|
783
|
-
{
|
|
784
|
-
"internalType": "contract IIFtsoRegistry",
|
|
785
|
-
"name": "_ftsoRegistry",
|
|
786
|
-
"type": "address"
|
|
787
|
-
},
|
|
788
|
-
{
|
|
789
|
-
"internalType": "contract IIVoterWhitelister",
|
|
790
|
-
"name": "_voterWhitelister",
|
|
791
|
-
"type": "address"
|
|
1239
|
+
"internalType": "uint256",
|
|
1240
|
+
"name": "_updateTs",
|
|
1241
|
+
"type": "uint256"
|
|
792
1242
|
},
|
|
793
1243
|
{
|
|
794
|
-
"internalType": "contract
|
|
795
|
-
"name": "
|
|
796
|
-
"type": "address"
|
|
1244
|
+
"internalType": "contract IIFtso[]",
|
|
1245
|
+
"name": "_ftsos",
|
|
1246
|
+
"type": "address[]"
|
|
797
1247
|
},
|
|
798
1248
|
{
|
|
799
|
-
"internalType": "
|
|
800
|
-
"name": "
|
|
801
|
-
"type": "
|
|
1249
|
+
"internalType": "uint256[]",
|
|
1250
|
+
"name": "_widths",
|
|
1251
|
+
"type": "uint256[]"
|
|
802
1252
|
}
|
|
803
1253
|
],
|
|
804
|
-
"name": "
|
|
1254
|
+
"name": "setElasticBandWidthPPMFtsos",
|
|
805
1255
|
"outputs": [],
|
|
806
1256
|
"stateMutability": "nonpayable",
|
|
807
1257
|
"type": "function"
|
|
@@ -875,6 +1325,11 @@
|
|
|
875
1325
|
},
|
|
876
1326
|
{
|
|
877
1327
|
"inputs": [
|
|
1328
|
+
{
|
|
1329
|
+
"internalType": "uint256",
|
|
1330
|
+
"name": "_updateTs",
|
|
1331
|
+
"type": "uint256"
|
|
1332
|
+
},
|
|
878
1333
|
{
|
|
879
1334
|
"internalType": "uint256",
|
|
880
1335
|
"name": "_maxVotePowerNatThresholdFraction",
|
|
@@ -905,6 +1360,11 @@
|
|
|
905
1360
|
"name": "_lowNatTurnoutThresholdBIPS",
|
|
906
1361
|
"type": "uint256"
|
|
907
1362
|
},
|
|
1363
|
+
{
|
|
1364
|
+
"internalType": "uint256",
|
|
1365
|
+
"name": "_elasticBandRewardBIPS",
|
|
1366
|
+
"type": "uint256"
|
|
1367
|
+
},
|
|
908
1368
|
{
|
|
909
1369
|
"internalType": "uint256",
|
|
910
1370
|
"name": "_rewardExpiryOffsetSeconds",
|
|
@@ -922,56 +1382,83 @@
|
|
|
922
1382
|
"type": "function"
|
|
923
1383
|
},
|
|
924
1384
|
{
|
|
925
|
-
"inputs": [
|
|
926
|
-
"name": "settings",
|
|
927
|
-
"outputs": [
|
|
1385
|
+
"inputs": [
|
|
928
1386
|
{
|
|
929
1387
|
"internalType": "uint256",
|
|
930
|
-
"name": "
|
|
1388
|
+
"name": "_nextRewardEpochToExpire",
|
|
931
1389
|
"type": "uint256"
|
|
932
1390
|
},
|
|
933
1391
|
{
|
|
934
1392
|
"internalType": "uint256",
|
|
935
|
-
"name": "
|
|
1393
|
+
"name": "_rewardEpochsLength",
|
|
936
1394
|
"type": "uint256"
|
|
937
1395
|
},
|
|
938
1396
|
{
|
|
939
1397
|
"internalType": "uint256",
|
|
940
|
-
"name": "
|
|
1398
|
+
"name": "_currentRewardEpochEnds",
|
|
941
1399
|
"type": "uint256"
|
|
942
|
-
}
|
|
1400
|
+
}
|
|
1401
|
+
],
|
|
1402
|
+
"name": "setInitialRewardData",
|
|
1403
|
+
"outputs": [],
|
|
1404
|
+
"stateMutability": "nonpayable",
|
|
1405
|
+
"type": "function"
|
|
1406
|
+
},
|
|
1407
|
+
{
|
|
1408
|
+
"inputs": [
|
|
943
1409
|
{
|
|
944
1410
|
"internalType": "uint256",
|
|
945
|
-
"name": "
|
|
1411
|
+
"name": "_rewardEpochDurationSeconds",
|
|
946
1412
|
"type": "uint256"
|
|
947
|
-
}
|
|
1413
|
+
}
|
|
1414
|
+
],
|
|
1415
|
+
"name": "setRewardEpochDurationSeconds",
|
|
1416
|
+
"outputs": [],
|
|
1417
|
+
"stateMutability": "nonpayable",
|
|
1418
|
+
"type": "function"
|
|
1419
|
+
},
|
|
1420
|
+
{
|
|
1421
|
+
"inputs": [
|
|
948
1422
|
{
|
|
949
|
-
"internalType": "
|
|
950
|
-
"name": "
|
|
951
|
-
"type": "
|
|
1423
|
+
"internalType": "contract IUpdateValidators",
|
|
1424
|
+
"name": "_updateValidators",
|
|
1425
|
+
"type": "address"
|
|
1426
|
+
}
|
|
1427
|
+
],
|
|
1428
|
+
"name": "setUpdateOnRewardEpochSwitchover",
|
|
1429
|
+
"outputs": [],
|
|
1430
|
+
"stateMutability": "nonpayable",
|
|
1431
|
+
"type": "function"
|
|
1432
|
+
},
|
|
1433
|
+
{
|
|
1434
|
+
"inputs": [
|
|
1435
|
+
{
|
|
1436
|
+
"internalType": "bool",
|
|
1437
|
+
"name": "_useGoodRandom",
|
|
1438
|
+
"type": "bool"
|
|
952
1439
|
},
|
|
953
1440
|
{
|
|
954
1441
|
"internalType": "uint256",
|
|
955
|
-
"name": "
|
|
1442
|
+
"name": "_maxWaitForGoodRandomSeconds",
|
|
956
1443
|
"type": "uint256"
|
|
957
|
-
}
|
|
1444
|
+
}
|
|
1445
|
+
],
|
|
1446
|
+
"name": "setUseGoodRandom",
|
|
1447
|
+
"outputs": [],
|
|
1448
|
+
"stateMutability": "nonpayable",
|
|
1449
|
+
"type": "function"
|
|
1450
|
+
},
|
|
1451
|
+
{
|
|
1452
|
+
"inputs": [
|
|
958
1453
|
{
|
|
959
1454
|
"internalType": "uint256",
|
|
960
|
-
"name": "
|
|
1455
|
+
"name": "_votePowerIntervalFraction",
|
|
961
1456
|
"type": "uint256"
|
|
962
|
-
},
|
|
963
|
-
{
|
|
964
|
-
"internalType": "bool",
|
|
965
|
-
"name": "changed",
|
|
966
|
-
"type": "bool"
|
|
967
|
-
},
|
|
968
|
-
{
|
|
969
|
-
"internalType": "bool",
|
|
970
|
-
"name": "initialized",
|
|
971
|
-
"type": "bool"
|
|
972
1457
|
}
|
|
973
1458
|
],
|
|
974
|
-
"
|
|
1459
|
+
"name": "setVotePowerIntervalFraction",
|
|
1460
|
+
"outputs": [],
|
|
1461
|
+
"stateMutability": "nonpayable",
|
|
975
1462
|
"type": "function"
|
|
976
1463
|
},
|
|
977
1464
|
{
|
|
@@ -1077,19 +1564,81 @@
|
|
|
1077
1564
|
"stateMutability": "nonpayable",
|
|
1078
1565
|
"type": "function"
|
|
1079
1566
|
},
|
|
1567
|
+
{
|
|
1568
|
+
"inputs": [],
|
|
1569
|
+
"name": "switchToProductionMode",
|
|
1570
|
+
"outputs": [],
|
|
1571
|
+
"stateMutability": "nonpayable",
|
|
1572
|
+
"type": "function"
|
|
1573
|
+
},
|
|
1080
1574
|
{
|
|
1081
1575
|
"inputs": [
|
|
1082
1576
|
{
|
|
1083
|
-
"internalType": "
|
|
1084
|
-
"name": "
|
|
1085
|
-
"type": "
|
|
1577
|
+
"internalType": "bytes4",
|
|
1578
|
+
"name": "",
|
|
1579
|
+
"type": "bytes4"
|
|
1580
|
+
}
|
|
1581
|
+
],
|
|
1582
|
+
"name": "timelockedCalls",
|
|
1583
|
+
"outputs": [
|
|
1584
|
+
{
|
|
1585
|
+
"internalType": "uint256",
|
|
1586
|
+
"name": "allowedAfterTimestamp",
|
|
1587
|
+
"type": "uint256"
|
|
1588
|
+
},
|
|
1589
|
+
{
|
|
1590
|
+
"internalType": "bytes",
|
|
1591
|
+
"name": "encodedCall",
|
|
1592
|
+
"type": "bytes"
|
|
1086
1593
|
}
|
|
1087
1594
|
],
|
|
1088
|
-
"
|
|
1595
|
+
"stateMutability": "view",
|
|
1596
|
+
"type": "function"
|
|
1597
|
+
},
|
|
1598
|
+
{
|
|
1599
|
+
"inputs": [
|
|
1600
|
+
{
|
|
1601
|
+
"internalType": "bytes32[]",
|
|
1602
|
+
"name": "_contractNameHashes",
|
|
1603
|
+
"type": "bytes32[]"
|
|
1604
|
+
},
|
|
1605
|
+
{
|
|
1606
|
+
"internalType": "address[]",
|
|
1607
|
+
"name": "_contractAddresses",
|
|
1608
|
+
"type": "address[]"
|
|
1609
|
+
}
|
|
1610
|
+
],
|
|
1611
|
+
"name": "updateContractAddresses",
|
|
1089
1612
|
"outputs": [],
|
|
1090
1613
|
"stateMutability": "nonpayable",
|
|
1091
1614
|
"type": "function"
|
|
1092
1615
|
},
|
|
1616
|
+
{
|
|
1617
|
+
"inputs": [],
|
|
1618
|
+
"name": "updateOnRewardEpochSwitchover",
|
|
1619
|
+
"outputs": [
|
|
1620
|
+
{
|
|
1621
|
+
"internalType": "contract IUpdateValidators",
|
|
1622
|
+
"name": "",
|
|
1623
|
+
"type": "address"
|
|
1624
|
+
}
|
|
1625
|
+
],
|
|
1626
|
+
"stateMutability": "view",
|
|
1627
|
+
"type": "function"
|
|
1628
|
+
},
|
|
1629
|
+
{
|
|
1630
|
+
"inputs": [],
|
|
1631
|
+
"name": "useGoodRandom",
|
|
1632
|
+
"outputs": [
|
|
1633
|
+
{
|
|
1634
|
+
"internalType": "bool",
|
|
1635
|
+
"name": "",
|
|
1636
|
+
"type": "bool"
|
|
1637
|
+
}
|
|
1638
|
+
],
|
|
1639
|
+
"stateMutability": "view",
|
|
1640
|
+
"type": "function"
|
|
1641
|
+
},
|
|
1093
1642
|
{
|
|
1094
1643
|
"inputs": [],
|
|
1095
1644
|
"name": "voterWhitelister",
|
|
@@ -1102,10 +1651,73 @@
|
|
|
1102
1651
|
],
|
|
1103
1652
|
"stateMutability": "view",
|
|
1104
1653
|
"type": "function"
|
|
1654
|
+
},
|
|
1655
|
+
{
|
|
1656
|
+
"inputs": [],
|
|
1657
|
+
"name": "waitingForGoodRandomSinceTs",
|
|
1658
|
+
"outputs": [
|
|
1659
|
+
{
|
|
1660
|
+
"internalType": "uint256",
|
|
1661
|
+
"name": "",
|
|
1662
|
+
"type": "uint256"
|
|
1663
|
+
}
|
|
1664
|
+
],
|
|
1665
|
+
"stateMutability": "view",
|
|
1666
|
+
"type": "function"
|
|
1105
1667
|
}
|
|
1106
1668
|
],
|
|
1107
|
-
"bytecode": "0x6101806040523480156200001257600080fd5b5060405162005a4f38038062005a4f833981016040819052620000359162000519565b888881806001600160a01b038116156200005457620000548162000435565b506001600160a01b038116620000a4576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b506001600160a01b038116620000f5576040805162461bcd60e51b8152602060048201526011602482015270666c617265206461656d6f6e207a65726f60781b604482015290519081900360640190fd5b6001600160601b0319606091821b166080526040805191820190526025808252428911159250620059df6020830139906200014e5760405162461bcd60e51b8152600401620001459190620005a7565b60405180910390fd5b5060408051808201909152600e81526d05265776172642065706f636820360941b602082015282620001955760405162461bcd60e51b8152600401620001459190620005a7565b5060408051808201909152600d81526c050726963652065706f6368203609c1b602082015285620001db5760405162461bcd60e51b8152600401620001459190620005a7565b5060408051808201909152601481527f52657665616c2070726963652065706f63682030000000000000000000000000602082015284620002315760405162461bcd60e51b8152600401620001459190620005a7565b5060408051808201909152601e81527f566f746520706f77657220696e74657276616c206672616374696f6e20300000602082015281620002875760405162461bcd60e51b8152600401620001459190620005a7565b5060408051808201909152601b81527f52657665616c2070726963652065706f636820746f6f206c6f6e6700000000006020820152858510620002df5760405162461bcd60e51b8152600401620001459190620005a7565b508284870111156040518060400160405280601b81526020017f5265776172642065706f636820737461727420746f6f20736f6f6e0000000000815250906200033d5760405162461bcd60e51b8152600401620001459190620005a7565b50848685850303816200034c57fe5b0660001460405180606001604052806024815260200162005a2b60249139906200038b5760405162461bcd60e51b8152600401620001459190620005a7565b508482816200039657fe5b0660001460405180606001604052806027815260200162005a046027913990620003d55760405162461bcd60e51b8152600401620001459190620005a7565b5061010082905261012083905261014081905282820160135560a086905260c085905260e0849052601283905584868403816200040e57fe5b04601155505050505060609190911b6001600160601b031916610160525062000616915050565b600154600160a01b900460ff161562000495576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b60008060008060008060008060006101208a8c03121562000538578485fd5b89516200054581620005fd565b60208b01519099506200055881620005fd565b60408b01519098506200056b81620005fd565b8097505060608a0151955060808a0151945060a08a0151935060c08a0151925060e08a015191506101008a015190509295985092959850929598565b6000602080835283518082850152825b81811015620005d557858101830151858201604001528201620005b7565b81811115620005e75783604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146200061357600080fd5b50565b60805160601c60a05160c05160e0516101005161012051610140516101605160601c6152fc620006e360003980610545528061241952806138ca5250806108b5528061337652508061123a525080610e155280612b3f528061356052508061061b528061110f52806127ea52806143185250806105fa52806110de52806127c85280612fc05280613dd65280613ffb52806142f55250806105d952806110bd52806127a65280613df75280613fd652806142d05250806109ab52806112165280611aec52506152fc6000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c806393a7902511610151578063ce69f833116100c3578063e7a0d01e11610087578063e7a0d01e146104cf578063e7c830d4146104e2578063e847ae1e146104ea578063f2edab5a146104fd578063f937d6ad14610510578063ff882fbb1461051857610274565b8063ce69f8331461046c578063d38bfff414610481578063e06174e414610494578063e22fdece146104b1578063e371aef0146104b957610274565b8063a795f40911610115578063a795f40914610405578063a93a6f4214610418578063af946af71461042b578063c0ffe9081461043e578063c2b0d47b14610451578063c373a08e1461045957610274565b806393a79025146103b65780639d6a890f146103cf578063a1077532146103e2578063a578f55b146103ea578063a670ff87146103f257610274565b80634eac870f116101ea57806369b11ac6116101ae57806369b11ac6146103655780636b65cc341461036d5780636d0e8c34146103805780636ea0aa311461038857806385f3c9c91461039b5780639131205b146103a357610274565b80634eac870f146103305780635aa6e675146103385780635d36b1901461034057806360f2c5b21461034857806360f7ac971461035d57610274565b8063144e15911161023c578063144e1591146102c65780632663f1b4146102dd5780632b3c41a4146102f05780632fd8eb7d1461030957806338b5f869146103115780634b48dd5e1461031957610274565b806302fb0c5e14610279578063047fc9aa146102975780630e063d7d146102ac5780630f15f4c0146102b45780630f4ef8a6146102be575b600080fd5b61028161052b565b60405161028e9190614e8e565b60405180910390f35b61029f610534565b60405161028e9190614cde565b61029f610543565b6102bc610568565b005b61029f6105c8565b6102ce6105d7565b60405161028e93929190614f8f565b6102bc6102eb3660046145d4565b61063f565b6102f861069e565b60405161028e959493929190614def565b61029f6106d9565b61029f6106e8565b6103216106f7565b60405161028e93929190614e99565b61029f6107d3565b61029f6107e2565b6102bc6107f1565b6103506108b3565b60405161028e9190614f78565b61029f6108d7565b6103506108e6565b6102bc61037b366004614a2b565b6108eb565b61028161099e565b6102f8610396366004614ae1565b610aaf565b610350610e13565b6102bc6103b1366004614b25565b610e37565b6103be6110a7565b60405161028e959493929190614fa5565b6102bc6103dd3660046145d4565b61113a565b61029f611214565b610350611238565b6102bc6104003660046145d4565b61125c565b6102ce610413366004614ab1565b611486565b6102bc6104263660046148f3565b6114b9565b6102bc6104393660046149a0565b611649565b6102bc61044c3660046145f7565b61175a565b61029f611933565b6102bc6104673660046145d4565b611942565b6104746119e7565b60405161028e9190614ddc565b6102bc61048f3660046145d4565b6119f6565b61049c611ab8565b60405161028e9998979695949392919061500c565b610281611adf565b6104c1611bbd565b60405161028e929190614f56565b6102bc6104dd3660046149d4565b611bde565b6103506122db565b6102bc6104f8366004614883565b61233e565b61035061050b366004614ab1565b6123ee565b61029f612417565b6102bc610526366004614869565b61243b565b60055460ff1681565b601a546001600160a01b031681565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b6000546001600160a01b031633146105b9576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6005805460ff19166001179055565b6017546001600160a01b031681565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000909192565b6000546001600160a01b03163314610690576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b61069b8160016124de565b50565b6004546060908190819081906000906106c890600160c01b90046001600160401b03166001610aaf565b945094509450945094509091929394565b6007546001600160a01b031681565b6018546001600160a01b031681565b601b54600160a81b900460ff1660608061070f612abc565b8051909250806001600160401b038111801561072a57600080fd5b50604051908082528060200260200182016040528015610754578160200160208202803683370190505b50915060005b818110156107cc57601c600085838151811061077257fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a900460ff168382815181106107b457fe5b9115156020928302919091019091015260010161075a565b5050909192565b601b546001600160a01b031681565b6000546001600160a01b031681565b6001546001600160a01b03163314610840576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001546001600160a01b031681565b600581565b6000546001600160a01b0316331461093c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60405163d0d552dd60e01b81526001600160a01b0383169063d0d552dd90610968908490600401614cde565b600060405180830381600087803b15801561098257600080fd5b505af1158015610996573d6000803e3d6000fd5b505050505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a11576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b60055460ff16610a2357506000610565565b600654610a3757610a32612b3d565b610aa9565b601b54600160a01b900460ff168015610a5257504260125411155b15610a5f57610a32612cb2565b601b54600160a01b900460ff16158015610a7b57504260135411155b15610a9857610a88613293565b610a90613588565b610a32613717565b4260125411610aa957610aa96138a8565b50600190565b606080606080600060038054905087106040518060400160405280601081526020016f0e6e8c2e4e840d2dcc8caf040d0d2ced60831b81525090610b0f5760405162461bcd60e51b8152600401610b069190614f43565b60405180910390fd5b506003546000908888011115610b2a57600354889003610b2c565b865b9050806001600160401b0381118015610b4457600080fd5b50604051908082528060200260200182016040528015610b6e578160200160208202803683370190505b509550806001600160401b0381118015610b8757600080fd5b50604051908082528060200260200182016040528015610bb1578160200160208202803683370190505b509450806001600160401b0381118015610bca57600080fd5b50604051908082528060200260200182016040528015610bfe57816020015b6060815260200190600190039081610be95790505b509350806001600160401b0381118015610c1757600080fd5b50604051908082528060200260200182016040528015610c41578160200160208202803683370190505b50925060005b81811015610df75760006003828b0181548110610c6057fe5b6000918252602080832090910154808352600290915260409091205489519192506001600160c01b031690899084908110610c9757fe5b6020026020010181815250506002600082815260200190815260200160002060000160189054906101000a90046001600160401b03166001600160401b0316878381518110610ce257fe5b602090810291909101810191909152600082815260028083526040918290208101805483516001821615610100026000190190911692909204601f81018590048502830185019093528282529092909190830182828015610d845780601f10610d5957610100808354040283529160200191610d84565b820191906000526020600020905b815481529060010190602001808311610d6757829003601f168201915b5050505050868381518110610d9557fe5b60200260200101819052506002600082815260200190815260200160002060010160009054906101000a90046001600160a01b0316858381518110610dd657fe5b6001600160a01b039092166020928302919091019091015250600101610c47565b50506004549497939650919450926001600160c01b0316919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b03163314610e88576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60408051808201909152601381527211dbdd8b881c185c985b5cc81a5b9d985b1a59606a1b602082015288610ed05760405162461bcd60e51b8152600401610b069190614f43565b5060408051808201909152601381527211dbdd8b881c185c985b5cc81a5b9d985b1a59606a1b602082015287610f195760405162461bcd60e51b8152600401610b069190614f43565b5060408051808201909152601381527211dbdd8b881c185c985b5cc81a5b9d985b1a59606a1b602082015286861015610f655760405162461bcd60e51b8152600401610b069190614f43565b5060408051808201909152601381527211dbdd8b881c185c985b5cc81a5b9d985b1a59606a1b6020820152612710851115610fb35760405162461bcd60e51b8152600401610b069190614f43565b5060408051808201909152601381527211dbdd8b881c185c985b5cc81a5b9d985b1a59606a1b60208201526127108411156110015760405162461bcd60e51b8152600401610b069190614f43565b5060408051808201909152601581527414995dd85c9908195e1c1a5c9e481a5b9d985b1a59605a1b60208201528261104c5760405162461bcd60e51b8152600401610b069190614f43565b5060058151111560405180606001604052806025815260200161519c602591399061108a5760405162461bcd60e51b8152600401610b069190614f43565b5061109d60088989898989898989613bd9565b5050505050505050565b6000806000806000806110b8613dd2565b9550507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000808702820195506001870102019250507f000000000000000000000000000000000000000000000000000000000000000082019050429091929394565b600154600160a01b900460ff1615611190576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b031633146112ad576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6000601860009054906101000a90046001600160a01b03166001600160a01b031663e848da30836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561130c57600080fd5b505afa158015611320573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113489190810190614a7f565b6040518263ffffffff1660e01b81526004016113649190614f43565b60206040518083038186803b15801561137c57600080fd5b505afa158015611390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b49190614ac9565b60195460405163d873617160e01b81529192506001600160a01b03169063d8736171906113e5908490600401614f78565b600060405180830381600087803b1580156113ff57600080fd5b505af1158015611413573d6000803e3d6000fd5b505060185460405163a670ff8760e01b81526001600160a01b03909116925063a670ff879150611447908590600401614cde565b600060405180830381600087803b15801561146157600080fd5b505af1158015611475573d6000803e3d6000fd5b5050505061148282613e25565b5050565b6006818154811061149657600080fd5b600091825260209091206003909102018054600182015460029092015490925083565b6000546001600160a01b0316331461150a576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b80516040805180820190915260168152754173736574206674736f73206c69737420656d70747960501b6020820152816115575760405162461bcd60e51b8152600401610b069190614f43565b5060005b818110156115dc5782818151811061156f57fe5b60200260200101516001600160a01b0316846001600160a01b031614156115d45760408051808201825260168152756674736f20657175616c73206173736574206674736f60501b6020820152905162461bcd60e51b8152610b069190600401614f43565b60010161155b565b506115e682613efc565b60405163098fef7160e11b81526001600160a01b0384169063131fdee290611612908590600401614ddc565b600060405180830381600087803b15801561162c57600080fd5b505af1158015611640573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b0316331461169a576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6001600160a01b0382166000908152601560209081526040918290205482518084019093526009835268139bdd08199bdd5b9960ba1b9183019190915260ff166116f75760405162461bcd60e51b8152600401610b069190614f43565b506001600160a01b0382166000908152601c602052604090819020805460ff1916831515179055517f24462ede4d3e8e5a69fecec6290d42a311016ca752216d9a3d681e284791b7ac9061174e9084908490614ee9565b60405180910390a15050565b6000828260405160200161176f929190614d0b565b60408051601f198184030181528282528051602091820120600081815260029092529190208054436001600160c01b038181166001600160401b03600160c01b80860482166001019091160291909316176001600160c01b031916919091179091559092507f1a601cf5e0efbd558b2778b7389af04741d1c49bcab104c40daa2da194593617916118039186918690614d2f565b60405180910390a1600480546001600160c01b0319811660016001600160c01b03928316810190921617909155600082815260026020526040902054600160c01b90046001600160401b0316111561185b5750611482565b6003805460018082019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01829055600082815260026020818152604090922092830180546001600160a01b0319166001600160a01b03881617905584516118cb9390910191850190614417565b50600354600091825260026020526040909120600101805467ffffffffffffffff60a01b1916600160a01b6000199093016001600160401b0390811684029190911791829055600480546001600160c01b03169390920416600160c01b029190911790555050565b6019546001600160a01b031681565b6000546001600160a01b03163314611993576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b60606119f1612abc565b905090565b6000546001600160a01b03163314611a47576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600854600954600a54600b54600c54600d54600e5460105460ff8082169161010090041689565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611b52576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b601b54600160a81b900460ff16611bb757601b805460ff60a81b1916600160a81b1790556040517f217a37a37fc40a97159886f80c3d45986e6fc4330ce6ad7283478b5e5ab705bc90611ba790600190614e8e565b60405180910390a1506001610565565b50600090565b6004546001600160c01b03811690600160c01b90046001600160401b031682565b6000546001600160a01b03163314611c2f576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015611c6857600080fd5b505afa158015611c7c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ca49190810190614a7f565b604051602001611cb49190614f43565b60405160208183030381529060405280519060200120846001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015611d0357600080fd5b505afa158015611d17573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d3f9190810190614a7f565b604051602001611d4f9190614f43565b60405160208183030381529060405280519060200120146040518060400160405280601781526020017f4654534f2073796d626f6c73206d757374206d6174636800000000000000000081525090611dba5760405162461bcd60e51b8152600401610b069190614f43565b506000611dc5612abc565b805190915060005b81811015611e0f57866001600160a01b0316838281518110611deb57fe5b60200260200101516001600160a01b03161415611e0757611e0f565b600101611dcd565b81811415611e4e576040805180820182526009815268139bdd08199bdd5b9960ba1b6020820152905162461bcd60e51b8152610b069190600401614f43565b8415611f2f57600080886001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b158015611e8f57600080fd5b505afa158015611ea3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec79190614b02565b60405163306ba25360e01b815291935091506001600160a01b0389169063306ba25390611efa9085908590600401614f81565b600060405180830381600087803b158015611f1457600080fd5b505af1158015611f28573d6000803e3d6000fd5b5050505050505b8315612100576000876001600160a01b0316635c222bad6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f7057600080fd5b505afa158015611f84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa89190614a63565b90506001600160a01b0381161561201c5760405163d0d552dd60e01b81526001600160a01b0388169063d0d552dd90611fe5908490600401614cde565b600060405180830381600087803b158015611fff57600080fd5b505af1158015612013573d6000803e3d6000fd5b505050506120fe565b6000886001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561205757600080fd5b505afa15801561206b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120939190810190614749565b8051909150156120fc5760405163098fef7160e11b81526001600160a01b0389169063131fdee2906120c9908490600401614ddc565b600060405180830381600087803b1580156120e357600080fd5b505af11580156120f7573d6000803e3d6000fd5b505050505b505b505b61210b8660006124de565b6000612115612abc565b805190915060005b818110156122c657600083828151811061213357fe5b602002602001015190508a6001600160a01b0316816001600160a01b0316141561215d57506122be565b6000816001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561219857600080fd5b505afa1580156121ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121d49190810190614749565b805190915080156122ba576000805b82811015612252578e6001600160a01b031684828151811061220157fe5b60200260200101516001600160a01b0316141561224a578d84828151811061222557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600191505b6001016121e3565b5080156122b85760405163098fef7160e11b81526001600160a01b0385169063131fdee290612285908690600401614ddc565b600060405180830381600087803b15801561229f57600080fd5b505af11580156122b3573d6000803e3d6000fd5b505050505b505b5050505b60010161211d565b506122d089613e25565b505050505050505050565b6006546040805180820190915260208082527f5265776172642065706f6368206e6f7420696e697469616c697a6564207965749082015260009190816123345760405162461bcd60e51b8152600401610b069190614f43565b5060001901905090565b6000546001600160a01b0316331461238f576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601780546001600160a01b03199081166001600160a01b03978816179091556018805482169587169590951790945560198054851693861693909317909255601a80548416918516919091179055601b80549092169216919091179055565b6000600682815481106123fd57fe5b90600052602060002090600302016000015490505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b0316331461248c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601b805460ff60a81b1916600160a81b831515021790556040517f217a37a37fc40a97159886f80c3d45986e6fc4330ce6ad7283478b5e5ab705bc906124d3908390614e8e565b60405180910390a150565b60105460408051808201909152601b81527f476f762e20706172616d73206e6f7420696e697469616c697a65640000000000602082015290610100900460ff1661253b5760405162461bcd60e51b8152600401610b069190614f43565b506125b9826001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561257857600080fd5b505afa15801561258c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526125b49190810190614749565b613efc565b8015612782576000826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156125fa57600080fd5b505afa15801561260e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126369190810190614a7f565b6040516020016126469190614f43565b6040516020818303038152906040528051906020012090506000601860009054906101000a90046001600160a01b03166001600160a01b031663ce1c0e4d6040518163ffffffff1660e01b815260040160006040518083038186803b1580156126ae57600080fd5b505afa1580156126c2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126ea91908101906147e1565b80519091505b801561277e57806001900390508282828151811061270a57fe5b60200260200101516040516020016127229190614f43565b60405160208183030381529060405280519060200120141561277957604080518082018252600d81526c105b1c9958591e481859191959609a1b6020820152905162461bcd60e51b8152610b069190600401614f43565b6126f0565b5050505b604051630bc29bcf60e21b81526001600160a01b03831690632f0a6f3c90612812907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f000000000000000000000000000000000000000000000000000000000000000090600401614f8f565b600060405180830381600087803b15801561282c57600080fd5b505af1158015612840573d6000803e3d6000fd5b50506006541591506128d2905057600680546001600160a01b0384169163e536f39691600019810190811061287157fe5b9060005260206000209060030201600001546040518263ffffffff1660e01b815260040161289f9190614f78565b600060405180830381600087803b1580156128b957600080fd5b505af11580156128cd573d6000803e3d6000fd5b505050505b600854600954600a54600b54600c54600d5460405163f7dba1f560e01b81526001600160a01b0389169663f7dba1f596612919969195909491939092600f90600401614fc8565b600060405180830381600087803b15801561293357600080fd5b505af1158015612947573d6000803e3d6000fd5b5050601b546001600160a01b038086166000908152601660209081526040808320805460ff600160a01b90970496909616151560ff19968716179055601590915280822080549094166001179093556018549251630998fc6d60e21b815290945091169150632663f1b4906129c0908690600401614cde565b602060405180830381600087803b1580156129da57600080fd5b505af11580156129ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a129190614ac9565b90508115612a7d57601954604051630d15c16960e21b81526001600160a01b039091169063345705a490612a4a908490600401614f78565b600060405180830381600087803b158015612a6457600080fd5b505af1158015612a78573d6000803e3d6000fd5b505050505b7fa0985424f2efdcae4b57a7c84bbf0a0b19f93054f21e9eb1cfcd5a59813fe1da836001604051612aaf929190614ee9565b60405180910390a1505050565b60185460408051635200305d60e11b815290516060926001600160a01b03169163a40060ba916004808301926000929190829003018186803b158015612b0157600080fd5b505afa158015612b15573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f19190810190614749565b7f0000000000000000000000000000000000000000000000000000000000000000601354034210612cb0576000612b72612abc565b8051604080516060810182524360001981018252602082019081524292820192835260068054600181018255600091825283517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f60039092029182015591517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4083015592517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d41909101559293509091905b82811015612cab57838181518110612c3757fe5b60200260200101516001600160a01b031663e536f39683600001516040518263ffffffff1660e01b8152600401612c6e9190614f78565b600060405180830381600087803b158015612c8857600080fd5b505af1158015612c9c573d6000803e3d6000fd5b50505050806001019050612c23565b505050505b565b6000612cbc612abc565b80519091508015801590612cda5750601b54600160a81b900460ff16155b156131ae576007546000906001600160a01b0316612d2e57814442604051602001612d06929190614f81565b6040516020818303038152906040528051906020012060001c81612d2657fe5b069050612e04565b6000805b83811015612dca57848181518110612d4657fe5b60200260200101516001600160a01b031663d89601fd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612d8657600080fd5b505afa158015612d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dbe9190614ac9565b90910190600101612d32565b50828142604051602001612ddf929190614f81565b6040516020818303038152906040528051906020012060001c81612dff57fe5b069150505b60608060008080805b87811015612f8c5760008882890181612e2257fe5b06905060008a8281518110612e3357fe5b6020908102919091018101516001600160a01b0381166000908152601690925260409091205490915060ff1615612e89576001600160a01b03166000908152601660205260409020805460ff1916905550612f84565b6011546040516340462a2d60e01b81526001600160a01b038316916340462a2d91612eba9190891590600401614f33565b600060405180830381600087803b158015612ed457600080fd5b505af1925050508015612f0957506040513d6000823e601f3d908101601f19168201604052612f06919081019061467e565b60015b612f5757612f156150e2565b80612f205750612f30565b612f2a8282613f83565b50612f52565b612f528160405180606001604052806022815260200161520f60229139613f83565b612f81565b87158015612f66575060008351115b15612f7d5791995097509550600194509250828787875b5050505b50505b600101612e0d565b506000612f976122db565b9050821561314d576017546011546001600160a01b039091169063a9b79e1790889088908890877f0000000000000000000000000000000000000000000000000000000000000000886001612feb85613fd4565b0360068b81548110612ff957fe5b9060005260206000209060030201600001546040518a63ffffffff1660e01b815260040161302f99989796959493929190614d5f565b600060405180830381600087803b15801561304957600080fd5b505af192505050801561305a575060015b61314d576130666150e2565b8061307157506130c8565b7f175a1d13d190d6a1e14461c214b3ecf6118b828797750b7bffd7c4f2c1eba54c836011546040516130a4929190614cf2565b60405180910390a16017546130c2906001600160a01b03168261175a565b5061314d565b7f175a1d13d190d6a1e14461c214b3ecf6118b828797750b7bffd7c4f2c1eba54c826011546040516130fb929190614cf2565b60405180910390a16017546040805180820190915260208082527f756e6b6e6f776e206661696c2e206469737472696275746520726577617264739082015261314d916001600160a01b03169061175a565b600780546001600160a01b0319166001600160a01b0384161790556040517f98b050a4042fbd1b89934ef40b9342e593f15081a348af940573a0179031f4ad9061319a9084908490614cf2565b60405180910390a150505050505050613282565b60005b8181101561322f5760008382815181106131c757fe5b6020908102919091018101516001600160a01b0381166000908152601690925260409091205490915060ff161561321c576001600160a01b03166000908152601660205260409020805460ff19169055613227565b61322581614021565b505b6001016131b1565b50600780546001600160a01b03191690557f98b050a4042fbd1b89934ef40b9342e593f15081a348af940573a0179031f4ad600061326b6122db565b604051613279929190614cf2565b60405180910390a15b5050601b805460ff60a01b19169055565b600061329d612abc565b80519091504281156133465760005b82811015613344578381815181106132c057fe5b60200260200101516001600160a01b031663d89601fd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561330057600080fd5b505afa158015613314573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133389190614ac9565b909101906001016132ac565b505b806040516020016133579190614f78565b6040516020818303038152906040528051906020012060001c905060007f0000000000000000000000000000000000000000000000000000000000000000600661339f6122db565b815481106133a957fe5b9060005260206000209060030201600101544303816133c457fe5b049050806133d0575060015b60008183816133db57fe5b069050806133e7575060015b60408051606081018252438381038252602082019081524292820192835260068054600181018255600091825283517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f60039092029182015591517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4083015592517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4190910155905b85811015613518578681815181106134a357fe5b60200260200101516001600160a01b031663e536f39683600001516040518263ffffffff1660e01b81526004016134da9190614f78565b600060405180830381600087803b1580156134f457600080fd5b505af1158015613508573d6000803e3d6000fd5b50506001909201915061348f9050565b50805160208201516040517f1813f880dc24666c8b69c9d771a487ea620a27fde1514be3112847056c0c532292613550929091614f81565b60405180910390a15050601380547f000000000000000000000000000000000000000000000000000000000000000001905550505050565b60006135926122db565b600e5490915042035b816014541080156135cf5750806006601454600101815481106135ba57fe5b90600052602060002090600302016002015411155b1561148257601754601454604051636b60edf760e11b81526001600160a01b039092169163d6c1dbee9161360591600401614f78565b600060405180830381600087803b15801561361f57600080fd5b505af1925050508015613630575060015b6137095761363c6150e2565b80613647575061369c565b7fa819a21065ad87bdde9e6d398d3213e0d3634afd87aceb7092236483f5d7ca8d6014546040516136789190614f78565b60405180910390a1601754613696906001600160a01b03168261175a565b50611482565b7fa819a21065ad87bdde9e6d398d3213e0d3634afd87aceb7092236483f5d7ca8d6014546040516136cd9190614f78565b60405180910390a160175460408051606081019091526021808252613704926001600160a01b03169190615231602083013961175a565b611482565b60148054600101905561359b565b601b546001600160a01b0316613755576040517f9a880a9e2a01928f1a99d7b0e2ea1147f52e2eb381f8d9345c110932d57bce8d90600090a1612cb0565b600060066014548154811061376657fe5b6000918252602090912060039091020154601b5460405163cbc31cf760e01b81529192506001600160a01b03169063cbc31cf7906137a8908490600401614f78565b600060405180830381600087803b1580156137c257600080fd5b505af19250505080156137d3575060015b61069b576137df6150e2565b806137ea575061383d565b7f9f874ea08c7014cce74622bfe71434f81aba7598ad65126a6aea86945bdfa18d826040516138199190614f78565b60405180910390a1601b54613837906001600160a01b03168261175a565b506138a3565b7f9f874ea08c7014cce74622bfe71434f81aba7598ad65126a6aea86945bdfa18d8160405161386c9190614f78565b60405180910390a1601b54604080516060810190915260238082526138a3926001600160a01b031691906151c1602083013961175a565b61069b565b60105460ff161561393357604051639ec2b58160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639ec2b5819061390090600f90600401614dc9565b600060405180830381600087803b15801561391a57600080fd5b505af115801561392e573d6000803e3d6000fd5b505050505b600061393d612abc565b80519091506000811580159061395d5750601b54600160a81b900460ff16155b15613a0f576006805460009190600019810190811061397857fe5b6000918252602090912060039091020154601a546040516237b08960e41b81529192506001600160a01b03169063037b0890906139b9908490600401614f78565b602060405180830381600087803b1580156139d357600080fd5b505af11580156139e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a0b9190614ac9565b9150505b60005b82811015613b98576000848281518110613a2857fe5b602090810291909101015160105490915060ff1615613abb57600854600954600a54600b54600c54600d5460405163f7dba1f560e01b81526001600160a01b0388169663f7dba1f596613a88969195909491939092600f90600401614fc8565b600060405180830381600087803b158015613aa257600080fd5b505af1158015613ab6573d6000803e3d6000fd5b505050505b806001600160a01b031663f670ebe384601b60159054906101000a900460ff1680613afe57506001600160a01b0384166000908152601c602052604090205460ff165b6040518363ffffffff1660e01b8152600401613b1b929190614f33565b600060405180830381600087803b158015613b3557600080fd5b505af1925050508015613b46575060015b613b8f57613b526150e2565b80613b5d5750613b6d565b613b6782826140bd565b50613b8f565b613b8f8160405180606001604052806023815260200161527e602391396140bd565b50600101613a12565b506010805460ff191690556000613bad613dd2565b60118190559050613bbd816142ce565b6012555050601b805460ff60a01b1916600160a01b1790555050565b88548814613bf45760088901805460ff191660011790558789555b86896001015414613c175760088901805460ff1916600190811790915589018790555b85896002015414613c395760088901805460ff19166001179055600289018690555b84896003015414613c5b5760088901805460ff19166001179055600389018590555b83896004015414613c7d5760088901805460ff19166001179055600489018490555b82896005015414613c9f5760088901805460ff19166001179055600589018390555b81896006015414613cc15760088901805460ff19166001179055600689018290555b805160078a015414613cf7578051613ce29060078b019060208401906144a3565b5060088901805460ff19166001179055613db6565b60005b8151811015613db457818181518110613d0f57fe5b60200260200101516001600160a01b03168a6007018281548110613d2f57fe5b6000918252602090912001546001600160a01b031614613dac5760088a01805460ff191660011790558151829082908110613d6657fe5b60200260200101518a6007018281548110613d7d57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b600101613cfa565b505b5050506008909501805461ff0019166101001790555050505050565b60007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000420381613e1f57fe5b04905090565b806001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613e6057600080fd5b505af1158015613e74573d6000803e3d6000fd5b5050506001600160a01b0382166000908152601c60209081526040808320805460ff199081169091556016835281842080548216905560159092529091208054909116905550613eca613ec5612abc565b61433d565b7fa0985424f2efdcae4b57a7c84bbf0a0b19f93054f21e9eb1cfcd5a59813fe1da8160006040516124d3929190614ee9565b805160005b81811015613f7e5760156000848381518110613f1957fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16613f76576040518060600160405280602681526020016152a16026913960405162461bcd60e51b8152600401610b069190614f43565b600101613f01565b505050565b7f79f4c7cc43bfb79f5a3aad0d92f75b6fed7db061bb5cc2580a01c8132711b881826011546001604051613fb993929190614f04565b60405180910390a1613fcb828261175a565b61148282614021565b7f0000000000000000000000000000000000000000000000000000000000000000600182017f00000000000000000000000000000000000000000000000000000000000000000201919050565b601154604051639de6f92760e01b81526001600160a01b03831691639de6f9279161404f9190600401614f78565b600060405180830381600087803b15801561406957600080fd5b505af192505050801561407a575060015b61069b576140866150e2565b80614091575061409b565b61383782826143a1565b6138a3816040518060600160405280602b81526020016151e4602b91396143a1565b7f61156899176547b8075bfa81fa2996c6057ce9c71320884b11c0179d9dc2e462826140e7613dd2565b6040516140f5929190614cf2565b60405180910390a1614107828261175a565b601b54600160a81b900460ff168061413757506001600160a01b0382166000908152601c602052604090205460ff165b15614164576001600160a01b0382166000908152601660205260409020805460ff19166001179055611482565b60405163f670ebe360e01b81526001600160a01b0383169063f670ebe39061419490600090600190600401614f33565b600060405180830381600087803b1580156141ae57600080fd5b505af19250505080156141bf575060015b611482576141cb6150e2565b806141d65750614249565b6001600160a01b0383166000908152601660205260409020805460ff191660011790557f61156899176547b8075bfa81fa2996c6057ce9c71320884b11c0179d9dc2e46283614223613dd2565b604051614231929190614cf2565b60405180910390a1614243838261175a565b50613704565b6001600160a01b0382166000908152601660205260409020805460ff191660011790557f61156899176547b8075bfa81fa2996c6057ce9c71320884b11c0179d9dc2e46282614296613dd2565b6040516142a4929190614cf2565b60405180910390a1613704826040518060600160405280602c8152602001615252602c913961175a565b7f0000000000000000000000000000000000000000000000000000000000000000600182017f000000000000000000000000000000000000000000000000000000000000000002017f000000000000000000000000000000000000000000000000000000000000000001919050565b805160005b81811015613f7e5761439983828151811061435957fe5b60200260200101516001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561257857600080fd5b600101614342565b7f79f4c7cc43bfb79f5a3aad0d92f75b6fed7db061bb5cc2580a01c8132711b8818260115460026040516143d793929190614f04565b60405180910390a16143e9828261175a565b60115460405163974d7a6b60e01b81526001600160a01b0384169163974d7a6b916109689190600401614f78565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261444d5760008555614493565b82601f1061446657805160ff1916838001178555614493565b82800160010185558215614493579182015b82811115614493578251825591602001919060010190614478565b5061449f9291506144f8565b5090565b828054828255906000526020600020908101928215614493579160200282015b8281111561449357825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906144c3565b5b8082111561449f57600081556001016144f9565b600082601f83011261451d578081fd5b8151602061453261452d83615072565b61504f565b828152818101908583018385028701840188101561454e578586fd5b855b8581101561456c57815184529284019290840190600101614550565b5090979650505050505050565b8035801515811461241257600080fd5b600082601f830112614599578081fd5b81516145a761452d8261508f565b8181528460208386010111156145bb578283fd5b6145cc8260208301602087016150b0565b949350505050565b6000602082840312156145e5578081fd5b81356145f081615186565b9392505050565b60008060408385031215614609578081fd5b823561461481615186565b915060208301356001600160401b0381111561462e578182fd5b8301601f8101851361463e578182fd5b803561464c61452d8261508f565b818152866020838501011115614660578384fd5b81602084016020830137908101602001929092525090939092509050565b600080600060608486031215614692578081fd5b83516001600160401b03808211156146a8578283fd5b818601915086601f8301126146bb578283fd5b815160206146cb61452d83615072565b82815281810190858301838502870184018c10156146e7578788fd5b8796505b848710156147125780516146fe81615186565b8352600196909601959183019183016146eb565b509189015191975090935050508082111561472b578283fd5b506147388682870161450d565b925050604084015190509250925092565b6000602080838503121561475b578182fd5b82516001600160401b03811115614770578283fd5b8301601f81018513614780578283fd5b805161478e61452d82615072565b81815283810190838501858402850186018910156147aa578687fd5b8694505b838510156147d55780516147c181615186565b8352600194909401939185019185016147ae565b50979650505050505050565b600060208083850312156147f3578182fd5b82516001600160401b03811115614808578283fd5b8301601f81018513614818578283fd5b805161482661452d82615072565b81815283810190838501865b8481101561485b576148498a888451890101614589565b84529286019290860190600101614832565b509098975050505050505050565b60006020828403121561487a578081fd5b6145f082614579565b600080600080600060a0868803121561489a578283fd5b85356148a581615186565b945060208601356148b581615186565b935060408601356148c581615186565b925060608601356148d581615186565b915060808601356148e581615186565b809150509295509295909350565b60008060408385031215614905578182fd5b823561491081615186565b91506020838101356001600160401b0381111561492b578283fd5b8401601f8101861361493b578283fd5b803561494961452d82615072565b81815283810190838501858402850186018a1015614965578687fd5b8694505b8385101561499057803561497c81615186565b835260019490940193918501918501614969565b5080955050505050509250929050565b600080604083850312156149b2578182fd5b82356149bd81615186565b91506149cb60208401614579565b90509250929050565b600080600080608085870312156149e9578182fd5b84356149f481615186565b93506020850135614a0481615186565b9250614a1260408601614579565b9150614a2060608601614579565b905092959194509250565b60008060408385031215614a3d578182fd5b8235614a4881615186565b91506020830135614a5881615186565b809150509250929050565b600060208284031215614a74578081fd5b81516145f081615186565b600060208284031215614a90578081fd5b81516001600160401b03811115614aa5578182fd5b6145cc84828501614589565b600060208284031215614ac2578081fd5b5035919050565b600060208284031215614ada578081fd5b5051919050565b60008060408385031215614af3578182fd5b50508035926020909101359150565b60008060408385031215614b14578182fd5b505080516020909101519092909150565b600080600080600080600080610100898b031215614b41578586fd5b883597506020808a0135975060408a0135965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614b88578283fd5b8a01601f81018c13614b98578283fd5b8035614ba661452d82615072565b8082825284820191508484018f868786028701011115614bc4578687fd5b8694505b83851015614bef578035614bdb81615186565b835260019490940193918501918501614bc8565b5080955050505050509295985092959890939650565b6000815180845260208085019450808401835b83811015614c3d5781516001600160a01b031687529582019590820190600101614c18565b509495945050505050565b6000815480845260208085019450838352808320835b83811015614c3d5781546001600160a01b031687529582019560019182019101614c5e565b6000815180845260208085019450808401835b83811015614c3d57815187529582019590820190600101614c96565b60008151808452614cca8160208601602086016150b0565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03831681526040602082018190526000906145cc90830184614cb2565b600060018060a01b038516825283602083015260606040830152614d566060830184614cb2565b95945050505050565b6000610120808352614d738184018d614c05565b90508281036020840152614d87818c614c83565b604084019a909a52505060608101969096526001600160a01b0394909416608086015260a085019290925260c084015260e08301526101009091015292915050565b6000602082526145f06020830184614c48565b6000602082526145f06020830184614c05565b600060a08252614e0260a0830188614c83565b602083820381850152614e158289614c83565b848103604086015287518082529092508183019082810284018301838a01865b83811015614e6357601f19878403018552614e51838351614cb2565b94860194925090850190600101614e35565b50508681036060880152614e77818a614c05565b955050505050508260808301529695505050505050565b901515815260200190565b600084151582526020606081840152614eb56060840186614c05565b8381036040850152845180825282860191830190845b8181101561485b578351151583529284019291840191600101614ecb565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b0384168152602081018390526060810160068310614f2557fe5b826040830152949350505050565b9182521515602082015260400190565b6000602082526145f06020830184614cb2565b6001600160c01b039290921682526001600160401b0316602082015260400190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b948552602085019390935260408401919091526060830152608082015260a00190565b60008882528760208301528660408301528560608301528460808301528360a083015260e060c0830152614fff60e0830184614c48565b9998505050505050505050565b988952602089019790975260408801959095526060870193909352608086019190915260a085015260c0840152151560e083015215156101008201526101200190565b6040518181016001600160401b038111828210171561506a57fe5b604052919050565b60006001600160401b0382111561508557fe5b5060209081020190565b60006001600160401b038211156150a257fe5b50601f01601f191660200190565b60005b838110156150cb5781810151838201526020016150b3565b83811115612cab5750506000910152565b60e01c90565b600060443d10156150f257610565565b600481823e6308c379a061510682516150dc565b1461511057610565565b6040513d600319016004823e80513d6001600160401b03816024840111818411171561513f5750505050610565565b828401925082519150808211156151595750505050610565565b503d8301602082840101111561517157505050610565565b601f01601f1916810160200160405291505090565b6001600160a01b038116811461069b57600080fdfe4d6178207472757374656420616464726573736573206c656e677468206578636565646564756e6b6e6f776e206661696c2e2073657474696e6720636c65616e757020626c6f636b756e6b6e6f776e206661696c2e2066616c6c6261636b2066696e616c697a652070726963652065706f6368756e6b6e6f776e206661696c2e2066696e616c697a652070726963652065706f6368556e6b6e6f776e206661696c207768656e20636c6f73696e672065787069726564756e6b6e6f776e206661696c2e2066616c6c6261636b20696e69742065706f636820666f722072657665616c756e6b6e6f776e206661696c2e20696e69742065706f636820666f722072657665616c4173736574204654534f206e6f74206d616e61676564206279206674736f206d616e61676572a264697066735822122037183781e849483e9668a37b1936a2cb6baa0cbe644df48f79b1a41c4081783464736f6c6343000706003346697273742065706f63682073746172742074696d657374616d7020696e206675747572655265776172642065706f6368206475726174696f6e20636f6e646974696f6e20696e76616c69645265776172642065706f636820737461727420636f6e646974696f6e20696e76616c6964",
|
|
1108
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102745760003560e01c806393a7902511610151578063ce69f833116100c3578063e7a0d01e11610087578063e7a0d01e146104cf578063e7c830d4146104e2578063e847ae1e146104ea578063f2edab5a146104fd578063f937d6ad14610510578063ff882fbb1461051857610274565b8063ce69f8331461046c578063d38bfff414610481578063e06174e414610494578063e22fdece146104b1578063e371aef0146104b957610274565b8063a795f40911610115578063a795f40914610405578063a93a6f4214610418578063af946af71461042b578063c0ffe9081461043e578063c2b0d47b14610451578063c373a08e1461045957610274565b806393a79025146103b65780639d6a890f146103cf578063a1077532146103e2578063a578f55b146103ea578063a670ff87146103f257610274565b80634eac870f116101ea57806369b11ac6116101ae57806369b11ac6146103655780636b65cc341461036d5780636d0e8c34146103805780636ea0aa311461038857806385f3c9c91461039b5780639131205b146103a357610274565b80634eac870f146103305780635aa6e675146103385780635d36b1901461034057806360f2c5b21461034857806360f7ac971461035d57610274565b8063144e15911161023c578063144e1591146102c65780632663f1b4146102dd5780632b3c41a4146102f05780632fd8eb7d1461030957806338b5f869146103115780634b48dd5e1461031957610274565b806302fb0c5e14610279578063047fc9aa146102975780630e063d7d146102ac5780630f15f4c0146102b45780630f4ef8a6146102be575b600080fd5b61028161052b565b60405161028e9190614e8e565b60405180910390f35b61029f610534565b60405161028e9190614cde565b61029f610543565b6102bc610568565b005b61029f6105c8565b6102ce6105d7565b60405161028e93929190614f8f565b6102bc6102eb3660046145d4565b61063f565b6102f861069e565b60405161028e959493929190614def565b61029f6106d9565b61029f6106e8565b6103216106f7565b60405161028e93929190614e99565b61029f6107d3565b61029f6107e2565b6102bc6107f1565b6103506108b3565b60405161028e9190614f78565b61029f6108d7565b6103506108e6565b6102bc61037b366004614a2b565b6108eb565b61028161099e565b6102f8610396366004614ae1565b610aaf565b610350610e13565b6102bc6103b1366004614b25565b610e37565b6103be6110a7565b60405161028e959493929190614fa5565b6102bc6103dd3660046145d4565b61113a565b61029f611214565b610350611238565b6102bc6104003660046145d4565b61125c565b6102ce610413366004614ab1565b611486565b6102bc6104263660046148f3565b6114b9565b6102bc6104393660046149a0565b611649565b6102bc61044c3660046145f7565b61175a565b61029f611933565b6102bc6104673660046145d4565b611942565b6104746119e7565b60405161028e9190614ddc565b6102bc61048f3660046145d4565b6119f6565b61049c611ab8565b60405161028e9998979695949392919061500c565b610281611adf565b6104c1611bbd565b60405161028e929190614f56565b6102bc6104dd3660046149d4565b611bde565b6103506122db565b6102bc6104f8366004614883565b61233e565b61035061050b366004614ab1565b6123ee565b61029f612417565b6102bc610526366004614869565b61243b565b60055460ff1681565b601a546001600160a01b031681565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b6000546001600160a01b031633146105b9576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6005805460ff19166001179055565b6017546001600160a01b031681565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000909192565b6000546001600160a01b03163314610690576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b61069b8160016124de565b50565b6004546060908190819081906000906106c890600160c01b90046001600160401b03166001610aaf565b945094509450945094509091929394565b6007546001600160a01b031681565b6018546001600160a01b031681565b601b54600160a81b900460ff1660608061070f612abc565b8051909250806001600160401b038111801561072a57600080fd5b50604051908082528060200260200182016040528015610754578160200160208202803683370190505b50915060005b818110156107cc57601c600085838151811061077257fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a900460ff168382815181106107b457fe5b9115156020928302919091019091015260010161075a565b5050909192565b601b546001600160a01b031681565b6000546001600160a01b031681565b6001546001600160a01b03163314610840576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001546001600160a01b031681565b600581565b6000546001600160a01b0316331461093c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60405163d0d552dd60e01b81526001600160a01b0383169063d0d552dd90610968908490600401614cde565b600060405180830381600087803b15801561098257600080fd5b505af1158015610996573d6000803e3d6000fd5b505050505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a11576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b60055460ff16610a2357506000610565565b600654610a3757610a32612b3d565b610aa9565b601b54600160a01b900460ff168015610a5257504260125411155b15610a5f57610a32612cb2565b601b54600160a01b900460ff16158015610a7b57504260135411155b15610a9857610a88613293565b610a90613588565b610a32613717565b4260125411610aa957610aa96138a8565b50600190565b606080606080600060038054905087106040518060400160405280601081526020016f0e6e8c2e4e840d2dcc8caf040d0d2ced60831b81525090610b0f5760405162461bcd60e51b8152600401610b069190614f43565b60405180910390fd5b506003546000908888011115610b2a57600354889003610b2c565b865b9050806001600160401b0381118015610b4457600080fd5b50604051908082528060200260200182016040528015610b6e578160200160208202803683370190505b509550806001600160401b0381118015610b8757600080fd5b50604051908082528060200260200182016040528015610bb1578160200160208202803683370190505b509450806001600160401b0381118015610bca57600080fd5b50604051908082528060200260200182016040528015610bfe57816020015b6060815260200190600190039081610be95790505b509350806001600160401b0381118015610c1757600080fd5b50604051908082528060200260200182016040528015610c41578160200160208202803683370190505b50925060005b81811015610df75760006003828b0181548110610c6057fe5b6000918252602080832090910154808352600290915260409091205489519192506001600160c01b031690899084908110610c9757fe5b6020026020010181815250506002600082815260200190815260200160002060000160189054906101000a90046001600160401b03166001600160401b0316878381518110610ce257fe5b602090810291909101810191909152600082815260028083526040918290208101805483516001821615610100026000190190911692909204601f81018590048502830185019093528282529092909190830182828015610d845780601f10610d5957610100808354040283529160200191610d84565b820191906000526020600020905b815481529060010190602001808311610d6757829003601f168201915b5050505050868381518110610d9557fe5b60200260200101819052506002600082815260200190815260200160002060010160009054906101000a90046001600160a01b0316858381518110610dd657fe5b6001600160a01b039092166020928302919091019091015250600101610c47565b50506004549497939650919450926001600160c01b0316919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b03163314610e88576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60408051808201909152601381527211dbdd8b881c185c985b5cc81a5b9d985b1a59606a1b602082015288610ed05760405162461bcd60e51b8152600401610b069190614f43565b5060408051808201909152601381527211dbdd8b881c185c985b5cc81a5b9d985b1a59606a1b602082015287610f195760405162461bcd60e51b8152600401610b069190614f43565b5060408051808201909152601381527211dbdd8b881c185c985b5cc81a5b9d985b1a59606a1b602082015286861015610f655760405162461bcd60e51b8152600401610b069190614f43565b5060408051808201909152601381527211dbdd8b881c185c985b5cc81a5b9d985b1a59606a1b6020820152612710851115610fb35760405162461bcd60e51b8152600401610b069190614f43565b5060408051808201909152601381527211dbdd8b881c185c985b5cc81a5b9d985b1a59606a1b60208201526127108411156110015760405162461bcd60e51b8152600401610b069190614f43565b5060408051808201909152601581527414995dd85c9908195e1c1a5c9e481a5b9d985b1a59605a1b60208201528261104c5760405162461bcd60e51b8152600401610b069190614f43565b5060058151111560405180606001604052806025815260200161519c602591399061108a5760405162461bcd60e51b8152600401610b069190614f43565b5061109d60088989898989898989613bd9565b5050505050505050565b6000806000806000806110b8613dd2565b9550507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000808702820195506001870102019250507f000000000000000000000000000000000000000000000000000000000000000082019050429091929394565b600154600160a01b900460ff1615611190576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b031633146112ad576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6000601860009054906101000a90046001600160a01b03166001600160a01b031663e848da30836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561130c57600080fd5b505afa158015611320573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113489190810190614a7f565b6040518263ffffffff1660e01b81526004016113649190614f43565b60206040518083038186803b15801561137c57600080fd5b505afa158015611390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b49190614ac9565b60195460405163d873617160e01b81529192506001600160a01b03169063d8736171906113e5908490600401614f78565b600060405180830381600087803b1580156113ff57600080fd5b505af1158015611413573d6000803e3d6000fd5b505060185460405163a670ff8760e01b81526001600160a01b03909116925063a670ff879150611447908590600401614cde565b600060405180830381600087803b15801561146157600080fd5b505af1158015611475573d6000803e3d6000fd5b5050505061148282613e25565b5050565b6006818154811061149657600080fd5b600091825260209091206003909102018054600182015460029092015490925083565b6000546001600160a01b0316331461150a576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b80516040805180820190915260168152754173736574206674736f73206c69737420656d70747960501b6020820152816115575760405162461bcd60e51b8152600401610b069190614f43565b5060005b818110156115dc5782818151811061156f57fe5b60200260200101516001600160a01b0316846001600160a01b031614156115d45760408051808201825260168152756674736f20657175616c73206173736574206674736f60501b6020820152905162461bcd60e51b8152610b069190600401614f43565b60010161155b565b506115e682613efc565b60405163098fef7160e11b81526001600160a01b0384169063131fdee290611612908590600401614ddc565b600060405180830381600087803b15801561162c57600080fd5b505af1158015611640573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b0316331461169a576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6001600160a01b0382166000908152601560209081526040918290205482518084019093526009835268139bdd08199bdd5b9960ba1b9183019190915260ff166116f75760405162461bcd60e51b8152600401610b069190614f43565b506001600160a01b0382166000908152601c602052604090819020805460ff1916831515179055517f24462ede4d3e8e5a69fecec6290d42a311016ca752216d9a3d681e284791b7ac9061174e9084908490614ee9565b60405180910390a15050565b6000828260405160200161176f929190614d0b565b60408051601f198184030181528282528051602091820120600081815260029092529190208054436001600160c01b038181166001600160401b03600160c01b80860482166001019091160291909316176001600160c01b031916919091179091559092507f1a601cf5e0efbd558b2778b7389af04741d1c49bcab104c40daa2da194593617916118039186918690614d2f565b60405180910390a1600480546001600160c01b0319811660016001600160c01b03928316810190921617909155600082815260026020526040902054600160c01b90046001600160401b0316111561185b5750611482565b6003805460018082019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01829055600082815260026020818152604090922092830180546001600160a01b0319166001600160a01b03881617905584516118cb9390910191850190614417565b50600354600091825260026020526040909120600101805467ffffffffffffffff60a01b1916600160a01b6000199093016001600160401b0390811684029190911791829055600480546001600160c01b03169390920416600160c01b029190911790555050565b6019546001600160a01b031681565b6000546001600160a01b03163314611993576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b60606119f1612abc565b905090565b6000546001600160a01b03163314611a47576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600854600954600a54600b54600c54600d54600e5460105460ff8082169161010090041689565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611b52576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b601b54600160a81b900460ff16611bb757601b805460ff60a81b1916600160a81b1790556040517f217a37a37fc40a97159886f80c3d45986e6fc4330ce6ad7283478b5e5ab705bc90611ba790600190614e8e565b60405180910390a1506001610565565b50600090565b6004546001600160c01b03811690600160c01b90046001600160401b031682565b6000546001600160a01b03163314611c2f576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015611c6857600080fd5b505afa158015611c7c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ca49190810190614a7f565b604051602001611cb49190614f43565b60405160208183030381529060405280519060200120846001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015611d0357600080fd5b505afa158015611d17573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d3f9190810190614a7f565b604051602001611d4f9190614f43565b60405160208183030381529060405280519060200120146040518060400160405280601781526020017f4654534f2073796d626f6c73206d757374206d6174636800000000000000000081525090611dba5760405162461bcd60e51b8152600401610b069190614f43565b506000611dc5612abc565b805190915060005b81811015611e0f57866001600160a01b0316838281518110611deb57fe5b60200260200101516001600160a01b03161415611e0757611e0f565b600101611dcd565b81811415611e4e576040805180820182526009815268139bdd08199bdd5b9960ba1b6020820152905162461bcd60e51b8152610b069190600401614f43565b8415611f2f57600080886001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b158015611e8f57600080fd5b505afa158015611ea3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec79190614b02565b60405163306ba25360e01b815291935091506001600160a01b0389169063306ba25390611efa9085908590600401614f81565b600060405180830381600087803b158015611f1457600080fd5b505af1158015611f28573d6000803e3d6000fd5b5050505050505b8315612100576000876001600160a01b0316635c222bad6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f7057600080fd5b505afa158015611f84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa89190614a63565b90506001600160a01b0381161561201c5760405163d0d552dd60e01b81526001600160a01b0388169063d0d552dd90611fe5908490600401614cde565b600060405180830381600087803b158015611fff57600080fd5b505af1158015612013573d6000803e3d6000fd5b505050506120fe565b6000886001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561205757600080fd5b505afa15801561206b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120939190810190614749565b8051909150156120fc5760405163098fef7160e11b81526001600160a01b0389169063131fdee2906120c9908490600401614ddc565b600060405180830381600087803b1580156120e357600080fd5b505af11580156120f7573d6000803e3d6000fd5b505050505b505b505b61210b8660006124de565b6000612115612abc565b805190915060005b818110156122c657600083828151811061213357fe5b602002602001015190508a6001600160a01b0316816001600160a01b0316141561215d57506122be565b6000816001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561219857600080fd5b505afa1580156121ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121d49190810190614749565b805190915080156122ba576000805b82811015612252578e6001600160a01b031684828151811061220157fe5b60200260200101516001600160a01b0316141561224a578d84828151811061222557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600191505b6001016121e3565b5080156122b85760405163098fef7160e11b81526001600160a01b0385169063131fdee290612285908690600401614ddc565b600060405180830381600087803b15801561229f57600080fd5b505af11580156122b3573d6000803e3d6000fd5b505050505b505b5050505b60010161211d565b506122d089613e25565b505050505050505050565b6006546040805180820190915260208082527f5265776172642065706f6368206e6f7420696e697469616c697a6564207965749082015260009190816123345760405162461bcd60e51b8152600401610b069190614f43565b5060001901905090565b6000546001600160a01b0316331461238f576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601780546001600160a01b03199081166001600160a01b03978816179091556018805482169587169590951790945560198054851693861693909317909255601a80548416918516919091179055601b80549092169216919091179055565b6000600682815481106123fd57fe5b90600052602060002090600302016000015490505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b0316331461248c576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601b805460ff60a81b1916600160a81b831515021790556040517f217a37a37fc40a97159886f80c3d45986e6fc4330ce6ad7283478b5e5ab705bc906124d3908390614e8e565b60405180910390a150565b60105460408051808201909152601b81527f476f762e20706172616d73206e6f7420696e697469616c697a65640000000000602082015290610100900460ff1661253b5760405162461bcd60e51b8152600401610b069190614f43565b506125b9826001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561257857600080fd5b505afa15801561258c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526125b49190810190614749565b613efc565b8015612782576000826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156125fa57600080fd5b505afa15801561260e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126369190810190614a7f565b6040516020016126469190614f43565b6040516020818303038152906040528051906020012090506000601860009054906101000a90046001600160a01b03166001600160a01b031663ce1c0e4d6040518163ffffffff1660e01b815260040160006040518083038186803b1580156126ae57600080fd5b505afa1580156126c2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126ea91908101906147e1565b80519091505b801561277e57806001900390508282828151811061270a57fe5b60200260200101516040516020016127229190614f43565b60405160208183030381529060405280519060200120141561277957604080518082018252600d81526c105b1c9958591e481859191959609a1b6020820152905162461bcd60e51b8152610b069190600401614f43565b6126f0565b5050505b604051630bc29bcf60e21b81526001600160a01b03831690632f0a6f3c90612812907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f000000000000000000000000000000000000000000000000000000000000000090600401614f8f565b600060405180830381600087803b15801561282c57600080fd5b505af1158015612840573d6000803e3d6000fd5b50506006541591506128d2905057600680546001600160a01b0384169163e536f39691600019810190811061287157fe5b9060005260206000209060030201600001546040518263ffffffff1660e01b815260040161289f9190614f78565b600060405180830381600087803b1580156128b957600080fd5b505af11580156128cd573d6000803e3d6000fd5b505050505b600854600954600a54600b54600c54600d5460405163f7dba1f560e01b81526001600160a01b0389169663f7dba1f596612919969195909491939092600f90600401614fc8565b600060405180830381600087803b15801561293357600080fd5b505af1158015612947573d6000803e3d6000fd5b5050601b546001600160a01b038086166000908152601660209081526040808320805460ff600160a01b90970496909616151560ff19968716179055601590915280822080549094166001179093556018549251630998fc6d60e21b815290945091169150632663f1b4906129c0908690600401614cde565b602060405180830381600087803b1580156129da57600080fd5b505af11580156129ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a129190614ac9565b90508115612a7d57601954604051630d15c16960e21b81526001600160a01b039091169063345705a490612a4a908490600401614f78565b600060405180830381600087803b158015612a6457600080fd5b505af1158015612a78573d6000803e3d6000fd5b505050505b7fa0985424f2efdcae4b57a7c84bbf0a0b19f93054f21e9eb1cfcd5a59813fe1da836001604051612aaf929190614ee9565b60405180910390a1505050565b60185460408051635200305d60e11b815290516060926001600160a01b03169163a40060ba916004808301926000929190829003018186803b158015612b0157600080fd5b505afa158015612b15573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f19190810190614749565b7f0000000000000000000000000000000000000000000000000000000000000000601354034210612cb0576000612b72612abc565b8051604080516060810182524360001981018252602082019081524292820192835260068054600181018255600091825283517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f60039092029182015591517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4083015592517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d41909101559293509091905b82811015612cab57838181518110612c3757fe5b60200260200101516001600160a01b031663e536f39683600001516040518263ffffffff1660e01b8152600401612c6e9190614f78565b600060405180830381600087803b158015612c8857600080fd5b505af1158015612c9c573d6000803e3d6000fd5b50505050806001019050612c23565b505050505b565b6000612cbc612abc565b80519091508015801590612cda5750601b54600160a81b900460ff16155b156131ae576007546000906001600160a01b0316612d2e57814442604051602001612d06929190614f81565b6040516020818303038152906040528051906020012060001c81612d2657fe5b069050612e04565b6000805b83811015612dca57848181518110612d4657fe5b60200260200101516001600160a01b031663d89601fd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612d8657600080fd5b505afa158015612d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dbe9190614ac9565b90910190600101612d32565b50828142604051602001612ddf929190614f81565b6040516020818303038152906040528051906020012060001c81612dff57fe5b069150505b60608060008080805b87811015612f8c5760008882890181612e2257fe5b06905060008a8281518110612e3357fe5b6020908102919091018101516001600160a01b0381166000908152601690925260409091205490915060ff1615612e89576001600160a01b03166000908152601660205260409020805460ff1916905550612f84565b6011546040516340462a2d60e01b81526001600160a01b038316916340462a2d91612eba9190891590600401614f33565b600060405180830381600087803b158015612ed457600080fd5b505af1925050508015612f0957506040513d6000823e601f3d908101601f19168201604052612f06919081019061467e565b60015b612f5757612f156150e2565b80612f205750612f30565b612f2a8282613f83565b50612f52565b612f528160405180606001604052806022815260200161520f60229139613f83565b612f81565b87158015612f66575060008351115b15612f7d5791995097509550600194509250828787875b5050505b50505b600101612e0d565b506000612f976122db565b9050821561314d576017546011546001600160a01b039091169063a9b79e1790889088908890877f0000000000000000000000000000000000000000000000000000000000000000886001612feb85613fd4565b0360068b81548110612ff957fe5b9060005260206000209060030201600001546040518a63ffffffff1660e01b815260040161302f99989796959493929190614d5f565b600060405180830381600087803b15801561304957600080fd5b505af192505050801561305a575060015b61314d576130666150e2565b8061307157506130c8565b7f175a1d13d190d6a1e14461c214b3ecf6118b828797750b7bffd7c4f2c1eba54c836011546040516130a4929190614cf2565b60405180910390a16017546130c2906001600160a01b03168261175a565b5061314d565b7f175a1d13d190d6a1e14461c214b3ecf6118b828797750b7bffd7c4f2c1eba54c826011546040516130fb929190614cf2565b60405180910390a16017546040805180820190915260208082527f756e6b6e6f776e206661696c2e206469737472696275746520726577617264739082015261314d916001600160a01b03169061175a565b600780546001600160a01b0319166001600160a01b0384161790556040517f98b050a4042fbd1b89934ef40b9342e593f15081a348af940573a0179031f4ad9061319a9084908490614cf2565b60405180910390a150505050505050613282565b60005b8181101561322f5760008382815181106131c757fe5b6020908102919091018101516001600160a01b0381166000908152601690925260409091205490915060ff161561321c576001600160a01b03166000908152601660205260409020805460ff19169055613227565b61322581614021565b505b6001016131b1565b50600780546001600160a01b03191690557f98b050a4042fbd1b89934ef40b9342e593f15081a348af940573a0179031f4ad600061326b6122db565b604051613279929190614cf2565b60405180910390a15b5050601b805460ff60a01b19169055565b600061329d612abc565b80519091504281156133465760005b82811015613344578381815181106132c057fe5b60200260200101516001600160a01b031663d89601fd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561330057600080fd5b505afa158015613314573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133389190614ac9565b909101906001016132ac565b505b806040516020016133579190614f78565b6040516020818303038152906040528051906020012060001c905060007f0000000000000000000000000000000000000000000000000000000000000000600661339f6122db565b815481106133a957fe5b9060005260206000209060030201600101544303816133c457fe5b049050806133d0575060015b60008183816133db57fe5b069050806133e7575060015b60408051606081018252438381038252602082019081524292820192835260068054600181018255600091825283517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f60039092029182015591517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4083015592517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4190910155905b85811015613518578681815181106134a357fe5b60200260200101516001600160a01b031663e536f39683600001516040518263ffffffff1660e01b81526004016134da9190614f78565b600060405180830381600087803b1580156134f457600080fd5b505af1158015613508573d6000803e3d6000fd5b50506001909201915061348f9050565b50805160208201516040517f1813f880dc24666c8b69c9d771a487ea620a27fde1514be3112847056c0c532292613550929091614f81565b60405180910390a15050601380547f000000000000000000000000000000000000000000000000000000000000000001905550505050565b60006135926122db565b600e5490915042035b816014541080156135cf5750806006601454600101815481106135ba57fe5b90600052602060002090600302016002015411155b1561148257601754601454604051636b60edf760e11b81526001600160a01b039092169163d6c1dbee9161360591600401614f78565b600060405180830381600087803b15801561361f57600080fd5b505af1925050508015613630575060015b6137095761363c6150e2565b80613647575061369c565b7fa819a21065ad87bdde9e6d398d3213e0d3634afd87aceb7092236483f5d7ca8d6014546040516136789190614f78565b60405180910390a1601754613696906001600160a01b03168261175a565b50611482565b7fa819a21065ad87bdde9e6d398d3213e0d3634afd87aceb7092236483f5d7ca8d6014546040516136cd9190614f78565b60405180910390a160175460408051606081019091526021808252613704926001600160a01b03169190615231602083013961175a565b611482565b60148054600101905561359b565b601b546001600160a01b0316613755576040517f9a880a9e2a01928f1a99d7b0e2ea1147f52e2eb381f8d9345c110932d57bce8d90600090a1612cb0565b600060066014548154811061376657fe5b6000918252602090912060039091020154601b5460405163cbc31cf760e01b81529192506001600160a01b03169063cbc31cf7906137a8908490600401614f78565b600060405180830381600087803b1580156137c257600080fd5b505af19250505080156137d3575060015b61069b576137df6150e2565b806137ea575061383d565b7f9f874ea08c7014cce74622bfe71434f81aba7598ad65126a6aea86945bdfa18d826040516138199190614f78565b60405180910390a1601b54613837906001600160a01b03168261175a565b506138a3565b7f9f874ea08c7014cce74622bfe71434f81aba7598ad65126a6aea86945bdfa18d8160405161386c9190614f78565b60405180910390a1601b54604080516060810190915260238082526138a3926001600160a01b031691906151c1602083013961175a565b61069b565b60105460ff161561393357604051639ec2b58160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639ec2b5819061390090600f90600401614dc9565b600060405180830381600087803b15801561391a57600080fd5b505af115801561392e573d6000803e3d6000fd5b505050505b600061393d612abc565b80519091506000811580159061395d5750601b54600160a81b900460ff16155b15613a0f576006805460009190600019810190811061397857fe5b6000918252602090912060039091020154601a546040516237b08960e41b81529192506001600160a01b03169063037b0890906139b9908490600401614f78565b602060405180830381600087803b1580156139d357600080fd5b505af11580156139e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a0b9190614ac9565b9150505b60005b82811015613b98576000848281518110613a2857fe5b602090810291909101015160105490915060ff1615613abb57600854600954600a54600b54600c54600d5460405163f7dba1f560e01b81526001600160a01b0388169663f7dba1f596613a88969195909491939092600f90600401614fc8565b600060405180830381600087803b158015613aa257600080fd5b505af1158015613ab6573d6000803e3d6000fd5b505050505b806001600160a01b031663f670ebe384601b60159054906101000a900460ff1680613afe57506001600160a01b0384166000908152601c602052604090205460ff165b6040518363ffffffff1660e01b8152600401613b1b929190614f33565b600060405180830381600087803b158015613b3557600080fd5b505af1925050508015613b46575060015b613b8f57613b526150e2565b80613b5d5750613b6d565b613b6782826140bd565b50613b8f565b613b8f8160405180606001604052806023815260200161527e602391396140bd565b50600101613a12565b506010805460ff191690556000613bad613dd2565b60118190559050613bbd816142ce565b6012555050601b805460ff60a01b1916600160a01b1790555050565b88548814613bf45760088901805460ff191660011790558789555b86896001015414613c175760088901805460ff1916600190811790915589018790555b85896002015414613c395760088901805460ff19166001179055600289018690555b84896003015414613c5b5760088901805460ff19166001179055600389018590555b83896004015414613c7d5760088901805460ff19166001179055600489018490555b82896005015414613c9f5760088901805460ff19166001179055600589018390555b81896006015414613cc15760088901805460ff19166001179055600689018290555b805160078a015414613cf7578051613ce29060078b019060208401906144a3565b5060088901805460ff19166001179055613db6565b60005b8151811015613db457818181518110613d0f57fe5b60200260200101516001600160a01b03168a6007018281548110613d2f57fe5b6000918252602090912001546001600160a01b031614613dac5760088a01805460ff191660011790558151829082908110613d6657fe5b60200260200101518a6007018281548110613d7d57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b600101613cfa565b505b5050506008909501805461ff0019166101001790555050505050565b60007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000420381613e1f57fe5b04905090565b806001600160a01b031663555989da6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613e6057600080fd5b505af1158015613e74573d6000803e3d6000fd5b5050506001600160a01b0382166000908152601c60209081526040808320805460ff199081169091556016835281842080548216905560159092529091208054909116905550613eca613ec5612abc565b61433d565b7fa0985424f2efdcae4b57a7c84bbf0a0b19f93054f21e9eb1cfcd5a59813fe1da8160006040516124d3929190614ee9565b805160005b81811015613f7e5760156000848381518110613f1957fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16613f76576040518060600160405280602681526020016152a16026913960405162461bcd60e51b8152600401610b069190614f43565b600101613f01565b505050565b7f79f4c7cc43bfb79f5a3aad0d92f75b6fed7db061bb5cc2580a01c8132711b881826011546001604051613fb993929190614f04565b60405180910390a1613fcb828261175a565b61148282614021565b7f0000000000000000000000000000000000000000000000000000000000000000600182017f00000000000000000000000000000000000000000000000000000000000000000201919050565b601154604051639de6f92760e01b81526001600160a01b03831691639de6f9279161404f9190600401614f78565b600060405180830381600087803b15801561406957600080fd5b505af192505050801561407a575060015b61069b576140866150e2565b80614091575061409b565b61383782826143a1565b6138a3816040518060600160405280602b81526020016151e4602b91396143a1565b7f61156899176547b8075bfa81fa2996c6057ce9c71320884b11c0179d9dc2e462826140e7613dd2565b6040516140f5929190614cf2565b60405180910390a1614107828261175a565b601b54600160a81b900460ff168061413757506001600160a01b0382166000908152601c602052604090205460ff165b15614164576001600160a01b0382166000908152601660205260409020805460ff19166001179055611482565b60405163f670ebe360e01b81526001600160a01b0383169063f670ebe39061419490600090600190600401614f33565b600060405180830381600087803b1580156141ae57600080fd5b505af19250505080156141bf575060015b611482576141cb6150e2565b806141d65750614249565b6001600160a01b0383166000908152601660205260409020805460ff191660011790557f61156899176547b8075bfa81fa2996c6057ce9c71320884b11c0179d9dc2e46283614223613dd2565b604051614231929190614cf2565b60405180910390a1614243838261175a565b50613704565b6001600160a01b0382166000908152601660205260409020805460ff191660011790557f61156899176547b8075bfa81fa2996c6057ce9c71320884b11c0179d9dc2e46282614296613dd2565b6040516142a4929190614cf2565b60405180910390a1613704826040518060600160405280602c8152602001615252602c913961175a565b7f0000000000000000000000000000000000000000000000000000000000000000600182017f000000000000000000000000000000000000000000000000000000000000000002017f000000000000000000000000000000000000000000000000000000000000000001919050565b805160005b81811015613f7e5761439983828151811061435957fe5b60200260200101516001600160a01b03166318931c356040518163ffffffff1660e01b815260040160006040518083038186803b15801561257857600080fd5b600101614342565b7f79f4c7cc43bfb79f5a3aad0d92f75b6fed7db061bb5cc2580a01c8132711b8818260115460026040516143d793929190614f04565b60405180910390a16143e9828261175a565b60115460405163974d7a6b60e01b81526001600160a01b0384169163974d7a6b916109689190600401614f78565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261444d5760008555614493565b82601f1061446657805160ff1916838001178555614493565b82800160010185558215614493579182015b82811115614493578251825591602001919060010190614478565b5061449f9291506144f8565b5090565b828054828255906000526020600020908101928215614493579160200282015b8281111561449357825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906144c3565b5b8082111561449f57600081556001016144f9565b600082601f83011261451d578081fd5b8151602061453261452d83615072565b61504f565b828152818101908583018385028701840188101561454e578586fd5b855b8581101561456c57815184529284019290840190600101614550565b5090979650505050505050565b8035801515811461241257600080fd5b600082601f830112614599578081fd5b81516145a761452d8261508f565b8181528460208386010111156145bb578283fd5b6145cc8260208301602087016150b0565b949350505050565b6000602082840312156145e5578081fd5b81356145f081615186565b9392505050565b60008060408385031215614609578081fd5b823561461481615186565b915060208301356001600160401b0381111561462e578182fd5b8301601f8101851361463e578182fd5b803561464c61452d8261508f565b818152866020838501011115614660578384fd5b81602084016020830137908101602001929092525090939092509050565b600080600060608486031215614692578081fd5b83516001600160401b03808211156146a8578283fd5b818601915086601f8301126146bb578283fd5b815160206146cb61452d83615072565b82815281810190858301838502870184018c10156146e7578788fd5b8796505b848710156147125780516146fe81615186565b8352600196909601959183019183016146eb565b509189015191975090935050508082111561472b578283fd5b506147388682870161450d565b925050604084015190509250925092565b6000602080838503121561475b578182fd5b82516001600160401b03811115614770578283fd5b8301601f81018513614780578283fd5b805161478e61452d82615072565b81815283810190838501858402850186018910156147aa578687fd5b8694505b838510156147d55780516147c181615186565b8352600194909401939185019185016147ae565b50979650505050505050565b600060208083850312156147f3578182fd5b82516001600160401b03811115614808578283fd5b8301601f81018513614818578283fd5b805161482661452d82615072565b81815283810190838501865b8481101561485b576148498a888451890101614589565b84529286019290860190600101614832565b509098975050505050505050565b60006020828403121561487a578081fd5b6145f082614579565b600080600080600060a0868803121561489a578283fd5b85356148a581615186565b945060208601356148b581615186565b935060408601356148c581615186565b925060608601356148d581615186565b915060808601356148e581615186565b809150509295509295909350565b60008060408385031215614905578182fd5b823561491081615186565b91506020838101356001600160401b0381111561492b578283fd5b8401601f8101861361493b578283fd5b803561494961452d82615072565b81815283810190838501858402850186018a1015614965578687fd5b8694505b8385101561499057803561497c81615186565b835260019490940193918501918501614969565b5080955050505050509250929050565b600080604083850312156149b2578182fd5b82356149bd81615186565b91506149cb60208401614579565b90509250929050565b600080600080608085870312156149e9578182fd5b84356149f481615186565b93506020850135614a0481615186565b9250614a1260408601614579565b9150614a2060608601614579565b905092959194509250565b60008060408385031215614a3d578182fd5b8235614a4881615186565b91506020830135614a5881615186565b809150509250929050565b600060208284031215614a74578081fd5b81516145f081615186565b600060208284031215614a90578081fd5b81516001600160401b03811115614aa5578182fd5b6145cc84828501614589565b600060208284031215614ac2578081fd5b5035919050565b600060208284031215614ada578081fd5b5051919050565b60008060408385031215614af3578182fd5b50508035926020909101359150565b60008060408385031215614b14578182fd5b505080516020909101519092909150565b600080600080600080600080610100898b031215614b41578586fd5b883597506020808a0135975060408a0135965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01356001600160401b03811115614b88578283fd5b8a01601f81018c13614b98578283fd5b8035614ba661452d82615072565b8082825284820191508484018f868786028701011115614bc4578687fd5b8694505b83851015614bef578035614bdb81615186565b835260019490940193918501918501614bc8565b5080955050505050509295985092959890939650565b6000815180845260208085019450808401835b83811015614c3d5781516001600160a01b031687529582019590820190600101614c18565b509495945050505050565b6000815480845260208085019450838352808320835b83811015614c3d5781546001600160a01b031687529582019560019182019101614c5e565b6000815180845260208085019450808401835b83811015614c3d57815187529582019590820190600101614c96565b60008151808452614cca8160208601602086016150b0565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03831681526040602082018190526000906145cc90830184614cb2565b600060018060a01b038516825283602083015260606040830152614d566060830184614cb2565b95945050505050565b6000610120808352614d738184018d614c05565b90508281036020840152614d87818c614c83565b604084019a909a52505060608101969096526001600160a01b0394909416608086015260a085019290925260c084015260e08301526101009091015292915050565b6000602082526145f06020830184614c48565b6000602082526145f06020830184614c05565b600060a08252614e0260a0830188614c83565b602083820381850152614e158289614c83565b848103604086015287518082529092508183019082810284018301838a01865b83811015614e6357601f19878403018552614e51838351614cb2565b94860194925090850190600101614e35565b50508681036060880152614e77818a614c05565b955050505050508260808301529695505050505050565b901515815260200190565b600084151582526020606081840152614eb56060840186614c05565b8381036040850152845180825282860191830190845b8181101561485b578351151583529284019291840191600101614ecb565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b0384168152602081018390526060810160068310614f2557fe5b826040830152949350505050565b9182521515602082015260400190565b6000602082526145f06020830184614cb2565b6001600160c01b039290921682526001600160401b0316602082015260400190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b948552602085019390935260408401919091526060830152608082015260a00190565b60008882528760208301528660408301528560608301528460808301528360a083015260e060c0830152614fff60e0830184614c48565b9998505050505050505050565b988952602089019790975260408801959095526060870193909352608086019190915260a085015260c0840152151560e083015215156101008201526101200190565b6040518181016001600160401b038111828210171561506a57fe5b604052919050565b60006001600160401b0382111561508557fe5b5060209081020190565b60006001600160401b038211156150a257fe5b50601f01601f191660200190565b60005b838110156150cb5781810151838201526020016150b3565b83811115612cab5750506000910152565b60e01c90565b600060443d10156150f257610565565b600481823e6308c379a061510682516150dc565b1461511057610565565b6040513d600319016004823e80513d6001600160401b03816024840111818411171561513f5750505050610565565b828401925082519150808211156151595750505050610565565b503d8301602082840101111561517157505050610565565b601f01601f1916810160200160405291505090565b6001600160a01b038116811461069b57600080fdfe4d6178207472757374656420616464726573736573206c656e677468206578636565646564756e6b6e6f776e206661696c2e2073657474696e6720636c65616e757020626c6f636b756e6b6e6f776e206661696c2e2066616c6c6261636b2066696e616c697a652070726963652065706f6368756e6b6e6f776e206661696c2e2066696e616c697a652070726963652065706f6368556e6b6e6f776e206661696c207768656e20636c6f73696e672065787069726564756e6b6e6f776e206661696c2e2066616c6c6261636b20696e69742065706f636820666f722072657665616c756e6b6e6f776e206661696c2e20696e69742065706f636820666f722072657665616c4173736574204654534f206e6f74206d616e61676564206279206674736f206d616e61676572a264697066735822122037183781e849483e9668a37b1936a2cb6baa0cbe644df48f79b1a41c4081783464736f6c63430007060033",
|
|
1109
|
-
"linkReferences": {
|
|
1110
|
-
|
|
1669
|
+
"bytecode": "0x6101406040523480156200001257600080fd5b50604051620065313803806200653183398101604081905262000035916200053e565b878a8a81806001600160a01b038116156200005557620000558162000457565b506001600160a01b038116620000a5576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b506001600160a01b038116620000f6576040805162461bcd60e51b8152602060048201526011602482015270666c617265206461656d6f6e207a65726f60781b604482015290519081900360640190fd5b60601b6001600160601b0319166080525062000112816200051a565b50854210156040518060400160405280601e81526020017f46697273742065706f636820737461727420747320696e20667574757265000081525090620001775760405162461bcd60e51b81526004016200016e9190620005e3565b60405180910390fd5b5060408051808201909152600e81526d05265776172642065706f636820360941b602082015282620001be5760405162461bcd60e51b81526004016200016e9190620005e3565b5060408051808201909152600d81526c050726963652065706f6368203609c1b602082015285620002045760405162461bcd60e51b81526004016200016e9190620005e3565b5060408051808201909152601481527f52657665616c2070726963652065706f636820300000000000000000000000006020820152846200025a5760405162461bcd60e51b81526004016200016e9190620005e3565b5060408051808201909152601e81527f566f746520706f77657220696e74657276616c206672616374696f6e20300000602082015281620002b05760405162461bcd60e51b81526004016200016e9190620005e3565b5060408051808201909152601b81527f52657665616c2070726963652065706f636820746f6f206c6f6e6700000000006020820152858510620003085760405162461bcd60e51b81526004016200016e9190620005e3565b508284870111156040518060400160405280601b81526020017f5265776172642065706f636820737461727420746f6f20736f6f6e000000000081525090620003665760405162461bcd60e51b81526004016200016e9190620005e3565b50848685850303816200037557fe5b066000146040518060600160405280602481526020016200650d6024913990620003b45760405162461bcd60e51b81526004016200016e9190620005e3565b50848281620003bf57fe5b06600014604051806060016040528060278152602001620064e66027913990620003fe5760405162461bcd60e51b81526004016200016e9190620005e3565b506101008390526020829055602181905560a086905260c085905260e0849052601c83905584868403816200042f57fe5b04601b55505050505060609190911b6001600160601b03191661012052506200065292505050565b600054600160a01b900460ff1615620004b7576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b6000806000806000806000806000806101408b8d0312156200055e578586fd5b8a516200056b8162000639565b60208c0151909a506200057e8162000639565b60408c0151909950620005918162000639565b60608c0151909850620005a48162000639565b8097505060808b0151955060a08b0151945060c08b0151935060e08b015192506101008b015191506101208b015190509295989b9194979a5092959850565b6000602080835283518082850152825b818110156200061157858101830151858201604001528201620005f3565b81811115620006235783604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146200064f57600080fd5b50565b60805160601c60a05160c05160e051610100516101205160601c615dd6620007106000398061253f52806145bd525080610b8b528061213d528061306a5280613185525080610b5c528061202d52806146eb5280614cd7525080610a9d5280610b3b5280611ffc52806129dd528061363c52806146c9528061483852806148785280614cb4525080610b1a5280611fdb52806129fe52806146a752806148135280614c8f52508061154d528061211352806126a35250615dd66000f3fe608060405234801561001057600080fd5b506004361061041d5760003560e01c806374e6310e1161022b578063b4dba0f311610130578063e371aef0116100b8578063f2edab5a11610087578063f2edab5a1461082c578063f5a983831461083f578063f5f5ba7214610847578063f937d6ad1461085c578063ff882fbb146108645761041d565b8063e371aef0146107e6578063e5399da3146107fc578063e7c830d41461081c578063ec31db0c146108245761041d565b8063d429cfe5116100ff578063d429cfe5146107a8578063d89c39e6146107bb578063e080a970146107c3578063e17f212e146107d6578063e22fdece146107de5761041d565b8063b4dba0f31461077b578063c2b0d47b14610783578063cb063fa21461078b578063ce69f833146107935761041d565b8063a157713b116101b3578063a90a38e111610182578063a90a38e114610727578063a93a6f421461073a578063af946af71461074d578063b00c0b7614610760578063b23b6ef1146107735761041d565b8063a157713b146106f1578063a578f55b146106f9578063a670ff8714610701578063a795f409146107145761041d565b8063882376c3116101fa578063882376c3146106975780638de306b1146106aa57806393a79025146106bd5780639d6a890f146106d6578063a1077532146106e95761041d565b806374e6310e14610648578063758ff1da14610669578063823033a91461067c57806385f3c9c91461068f5761041d565b80633e7ff857116103315780635ff27079116102b957806369b11ac61161028857806369b11ac6146105fb5780636b65cc34146106035780636ca051e6146106165780636d0e8c341461062d5780636ea0aa31146106355761041d565b80635ff27079146105c557806360f2c5b2146105d857806362354e03146105e057806367fc4029146105e85761041d565b80635267a15d116103005780635267a15d1461057b5780635835cf30146105835780635904089a146105a25780635aa6e675146105aa5780635bb44e9a146105b25761041d565b80633e7ff857146105415780633fdeb7e1146105495780634b48dd5e1461055c5780634eac870f146105735761041d565b8063144e1591116103b45780632b3c41a4116103835780632b3c41a4146104f25780632fd8eb7d1461050b578063361b5459146105135780633758e6791461052657806338b5f869146105395761041d565b8063144e1591146104aa57806315c29c5b146104c15780631cb513f7146104c95780632663f1b4146104df5761041d565b80630f15f4c0116103f05780630f15f4c0146104725780630f4ef8a61461047c5780631322679314610484578063132c7e1f146104975761041d565b806302fb0c5e14610422578063047fc9aa1461044057806308a7f402146104555780630e063d7d1461046a575b600080fd5b61042a610877565b60405161043791906158ae565b60405180910390f35b610448610880565b6040516104379190615707565b61045d61088f565b6040516104379190615aa0565b61044861089f565b61047a6108ae565b005b6104486108fc565b61047a61049236600461557c565b61090b565b61047a6104a53660046153ef565b610a28565b6104b2610b18565b60405161043793929190615ae8565b61045d610b80565b6104d1610b86565b604051610437929190615ac2565b61047a6104ed366004614fd2565b610bad565b6104fa610bec565b60405161043795949392919061580f565b610448610c27565b61047a6105213660046153ef565b610c36565b61047a610534366004615393565b610cc2565b610448610d11565b61045d610d20565b61047a610557366004614fd2565b610d26565b610564610d75565b604051610437939291906158b9565b610448610e54565b610448610e63565b61058b610e88565b6040516104379b9a99989796959493929190615b21565b610448610f57565b610448610f66565b61045d6105c0366004614fd2565b611007565b61047a6105d33660046152f0565b611026565b61045d611388565b61044861138e565b61047a6105f63660046152f0565b6113a6565b61045d611489565b61047a6106113660046153c2565b61148e565b61061e61152f565b60405161043793929190615ad0565b61042a611540565b6104fa610643366004615503565b6118cc565b61065b6106563660046152f0565b611c27565b604051610437929190615aa9565b61047a610677366004615248565b611ccd565b61042a61068a366004614fd2565b611d34565b61045d611d52565b61047a6106a536600461541f565b611d58565b61047a6106b8366004615176565b611f27565b6106c5611fc5565b604051610437959493929190615afe565b61047a6106e4366004614fd2565b612058565b610448612111565b61045d612135565b61045d61213b565b61047a61070f366004614fd2565b61215f565b6104b26107223660046153ef565b6121cb565b61047a6107353660046152c5565b6121f4565b61047a610748366004615318565b612331565b61047a61075b36600461535b565b6123c8565b61047a61076e3660046150c0565b612490565b61045d612537565b61044861253d565b610448612561565b61042a612570565b61079b61257e565b60405161043791906157fc565b61047a6107b6366004615176565b612588565b61045d6125ef565b61047a6107d1366004615524565b6125f5565b61042a612686565b61042a612696565b6107ee612774565b604051610437929190615a7e565b61080f61080a3660046153ef565b612795565b6040516104379190615994565b61045d612806565b61045d61286c565b61045d61083a3660046153ef565b612872565b61047a612884565b61084f61294b565b6040516104379190615981565b610448612970565b61047a6108723660046152a9565b61297f565b60055460ff1681565b6025546001600160a01b031681565b60006108996129d9565b90505b90565b6023546001600160a01b031690565b600054600160b01b900460ff16806108d05750600054600160a81b900460ff16155b156108ef576108dd612a2c565b6005805460ff191660011790556108fa565b6108fa600036612a61565b565b6024546001600160a01b031681565b600054600160b01b900460ff168061092d5750600054600160a81b900460ff16155b15610a115761093a612a2c565b60008911801561094a5750600088115b80156109565750868610155b801561096457506127108511155b801561097257506127108411155b801561098057506127108311155b801561098c5750600082115b801561099a57506005815111155b6040518060400160405280601381526020017211dbdd8b881c185c985b5cc81a5b9d985b1a59606a1b815250906109ed5760405162461bcd60e51b81526004016109e49190615981565b60405180910390fd5b506109f9600a8b612bf1565b610a0c600a8a8a8a8a8a8a898b8a612c46565b610a1c565b610a1c600036612a61565b50505050505050505050565b600054600160b01b900460ff1680610a4a5750600054600160a81b900460ff16155b15610b0a57610a57612a2c565b60408051808201909152600e81526d05265776172642065706f636820360941b602082015281610a9a5760405162461bcd60e51b81526004016109e49190615981565b507f00000000000000000000000000000000000000000000000000000000000000008181610ac457fe5b06600014604051806060016040528060278152602001615d596027913990610aff5760405162461bcd60e51b81526004016109e49190615981565b506020819055610b15565b610b15600036612a61565b50565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000909192565b601e5481565b6020547f000000000000000000000000000000000000000000000000000000000000000091565b600054600160b01b900460ff1680610bcf5750600054600160a81b900460ff16155b15610b0a57610bdc612a2c565b610be7816001612e69565b610b15565b600454606090819081908190600090610c1690600160c01b90046001600160401b031660016118cc565b945094509450945094509091929394565b6007546001600160a01b031681565b600054600160b01b900460ff1680610c585750600054600160a81b900460ff16155b15610b0a57610c65612a2c565b60408051808201909152601e81527f566f746520706f77657220696e74657276616c206672616374696f6e20300000602082015281610cb75760405162461bcd60e51b81526004016109e49190615981565b506021819055610b15565b600054600160b01b900460ff1680610ce45750600054600160a81b900460ff16155b15610d0157610cf1612a2c565b610cfc838383612ee8565b610d0c565b610d0c600036612a61565b505050565b6019546001600160a01b031690565b60225490565b600054600160b01b900460ff1680610d485750600054600160a81b900460ff16155b15610b0a57610d55612a2c565b602780546001600160a01b0319166001600160a01b038316179055610b15565b602754600160a01b900460ff16606080610d8d612f6b565b8051909250806001600160401b0381118015610da857600080fd5b50604051908082528060200260200182016040528015610dd2578160200160208202803683370190505b50915060005b81811015610e4d5760166002016000858381518110610df357fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a900460ff16838281518110610e3557fe5b91151560209283029190910190910152600101610dd8565b5050909192565b6026546001600160a01b031681565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b600b54600c54600d54600e54600f54601054601254601154601454601380546040805160208084028201810190925282815260009c8d9c8d9c8d9c8d9c8d9c8d9c8d9c60609c8e9c8d9c999b989a979996989597949693959294909360ff6101008404811694931692859190830182828015610f2d57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610f0f575b505050505092509a509a509a509a509a509a509a509a509a509a509a50909192939495969798999a565b6027546001600160a01b031681565b60008054600160a81b900460ff16610f89576000546001600160a01b0316610899565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015610fd657600080fd5b505afa158015610fea573d6000803e3d6000fd5b505050506040513d602081101561100057600080fd5b5051905090565b6001600160a01b0381166000908152601560205260409020545b919050565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b15801561107757600080fd5b505afa15801561108b573d6000803e3d6000fd5b505050506040513d60208110156110a157600080fd5b50516110e4576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611150576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b80544210156111a6576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112405780601f1061121557610100808354040283529160200191611240565b820191906000526020600020905b81548152906001019060200180831161122357829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506112749150830182614da8565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106112bc5780518252601f19909201916020918201910161129d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461131e576040519150601f19603f3d011682016040523d82523d6000602084013e611323565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a161138281612fec565b50505050565b60215490565b73183faff6997c98a812a3b98748fc80241d08f31281565b6113ae613009565b6001600160e01b03198116600090815260016020526040902054611419576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190610d0c90830182614da8565b600581565b600054600160b01b900460ff16806114b05750600054600160a81b900460ff16155b15611520576114bd612a2c565b60405163d0d552dd60e01b81526001600160a01b0383169063d0d552dd906114e9908490600401615707565b600060405180830381600087803b15801561150357600080fd5b505af1158015611517573d6000803e3d6000fd5b5050505061152b565b61152b600036612a61565b5050565b601b54601c54601d5460ff16909192565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b3576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b60055460ff166115c55750600061089c565b6008546115d9576115d4613068565b6118c6565b601d546000908190819060ff1680156115f4575042601c5411155b156116025760019150611620565b601d5460ff1615801561161757504260095411155b15611620575060015b81806116295750805b1561187657601d54610100900460ff1615611838576023546040805163a978fb6b60e01b815281516000936001600160a01b03169263a978fb6b9260048082019391829003018186803b15801561167f57600080fd5b505afa158015611693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b791906154df565b9094509050801580156116c75750825b156117ed57602354601b546001600160a01b0390911690631c91efcf906116ec6129d9565b6040518363ffffffff1660e01b8152600401611709929190615ac2565b600060405180830381600087803b15801561172357600080fd5b505af1925050508015611734575060015b6117e857611740615c23565b8061174b5750611790565b6040517f945e1930d717c550cfdc738b4226b97a96c13dd0e378d3fa3c3812ee430af46990600090a160235461178a906001600160a01b0316826131ac565b506117e8565b6040517f945e1930d717c550cfdc738b4226b97a96c13dd0e378d3fa3c3812ee430af46990600090a16023546040805160608101909152602a8082526117e8926001600160a01b03169190615d2f60208301396131ac565b611832565b8115611832578061182c57601f5461180c5742601f55600091506117e8565b42601e54601f540111611823576000601f556117e8565b60009150611832565b6000601f555b50611876565b611848611843612f6b565b613385565b420160405160200161185a9190615aa0565b6040516020818303038152906040528051906020012060001c92505b811561188a5761188583613428565b6118c2565b80156118b1576118998361390b565b6118a1613a93565b6118a9613c1f565b611885613d6c565b42601c54116118c2576118c2613eb4565b5050505b50600190565b606080606080600060038054905087106040518060400160405280601081526020016f0e6e8c2e4e840d2dcc8caf040d0d2ced60831b815250906119235760405162461bcd60e51b81526004016109e49190615981565b50600354600090888801111561193e57600354889003611940565b865b9050806001600160401b038111801561195857600080fd5b50604051908082528060200260200182016040528015611982578160200160208202803683370190505b509550806001600160401b038111801561199b57600080fd5b506040519080825280602002602001820160405280156119c5578160200160208202803683370190505b509450806001600160401b03811180156119de57600080fd5b50604051908082528060200260200182016040528015611a1257816020015b60608152602001906001900390816119fd5790505b509350806001600160401b0381118015611a2b57600080fd5b50604051908082528060200260200182016040528015611a55578160200160208202803683370190505b50925060005b81811015611c0b5760006003828b0181548110611a7457fe5b6000918252602080832090910154808352600290915260409091205489519192506001600160c01b031690899084908110611aab57fe5b6020026020010181815250506002600082815260200190815260200160002060000160189054906101000a90046001600160401b03166001600160401b0316878381518110611af657fe5b602090810291909101810191909152600082815260028083526040918290208101805483516001821615610100026000190190911692909204601f81018590048502830185019093528282529092909190830182828015611b985780601f10611b6d57610100808354040283529160200191611b98565b820191906000526020600020905b815481529060010190602001808311611b7b57829003601f168201915b5050505050868381518110611ba957fe5b60200260200101819052506002600082815260200190815260200160002060010160009054906101000a90046001600160a01b0316858381518110611bea57fe5b6001600160a01b039092166020928302919091019091015250600101611a5b565b50506004549497939650919450926001600160c01b0316919050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f81018590048502860185019096528585529094919392909190830182828015611cc35780601f10611c9857610100808354040283529160200191611cc3565b820191906000526020600020905b815481529060010190602001808311611ca657829003601f168201915b5050505050905082565b600054600160b01b900460ff1680611cef5750600054600160a81b900460ff16155b15610d0157611cfc612a2c565b60005b8351811015611d2e57611d26848281518110611d1757fe5b60200260200101518484612ee8565b600101611cff565b50610d0c565b6001600160a01b031660009081526017602052604090205460ff1690565b60205481565b600054600160b01b900460ff1680611d7a5750600054600160a81b900460ff16155b15610d0157611d87612a2c565b80518251146040518060400160405280601a81526020017f6172726179206c656e6774687320646f206e6f74206d6174636800000000000081525090611de05760405162461bcd60e51b81526004016109e49190615981565b50611dec600a84612bf1565b60005b8251811015611d2e57620f4240828281518110611e0857fe5b602002602001015111156040518060400160405280601a81526020017f656c61737469632062616e6420776964746820696e76616c696400000000000081525090611e665760405162461bcd60e51b81526004016109e49190615981565b50818181518110611e7357fe5b6020026020010151600a600b016000858481518110611e8e57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205414611f1f576014805460ff191660011790558151829082908110611ed757fe5b6020026020010151600a600b016000858481518110611ef257fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055505b600101611def565b600054600160b01b900460ff1680611f495750600054600160a81b900460ff16155b15610b0a57611f56612a2c565b60405163984626c360e01b815273__$03dc2144a91b115216397a255bda0073a6$__9063984626c390611f909060169085906004016159b5565b60006040518083038186803b158015611fa857600080fd5b505af4158015611fbc573d6000803e3d6000fd5b50505050610b15565b600080600080600080611fd66129d9565b9550507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000808702820195506001870102019250507f000000000000000000000000000000000000000000000000000000000000000082019050429091929394565b600054600160a01b900460ff16156120ae576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b600a5490565b7f000000000000000000000000000000000000000000000000000000000000000081565b600054600160b01b900460ff16806121815750600054600160a81b900460ff16155b15610b0a5761218e612a2c565b604051630d6f6ead60e11b815273__$03dc2144a91b115216397a255bda0073a6$__90631adedd5a90611f9090601690600a9086906004016159f8565b6000806000806121da85612795565b805160208201516040909201519097919650945092505050565b600054600160b01b900460ff16806122165750600054600160a81b900460ff16155b1561152057612223612a2c565b811561228b5760008111801561223c57506203f4808111155b60405180604001604052806012815260200171696e76616c696420706172616d657465727360701b815250906122855760405162461bcd60e51b81526004016109e49190615981565b506122da565b604080518082019091526012815271696e76616c696420706172616d657465727360701b602082015281156122d35760405162461bcd60e51b81526004016109e49190615981565b506000601f555b601d805461ff00191661010084151502179055601e8190556040517f5c9bf067f2a8b23128e64d5ce119251f51d6c0c24e0d7bf430c2dd77df3ec092906123249084908490615917565b60405180910390a161152b565b600054600160b01b900460ff16806123535750600054600160a81b900460ff16155b1561152057612360612a2c565b604051636904d3eb60e11b815273__$03dc2144a91b115216397a255bda0073a6$__9063d209a7d69061239c90601690869086906004016159ce565b60006040518083038186803b1580156123b457600080fd5b505af4158015611517573d6000803e3d6000fd5b6123d0613009565b6001600160a01b0382166000908152601660209081526040918290205482518084019093526009835268139bdd08199bdd5b9960ba1b9183019190915260ff1661242d5760405162461bcd60e51b81526004016109e49190615981565b506001600160a01b03821660009081526018602052604090819020805460ff1916831515179055517f24462ede4d3e8e5a69fecec6290d42a311016ca752216d9a3d681e284791b7ac906124849084908490615927565b60405180910390a15050565b612498610e63565b6001600160a01b0316336001600160a01b0316146124f4576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b61252d61252883836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250614216565b614343565b61152b8282614367565b601f5481565b7f000000000000000000000000000000000000000000000000000000000000000081565b601a546001600160a01b031690565b601d54610100900460ff1681565b6060610899612f6b565b600054600160b01b900460ff16806125aa5750600054600160a81b900460ff16155b15610b0a576125b7612a2c565b60005b81518110156125e9576125e18282815181106125d257fe5b60200260200101516001612e69565b6001016125ba565b50610b15565b60095481565b600054600160b01b900460ff16806126175750600054600160a81b900460ff16155b15610d0157612624612a2c565b600554604080518082019091526011815270105b1c9958591e481858dd1a5d985d1959607a1b60208201529060ff16156126715760405162461bcd60e51b81526004016109e49190615981565b50602283905560088290556009819055610d0c565b600054600160a81b900460ff1681565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612709576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b602754600160a01b900460ff1661276e576027805460ff60a01b1916600160a01b1790556040517f217a37a37fc40a97159886f80c3d45986e6fc4330ce6ad7283478b5e5ab705bc9061275e906001906158ae565b60405180910390a150600161089c565b50600090565b6004546001600160c01b03811690600160c01b90046001600160401b031682565b61279d614dec565b60085482106040518060400160405280602081526020017f5265776172642065706f6368206e6f7420696e697469616c697a656420796574815250906127f65760405162461bcd60e51b81526004016109e49190615981565b5061280082614574565b92915050565b6000600854600014156040518060400160405280602081526020017f5265776172642065706f6368206e6f7420696e697469616c697a656420796574815250906128635760405162461bcd60e51b81526004016109e49190615981565b50610899614679565b60115490565b600061287d82612795565b5192915050565b61288c613009565b600054600160a81b900460ff16156128eb576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b60408051808201909152600b81526a233a39b7a6b0b730b3b2b960a91b602082015290565b6023546001600160a01b031681565b612987613009565b6027805460ff60a01b1916600160a01b831515021790556040517f217a37a37fc40a97159886f80c3d45986e6fc4330ce6ad7283478b5e5ab705bc906129ce9083906158ae565b60405180910390a150565b60007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000420381612a2657fe5b04905090565b600054600160b01b900460ff1615612a5957333014612a4757fe5b6000805460ff60b01b191690556108fa565b6108fa613009565b612a69613009565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612abe57600080fd5b505afa158015612ad2573d6000803e3d6000fd5b505050506040513d6020811015612ae857600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450612b6c93928501920190614e0d565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b801580612bfd57504281115b612c42576040805162461bcd60e51b8152602060048201526011602482015270696e76616c69642075706461746520747360781b604482015290519081900360640190fd5b9055565b888a6001015414612c6957600a8a01805460ff191660019081179091558a018990555b878a6002015414612c8b57600a8a01805460ff1916600117905560028a018890555b868a6003015414612cad57600a8a01805460ff1916600117905560038a018790555b858a6004015414612ccf57600a8a01805460ff1916600117905560048a018690555b848a6005015414612cf157600a8a01805460ff1916600117905560058a018590555b838a6006015414612d1357600a8a01805460ff1916600117905560068a018490555b828a6007015414612d3557600a8a01805460ff1916600117905560078a018390555b818a6008015414612d5757600a8a01805460ff1916600117905560088a018290555b805160098b015414612d8d578051612d789060098c01906020840190614e99565b50600a8a01805460ff19166001179055612e4c565b60005b8151811015612e4a57818181518110612da557fe5b60200260200101516001600160a01b03168b6009018281548110612dc557fe5b6000918252602090912001546001600160a01b031614612e4257600a8b01805460ff191660011790558151829082908110612dfc57fe5b60200260200101518b6009018281548110612e1357fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b600101612d90565b505b505050600a909601805461ff001916610100179055505050505050565b601d546040516306b8c18560e01b815273__$03dc2144a91b115216397a255bda0073a6$__916306b8c18591612eaf91601691600a918891889160ff1690600401615a17565b60006040518083038186803b158015612ec757600080fd5b505af4158015612edb573d6000803e3d6000fd5b5050505061152b82614683565b601d5460405163169ffdc760e21b815273__$03dc2144a91b115216397a255bda0073a6$__91635a7ff71c91612f3291601691600a9189918991899160ff90911690600401615a47565b60006040518083038186803b158015612f4a57600080fd5b505af4158015612f5e573d6000803e3d6000fd5b50505050610d0c83614683565b60195460408051635200305d60e11b815290516060926001600160a01b03169163a40060ba916004808301926000929190829003018186803b158015612fb057600080fd5b505afa158015612fc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261089991908101906151b0565b3d604051818101604052816000823e8215613005578181f35b8181fd5b613011610f66565b6001600160a01b0316336001600160a01b0316146108fa576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000042106108fa576000613099612f6b565b80516040805160608101825243600019810182526020808301918252428385019081526008805460009081526006909352948220845181559251600180850191909155905160029093019290925583549091019092559293509091905b8281101561317e5783818151811061310a57fe5b60200260200101516001600160a01b031663e536f39683600001516040518263ffffffff1660e01b81526004016131419190615aa0565b600060405180830381600087803b15801561315b57600080fd5b505af115801561316f573d6000803e3d6000fd5b505050508060010190506130f6565b50506020547f0000000000000000000000000000000000000000000000000000000000000000016009555050565b600082826040516020016131c1929190615734565b60408051601f198184030181528282528051602091820120600081815260029092529190208054436001600160c01b038181166001600160401b03600160c01b80860482166001019091160291909316176001600160c01b031916919091179091559092507f1a601cf5e0efbd558b2778b7389af04741d1c49bcab104c40daa2da194593617916132559186918690615758565b60405180910390a1600480546001600160c01b0319811660016001600160c01b03928316810190921617909155600082815260026020526040902054600160c01b90046001600160401b031611156132ad575061152b565b6003805460018082019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01829055600082815260026020818152604090922092830180546001600160a01b0319166001600160a01b038816179055845161331d9390910191850190614e0d565b50600354600091825260026020526040909120600101805467ffffffffffffffff60a01b1916600160a01b6000199093016001600160401b0390811684029190911791829055600480546001600160c01b03169390920416600160c01b029190911790555050565b6000805b82518110156134225782818151811061339e57fe5b60200260200101516001600160a01b031663d89601fd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156133de57600080fd5b505afa1580156133f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134169190615407565b90910190600101613389565b50919050565b6000613432612f6b565b805190915080158015906134505750602754600160a01b900460ff16155b1561382057600081848161346057fe5b06905060608060008080805b87811015613608576000888289018161348157fe5b06905060008a828151811061349257fe5b6020908102919091018101516001600160a01b0381166000908152601790925260409091205490915060ff16156134e8576001600160a01b03166000908152601760205260409020805460ff1916905550613600565b601b546040516340462a2d60e01b81526001600160a01b038316916340462a2d916135199190891590600401615971565b600060405180830381600087803b15801561353357600080fd5b505af192505050801561356857506040513d6000823e601f3d908101601f191682016040526135659190810190614ff5565b60015b6135d357613574615c23565b8061357f575061358f565b61358982826147c0565b506135ce565b6135ce816040518060400160405280601881526020017f6572722066696e616c697a652070726963652065706f636800000000000000008152506147c0565b6135fd565b871580156135e2575060008351115b156135f95791995097509550600194509250828787875b5050505b50505b60010161346c565b506000613613614679565b905082156137b757602454601b546001600160a01b039091169063a9b79e1790889088908890877f000000000000000000000000000000000000000000000000000000000000000088600161366785614811565b036136718b614574565b516040516001600160e01b031960e08c901b16815261369b9998979695949392919060040161577f565b600060405180830381600087803b1580156136b557600080fd5b505af19250505080156136c6575060015b6137b2576136d2615c23565b806136dd5750613734565b7f175a1d13d190d6a1e14461c214b3ecf6118b828797750b7bffd7c4f2c1eba54c83601b5460405161371092919061571b565b60405180910390a160245461372e906001600160a01b0316826131ac565b506137b2565b7f175a1d13d190d6a1e14461c214b3ecf6118b828797750b7bffd7c4f2c1eba54c82601b5460405161376792919061571b565b60405180910390a16024546040805180820190915260168152756572722064697374726962757465207265776172647360501b60208201526137b2916001600160a01b0316906131ac565b6137bf565b6137bf61485e565b600780546001600160a01b0319166001600160a01b0384161790556040517f98b050a4042fbd1b89934ef40b9342e593f15081a348af940573a0179031f4ad9061380c908490849061571b565b60405180910390a1505050505050506138fc565b60005b818110156138a157600083828151811061383957fe5b6020908102919091018101516001600160a01b0381166000908152601790925260409091205490915060ff161561388e576001600160a01b03166000908152601760205260409020805460ff19169055613899565b613897816149e0565b505b600101613823565b506138aa61485e565b600780546001600160a01b03191690557f98b050a4042fbd1b89934ef40b9342e593f15081a348af940573a0179031f4ad60006138e5614679565b6040516138f392919061571b565b60405180910390a15b5050601d805460ff1916905550565b6000613915612f6b565b9050600081519050600060215461393261392d614679565b614574565b6020015143038161393f57fe5b0490508061394b575060015b600081858161395657fe5b06905080613962575060015b60408051606081018252438381038252602080830191825242838501908152600880546000908152600690935294822084518155925160018085019190915590516002909301929092558354909101909255905b84811015613a3f578581815181106139ca57fe5b60200260200101516001600160a01b031663e536f39683600001516040518263ffffffff1660e01b8152600401613a019190615aa0565b600060405180830381600087803b158015613a1b57600080fd5b505af1158015613a2f573d6000803e3d6000fd5b5050600190920191506139b69050565b50805160208201516040517f1813f880dc24666c8b69c9d771a487ea620a27fde1514be3112847056c0c532292613a77929091615ac2565b60405180910390a1505060205460098054909101905550505050565b6000613a9d614679565b60115490915042035b81602254108015613ac8575080613ac1602254600101614574565b6040015111155b1561152b57602454602254604051636b60edf760e11b81526001600160a01b039092169163d6c1dbee91613afe91600401615aa0565b600060405180830381600087803b158015613b1857600080fd5b505af1925050508015613b29575060015b613c1157613b35615c23565b80613b405750613b95565b7fa819a21065ad87bdde9e6d398d3213e0d3634afd87aceb7092236483f5d7ca8d602254604051613b719190615aa0565b60405180910390a1602454613b8f906001600160a01b0316826131ac565b5061152b565b7fa819a21065ad87bdde9e6d398d3213e0d3634afd87aceb7092236483f5d7ca8d602254604051613bc69190615aa0565b60405180910390a1602454604080518082019091526011815270195c9c8818db1bdcd948195e1c1a5c9959607a1b6020820152613c0c916001600160a01b0316906131ac565b61152b565b602280546001019055613aa6565b6000613c2c602254614574565b5160265460405163cbc31cf760e01b81529192506001600160a01b03169063cbc31cf790613c5e908490600401615aa0565b600060405180830381600087803b158015613c7857600080fd5b505af1925050508015613c89575060015b610b1557613c95615c23565b80613ca05750613cf3565b7f9f874ea08c7014cce74622bfe71434f81aba7598ad65126a6aea86945bdfa18d82604051613ccf9190615aa0565b60405180910390a1602654613ced906001600160a01b0316826131ac565b50610be7565b7f9f874ea08c7014cce74622bfe71434f81aba7598ad65126a6aea86945bdfa18d81604051613d229190615aa0565b60405180910390a16026546040805180820190915260158152746572722073657420636c65616e757020626c6f636b60581b6020820152610be7916001600160a01b0316906131ac565b6027546001600160a01b0316156108fa576000613d87614679565b9050602760009054906101000a90046001600160a01b03166001600160a01b03166321eb1a956040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613dd957600080fd5b505af1925050508015613dea575060015b610b1557613df6615c23565b80613e015750613e4e565b7ff7c7d6681321cc290eb89e8c96dba504436073b8bb277945cc32177e5181dd8482604051613e309190615aa0565b60405180910390a1602754613ced906001600160a01b0316826131ac565b7ff7c7d6681321cc290eb89e8c96dba504436073b8bb277945cc32177e5181dd8481604051613e7d9190615aa0565b60405180910390a160275460408051606081019091526022808252610be7926001600160a01b03169190615d0d60208301396131ac565b60145460ff168015613ec85750600a544210155b15613f3157602354604051639ec2b58160e01b81526001600160a01b0390911690639ec2b58190613efe906013906004016157e9565b600060405180830381600087803b158015613f1857600080fd5b505af1158015613f2c573d6000803e3d6000fd5b505050505b6000613f3b612f6b565b805190915060008115801590613f5b5750602754600160a01b900460ff16155b15613ff4576000613f6d61392d614679565b516025546040516237b08960e41b81529192506001600160a01b03169063037b089090613f9e908490600401615aa0565b602060405180830381600087803b158015613fb857600080fd5b505af1158015613fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ff09190615407565b9150505b60005b828110156141c157600084828151811061400d57fe5b602090810291909101015160145490915060ff16801561402f5750600a544210155b156140c757600b54600c54600d54600e54600f546010546012546001600160a01b03881660008181526015602052604090819020549051632d1e4ec760e11b81529198635a3c9d8e986140949891979096919590949193909290601390600401615b88565b600060405180830381600087803b1580156140ae57600080fd5b505af11580156140c2573d6000803e3d6000fd5b505050505b806001600160a01b031663f670ebe384602760149054906101000a900460ff168061410a57506001600160a01b03841660009081526018602052604090205460ff165b6040518363ffffffff1660e01b8152600401614127929190615971565b600060405180830381600087803b15801561414157600080fd5b505af1925050508015614152575060015b6141b85761415e615c23565b806141695750614179565b6141738282614a7c565b506141b8565b6141b8816040518060400160405280601981526020017f65727220696e69742065706f636820666f722072657665616c00000000000000815250614a7c565b50600101613ff7565b5060145460ff1680156141d65750600a544210155b156141e6576014805460ff191690555b60006141f06129d9565b601b819055905061420081614c8d565b601c555050601d805460ff191660011790555050565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561425a578181015183820152602001614242565b50505050905090810190601f1680156142875780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b86518110156142ef578681815181106142bd57fe5b60200260200101518314156142e7578581815181106142d857fe5b602002602001015191506142ef565b6001016142a8565b506001600160a01b03811661433a576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b61439882826040518060400160405280600e81526020016d283934b1b2a9bab136b4ba3a32b960911b815250614216565b602360006101000a8154816001600160a01b0302191690836001600160a01b031602179055506143f2828260405180604001604052806011815260200170233a39b7a932bbb0b93226b0b730b3b2b960791b815250614216565b602460006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614441828260405180604001604052806006815260200165537570706c7960d01b815250614216565b602560006101000a8154816001600160a01b0302191690836001600160a01b031602179055506144a782826040518060400160405280601981526020017f436c65616e7570426c6f636b4e756d6265724d616e6167657200000000000000815250614216565b602660006101000a8154816001600160a01b0302191690836001600160a01b031602179055506144fc82826040518060400160405280600c81526020016b4674736f526567697374727960a01b815250614216565b601980546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152601081526f2b37ba32b92bb434ba32b634b9ba32b960811b60208201526145509083908390614216565b601a80546001600160a01b0319166001600160a01b03929092169190911790555050565b61457c614dec565b5060008181526006602090815260409182902082516060810184528154815260018201549281019290925260020154918101829052906110215760008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a795f409866040518263ffffffff1660e01b81526004016146079190615aa0565b60606040518083038186803b15801561461f57600080fd5b505afa158015614633573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614657919061554f565b6040805160608101825293845260208401929092529082015295945050505050565b6008546000190190565b604051630bc29bcf60e21b81526001600160a01b03821690632f0a6f3c90614713907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f000000000000000000000000000000000000000000000000000000000000000090600401615ae8565b600060405180830381600087803b15801561472d57600080fd5b505af1158015614741573d6000803e3d6000fd5b50505050600854600014610b1557806001600160a01b031663e536f39661476961392d614679565b516040516001600160e01b031960e084901b16815261478b9190600401615aa0565b600060405180830381600087803b1580156147a557600080fd5b505af11580156147b9573d6000803e3d6000fd5b5050505050565b7f79f4c7cc43bfb79f5a3aad0d92f75b6fed7db061bb5cc2580a01c8132711b88182601b5460016040516147f693929190615942565b60405180910390a161480882826131ac565b61152b826149e0565b7f0000000000000000000000000000000000000000000000000000000000000000600182017f00000000000000000000000000000000000000000000000000000000000000000201919050565b602454601b546001600160a01b03909116906367dcac53907f000000000000000000000000000000000000000000000000000000000000000060016148a283614811565b036040518463ffffffff1660e01b81526004016148c193929190615ae8565b600060405180830381600087803b1580156148db57600080fd5b505af19250505080156148ec575060015b6108fa576148f8615c23565b806149035750614958565b7f8eb60f903ef61e0e490d7d7ba6e5b85cd949ebece7a5e5b3346eb046c041413f601b546040516149349190615aa0565b60405180910390a1602454614952906001600160a01b0316826131ac565b506149db565b7f8eb60f903ef61e0e490d7d7ba6e5b85cd949ebece7a5e5b3346eb046c041413f601b546040516149899190615aa0565b60405180910390a160245460408051808201909152601b81527f6572722061636372756520756e6561726e65642072657761726473000000000060208201526149db916001600160a01b0316906131ac565b6108fa565b601b5460405163257ea88160e11b81526001600160a01b03831691634afd510291614a0e9190600401615aa0565b600060405180830381600087803b158015614a2857600080fd5b505af1925050508015614a39575060015b610b1557614a45615c23565b80614a505750614a5a565b613ced8282614cfc565b610be781604051806060016040528060218152602001615d8060219139614cfc565b7f61156899176547b8075bfa81fa2996c6057ce9c71320884b11c0179d9dc2e46282614aa66129d9565b604051614ab492919061571b565b60405180910390a1614ac682826131ac565b602754600160a01b900460ff1680614af657506001600160a01b03821660009081526018602052604090205460ff165b15614b23576001600160a01b0382166000908152601760205260409020805460ff1916600117905561152b565b60405163f670ebe360e01b81526001600160a01b0383169063f670ebe390614b5390600090600190600401615971565b600060405180830381600087803b158015614b6d57600080fd5b505af1925050508015614b7e575060015b61152b57614b8a615c23565b80614b955750614c08565b6001600160a01b0383166000908152601760205260409020805460ff191660011790557f61156899176547b8075bfa81fa2996c6057ce9c71320884b11c0179d9dc2e46283614be26129d9565b604051614bf092919061571b565b60405180910390a1614c0283826131ac565b50613c0c565b6001600160a01b0382166000908152601760205260409020805460ff191660011790557f61156899176547b8075bfa81fa2996c6057ce9c71320884b11c0179d9dc2e46282614c556129d9565b604051614c6392919061571b565b60405180910390a1613c0c82604051806060016040528060228152602001615ceb602291396131ac565b7f0000000000000000000000000000000000000000000000000000000000000000600182017f000000000000000000000000000000000000000000000000000000000000000002017f000000000000000000000000000000000000000000000000000000000000000001919050565b7f79f4c7cc43bfb79f5a3aad0d92f75b6fed7db061bb5cc2580a01c8132711b88182601b546002604051614d3293929190615942565b60405180910390a1614d4482826131ac565b601b5460405163974d7a6b60e01b81526001600160a01b0384169163974d7a6b91614d729190600401615aa0565b600060405180830381600087803b158015614d8c57600080fd5b505af1158015614da0573d6000803e3d6000fd5b505050505050565b50805460018160011615610100020316600290046000825580601f10614dce5750610b15565b601f016020900490600052602060002090810190610b159190614eee565b60405180606001604052806000815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282614e435760008555614e89565b82601f10614e5c57805160ff1916838001178555614e89565b82800160010185558215614e89579182015b82811115614e89578251825591602001919060010190614e6e565b50614e95929150614eee565b5090565b828054828255906000526020600020908101928215614e89579160200282015b82811115614e8957825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190614eb9565b5b80821115614e955760008155600101614eef565b600082601f830112614f13578081fd5b81356020614f28614f2383615c00565b615bdd565b8281528181019085830183850287018401881015614f44578586fd5b855b85811015614f6b578135614f5981615cc7565b84529284019290840190600101614f46565b5090979650505050505050565b600082601f830112614f88578081fd5b81516020614f98614f2383615c00565b8281528181019085830183850287018401881015614fb4578586fd5b855b85811015614f6b57815184529284019290840190600101614fb6565b600060208284031215614fe3578081fd5b8135614fee81615cc7565b9392505050565b600080600060608486031215615009578182fd5b83516001600160401b038082111561501f578384fd5b818601915086601f830112615032578384fd5b81516020615042614f2383615c00565b82815281810190858301838502870184018c101561505e578889fd5b8896505b8487101561508957805161507581615cc7565b835260019690960195918301918301615062565b50918901519197509093505050808211156150a2578384fd5b506150af86828701614f78565b925050604084015190509250925092565b600080604083850312156150d2578182fd5b82356001600160401b03808211156150e8578384fd5b818501915085601f8301126150fb578384fd5b8135602061510b614f2383615c00565b82815281810190858301838502870184018b1015615127578889fd5b8896505b8487101561514957803583526001969096019591830191830161512b565b509650508601359250508082111561515f578283fd5b5061516c85828601614f03565b9150509250929050565b600060208284031215615187578081fd5b81356001600160401b0381111561519c578182fd5b6151a884828501614f03565b949350505050565b600060208083850312156151c2578182fd5b82516001600160401b038111156151d7578283fd5b8301601f810185136151e7578283fd5b80516151f5614f2382615c00565b8181528381019083850185840285018601891015615211578687fd5b8694505b8385101561523c57805161522881615cc7565b835260019490940193918501918501615215565b50979650505050505050565b60008060006060848603121561525c578081fd5b83356001600160401b03811115615271578182fd5b61527d86828701614f03565b935050602084013561528e81615cdc565b9150604084013561529e81615cdc565b809150509250925092565b6000602082840312156152ba578081fd5b8135614fee81615cdc565b600080604083850312156152d7578182fd5b82356152e281615cdc565b946020939093013593505050565b600060208284031215615301578081fd5b81356001600160e01b031981168114614fee578182fd5b6000806040838503121561532a578182fd5b823561533581615cc7565b915060208301356001600160401b0381111561534f578182fd5b61516c85828601614f03565b6000806040838503121561536d578182fd5b823561537881615cc7565b9150602083013561538881615cdc565b809150509250929050565b6000806000606084860312156153a7578081fd5b83356153b281615cc7565b9250602084013561528e81615cdc565b600080604083850312156153d4578182fd5b82356153df81615cc7565b9150602083013561538881615cc7565b600060208284031215615400578081fd5b5035919050565b600060208284031215615418578081fd5b5051919050565b600080600060608486031215615433578081fd5b833592506020808501356001600160401b0380821115615451578384fd5b61545d88838901614f03565b94506040870135915080821115615472578384fd5b508501601f81018713615483578283fd5b8035615491614f2382615c00565b81815283810190838501858402850186018b10156154ad578687fd5b8694505b838510156154cf5780358352600194909401939185019185016154b1565b5080955050505050509250925092565b600080604083850312156154f1578182fd5b82519150602083015161538881615cdc565b60008060408385031215615515578182fd5b50508035926020909101359150565b600080600060608486031215615538578081fd5b505081359360208301359350604090920135919050565b600080600060608486031215615563578081fd5b8351925060208401519150604084015190509250925092565b6000806000806000806000806000806101408b8d03121561559b578788fd5b8a35995060208b0135985060408b0135975060608b0135965060808b0135955060a08b0135945060c08b0135935060e08b013592506101008b013591506101208b01356001600160401b038111156155f1578182fd5b6155fd8d828e01614f03565b9150509295989b9194979a5092959850565b6000815180845260208085019450808401835b838110156156475781516001600160a01b031687529582019590820190600101615622565b509495945050505050565b6000815480845260208085019450838352808320835b838110156156475781546001600160a01b031687529582019560019182019101615668565b6000815180845260208085019450808401835b83811015615647578151875295820195908201906001016156a0565b60008151808452815b818110156156e1576020818501810151868301820152016156c5565b818111156156f25782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03831681526040602082018190526000906151a8908301846156bc565b600060018060a01b03851682528360208301526060604083015261433a60608301846156bc565b60006101208083526157938184018d61560f565b905082810360208401526157a7818c61568d565b604084019a909a52505060608101969096526001600160a01b0394909416608086015260a085019290925260c084015260e08301526101009091015292915050565b600060208252614fee6020830184615652565b600060208252614fee602083018461560f565b600060a0825261582260a083018861568d565b602083820381850152615835828961568d565b848103604086015287518082529092508183019082810284018301838a01865b8381101561588357601f198784030185526158718383516156bc565b94860194925090850190600101615855565b50508681036060880152615897818a61560f565b955050505050508260808301529695505050505050565b901515815260200190565b6000841515825260206060818401526158d5606084018661560f565b8381036040850152845180825282860191830190845b818110156159095783511515835292840192918401916001016158eb565b509098975050505050505050565b9115158252602082015260400190565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b038416815260208101839052606081016006831061596357fe5b826040830152949350505050565b9182521515602082015260400190565b600060208252614fee60208301846156bc565b81518152602080830151908201526040918201519181019190915260600190565b6000838252604060208301526151a8604083018461560f565b8381526001600160a01b038316602082015260606040820181905260009061433a9083018461560f565b92835260208301919091526001600160a01b0316604082015260600190565b94855260208501939093526001600160a01b03919091166040840152151560608301521515608082015260a00190565b95865260208601949094526001600160a01b039290921660408501521515606084015215156080830152151560a082015260c00190565b6001600160c01b039290921682526001600160401b0316602082015260400190565b90815260200190565b6000838252604060208301526151a860408301846156bc565b918252602082015260400190565b92835260208301919091521515604082015260600190565b9283526020830191909152604082015260600190565b948552602085019390935260408401919091526060830152608082015260a00190565b60006101608d83528c60208401528b60408401528a60608401528960808401528860a08401528760c08401528660e084015280610100840152615b668184018761560f565b9415156101208401525050901515610140909101529998505050505050505050565b60006101208b83528a60208401528960408401528860608401528760808401528660a08401528560c08401528460e084015280610100840152615bcd81840185615652565b9c9b505050505050505050505050565b6040518181016001600160401b0381118282101715615bf857fe5b604052919050565b60006001600160401b03821115615c1357fe5b5060209081020190565b60e01c90565b600060443d1015615c335761089c565b600481823e6308c379a0615c478251615c1d565b14615c515761089c565b6040513d600319016004823e80513d6001600160401b038160248401118184111715615c80575050505061089c565b82840192508251915080821115615c9a575050505061089c565b503d83016020828401011115615cb25750505061089c565b601f01601f1916810160200160405291505090565b6001600160a01b0381168114610b1557600080fd5b8015158114610b1557600080fdfe6572722066616c6c6261636b20696e69742065706f636820666f722072657665616c6572722063616c6c696e672075706461746541637469766556616c696461746f72736572722063616c6c696e67206368696c6c4e6f6e72657665616c696e674461746150726f7669646572735265776172642065706f6368206475726174696f6e20636f6e646974696f6e20696e76616c69646572722066616c6c6261636b2066696e616c697a652070726963652065706f6368a2646970667358221220279690ad2abb61d5fc3600cdca2e181999a85944028f25ee8005310983ed702c64736f6c634300070600335265776172642065706f6368206475726174696f6e20636f6e646974696f6e20696e76616c69645265776172642065706f636820737461727420636f6e646974696f6e20696e76616c6964",
|
|
1670
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061041d5760003560e01c806374e6310e1161022b578063b4dba0f311610130578063e371aef0116100b8578063f2edab5a11610087578063f2edab5a1461082c578063f5a983831461083f578063f5f5ba7214610847578063f937d6ad1461085c578063ff882fbb146108645761041d565b8063e371aef0146107e6578063e5399da3146107fc578063e7c830d41461081c578063ec31db0c146108245761041d565b8063d429cfe5116100ff578063d429cfe5146107a8578063d89c39e6146107bb578063e080a970146107c3578063e17f212e146107d6578063e22fdece146107de5761041d565b8063b4dba0f31461077b578063c2b0d47b14610783578063cb063fa21461078b578063ce69f833146107935761041d565b8063a157713b116101b3578063a90a38e111610182578063a90a38e114610727578063a93a6f421461073a578063af946af71461074d578063b00c0b7614610760578063b23b6ef1146107735761041d565b8063a157713b146106f1578063a578f55b146106f9578063a670ff8714610701578063a795f409146107145761041d565b8063882376c3116101fa578063882376c3146106975780638de306b1146106aa57806393a79025146106bd5780639d6a890f146106d6578063a1077532146106e95761041d565b806374e6310e14610648578063758ff1da14610669578063823033a91461067c57806385f3c9c91461068f5761041d565b80633e7ff857116103315780635ff27079116102b957806369b11ac61161028857806369b11ac6146105fb5780636b65cc34146106035780636ca051e6146106165780636d0e8c341461062d5780636ea0aa31146106355761041d565b80635ff27079146105c557806360f2c5b2146105d857806362354e03146105e057806367fc4029146105e85761041d565b80635267a15d116103005780635267a15d1461057b5780635835cf30146105835780635904089a146105a25780635aa6e675146105aa5780635bb44e9a146105b25761041d565b80633e7ff857146105415780633fdeb7e1146105495780634b48dd5e1461055c5780634eac870f146105735761041d565b8063144e1591116103b45780632b3c41a4116103835780632b3c41a4146104f25780632fd8eb7d1461050b578063361b5459146105135780633758e6791461052657806338b5f869146105395761041d565b8063144e1591146104aa57806315c29c5b146104c15780631cb513f7146104c95780632663f1b4146104df5761041d565b80630f15f4c0116103f05780630f15f4c0146104725780630f4ef8a61461047c5780631322679314610484578063132c7e1f146104975761041d565b806302fb0c5e14610422578063047fc9aa1461044057806308a7f402146104555780630e063d7d1461046a575b600080fd5b61042a610877565b60405161043791906158ae565b60405180910390f35b610448610880565b6040516104379190615707565b61045d61088f565b6040516104379190615aa0565b61044861089f565b61047a6108ae565b005b6104486108fc565b61047a61049236600461557c565b61090b565b61047a6104a53660046153ef565b610a28565b6104b2610b18565b60405161043793929190615ae8565b61045d610b80565b6104d1610b86565b604051610437929190615ac2565b61047a6104ed366004614fd2565b610bad565b6104fa610bec565b60405161043795949392919061580f565b610448610c27565b61047a6105213660046153ef565b610c36565b61047a610534366004615393565b610cc2565b610448610d11565b61045d610d20565b61047a610557366004614fd2565b610d26565b610564610d75565b604051610437939291906158b9565b610448610e54565b610448610e63565b61058b610e88565b6040516104379b9a99989796959493929190615b21565b610448610f57565b610448610f66565b61045d6105c0366004614fd2565b611007565b61047a6105d33660046152f0565b611026565b61045d611388565b61044861138e565b61047a6105f63660046152f0565b6113a6565b61045d611489565b61047a6106113660046153c2565b61148e565b61061e61152f565b60405161043793929190615ad0565b61042a611540565b6104fa610643366004615503565b6118cc565b61065b6106563660046152f0565b611c27565b604051610437929190615aa9565b61047a610677366004615248565b611ccd565b61042a61068a366004614fd2565b611d34565b61045d611d52565b61047a6106a536600461541f565b611d58565b61047a6106b8366004615176565b611f27565b6106c5611fc5565b604051610437959493929190615afe565b61047a6106e4366004614fd2565b612058565b610448612111565b61045d612135565b61045d61213b565b61047a61070f366004614fd2565b61215f565b6104b26107223660046153ef565b6121cb565b61047a6107353660046152c5565b6121f4565b61047a610748366004615318565b612331565b61047a61075b36600461535b565b6123c8565b61047a61076e3660046150c0565b612490565b61045d612537565b61044861253d565b610448612561565b61042a612570565b61079b61257e565b60405161043791906157fc565b61047a6107b6366004615176565b612588565b61045d6125ef565b61047a6107d1366004615524565b6125f5565b61042a612686565b61042a612696565b6107ee612774565b604051610437929190615a7e565b61080f61080a3660046153ef565b612795565b6040516104379190615994565b61045d612806565b61045d61286c565b61045d61083a3660046153ef565b612872565b61047a612884565b61084f61294b565b6040516104379190615981565b610448612970565b61047a6108723660046152a9565b61297f565b60055460ff1681565b6025546001600160a01b031681565b60006108996129d9565b90505b90565b6023546001600160a01b031690565b600054600160b01b900460ff16806108d05750600054600160a81b900460ff16155b156108ef576108dd612a2c565b6005805460ff191660011790556108fa565b6108fa600036612a61565b565b6024546001600160a01b031681565b600054600160b01b900460ff168061092d5750600054600160a81b900460ff16155b15610a115761093a612a2c565b60008911801561094a5750600088115b80156109565750868610155b801561096457506127108511155b801561097257506127108411155b801561098057506127108311155b801561098c5750600082115b801561099a57506005815111155b6040518060400160405280601381526020017211dbdd8b881c185c985b5cc81a5b9d985b1a59606a1b815250906109ed5760405162461bcd60e51b81526004016109e49190615981565b60405180910390fd5b506109f9600a8b612bf1565b610a0c600a8a8a8a8a8a8a898b8a612c46565b610a1c565b610a1c600036612a61565b50505050505050505050565b600054600160b01b900460ff1680610a4a5750600054600160a81b900460ff16155b15610b0a57610a57612a2c565b60408051808201909152600e81526d05265776172642065706f636820360941b602082015281610a9a5760405162461bcd60e51b81526004016109e49190615981565b507f00000000000000000000000000000000000000000000000000000000000000008181610ac457fe5b06600014604051806060016040528060278152602001615d596027913990610aff5760405162461bcd60e51b81526004016109e49190615981565b506020819055610b15565b610b15600036612a61565b50565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000909192565b601e5481565b6020547f000000000000000000000000000000000000000000000000000000000000000091565b600054600160b01b900460ff1680610bcf5750600054600160a81b900460ff16155b15610b0a57610bdc612a2c565b610be7816001612e69565b610b15565b600454606090819081908190600090610c1690600160c01b90046001600160401b031660016118cc565b945094509450945094509091929394565b6007546001600160a01b031681565b600054600160b01b900460ff1680610c585750600054600160a81b900460ff16155b15610b0a57610c65612a2c565b60408051808201909152601e81527f566f746520706f77657220696e74657276616c206672616374696f6e20300000602082015281610cb75760405162461bcd60e51b81526004016109e49190615981565b506021819055610b15565b600054600160b01b900460ff1680610ce45750600054600160a81b900460ff16155b15610d0157610cf1612a2c565b610cfc838383612ee8565b610d0c565b610d0c600036612a61565b505050565b6019546001600160a01b031690565b60225490565b600054600160b01b900460ff1680610d485750600054600160a81b900460ff16155b15610b0a57610d55612a2c565b602780546001600160a01b0319166001600160a01b038316179055610b15565b602754600160a01b900460ff16606080610d8d612f6b565b8051909250806001600160401b0381118015610da857600080fd5b50604051908082528060200260200182016040528015610dd2578160200160208202803683370190505b50915060005b81811015610e4d5760166002016000858381518110610df357fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a900460ff16838281518110610e3557fe5b91151560209283029190910190910152600101610dd8565b5050909192565b6026546001600160a01b031681565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b600b54600c54600d54600e54600f54601054601254601154601454601380546040805160208084028201810190925282815260009c8d9c8d9c8d9c8d9c8d9c8d9c8d9c60609c8e9c8d9c999b989a979996989597949693959294909360ff6101008404811694931692859190830182828015610f2d57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610f0f575b505050505092509a509a509a509a509a509a509a509a509a509a509a50909192939495969798999a565b6027546001600160a01b031681565b60008054600160a81b900460ff16610f89576000546001600160a01b0316610899565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015610fd657600080fd5b505afa158015610fea573d6000803e3d6000fd5b505050506040513d602081101561100057600080fd5b5051905090565b6001600160a01b0381166000908152601560205260409020545b919050565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b15801561107757600080fd5b505afa15801561108b573d6000803e3d6000fd5b505050506040513d60208110156110a157600080fd5b50516110e4576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611150576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b80544210156111a6576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112405780601f1061121557610100808354040283529160200191611240565b820191906000526020600020905b81548152906001019060200180831161122357829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506112749150830182614da8565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106112bc5780518252601f19909201916020918201910161129d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461131e576040519150601f19603f3d011682016040523d82523d6000602084013e611323565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a161138281612fec565b50505050565b60215490565b73183faff6997c98a812a3b98748fc80241d08f31281565b6113ae613009565b6001600160e01b03198116600090815260016020526040902054611419576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190610d0c90830182614da8565b600581565b600054600160b01b900460ff16806114b05750600054600160a81b900460ff16155b15611520576114bd612a2c565b60405163d0d552dd60e01b81526001600160a01b0383169063d0d552dd906114e9908490600401615707565b600060405180830381600087803b15801561150357600080fd5b505af1158015611517573d6000803e3d6000fd5b5050505061152b565b61152b600036612a61565b5050565b601b54601c54601d5460ff16909192565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b3576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b60055460ff166115c55750600061089c565b6008546115d9576115d4613068565b6118c6565b601d546000908190819060ff1680156115f4575042601c5411155b156116025760019150611620565b601d5460ff1615801561161757504260095411155b15611620575060015b81806116295750805b1561187657601d54610100900460ff1615611838576023546040805163a978fb6b60e01b815281516000936001600160a01b03169263a978fb6b9260048082019391829003018186803b15801561167f57600080fd5b505afa158015611693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b791906154df565b9094509050801580156116c75750825b156117ed57602354601b546001600160a01b0390911690631c91efcf906116ec6129d9565b6040518363ffffffff1660e01b8152600401611709929190615ac2565b600060405180830381600087803b15801561172357600080fd5b505af1925050508015611734575060015b6117e857611740615c23565b8061174b5750611790565b6040517f945e1930d717c550cfdc738b4226b97a96c13dd0e378d3fa3c3812ee430af46990600090a160235461178a906001600160a01b0316826131ac565b506117e8565b6040517f945e1930d717c550cfdc738b4226b97a96c13dd0e378d3fa3c3812ee430af46990600090a16023546040805160608101909152602a8082526117e8926001600160a01b03169190615d2f60208301396131ac565b611832565b8115611832578061182c57601f5461180c5742601f55600091506117e8565b42601e54601f540111611823576000601f556117e8565b60009150611832565b6000601f555b50611876565b611848611843612f6b565b613385565b420160405160200161185a9190615aa0565b6040516020818303038152906040528051906020012060001c92505b811561188a5761188583613428565b6118c2565b80156118b1576118998361390b565b6118a1613a93565b6118a9613c1f565b611885613d6c565b42601c54116118c2576118c2613eb4565b5050505b50600190565b606080606080600060038054905087106040518060400160405280601081526020016f0e6e8c2e4e840d2dcc8caf040d0d2ced60831b815250906119235760405162461bcd60e51b81526004016109e49190615981565b50600354600090888801111561193e57600354889003611940565b865b9050806001600160401b038111801561195857600080fd5b50604051908082528060200260200182016040528015611982578160200160208202803683370190505b509550806001600160401b038111801561199b57600080fd5b506040519080825280602002602001820160405280156119c5578160200160208202803683370190505b509450806001600160401b03811180156119de57600080fd5b50604051908082528060200260200182016040528015611a1257816020015b60608152602001906001900390816119fd5790505b509350806001600160401b0381118015611a2b57600080fd5b50604051908082528060200260200182016040528015611a55578160200160208202803683370190505b50925060005b81811015611c0b5760006003828b0181548110611a7457fe5b6000918252602080832090910154808352600290915260409091205489519192506001600160c01b031690899084908110611aab57fe5b6020026020010181815250506002600082815260200190815260200160002060000160189054906101000a90046001600160401b03166001600160401b0316878381518110611af657fe5b602090810291909101810191909152600082815260028083526040918290208101805483516001821615610100026000190190911692909204601f81018590048502830185019093528282529092909190830182828015611b985780601f10611b6d57610100808354040283529160200191611b98565b820191906000526020600020905b815481529060010190602001808311611b7b57829003601f168201915b5050505050868381518110611ba957fe5b60200260200101819052506002600082815260200190815260200160002060010160009054906101000a90046001600160a01b0316858381518110611bea57fe5b6001600160a01b039092166020928302919091019091015250600101611a5b565b50506004549497939650919450926001600160c01b0316919050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f81018590048502860185019096528585529094919392909190830182828015611cc35780601f10611c9857610100808354040283529160200191611cc3565b820191906000526020600020905b815481529060010190602001808311611ca657829003601f168201915b5050505050905082565b600054600160b01b900460ff1680611cef5750600054600160a81b900460ff16155b15610d0157611cfc612a2c565b60005b8351811015611d2e57611d26848281518110611d1757fe5b60200260200101518484612ee8565b600101611cff565b50610d0c565b6001600160a01b031660009081526017602052604090205460ff1690565b60205481565b600054600160b01b900460ff1680611d7a5750600054600160a81b900460ff16155b15610d0157611d87612a2c565b80518251146040518060400160405280601a81526020017f6172726179206c656e6774687320646f206e6f74206d6174636800000000000081525090611de05760405162461bcd60e51b81526004016109e49190615981565b50611dec600a84612bf1565b60005b8251811015611d2e57620f4240828281518110611e0857fe5b602002602001015111156040518060400160405280601a81526020017f656c61737469632062616e6420776964746820696e76616c696400000000000081525090611e665760405162461bcd60e51b81526004016109e49190615981565b50818181518110611e7357fe5b6020026020010151600a600b016000858481518110611e8e57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205414611f1f576014805460ff191660011790558151829082908110611ed757fe5b6020026020010151600a600b016000858481518110611ef257fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055505b600101611def565b600054600160b01b900460ff1680611f495750600054600160a81b900460ff16155b15610b0a57611f56612a2c565b60405163984626c360e01b815273__$03dc2144a91b115216397a255bda0073a6$__9063984626c390611f909060169085906004016159b5565b60006040518083038186803b158015611fa857600080fd5b505af4158015611fbc573d6000803e3d6000fd5b50505050610b15565b600080600080600080611fd66129d9565b9550507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000808702820195506001870102019250507f000000000000000000000000000000000000000000000000000000000000000082019050429091929394565b600054600160a01b900460ff16156120ae576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b600a5490565b7f000000000000000000000000000000000000000000000000000000000000000081565b600054600160b01b900460ff16806121815750600054600160a81b900460ff16155b15610b0a5761218e612a2c565b604051630d6f6ead60e11b815273__$03dc2144a91b115216397a255bda0073a6$__90631adedd5a90611f9090601690600a9086906004016159f8565b6000806000806121da85612795565b805160208201516040909201519097919650945092505050565b600054600160b01b900460ff16806122165750600054600160a81b900460ff16155b1561152057612223612a2c565b811561228b5760008111801561223c57506203f4808111155b60405180604001604052806012815260200171696e76616c696420706172616d657465727360701b815250906122855760405162461bcd60e51b81526004016109e49190615981565b506122da565b604080518082019091526012815271696e76616c696420706172616d657465727360701b602082015281156122d35760405162461bcd60e51b81526004016109e49190615981565b506000601f555b601d805461ff00191661010084151502179055601e8190556040517f5c9bf067f2a8b23128e64d5ce119251f51d6c0c24e0d7bf430c2dd77df3ec092906123249084908490615917565b60405180910390a161152b565b600054600160b01b900460ff16806123535750600054600160a81b900460ff16155b1561152057612360612a2c565b604051636904d3eb60e11b815273__$03dc2144a91b115216397a255bda0073a6$__9063d209a7d69061239c90601690869086906004016159ce565b60006040518083038186803b1580156123b457600080fd5b505af4158015611517573d6000803e3d6000fd5b6123d0613009565b6001600160a01b0382166000908152601660209081526040918290205482518084019093526009835268139bdd08199bdd5b9960ba1b9183019190915260ff1661242d5760405162461bcd60e51b81526004016109e49190615981565b506001600160a01b03821660009081526018602052604090819020805460ff1916831515179055517f24462ede4d3e8e5a69fecec6290d42a311016ca752216d9a3d681e284791b7ac906124849084908490615927565b60405180910390a15050565b612498610e63565b6001600160a01b0316336001600160a01b0316146124f4576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b61252d61252883836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250614216565b614343565b61152b8282614367565b601f5481565b7f000000000000000000000000000000000000000000000000000000000000000081565b601a546001600160a01b031690565b601d54610100900460ff1681565b6060610899612f6b565b600054600160b01b900460ff16806125aa5750600054600160a81b900460ff16155b15610b0a576125b7612a2c565b60005b81518110156125e9576125e18282815181106125d257fe5b60200260200101516001612e69565b6001016125ba565b50610b15565b60095481565b600054600160b01b900460ff16806126175750600054600160a81b900460ff16155b15610d0157612624612a2c565b600554604080518082019091526011815270105b1c9958591e481858dd1a5d985d1959607a1b60208201529060ff16156126715760405162461bcd60e51b81526004016109e49190615981565b50602283905560088290556009819055610d0c565b600054600160a81b900460ff1681565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612709576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b602754600160a01b900460ff1661276e576027805460ff60a01b1916600160a01b1790556040517f217a37a37fc40a97159886f80c3d45986e6fc4330ce6ad7283478b5e5ab705bc9061275e906001906158ae565b60405180910390a150600161089c565b50600090565b6004546001600160c01b03811690600160c01b90046001600160401b031682565b61279d614dec565b60085482106040518060400160405280602081526020017f5265776172642065706f6368206e6f7420696e697469616c697a656420796574815250906127f65760405162461bcd60e51b81526004016109e49190615981565b5061280082614574565b92915050565b6000600854600014156040518060400160405280602081526020017f5265776172642065706f6368206e6f7420696e697469616c697a656420796574815250906128635760405162461bcd60e51b81526004016109e49190615981565b50610899614679565b60115490565b600061287d82612795565b5192915050565b61288c613009565b600054600160a81b900460ff16156128eb576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b60408051808201909152600b81526a233a39b7a6b0b730b3b2b960a91b602082015290565b6023546001600160a01b031681565b612987613009565b6027805460ff60a01b1916600160a01b831515021790556040517f217a37a37fc40a97159886f80c3d45986e6fc4330ce6ad7283478b5e5ab705bc906129ce9083906158ae565b60405180910390a150565b60007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000420381612a2657fe5b04905090565b600054600160b01b900460ff1615612a5957333014612a4757fe5b6000805460ff60b01b191690556108fa565b6108fa613009565b612a69613009565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612abe57600080fd5b505afa158015612ad2573d6000803e3d6000fd5b505050506040513d6020811015612ae857600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450612b6c93928501920190614e0d565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b801580612bfd57504281115b612c42576040805162461bcd60e51b8152602060048201526011602482015270696e76616c69642075706461746520747360781b604482015290519081900360640190fd5b9055565b888a6001015414612c6957600a8a01805460ff191660019081179091558a018990555b878a6002015414612c8b57600a8a01805460ff1916600117905560028a018890555b868a6003015414612cad57600a8a01805460ff1916600117905560038a018790555b858a6004015414612ccf57600a8a01805460ff1916600117905560048a018690555b848a6005015414612cf157600a8a01805460ff1916600117905560058a018590555b838a6006015414612d1357600a8a01805460ff1916600117905560068a018490555b828a6007015414612d3557600a8a01805460ff1916600117905560078a018390555b818a6008015414612d5757600a8a01805460ff1916600117905560088a018290555b805160098b015414612d8d578051612d789060098c01906020840190614e99565b50600a8a01805460ff19166001179055612e4c565b60005b8151811015612e4a57818181518110612da557fe5b60200260200101516001600160a01b03168b6009018281548110612dc557fe5b6000918252602090912001546001600160a01b031614612e4257600a8b01805460ff191660011790558151829082908110612dfc57fe5b60200260200101518b6009018281548110612e1357fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b600101612d90565b505b505050600a909601805461ff001916610100179055505050505050565b601d546040516306b8c18560e01b815273__$03dc2144a91b115216397a255bda0073a6$__916306b8c18591612eaf91601691600a918891889160ff1690600401615a17565b60006040518083038186803b158015612ec757600080fd5b505af4158015612edb573d6000803e3d6000fd5b5050505061152b82614683565b601d5460405163169ffdc760e21b815273__$03dc2144a91b115216397a255bda0073a6$__91635a7ff71c91612f3291601691600a9189918991899160ff90911690600401615a47565b60006040518083038186803b158015612f4a57600080fd5b505af4158015612f5e573d6000803e3d6000fd5b50505050610d0c83614683565b60195460408051635200305d60e11b815290516060926001600160a01b03169163a40060ba916004808301926000929190829003018186803b158015612fb057600080fd5b505afa158015612fc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261089991908101906151b0565b3d604051818101604052816000823e8215613005578181f35b8181fd5b613011610f66565b6001600160a01b0316336001600160a01b0316146108fa576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000042106108fa576000613099612f6b565b80516040805160608101825243600019810182526020808301918252428385019081526008805460009081526006909352948220845181559251600180850191909155905160029093019290925583549091019092559293509091905b8281101561317e5783818151811061310a57fe5b60200260200101516001600160a01b031663e536f39683600001516040518263ffffffff1660e01b81526004016131419190615aa0565b600060405180830381600087803b15801561315b57600080fd5b505af115801561316f573d6000803e3d6000fd5b505050508060010190506130f6565b50506020547f0000000000000000000000000000000000000000000000000000000000000000016009555050565b600082826040516020016131c1929190615734565b60408051601f198184030181528282528051602091820120600081815260029092529190208054436001600160c01b038181166001600160401b03600160c01b80860482166001019091160291909316176001600160c01b031916919091179091559092507f1a601cf5e0efbd558b2778b7389af04741d1c49bcab104c40daa2da194593617916132559186918690615758565b60405180910390a1600480546001600160c01b0319811660016001600160c01b03928316810190921617909155600082815260026020526040902054600160c01b90046001600160401b031611156132ad575061152b565b6003805460018082019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01829055600082815260026020818152604090922092830180546001600160a01b0319166001600160a01b038816179055845161331d9390910191850190614e0d565b50600354600091825260026020526040909120600101805467ffffffffffffffff60a01b1916600160a01b6000199093016001600160401b0390811684029190911791829055600480546001600160c01b03169390920416600160c01b029190911790555050565b6000805b82518110156134225782818151811061339e57fe5b60200260200101516001600160a01b031663d89601fd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156133de57600080fd5b505afa1580156133f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134169190615407565b90910190600101613389565b50919050565b6000613432612f6b565b805190915080158015906134505750602754600160a01b900460ff16155b1561382057600081848161346057fe5b06905060608060008080805b87811015613608576000888289018161348157fe5b06905060008a828151811061349257fe5b6020908102919091018101516001600160a01b0381166000908152601790925260409091205490915060ff16156134e8576001600160a01b03166000908152601760205260409020805460ff1916905550613600565b601b546040516340462a2d60e01b81526001600160a01b038316916340462a2d916135199190891590600401615971565b600060405180830381600087803b15801561353357600080fd5b505af192505050801561356857506040513d6000823e601f3d908101601f191682016040526135659190810190614ff5565b60015b6135d357613574615c23565b8061357f575061358f565b61358982826147c0565b506135ce565b6135ce816040518060400160405280601881526020017f6572722066696e616c697a652070726963652065706f636800000000000000008152506147c0565b6135fd565b871580156135e2575060008351115b156135f95791995097509550600194509250828787875b5050505b50505b60010161346c565b506000613613614679565b905082156137b757602454601b546001600160a01b039091169063a9b79e1790889088908890877f000000000000000000000000000000000000000000000000000000000000000088600161366785614811565b036136718b614574565b516040516001600160e01b031960e08c901b16815261369b9998979695949392919060040161577f565b600060405180830381600087803b1580156136b557600080fd5b505af19250505080156136c6575060015b6137b2576136d2615c23565b806136dd5750613734565b7f175a1d13d190d6a1e14461c214b3ecf6118b828797750b7bffd7c4f2c1eba54c83601b5460405161371092919061571b565b60405180910390a160245461372e906001600160a01b0316826131ac565b506137b2565b7f175a1d13d190d6a1e14461c214b3ecf6118b828797750b7bffd7c4f2c1eba54c82601b5460405161376792919061571b565b60405180910390a16024546040805180820190915260168152756572722064697374726962757465207265776172647360501b60208201526137b2916001600160a01b0316906131ac565b6137bf565b6137bf61485e565b600780546001600160a01b0319166001600160a01b0384161790556040517f98b050a4042fbd1b89934ef40b9342e593f15081a348af940573a0179031f4ad9061380c908490849061571b565b60405180910390a1505050505050506138fc565b60005b818110156138a157600083828151811061383957fe5b6020908102919091018101516001600160a01b0381166000908152601790925260409091205490915060ff161561388e576001600160a01b03166000908152601760205260409020805460ff19169055613899565b613897816149e0565b505b600101613823565b506138aa61485e565b600780546001600160a01b03191690557f98b050a4042fbd1b89934ef40b9342e593f15081a348af940573a0179031f4ad60006138e5614679565b6040516138f392919061571b565b60405180910390a15b5050601d805460ff1916905550565b6000613915612f6b565b9050600081519050600060215461393261392d614679565b614574565b6020015143038161393f57fe5b0490508061394b575060015b600081858161395657fe5b06905080613962575060015b60408051606081018252438381038252602080830191825242838501908152600880546000908152600690935294822084518155925160018085019190915590516002909301929092558354909101909255905b84811015613a3f578581815181106139ca57fe5b60200260200101516001600160a01b031663e536f39683600001516040518263ffffffff1660e01b8152600401613a019190615aa0565b600060405180830381600087803b158015613a1b57600080fd5b505af1158015613a2f573d6000803e3d6000fd5b5050600190920191506139b69050565b50805160208201516040517f1813f880dc24666c8b69c9d771a487ea620a27fde1514be3112847056c0c532292613a77929091615ac2565b60405180910390a1505060205460098054909101905550505050565b6000613a9d614679565b60115490915042035b81602254108015613ac8575080613ac1602254600101614574565b6040015111155b1561152b57602454602254604051636b60edf760e11b81526001600160a01b039092169163d6c1dbee91613afe91600401615aa0565b600060405180830381600087803b158015613b1857600080fd5b505af1925050508015613b29575060015b613c1157613b35615c23565b80613b405750613b95565b7fa819a21065ad87bdde9e6d398d3213e0d3634afd87aceb7092236483f5d7ca8d602254604051613b719190615aa0565b60405180910390a1602454613b8f906001600160a01b0316826131ac565b5061152b565b7fa819a21065ad87bdde9e6d398d3213e0d3634afd87aceb7092236483f5d7ca8d602254604051613bc69190615aa0565b60405180910390a1602454604080518082019091526011815270195c9c8818db1bdcd948195e1c1a5c9959607a1b6020820152613c0c916001600160a01b0316906131ac565b61152b565b602280546001019055613aa6565b6000613c2c602254614574565b5160265460405163cbc31cf760e01b81529192506001600160a01b03169063cbc31cf790613c5e908490600401615aa0565b600060405180830381600087803b158015613c7857600080fd5b505af1925050508015613c89575060015b610b1557613c95615c23565b80613ca05750613cf3565b7f9f874ea08c7014cce74622bfe71434f81aba7598ad65126a6aea86945bdfa18d82604051613ccf9190615aa0565b60405180910390a1602654613ced906001600160a01b0316826131ac565b50610be7565b7f9f874ea08c7014cce74622bfe71434f81aba7598ad65126a6aea86945bdfa18d81604051613d229190615aa0565b60405180910390a16026546040805180820190915260158152746572722073657420636c65616e757020626c6f636b60581b6020820152610be7916001600160a01b0316906131ac565b6027546001600160a01b0316156108fa576000613d87614679565b9050602760009054906101000a90046001600160a01b03166001600160a01b03166321eb1a956040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613dd957600080fd5b505af1925050508015613dea575060015b610b1557613df6615c23565b80613e015750613e4e565b7ff7c7d6681321cc290eb89e8c96dba504436073b8bb277945cc32177e5181dd8482604051613e309190615aa0565b60405180910390a1602754613ced906001600160a01b0316826131ac565b7ff7c7d6681321cc290eb89e8c96dba504436073b8bb277945cc32177e5181dd8481604051613e7d9190615aa0565b60405180910390a160275460408051606081019091526022808252610be7926001600160a01b03169190615d0d60208301396131ac565b60145460ff168015613ec85750600a544210155b15613f3157602354604051639ec2b58160e01b81526001600160a01b0390911690639ec2b58190613efe906013906004016157e9565b600060405180830381600087803b158015613f1857600080fd5b505af1158015613f2c573d6000803e3d6000fd5b505050505b6000613f3b612f6b565b805190915060008115801590613f5b5750602754600160a01b900460ff16155b15613ff4576000613f6d61392d614679565b516025546040516237b08960e41b81529192506001600160a01b03169063037b089090613f9e908490600401615aa0565b602060405180830381600087803b158015613fb857600080fd5b505af1158015613fcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ff09190615407565b9150505b60005b828110156141c157600084828151811061400d57fe5b602090810291909101015160145490915060ff16801561402f5750600a544210155b156140c757600b54600c54600d54600e54600f546010546012546001600160a01b03881660008181526015602052604090819020549051632d1e4ec760e11b81529198635a3c9d8e986140949891979096919590949193909290601390600401615b88565b600060405180830381600087803b1580156140ae57600080fd5b505af11580156140c2573d6000803e3d6000fd5b505050505b806001600160a01b031663f670ebe384602760149054906101000a900460ff168061410a57506001600160a01b03841660009081526018602052604090205460ff165b6040518363ffffffff1660e01b8152600401614127929190615971565b600060405180830381600087803b15801561414157600080fd5b505af1925050508015614152575060015b6141b85761415e615c23565b806141695750614179565b6141738282614a7c565b506141b8565b6141b8816040518060400160405280601981526020017f65727220696e69742065706f636820666f722072657665616c00000000000000815250614a7c565b50600101613ff7565b5060145460ff1680156141d65750600a544210155b156141e6576014805460ff191690555b60006141f06129d9565b601b819055905061420081614c8d565b601c555050601d805460ff191660011790555050565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561425a578181015183820152602001614242565b50505050905090810190601f1680156142875780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b86518110156142ef578681815181106142bd57fe5b60200260200101518314156142e7578581815181106142d857fe5b602002602001015191506142ef565b6001016142a8565b506001600160a01b03811661433a576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b61439882826040518060400160405280600e81526020016d283934b1b2a9bab136b4ba3a32b960911b815250614216565b602360006101000a8154816001600160a01b0302191690836001600160a01b031602179055506143f2828260405180604001604052806011815260200170233a39b7a932bbb0b93226b0b730b3b2b960791b815250614216565b602460006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614441828260405180604001604052806006815260200165537570706c7960d01b815250614216565b602560006101000a8154816001600160a01b0302191690836001600160a01b031602179055506144a782826040518060400160405280601981526020017f436c65616e7570426c6f636b4e756d6265724d616e6167657200000000000000815250614216565b602660006101000a8154816001600160a01b0302191690836001600160a01b031602179055506144fc82826040518060400160405280600c81526020016b4674736f526567697374727960a01b815250614216565b601980546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152601081526f2b37ba32b92bb434ba32b634b9ba32b960811b60208201526145509083908390614216565b601a80546001600160a01b0319166001600160a01b03929092169190911790555050565b61457c614dec565b5060008181526006602090815260409182902082516060810184528154815260018201549281019290925260020154918101829052906110215760008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a795f409866040518263ffffffff1660e01b81526004016146079190615aa0565b60606040518083038186803b15801561461f57600080fd5b505afa158015614633573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614657919061554f565b6040805160608101825293845260208401929092529082015295945050505050565b6008546000190190565b604051630bc29bcf60e21b81526001600160a01b03821690632f0a6f3c90614713907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f000000000000000000000000000000000000000000000000000000000000000090600401615ae8565b600060405180830381600087803b15801561472d57600080fd5b505af1158015614741573d6000803e3d6000fd5b50505050600854600014610b1557806001600160a01b031663e536f39661476961392d614679565b516040516001600160e01b031960e084901b16815261478b9190600401615aa0565b600060405180830381600087803b1580156147a557600080fd5b505af11580156147b9573d6000803e3d6000fd5b5050505050565b7f79f4c7cc43bfb79f5a3aad0d92f75b6fed7db061bb5cc2580a01c8132711b88182601b5460016040516147f693929190615942565b60405180910390a161480882826131ac565b61152b826149e0565b7f0000000000000000000000000000000000000000000000000000000000000000600182017f00000000000000000000000000000000000000000000000000000000000000000201919050565b602454601b546001600160a01b03909116906367dcac53907f000000000000000000000000000000000000000000000000000000000000000060016148a283614811565b036040518463ffffffff1660e01b81526004016148c193929190615ae8565b600060405180830381600087803b1580156148db57600080fd5b505af19250505080156148ec575060015b6108fa576148f8615c23565b806149035750614958565b7f8eb60f903ef61e0e490d7d7ba6e5b85cd949ebece7a5e5b3346eb046c041413f601b546040516149349190615aa0565b60405180910390a1602454614952906001600160a01b0316826131ac565b506149db565b7f8eb60f903ef61e0e490d7d7ba6e5b85cd949ebece7a5e5b3346eb046c041413f601b546040516149899190615aa0565b60405180910390a160245460408051808201909152601b81527f6572722061636372756520756e6561726e65642072657761726473000000000060208201526149db916001600160a01b0316906131ac565b6108fa565b601b5460405163257ea88160e11b81526001600160a01b03831691634afd510291614a0e9190600401615aa0565b600060405180830381600087803b158015614a2857600080fd5b505af1925050508015614a39575060015b610b1557614a45615c23565b80614a505750614a5a565b613ced8282614cfc565b610be781604051806060016040528060218152602001615d8060219139614cfc565b7f61156899176547b8075bfa81fa2996c6057ce9c71320884b11c0179d9dc2e46282614aa66129d9565b604051614ab492919061571b565b60405180910390a1614ac682826131ac565b602754600160a01b900460ff1680614af657506001600160a01b03821660009081526018602052604090205460ff165b15614b23576001600160a01b0382166000908152601760205260409020805460ff1916600117905561152b565b60405163f670ebe360e01b81526001600160a01b0383169063f670ebe390614b5390600090600190600401615971565b600060405180830381600087803b158015614b6d57600080fd5b505af1925050508015614b7e575060015b61152b57614b8a615c23565b80614b955750614c08565b6001600160a01b0383166000908152601760205260409020805460ff191660011790557f61156899176547b8075bfa81fa2996c6057ce9c71320884b11c0179d9dc2e46283614be26129d9565b604051614bf092919061571b565b60405180910390a1614c0283826131ac565b50613c0c565b6001600160a01b0382166000908152601760205260409020805460ff191660011790557f61156899176547b8075bfa81fa2996c6057ce9c71320884b11c0179d9dc2e46282614c556129d9565b604051614c6392919061571b565b60405180910390a1613c0c82604051806060016040528060228152602001615ceb602291396131ac565b7f0000000000000000000000000000000000000000000000000000000000000000600182017f000000000000000000000000000000000000000000000000000000000000000002017f000000000000000000000000000000000000000000000000000000000000000001919050565b7f79f4c7cc43bfb79f5a3aad0d92f75b6fed7db061bb5cc2580a01c8132711b88182601b546002604051614d3293929190615942565b60405180910390a1614d4482826131ac565b601b5460405163974d7a6b60e01b81526001600160a01b0384169163974d7a6b91614d729190600401615aa0565b600060405180830381600087803b158015614d8c57600080fd5b505af1158015614da0573d6000803e3d6000fd5b505050505050565b50805460018160011615610100020316600290046000825580601f10614dce5750610b15565b601f016020900490600052602060002090810190610b159190614eee565b60405180606001604052806000815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282614e435760008555614e89565b82601f10614e5c57805160ff1916838001178555614e89565b82800160010185558215614e89579182015b82811115614e89578251825591602001919060010190614e6e565b50614e95929150614eee565b5090565b828054828255906000526020600020908101928215614e89579160200282015b82811115614e8957825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190614eb9565b5b80821115614e955760008155600101614eef565b600082601f830112614f13578081fd5b81356020614f28614f2383615c00565b615bdd565b8281528181019085830183850287018401881015614f44578586fd5b855b85811015614f6b578135614f5981615cc7565b84529284019290840190600101614f46565b5090979650505050505050565b600082601f830112614f88578081fd5b81516020614f98614f2383615c00565b8281528181019085830183850287018401881015614fb4578586fd5b855b85811015614f6b57815184529284019290840190600101614fb6565b600060208284031215614fe3578081fd5b8135614fee81615cc7565b9392505050565b600080600060608486031215615009578182fd5b83516001600160401b038082111561501f578384fd5b818601915086601f830112615032578384fd5b81516020615042614f2383615c00565b82815281810190858301838502870184018c101561505e578889fd5b8896505b8487101561508957805161507581615cc7565b835260019690960195918301918301615062565b50918901519197509093505050808211156150a2578384fd5b506150af86828701614f78565b925050604084015190509250925092565b600080604083850312156150d2578182fd5b82356001600160401b03808211156150e8578384fd5b818501915085601f8301126150fb578384fd5b8135602061510b614f2383615c00565b82815281810190858301838502870184018b1015615127578889fd5b8896505b8487101561514957803583526001969096019591830191830161512b565b509650508601359250508082111561515f578283fd5b5061516c85828601614f03565b9150509250929050565b600060208284031215615187578081fd5b81356001600160401b0381111561519c578182fd5b6151a884828501614f03565b949350505050565b600060208083850312156151c2578182fd5b82516001600160401b038111156151d7578283fd5b8301601f810185136151e7578283fd5b80516151f5614f2382615c00565b8181528381019083850185840285018601891015615211578687fd5b8694505b8385101561523c57805161522881615cc7565b835260019490940193918501918501615215565b50979650505050505050565b60008060006060848603121561525c578081fd5b83356001600160401b03811115615271578182fd5b61527d86828701614f03565b935050602084013561528e81615cdc565b9150604084013561529e81615cdc565b809150509250925092565b6000602082840312156152ba578081fd5b8135614fee81615cdc565b600080604083850312156152d7578182fd5b82356152e281615cdc565b946020939093013593505050565b600060208284031215615301578081fd5b81356001600160e01b031981168114614fee578182fd5b6000806040838503121561532a578182fd5b823561533581615cc7565b915060208301356001600160401b0381111561534f578182fd5b61516c85828601614f03565b6000806040838503121561536d578182fd5b823561537881615cc7565b9150602083013561538881615cdc565b809150509250929050565b6000806000606084860312156153a7578081fd5b83356153b281615cc7565b9250602084013561528e81615cdc565b600080604083850312156153d4578182fd5b82356153df81615cc7565b9150602083013561538881615cc7565b600060208284031215615400578081fd5b5035919050565b600060208284031215615418578081fd5b5051919050565b600080600060608486031215615433578081fd5b833592506020808501356001600160401b0380821115615451578384fd5b61545d88838901614f03565b94506040870135915080821115615472578384fd5b508501601f81018713615483578283fd5b8035615491614f2382615c00565b81815283810190838501858402850186018b10156154ad578687fd5b8694505b838510156154cf5780358352600194909401939185019185016154b1565b5080955050505050509250925092565b600080604083850312156154f1578182fd5b82519150602083015161538881615cdc565b60008060408385031215615515578182fd5b50508035926020909101359150565b600080600060608486031215615538578081fd5b505081359360208301359350604090920135919050565b600080600060608486031215615563578081fd5b8351925060208401519150604084015190509250925092565b6000806000806000806000806000806101408b8d03121561559b578788fd5b8a35995060208b0135985060408b0135975060608b0135965060808b0135955060a08b0135945060c08b0135935060e08b013592506101008b013591506101208b01356001600160401b038111156155f1578182fd5b6155fd8d828e01614f03565b9150509295989b9194979a5092959850565b6000815180845260208085019450808401835b838110156156475781516001600160a01b031687529582019590820190600101615622565b509495945050505050565b6000815480845260208085019450838352808320835b838110156156475781546001600160a01b031687529582019560019182019101615668565b6000815180845260208085019450808401835b83811015615647578151875295820195908201906001016156a0565b60008151808452815b818110156156e1576020818501810151868301820152016156c5565b818111156156f25782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03831681526040602082018190526000906151a8908301846156bc565b600060018060a01b03851682528360208301526060604083015261433a60608301846156bc565b60006101208083526157938184018d61560f565b905082810360208401526157a7818c61568d565b604084019a909a52505060608101969096526001600160a01b0394909416608086015260a085019290925260c084015260e08301526101009091015292915050565b600060208252614fee6020830184615652565b600060208252614fee602083018461560f565b600060a0825261582260a083018861568d565b602083820381850152615835828961568d565b848103604086015287518082529092508183019082810284018301838a01865b8381101561588357601f198784030185526158718383516156bc565b94860194925090850190600101615855565b50508681036060880152615897818a61560f565b955050505050508260808301529695505050505050565b901515815260200190565b6000841515825260206060818401526158d5606084018661560f565b8381036040850152845180825282860191830190845b818110156159095783511515835292840192918401916001016158eb565b509098975050505050505050565b9115158252602082015260400190565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b038416815260208101839052606081016006831061596357fe5b826040830152949350505050565b9182521515602082015260400190565b600060208252614fee60208301846156bc565b81518152602080830151908201526040918201519181019190915260600190565b6000838252604060208301526151a8604083018461560f565b8381526001600160a01b038316602082015260606040820181905260009061433a9083018461560f565b92835260208301919091526001600160a01b0316604082015260600190565b94855260208501939093526001600160a01b03919091166040840152151560608301521515608082015260a00190565b95865260208601949094526001600160a01b039290921660408501521515606084015215156080830152151560a082015260c00190565b6001600160c01b039290921682526001600160401b0316602082015260400190565b90815260200190565b6000838252604060208301526151a860408301846156bc565b918252602082015260400190565b92835260208301919091521515604082015260600190565b9283526020830191909152604082015260600190565b948552602085019390935260408401919091526060830152608082015260a00190565b60006101608d83528c60208401528b60408401528a60608401528960808401528860a08401528760c08401528660e084015280610100840152615b668184018761560f565b9415156101208401525050901515610140909101529998505050505050505050565b60006101208b83528a60208401528960408401528860608401528760808401528660a08401528560c08401528460e084015280610100840152615bcd81840185615652565b9c9b505050505050505050505050565b6040518181016001600160401b0381118282101715615bf857fe5b604052919050565b60006001600160401b03821115615c1357fe5b5060209081020190565b60e01c90565b600060443d1015615c335761089c565b600481823e6308c379a0615c478251615c1d565b14615c515761089c565b6040513d600319016004823e80513d6001600160401b038160248401118184111715615c80575050505061089c565b82840192508251915080821115615c9a575050505061089c565b503d83016020828401011115615cb25750505061089c565b601f01601f1916810160200160405291505090565b6001600160a01b0381168114610b1557600080fd5b8015158114610b1557600080fdfe6572722066616c6c6261636b20696e69742065706f636820666f722072657665616c6572722063616c6c696e672075706461746541637469766556616c696461746f72736572722063616c6c696e67206368696c6c4e6f6e72657665616c696e674461746150726f7669646572735265776172642065706f6368206475726174696f6e20636f6e646974696f6e20696e76616c69646572722066616c6c6261636b2066696e616c697a652070726963652065706f6368a2646970667358221220279690ad2abb61d5fc3600cdca2e181999a85944028f25ee8005310983ed702c64736f6c63430007060033",
|
|
1671
|
+
"linkReferences": {
|
|
1672
|
+
"contracts/ftso/lib/FtsoManagement.sol": {
|
|
1673
|
+
"FtsoManagement": [
|
|
1674
|
+
{
|
|
1675
|
+
"length": 20,
|
|
1676
|
+
"start": 9845
|
|
1677
|
+
},
|
|
1678
|
+
{
|
|
1679
|
+
"length": 20,
|
|
1680
|
+
"start": 10413
|
|
1681
|
+
},
|
|
1682
|
+
{
|
|
1683
|
+
"length": 20,
|
|
1684
|
+
"start": 10879
|
|
1685
|
+
},
|
|
1686
|
+
{
|
|
1687
|
+
"length": 20,
|
|
1688
|
+
"start": 13707
|
|
1689
|
+
},
|
|
1690
|
+
{
|
|
1691
|
+
"length": 20,
|
|
1692
|
+
"start": 13834
|
|
1693
|
+
}
|
|
1694
|
+
]
|
|
1695
|
+
}
|
|
1696
|
+
},
|
|
1697
|
+
"deployedLinkReferences": {
|
|
1698
|
+
"contracts/ftso/lib/FtsoManagement.sol": {
|
|
1699
|
+
"FtsoManagement": [
|
|
1700
|
+
{
|
|
1701
|
+
"length": 20,
|
|
1702
|
+
"start": 8037
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
"length": 20,
|
|
1706
|
+
"start": 8605
|
|
1707
|
+
},
|
|
1708
|
+
{
|
|
1709
|
+
"length": 20,
|
|
1710
|
+
"start": 9071
|
|
1711
|
+
},
|
|
1712
|
+
{
|
|
1713
|
+
"length": 20,
|
|
1714
|
+
"start": 11899
|
|
1715
|
+
},
|
|
1716
|
+
{
|
|
1717
|
+
"length": 20,
|
|
1718
|
+
"start": 12026
|
|
1719
|
+
}
|
|
1720
|
+
]
|
|
1721
|
+
}
|
|
1722
|
+
}
|
|
1111
1723
|
}
|