@keep-network/tbtc-v2 0.1.1-dev.10 → 0.1.1-dev.102

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.
Files changed (133) hide show
  1. package/README.adoc +12 -0
  2. package/artifacts/Bank.json +807 -0
  3. package/artifacts/Bridge.json +2300 -0
  4. package/artifacts/BridgeGovernance.json +2931 -0
  5. package/artifacts/BridgeGovernanceParameters.json +1445 -0
  6. package/artifacts/Deposit.json +117 -0
  7. package/artifacts/DepositSweep.json +77 -0
  8. package/artifacts/EcdsaDkgValidator.json +532 -0
  9. package/artifacts/EcdsaInactivity.json +156 -0
  10. package/artifacts/EcdsaSortitionPool.json +1004 -0
  11. package/artifacts/Fraud.json +164 -0
  12. package/artifacts/KeepRegistry.json +99 -0
  13. package/artifacts/KeepStake.json +286 -0
  14. package/artifacts/KeepToken.json +711 -0
  15. package/artifacts/KeepTokenStaking.json +483 -0
  16. package/artifacts/MaintainerProxy.json +1522 -0
  17. package/artifacts/MovingFunds.json +249 -0
  18. package/artifacts/NuCypherStakingEscrow.json +256 -0
  19. package/artifacts/NuCypherToken.json +711 -0
  20. package/artifacts/RandomBeaconStub.json +141 -0
  21. package/artifacts/Redemption.json +174 -0
  22. package/artifacts/ReimbursementPool.json +509 -0
  23. package/artifacts/Relay.json +123 -0
  24. package/artifacts/T.json +1148 -0
  25. package/artifacts/TBTC.json +27 -26
  26. package/artifacts/TBTCToken.json +27 -26
  27. package/artifacts/TBTCVault.json +691 -0
  28. package/artifacts/TokenStaking.json +2288 -0
  29. package/artifacts/TokenholderGovernor.json +1795 -0
  30. package/artifacts/TokenholderTimelock.json +1058 -0
  31. package/artifacts/VendingMachine.json +31 -30
  32. package/artifacts/VendingMachineKeep.json +400 -0
  33. package/artifacts/VendingMachineNuCypher.json +400 -0
  34. package/artifacts/WalletRegistry.json +1843 -0
  35. package/artifacts/WalletRegistryGovernance.json +2754 -0
  36. package/artifacts/Wallets.json +186 -0
  37. package/artifacts/solcInputs/f53bc10568b6d3c32d2989742aa1c456.json +323 -0
  38. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  39. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.json +2 -2
  40. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  41. package/build/contracts/bank/Bank.sol/Bank.json +10 -5
  42. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +4 -0
  43. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.json +34 -0
  44. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  45. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +2 -2
  46. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  47. package/build/contracts/bridge/Bridge.sol/Bridge.json +2549 -198
  48. package/build/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.dbg.json +4 -0
  49. package/build/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.json +2246 -0
  50. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +4 -0
  51. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.json +971 -0
  52. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +4 -0
  53. package/build/contracts/bridge/BridgeState.sol/BridgeState.json +226 -0
  54. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +4 -0
  55. package/build/contracts/bridge/Deposit.sol/Deposit.json +72 -0
  56. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +4 -0
  57. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +30 -0
  58. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +4 -0
  59. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.json +10 -0
  60. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +4 -0
  61. package/build/contracts/bridge/Fraud.sol/Fraud.json +86 -0
  62. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +4 -0
  63. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.json +10 -0
  64. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +4 -0
  65. package/build/contracts/bridge/IRelay.sol/IRelay.json +37 -0
  66. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +4 -0
  67. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +138 -0
  68. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +4 -0
  69. package/build/contracts/bridge/Redemption.sol/OutboundTx.json +10 -0
  70. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +4 -0
  71. package/build/contracts/bridge/Redemption.sol/Redemption.json +92 -0
  72. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  73. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
  74. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +4 -0
  75. package/build/contracts/bridge/Wallets.sol/Wallets.json +112 -0
  76. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +4 -0
  77. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +1111 -0
  78. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  79. package/build/contracts/token/TBTC.sol/TBTC.json +2 -2
  80. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +4 -0
  81. package/build/contracts/vault/DonationVault.sol/DonationVault.json +108 -0
  82. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  83. package/build/contracts/vault/IVault.sol/IVault.json +5 -0
  84. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  85. package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +273 -5
  86. package/contracts/GovernanceUtils.sol +4 -4
  87. package/contracts/bank/Bank.sol +113 -66
  88. package/contracts/bank/IReceiveBalanceApproval.sol +45 -0
  89. package/contracts/bridge/BitcoinTx.sol +267 -10
  90. package/contracts/bridge/Bridge.sol +1698 -245
  91. package/contracts/bridge/BridgeGovernance.sol +1533 -0
  92. package/contracts/bridge/BridgeGovernanceParameters.sol +1695 -0
  93. package/contracts/bridge/BridgeState.sol +768 -0
  94. package/contracts/bridge/Deposit.sol +269 -0
  95. package/contracts/bridge/DepositSweep.sol +574 -0
  96. package/contracts/bridge/EcdsaLib.sol +45 -0
  97. package/contracts/bridge/Fraud.sol +579 -0
  98. package/contracts/bridge/Heartbeat.sol +112 -0
  99. package/contracts/bridge/IRelay.sol +28 -0
  100. package/contracts/bridge/MovingFunds.sol +1077 -0
  101. package/contracts/bridge/Redemption.sol +1058 -0
  102. package/contracts/bridge/VendingMachine.sol +2 -2
  103. package/contracts/bridge/Wallets.sol +719 -0
  104. package/contracts/hardhat-dependency-compiler/.hardhat-dependency-compiler +1 -0
  105. package/contracts/hardhat-dependency-compiler/@keep-network/ecdsa/contracts/WalletRegistry.sol +3 -0
  106. package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol +3 -0
  107. package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +3 -0
  108. package/contracts/maintainer/MaintainerProxy.sol +512 -0
  109. package/contracts/token/TBTC.sol +1 -1
  110. package/contracts/vault/DonationVault.sol +125 -0
  111. package/contracts/vault/IVault.sol +6 -22
  112. package/contracts/vault/TBTCVault.sol +188 -29
  113. package/deploy/00_resolve_relay.ts +28 -0
  114. package/deploy/{03_transfer_roles.ts → 03_transfer_vending_machine_roles.ts} +1 -1
  115. package/deploy/04_deploy_bank.ts +27 -0
  116. package/deploy/05_deploy_bridge.ts +80 -0
  117. package/deploy/06_deploy_tbtc_vault.ts +30 -0
  118. package/deploy/07_deploy_bridge_governance.ts +40 -0
  119. package/deploy/08_deploy_maintainer_proxy.ts +30 -0
  120. package/deploy/09_bank_update_bridge.ts +19 -0
  121. package/deploy/10_transfer_bank_ownership.ts +15 -0
  122. package/deploy/11_transfer_bridge_governance.ts +22 -0
  123. package/deploy/12_transfer_bridge_governance_ownership.ts +19 -0
  124. package/deploy/13_transfer_tbtc_vault_ownership.ts +15 -0
  125. package/deploy/14_transfer_maintainer_proxy_ownership.ts +19 -0
  126. package/deploy/15_initialize_wallet_owner.ts +18 -0
  127. package/deploy/16_transfer_proxy_admin_ownership.ts +30 -0
  128. package/deploy/17_authorize_maintainer_proxy.ts +22 -0
  129. package/deploy/18_transfer_reimbursement_pool_ownership.ts +19 -0
  130. package/deploy/19_deploy_proxy_admin_with_deputy.ts +33 -0
  131. package/export.json +19544 -404
  132. package/package.json +34 -26
  133. package/artifacts/solcInputs/524094faac10a04084fcc411e06dab84.json +0 -128
@@ -0,0 +1,971 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BridgeGovernanceParameters",
4
+ "sourceName": "contracts/bridge/BridgeGovernanceParameters.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "uint64",
12
+ "name": "newDepositDustThreshold",
13
+ "type": "uint64"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "uint256",
18
+ "name": "timestamp",
19
+ "type": "uint256"
20
+ }
21
+ ],
22
+ "name": "DepositDustThresholdUpdateStarted",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": false,
30
+ "internalType": "uint64",
31
+ "name": "depositDustThreshold",
32
+ "type": "uint64"
33
+ }
34
+ ],
35
+ "name": "DepositDustThresholdUpdated",
36
+ "type": "event"
37
+ },
38
+ {
39
+ "anonymous": false,
40
+ "inputs": [
41
+ {
42
+ "indexed": false,
43
+ "internalType": "uint64",
44
+ "name": "depositTreasuryFeeDivisor",
45
+ "type": "uint64"
46
+ },
47
+ {
48
+ "indexed": false,
49
+ "internalType": "uint256",
50
+ "name": "timestamp",
51
+ "type": "uint256"
52
+ }
53
+ ],
54
+ "name": "DepositTreasuryFeeDivisorUpdateStarted",
55
+ "type": "event"
56
+ },
57
+ {
58
+ "anonymous": false,
59
+ "inputs": [
60
+ {
61
+ "indexed": false,
62
+ "internalType": "uint64",
63
+ "name": "depositTreasuryFeeDivisor",
64
+ "type": "uint64"
65
+ }
66
+ ],
67
+ "name": "DepositTreasuryFeeDivisorUpdated",
68
+ "type": "event"
69
+ },
70
+ {
71
+ "anonymous": false,
72
+ "inputs": [
73
+ {
74
+ "indexed": false,
75
+ "internalType": "uint64",
76
+ "name": "newDepositTxMaxFee",
77
+ "type": "uint64"
78
+ },
79
+ {
80
+ "indexed": false,
81
+ "internalType": "uint256",
82
+ "name": "timestamp",
83
+ "type": "uint256"
84
+ }
85
+ ],
86
+ "name": "DepositTxMaxFeeUpdateStarted",
87
+ "type": "event"
88
+ },
89
+ {
90
+ "anonymous": false,
91
+ "inputs": [
92
+ {
93
+ "indexed": false,
94
+ "internalType": "uint64",
95
+ "name": "depositTxMaxFee",
96
+ "type": "uint64"
97
+ }
98
+ ],
99
+ "name": "DepositTxMaxFeeUpdated",
100
+ "type": "event"
101
+ },
102
+ {
103
+ "anonymous": false,
104
+ "inputs": [
105
+ {
106
+ "indexed": false,
107
+ "internalType": "uint32",
108
+ "name": "newFraudChallengeDefeatTimeout",
109
+ "type": "uint32"
110
+ },
111
+ {
112
+ "indexed": false,
113
+ "internalType": "uint256",
114
+ "name": "timestamp",
115
+ "type": "uint256"
116
+ }
117
+ ],
118
+ "name": "FraudChallengeDefeatTimeoutUpdateStarted",
119
+ "type": "event"
120
+ },
121
+ {
122
+ "anonymous": false,
123
+ "inputs": [
124
+ {
125
+ "indexed": false,
126
+ "internalType": "uint32",
127
+ "name": "fraudChallengeDefeatTimeout",
128
+ "type": "uint32"
129
+ }
130
+ ],
131
+ "name": "FraudChallengeDefeatTimeoutUpdated",
132
+ "type": "event"
133
+ },
134
+ {
135
+ "anonymous": false,
136
+ "inputs": [
137
+ {
138
+ "indexed": false,
139
+ "internalType": "uint96",
140
+ "name": "newFraudChallengeDepositAmount",
141
+ "type": "uint96"
142
+ },
143
+ {
144
+ "indexed": false,
145
+ "internalType": "uint256",
146
+ "name": "timestamp",
147
+ "type": "uint256"
148
+ }
149
+ ],
150
+ "name": "FraudChallengeDepositAmountUpdateStarted",
151
+ "type": "event"
152
+ },
153
+ {
154
+ "anonymous": false,
155
+ "inputs": [
156
+ {
157
+ "indexed": false,
158
+ "internalType": "uint96",
159
+ "name": "fraudChallengeDepositAmount",
160
+ "type": "uint96"
161
+ }
162
+ ],
163
+ "name": "FraudChallengeDepositAmountUpdated",
164
+ "type": "event"
165
+ },
166
+ {
167
+ "anonymous": false,
168
+ "inputs": [
169
+ {
170
+ "indexed": false,
171
+ "internalType": "uint32",
172
+ "name": "newFraudNotifierRewardMultiplier",
173
+ "type": "uint32"
174
+ },
175
+ {
176
+ "indexed": false,
177
+ "internalType": "uint256",
178
+ "name": "timestamp",
179
+ "type": "uint256"
180
+ }
181
+ ],
182
+ "name": "FraudNotifierRewardMultiplierUpdateStarted",
183
+ "type": "event"
184
+ },
185
+ {
186
+ "anonymous": false,
187
+ "inputs": [
188
+ {
189
+ "indexed": false,
190
+ "internalType": "uint32",
191
+ "name": "fraudNotifierRewardMultiplier",
192
+ "type": "uint32"
193
+ }
194
+ ],
195
+ "name": "FraudNotifierRewardMultiplierUpdated",
196
+ "type": "event"
197
+ },
198
+ {
199
+ "anonymous": false,
200
+ "inputs": [
201
+ {
202
+ "indexed": false,
203
+ "internalType": "uint96",
204
+ "name": "newFraudSlashingAmount",
205
+ "type": "uint96"
206
+ },
207
+ {
208
+ "indexed": false,
209
+ "internalType": "uint256",
210
+ "name": "timestamp",
211
+ "type": "uint256"
212
+ }
213
+ ],
214
+ "name": "FraudSlashingAmountUpdateStarted",
215
+ "type": "event"
216
+ },
217
+ {
218
+ "anonymous": false,
219
+ "inputs": [
220
+ {
221
+ "indexed": false,
222
+ "internalType": "uint96",
223
+ "name": "fraudSlashingAmount",
224
+ "type": "uint96"
225
+ }
226
+ ],
227
+ "name": "FraudSlashingAmountUpdated",
228
+ "type": "event"
229
+ },
230
+ {
231
+ "anonymous": false,
232
+ "inputs": [
233
+ {
234
+ "indexed": false,
235
+ "internalType": "uint32",
236
+ "name": "newMovedFundsSweepTimeoutNotifierRewardMultiplier",
237
+ "type": "uint32"
238
+ },
239
+ {
240
+ "indexed": false,
241
+ "internalType": "uint256",
242
+ "name": "timestamp",
243
+ "type": "uint256"
244
+ }
245
+ ],
246
+ "name": "MovedFundsSweepTimeoutNotifierRewardMultiplierUpdateStarted",
247
+ "type": "event"
248
+ },
249
+ {
250
+ "anonymous": false,
251
+ "inputs": [
252
+ {
253
+ "indexed": false,
254
+ "internalType": "uint32",
255
+ "name": "movedFundsSweepTimeoutNotifierRewardMultiplier",
256
+ "type": "uint32"
257
+ }
258
+ ],
259
+ "name": "MovedFundsSweepTimeoutNotifierRewardMultiplierUpdated",
260
+ "type": "event"
261
+ },
262
+ {
263
+ "anonymous": false,
264
+ "inputs": [
265
+ {
266
+ "indexed": false,
267
+ "internalType": "uint96",
268
+ "name": "newMovedFundsSweepTimeoutSlashingAmount",
269
+ "type": "uint96"
270
+ },
271
+ {
272
+ "indexed": false,
273
+ "internalType": "uint256",
274
+ "name": "timestamp",
275
+ "type": "uint256"
276
+ }
277
+ ],
278
+ "name": "MovedFundsSweepTimeoutSlashingAmountUpdateStarted",
279
+ "type": "event"
280
+ },
281
+ {
282
+ "anonymous": false,
283
+ "inputs": [
284
+ {
285
+ "indexed": false,
286
+ "internalType": "uint96",
287
+ "name": "movedFundsSweepTimeoutSlashingAmount",
288
+ "type": "uint96"
289
+ }
290
+ ],
291
+ "name": "MovedFundsSweepTimeoutSlashingAmountUpdated",
292
+ "type": "event"
293
+ },
294
+ {
295
+ "anonymous": false,
296
+ "inputs": [
297
+ {
298
+ "indexed": false,
299
+ "internalType": "uint32",
300
+ "name": "newMovedFundsSweepTimeout",
301
+ "type": "uint32"
302
+ },
303
+ {
304
+ "indexed": false,
305
+ "internalType": "uint256",
306
+ "name": "timestamp",
307
+ "type": "uint256"
308
+ }
309
+ ],
310
+ "name": "MovedFundsSweepTimeoutUpdateStarted",
311
+ "type": "event"
312
+ },
313
+ {
314
+ "anonymous": false,
315
+ "inputs": [
316
+ {
317
+ "indexed": false,
318
+ "internalType": "uint32",
319
+ "name": "movedFundsSweepTimeout",
320
+ "type": "uint32"
321
+ }
322
+ ],
323
+ "name": "MovedFundsSweepTimeoutUpdated",
324
+ "type": "event"
325
+ },
326
+ {
327
+ "anonymous": false,
328
+ "inputs": [
329
+ {
330
+ "indexed": false,
331
+ "internalType": "uint64",
332
+ "name": "newMovedFundsSweepTxMaxTotalFee",
333
+ "type": "uint64"
334
+ },
335
+ {
336
+ "indexed": false,
337
+ "internalType": "uint256",
338
+ "name": "timestamp",
339
+ "type": "uint256"
340
+ }
341
+ ],
342
+ "name": "MovedFundsSweepTxMaxTotalFeeUpdateStarted",
343
+ "type": "event"
344
+ },
345
+ {
346
+ "anonymous": false,
347
+ "inputs": [
348
+ {
349
+ "indexed": false,
350
+ "internalType": "uint64",
351
+ "name": "movedFundsSweepTxMaxTotalFee",
352
+ "type": "uint64"
353
+ }
354
+ ],
355
+ "name": "MovedFundsSweepTxMaxTotalFeeUpdated",
356
+ "type": "event"
357
+ },
358
+ {
359
+ "anonymous": false,
360
+ "inputs": [
361
+ {
362
+ "indexed": false,
363
+ "internalType": "uint64",
364
+ "name": "newMovingFundsDustThreshold",
365
+ "type": "uint64"
366
+ },
367
+ {
368
+ "indexed": false,
369
+ "internalType": "uint256",
370
+ "name": "timestamp",
371
+ "type": "uint256"
372
+ }
373
+ ],
374
+ "name": "MovingFundsDustThresholdUpdateStarted",
375
+ "type": "event"
376
+ },
377
+ {
378
+ "anonymous": false,
379
+ "inputs": [
380
+ {
381
+ "indexed": false,
382
+ "internalType": "uint64",
383
+ "name": "movingFundsDustThreshold",
384
+ "type": "uint64"
385
+ }
386
+ ],
387
+ "name": "MovingFundsDustThresholdUpdated",
388
+ "type": "event"
389
+ },
390
+ {
391
+ "anonymous": false,
392
+ "inputs": [
393
+ {
394
+ "indexed": false,
395
+ "internalType": "uint32",
396
+ "name": "newMovingFundsTimeoutNotifierRewardMultiplier",
397
+ "type": "uint32"
398
+ },
399
+ {
400
+ "indexed": false,
401
+ "internalType": "uint256",
402
+ "name": "timestamp",
403
+ "type": "uint256"
404
+ }
405
+ ],
406
+ "name": "MovingFundsTimeoutNotifierRewardMultiplierUpdateStarted",
407
+ "type": "event"
408
+ },
409
+ {
410
+ "anonymous": false,
411
+ "inputs": [
412
+ {
413
+ "indexed": false,
414
+ "internalType": "uint32",
415
+ "name": "movingFundsTimeoutNotifierRewardMultiplier",
416
+ "type": "uint32"
417
+ }
418
+ ],
419
+ "name": "MovingFundsTimeoutNotifierRewardMultiplierUpdated",
420
+ "type": "event"
421
+ },
422
+ {
423
+ "anonymous": false,
424
+ "inputs": [
425
+ {
426
+ "indexed": false,
427
+ "internalType": "uint32",
428
+ "name": "newMovingFundsTimeoutResetDelay",
429
+ "type": "uint32"
430
+ },
431
+ {
432
+ "indexed": false,
433
+ "internalType": "uint256",
434
+ "name": "timestamp",
435
+ "type": "uint256"
436
+ }
437
+ ],
438
+ "name": "MovingFundsTimeoutResetDelayUpdateStarted",
439
+ "type": "event"
440
+ },
441
+ {
442
+ "anonymous": false,
443
+ "inputs": [
444
+ {
445
+ "indexed": false,
446
+ "internalType": "uint32",
447
+ "name": "movingFundsTimeoutResetDelay",
448
+ "type": "uint32"
449
+ }
450
+ ],
451
+ "name": "MovingFundsTimeoutResetDelayUpdated",
452
+ "type": "event"
453
+ },
454
+ {
455
+ "anonymous": false,
456
+ "inputs": [
457
+ {
458
+ "indexed": false,
459
+ "internalType": "uint96",
460
+ "name": "newMovingFundsTimeoutSlashingAmount",
461
+ "type": "uint96"
462
+ },
463
+ {
464
+ "indexed": false,
465
+ "internalType": "uint256",
466
+ "name": "timestamp",
467
+ "type": "uint256"
468
+ }
469
+ ],
470
+ "name": "MovingFundsTimeoutSlashingAmountUpdateStarted",
471
+ "type": "event"
472
+ },
473
+ {
474
+ "anonymous": false,
475
+ "inputs": [
476
+ {
477
+ "indexed": false,
478
+ "internalType": "uint96",
479
+ "name": "movingFundsTimeoutSlashingAmount",
480
+ "type": "uint96"
481
+ }
482
+ ],
483
+ "name": "MovingFundsTimeoutSlashingAmountUpdated",
484
+ "type": "event"
485
+ },
486
+ {
487
+ "anonymous": false,
488
+ "inputs": [
489
+ {
490
+ "indexed": false,
491
+ "internalType": "uint32",
492
+ "name": "newMovingFundsTimeout",
493
+ "type": "uint32"
494
+ },
495
+ {
496
+ "indexed": false,
497
+ "internalType": "uint256",
498
+ "name": "timestamp",
499
+ "type": "uint256"
500
+ }
501
+ ],
502
+ "name": "MovingFundsTimeoutUpdateStarted",
503
+ "type": "event"
504
+ },
505
+ {
506
+ "anonymous": false,
507
+ "inputs": [
508
+ {
509
+ "indexed": false,
510
+ "internalType": "uint32",
511
+ "name": "movingFundsTimeout",
512
+ "type": "uint32"
513
+ }
514
+ ],
515
+ "name": "MovingFundsTimeoutUpdated",
516
+ "type": "event"
517
+ },
518
+ {
519
+ "anonymous": false,
520
+ "inputs": [
521
+ {
522
+ "indexed": false,
523
+ "internalType": "uint64",
524
+ "name": "newMovingFundsTxMaxTotalFee",
525
+ "type": "uint64"
526
+ },
527
+ {
528
+ "indexed": false,
529
+ "internalType": "uint256",
530
+ "name": "timestamp",
531
+ "type": "uint256"
532
+ }
533
+ ],
534
+ "name": "MovingFundsTxMaxTotalFeeUpdateStarted",
535
+ "type": "event"
536
+ },
537
+ {
538
+ "anonymous": false,
539
+ "inputs": [
540
+ {
541
+ "indexed": false,
542
+ "internalType": "uint64",
543
+ "name": "movingFundsTxMaxTotalFee",
544
+ "type": "uint64"
545
+ }
546
+ ],
547
+ "name": "MovingFundsTxMaxTotalFeeUpdated",
548
+ "type": "event"
549
+ },
550
+ {
551
+ "anonymous": false,
552
+ "inputs": [
553
+ {
554
+ "indexed": false,
555
+ "internalType": "uint64",
556
+ "name": "newRedemptionDustThreshold",
557
+ "type": "uint64"
558
+ },
559
+ {
560
+ "indexed": false,
561
+ "internalType": "uint256",
562
+ "name": "timestamp",
563
+ "type": "uint256"
564
+ }
565
+ ],
566
+ "name": "RedemptionDustThresholdUpdateStarted",
567
+ "type": "event"
568
+ },
569
+ {
570
+ "anonymous": false,
571
+ "inputs": [
572
+ {
573
+ "indexed": false,
574
+ "internalType": "uint64",
575
+ "name": "redemptionDustThreshold",
576
+ "type": "uint64"
577
+ }
578
+ ],
579
+ "name": "RedemptionDustThresholdUpdated",
580
+ "type": "event"
581
+ },
582
+ {
583
+ "anonymous": false,
584
+ "inputs": [
585
+ {
586
+ "indexed": false,
587
+ "internalType": "uint32",
588
+ "name": "newRedemptionTimeoutNotifierRewardMultiplier",
589
+ "type": "uint32"
590
+ },
591
+ {
592
+ "indexed": false,
593
+ "internalType": "uint256",
594
+ "name": "timestamp",
595
+ "type": "uint256"
596
+ }
597
+ ],
598
+ "name": "RedemptionTimeoutNotifierRewardMultiplierUpdateStarted",
599
+ "type": "event"
600
+ },
601
+ {
602
+ "anonymous": false,
603
+ "inputs": [
604
+ {
605
+ "indexed": false,
606
+ "internalType": "uint32",
607
+ "name": "redemptionTimeoutNotifierRewardMultiplier",
608
+ "type": "uint32"
609
+ }
610
+ ],
611
+ "name": "RedemptionTimeoutNotifierRewardMultiplierUpdated",
612
+ "type": "event"
613
+ },
614
+ {
615
+ "anonymous": false,
616
+ "inputs": [
617
+ {
618
+ "indexed": false,
619
+ "internalType": "uint96",
620
+ "name": "newRedemptionTimeoutSlashingAmount",
621
+ "type": "uint96"
622
+ },
623
+ {
624
+ "indexed": false,
625
+ "internalType": "uint256",
626
+ "name": "timestamp",
627
+ "type": "uint256"
628
+ }
629
+ ],
630
+ "name": "RedemptionTimeoutSlashingAmountUpdateStarted",
631
+ "type": "event"
632
+ },
633
+ {
634
+ "anonymous": false,
635
+ "inputs": [
636
+ {
637
+ "indexed": false,
638
+ "internalType": "uint96",
639
+ "name": "redemptionTimeoutSlashingAmount",
640
+ "type": "uint96"
641
+ }
642
+ ],
643
+ "name": "RedemptionTimeoutSlashingAmountUpdated",
644
+ "type": "event"
645
+ },
646
+ {
647
+ "anonymous": false,
648
+ "inputs": [
649
+ {
650
+ "indexed": false,
651
+ "internalType": "uint32",
652
+ "name": "newRedemptionTimeout",
653
+ "type": "uint32"
654
+ },
655
+ {
656
+ "indexed": false,
657
+ "internalType": "uint256",
658
+ "name": "timestamp",
659
+ "type": "uint256"
660
+ }
661
+ ],
662
+ "name": "RedemptionTimeoutUpdateStarted",
663
+ "type": "event"
664
+ },
665
+ {
666
+ "anonymous": false,
667
+ "inputs": [
668
+ {
669
+ "indexed": false,
670
+ "internalType": "uint32",
671
+ "name": "redemptionTimeout",
672
+ "type": "uint32"
673
+ }
674
+ ],
675
+ "name": "RedemptionTimeoutUpdated",
676
+ "type": "event"
677
+ },
678
+ {
679
+ "anonymous": false,
680
+ "inputs": [
681
+ {
682
+ "indexed": false,
683
+ "internalType": "uint64",
684
+ "name": "newRedemptionTreasuryFeeDivisor",
685
+ "type": "uint64"
686
+ },
687
+ {
688
+ "indexed": false,
689
+ "internalType": "uint256",
690
+ "name": "timestamp",
691
+ "type": "uint256"
692
+ }
693
+ ],
694
+ "name": "RedemptionTreasuryFeeDivisorUpdateStarted",
695
+ "type": "event"
696
+ },
697
+ {
698
+ "anonymous": false,
699
+ "inputs": [
700
+ {
701
+ "indexed": false,
702
+ "internalType": "uint64",
703
+ "name": "redemptionTreasuryFeeDivisor",
704
+ "type": "uint64"
705
+ }
706
+ ],
707
+ "name": "RedemptionTreasuryFeeDivisorUpdated",
708
+ "type": "event"
709
+ },
710
+ {
711
+ "anonymous": false,
712
+ "inputs": [
713
+ {
714
+ "indexed": false,
715
+ "internalType": "uint64",
716
+ "name": "newRedemptionTxMaxFee",
717
+ "type": "uint64"
718
+ },
719
+ {
720
+ "indexed": false,
721
+ "internalType": "uint256",
722
+ "name": "timestamp",
723
+ "type": "uint256"
724
+ }
725
+ ],
726
+ "name": "RedemptionTxMaxFeeUpdateStarted",
727
+ "type": "event"
728
+ },
729
+ {
730
+ "anonymous": false,
731
+ "inputs": [
732
+ {
733
+ "indexed": false,
734
+ "internalType": "uint64",
735
+ "name": "redemptionTxMaxFee",
736
+ "type": "uint64"
737
+ }
738
+ ],
739
+ "name": "RedemptionTxMaxFeeUpdated",
740
+ "type": "event"
741
+ },
742
+ {
743
+ "anonymous": false,
744
+ "inputs": [
745
+ {
746
+ "indexed": false,
747
+ "internalType": "uint32",
748
+ "name": "newWalletClosingPeriod",
749
+ "type": "uint32"
750
+ },
751
+ {
752
+ "indexed": false,
753
+ "internalType": "uint256",
754
+ "name": "timestamp",
755
+ "type": "uint256"
756
+ }
757
+ ],
758
+ "name": "WalletClosingPeriodUpdateStarted",
759
+ "type": "event"
760
+ },
761
+ {
762
+ "anonymous": false,
763
+ "inputs": [
764
+ {
765
+ "indexed": false,
766
+ "internalType": "uint32",
767
+ "name": "walletClosingPeriod",
768
+ "type": "uint32"
769
+ }
770
+ ],
771
+ "name": "WalletClosingPeriodUpdated",
772
+ "type": "event"
773
+ },
774
+ {
775
+ "anonymous": false,
776
+ "inputs": [
777
+ {
778
+ "indexed": false,
779
+ "internalType": "uint64",
780
+ "name": "newWalletClosureMinBtcBalance",
781
+ "type": "uint64"
782
+ },
783
+ {
784
+ "indexed": false,
785
+ "internalType": "uint256",
786
+ "name": "timestamp",
787
+ "type": "uint256"
788
+ }
789
+ ],
790
+ "name": "WalletClosureMinBtcBalanceUpdateStarted",
791
+ "type": "event"
792
+ },
793
+ {
794
+ "anonymous": false,
795
+ "inputs": [
796
+ {
797
+ "indexed": false,
798
+ "internalType": "uint64",
799
+ "name": "walletClosureMinBtcBalance",
800
+ "type": "uint64"
801
+ }
802
+ ],
803
+ "name": "WalletClosureMinBtcBalanceUpdated",
804
+ "type": "event"
805
+ },
806
+ {
807
+ "anonymous": false,
808
+ "inputs": [
809
+ {
810
+ "indexed": false,
811
+ "internalType": "uint64",
812
+ "name": "newWalletCreationMaxBtcBalance",
813
+ "type": "uint64"
814
+ },
815
+ {
816
+ "indexed": false,
817
+ "internalType": "uint256",
818
+ "name": "timestamp",
819
+ "type": "uint256"
820
+ }
821
+ ],
822
+ "name": "WalletCreationMaxBtcBalanceUpdateStarted",
823
+ "type": "event"
824
+ },
825
+ {
826
+ "anonymous": false,
827
+ "inputs": [
828
+ {
829
+ "indexed": false,
830
+ "internalType": "uint64",
831
+ "name": "walletCreationMaxBtcBalance",
832
+ "type": "uint64"
833
+ }
834
+ ],
835
+ "name": "WalletCreationMaxBtcBalanceUpdated",
836
+ "type": "event"
837
+ },
838
+ {
839
+ "anonymous": false,
840
+ "inputs": [
841
+ {
842
+ "indexed": false,
843
+ "internalType": "uint64",
844
+ "name": "newWalletCreationMinBtcBalance",
845
+ "type": "uint64"
846
+ },
847
+ {
848
+ "indexed": false,
849
+ "internalType": "uint256",
850
+ "name": "timestamp",
851
+ "type": "uint256"
852
+ }
853
+ ],
854
+ "name": "WalletCreationMinBtcBalanceUpdateStarted",
855
+ "type": "event"
856
+ },
857
+ {
858
+ "anonymous": false,
859
+ "inputs": [
860
+ {
861
+ "indexed": false,
862
+ "internalType": "uint64",
863
+ "name": "walletCreationMinBtcBalance",
864
+ "type": "uint64"
865
+ }
866
+ ],
867
+ "name": "WalletCreationMinBtcBalanceUpdated",
868
+ "type": "event"
869
+ },
870
+ {
871
+ "anonymous": false,
872
+ "inputs": [
873
+ {
874
+ "indexed": false,
875
+ "internalType": "uint32",
876
+ "name": "newWalletCreationPeriod",
877
+ "type": "uint32"
878
+ },
879
+ {
880
+ "indexed": false,
881
+ "internalType": "uint256",
882
+ "name": "timestamp",
883
+ "type": "uint256"
884
+ }
885
+ ],
886
+ "name": "WalletCreationPeriodUpdateStarted",
887
+ "type": "event"
888
+ },
889
+ {
890
+ "anonymous": false,
891
+ "inputs": [
892
+ {
893
+ "indexed": false,
894
+ "internalType": "uint32",
895
+ "name": "walletCreationPeriod",
896
+ "type": "uint32"
897
+ }
898
+ ],
899
+ "name": "WalletCreationPeriodUpdated",
900
+ "type": "event"
901
+ },
902
+ {
903
+ "anonymous": false,
904
+ "inputs": [
905
+ {
906
+ "indexed": false,
907
+ "internalType": "uint32",
908
+ "name": "newWalletMaxAge",
909
+ "type": "uint32"
910
+ },
911
+ {
912
+ "indexed": false,
913
+ "internalType": "uint256",
914
+ "name": "timestamp",
915
+ "type": "uint256"
916
+ }
917
+ ],
918
+ "name": "WalletMaxAgeUpdateStarted",
919
+ "type": "event"
920
+ },
921
+ {
922
+ "anonymous": false,
923
+ "inputs": [
924
+ {
925
+ "indexed": false,
926
+ "internalType": "uint32",
927
+ "name": "walletMaxAge",
928
+ "type": "uint32"
929
+ }
930
+ ],
931
+ "name": "WalletMaxAgeUpdated",
932
+ "type": "event"
933
+ },
934
+ {
935
+ "anonymous": false,
936
+ "inputs": [
937
+ {
938
+ "indexed": false,
939
+ "internalType": "uint64",
940
+ "name": "newWalletMaxBtcTransfer",
941
+ "type": "uint64"
942
+ },
943
+ {
944
+ "indexed": false,
945
+ "internalType": "uint256",
946
+ "name": "timestamp",
947
+ "type": "uint256"
948
+ }
949
+ ],
950
+ "name": "WalletMaxBtcTransferUpdateStarted",
951
+ "type": "event"
952
+ },
953
+ {
954
+ "anonymous": false,
955
+ "inputs": [
956
+ {
957
+ "indexed": false,
958
+ "internalType": "uint64",
959
+ "name": "walletMaxBtcTransfer",
960
+ "type": "uint64"
961
+ }
962
+ ],
963
+ "name": "WalletMaxBtcTransferUpdated",
964
+ "type": "event"
965
+ }
966
+ ],
967
+ "bytecode": "0x6131de61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106103b95760003560e01c80638f53d804116101fe578063c6244eda11610124578063e61a7886116100b7578063f173110a11610086578063f173110a14610afb578063f543e37d14610b28578063f818e43c14610b48578063ffbe062714610b6857600080fd5b8063e61a788614610a7b578063e961fd9e14610a9b578063ec9f476014610abb578063f08cac3914610adb57600080fd5b8063d6964b97116100f3578063d6964b97146109fb578063dbf8380314610a1b578063dcce6cc814610a3b578063e37b9e1b14610a5b57600080fd5b8063c6244eda14610960578063cef037d814610980578063d2a27c33146109a0578063d66d1d23146109c057600080fd5b8063a6b0e7bd1161019c578063baa939731161016b578063baa93973146108e0578063bbb64b5c14610900578063bf08acfc14610920578063c4faa8671461094057600080fd5b8063a6b0e7bd14610860578063a9e3176314610880578063ae256383146108a0578063af11623a146108c057600080fd5b806393703bc8116101d857806393703bc8146107e05780639707e9ad14610800578063a48814a514610820578063a62029f61461084057600080fd5b80638f53d8041461078057806391346cbb146107a05780639232db3f146107c057600080fd5b80634a320d9c116102e357806372c9ed96116102815780638a397dd7116102505780638a397dd7146107005780638ae0c434146107205780638c0fc65a146107405780638f2ca6451461076057600080fd5b806372c9ed96146106805780637d105c79146106a0578063810698b2146106c057806381f5c03a146106e057600080fd5b806368decba2116102bd57806368decba2146106005780636d5be9be146106205780637058858a14610640578063728bd45d1461066057600080fd5b80634a320d9c146105a057806351a3d06e146105c057806368af5021146105e057600080fd5b80632647ff621161035b5780633861f1381161032a5780633861f138146105205780633a5ade20146105405780633c127400146105605780634569ab881461058057600080fd5b80632647ff62146104a05780632d453d57146104c0578063313e9c00146104e0578063362c23721461050057600080fd5b80630c4e5686116103975780630c4e568614610420578063158c660e14610440578063161d610c146104605780631b3f064f1461048057600080fd5b806304b8e2eb146103be57806305be330f146103e05780630b5a08ed14610400575b600080fd5b8180156103ca57600080fd5b506103de6103d9366004613052565b610b88565b005b8180156103ec57600080fd5b506103de6103fb36600461307e565b610bf1565b81801561040c57600080fd5b506103de61041b36600461307e565b610cdc565b81801561042c57600080fd5b506103de61043b36600461307e565b610dc4565b81801561044c57600080fd5b506103de61045b366004613052565b610eab565b81801561046c57600080fd5b506103de61047b3660046130b4565b610f0c565b81801561048c57600080fd5b506103de61049b36600461307e565b610f60565b8180156104ac57600080fd5b506103de6104bb3660046130b4565b611047565b8180156104cc57600080fd5b506103de6104db3660046130b4565b6110a0565b8180156104ec57600080fd5b506103de6104fb3660046130b4565b6110f9565b81801561050c57600080fd5b506103de61051b36600461307e565b611152565b81801561052c57600080fd5b506103de61053b36600461307e565b611241565b81801561054c57600080fd5b506103de61055b366004613052565b61132f565b81801561056c57600080fd5b506103de61057b366004613052565b611390565b81801561058c57600080fd5b506103de61059b36600461307e565b6113ec565b8180156105ac57600080fd5b506103de6105bb3660046130ee565b6114da565b8180156105cc57600080fd5b506103de6105db36600461307e565b61153e565b8180156105ec57600080fd5b506103de6105fb366004613052565b611624565b81801561060c57600080fd5b506103de61061b36600461307e565b611685565b81801561062c57600080fd5b506103de61063b36600461307e565b611774565b81801561064c57600080fd5b506103de61065b3660046130b4565b611865565b81801561066c57600080fd5b506103de61067b36600461307e565b6118be565b81801561068c57600080fd5b506103de61069b366004613052565b611985565b8180156106ac57600080fd5b506103de6106bb36600461307e565b6119e6565b8180156106cc57600080fd5b506103de6106db366004613052565b611acc565b8180156106ec57600080fd5b506103de6106fb36600461307e565b611b28565b81801561070c57600080fd5b506103de61071b3660046130ee565b611bf3565b81801561072c57600080fd5b506103de61073b3660046130ee565b611c57565b81801561074c57600080fd5b506103de61075b36600461307e565b611cbb565b81801561076c57600080fd5b506103de61077b36600461307e565b611da1565b81801561078c57600080fd5b506103de61079b366004613052565b611e8b565b8180156107ac57600080fd5b506103de6107bb366004613052565b611ee7565b8180156107cc57600080fd5b506103de6107db36600461307e565b611f48565b8180156107ec57600080fd5b506103de6107fb3660046130b4565b612013565b81801561080c57600080fd5b506103de61081b3660046130b4565b61206c565b81801561082c57600080fd5b506103de61083b36600461307e565b6120c5565b81801561084c57600080fd5b506103de61085b36600461307e565b61218c565b81801561086c57600080fd5b506103de61087b3660046130b4565b61226b565b81801561088c57600080fd5b506103de61089b36600461307e565b6122c4565b8180156108ac57600080fd5b506103de6108bb36600461307e565b6123b5565b8180156108cc57600080fd5b506103de6108db36600461307e565b61247d565b8180156108ec57600080fd5b506103de6108fb366004613052565b61256b565b81801561090c57600080fd5b506103de61091b3660046130ee565b6125cc565b81801561092c57600080fd5b506103de61093b3660046130ee565b612630565b81801561094c57600080fd5b506103de61095b36600461307e565b61268f565b81801561096c57600080fd5b506103de61097b3660046130b4565b61275a565b81801561098c57600080fd5b506103de61099b366004613052565b6127b3565b8180156109ac57600080fd5b506103de6109bb36600461307e565b612814565b6109de6109ce366004613111565b600801546001600160601b031690565b6040516001600160601b0390911681526020015b60405180910390f35b818015610a0757600080fd5b506103de610a1636600461307e565b6128fa565b818015610a2757600080fd5b506103de610a3636600461307e565b6129c5565b818015610a4757600080fd5b506103de610a5636600461307e565b612aab565b818015610a6757600080fd5b506103de610a763660046130b4565b612b72565b818015610a8757600080fd5b506103de610a963660046130b4565b612bcb565b818015610aa757600080fd5b506103de610ab6366004613052565b612c24565b818015610ac757600080fd5b506103de610ad636600461307e565b612c85565b818015610ae757600080fd5b506103de610af636600461307e565b612d4d565b610b13610b09366004613111565b5463ffffffff1690565b60405163ffffffff90911681526020016109f2565b818015610b3457600080fd5b506103de610b43366004613052565b612e18565b818015610b5457600080fd5b506103de610b6336600461307e565b612e79565b818015610b7457600080fd5b506103de610b8336600461307e565b612f6b565b60068201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600784018190556040805192835260208301919091527f949d7b074d82c57bb9ad387b130ed559db5aa5572b2a8bee80e51782b755bb6791015b60405180910390a15050565b81600901548160008211610c3a5760405162461bcd60e51b8152602060048201526014602482015260008051602061316983398151915260448201526064015b60405180910390fd5b80610c45834261312a565b1015610c815760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600884015460405163ffffffff90911681527fb9680823827cf58b566fd60a2a37e51011531b53fa90ff8f109d6d94921dde009060200160405180910390a150505060088101805463ffffffff191690556000600990910155565b81600101548160008211610d205760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80610d2b834261312a565b1015610d675760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b835460405167ffffffffffffffff90911681527fbbfca111be9d28e7d8f9fb6c295256b2b9c3f3543cabf84ca01a0dd9c20529ff906020015b60405180910390a15050815467ffffffffffffffff19168255506000600190910155565b81600701548160008211610e085760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80610e13834261312a565b1015610e4f5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600684015460405163ffffffff90911681527fdfb0d92703f9c02bea5e85c78c61615a7787a6112f23a5008ab7a1255351d266906020015b60405180910390a150505060068101805463ffffffff191690556000600790910155565b60028201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600384018190556040805192835260208301919091527f76a5182b037807820539094f3f917068359864c2650f44ef2bde448b489da3109101610be5565b815463ffffffff191663ffffffff8216908117835542600184018190556040805192835260208301919091527f8ff9974dce33e4e1ab7a866e83b0e492ac88ac9da862750abeadd9ecaa8e2f079101610be5565b81600b01548160008211610fa45760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80610faf834261312a565b1015610feb5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600a84015460405163ffffffff90911681527f2112314bb5bea9826b281dde0122aa7e040047443aeda3644ece915a52bc9a74906020015b60405180910390a1505050600a8101805463ffffffff191690556000600b90910155565b60068201805463ffffffff191663ffffffff831690811790915542600784018190556040805192835260208301919091527fd78a4fafa70ac62ae37ce48293c7d669b122dd46814022c00ba669bf4b4a386d9101610be5565b60028201805463ffffffff191663ffffffff831690811790915542600384018190556040805192835260208301919091527f8836f8d92102e8d8a0d420a47760c9b4b54aa1f8e32e5cb171d2d43ab0e673429101610be5565b600c8201805463ffffffff191663ffffffff831690811790915542600d84018190556040805192835260208301919091527ff42b1e01019c1c4eb06400525a13c78cfac7cae1aaaf16c274af3b22c99759ec9101610be5565b816003015481600082116111965760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b806111a1834261312a565b10156111dd5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600284015460405167ffffffffffffffff90911681527f431c5a8cb6dd33491583c7815a0818c69b7fc8a94783eae61e33aef252fddbd0906020015b60405180910390a150505060028101805467ffffffffffffffff191690556000600390910155565b816007015481600082116112855760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80611290834261312a565b10156112cc5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600684015460405167ffffffffffffffff90911681527fb0656ca1749dc17da2baf729b66edbb523659fb8bed7715f38fcb73279a4dc759060200160405180910390a150505060068101805467ffffffffffffffff191690556000600790910155565b600c8201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600d84018190556040805192835260208301919091527f05669005b886e580c79084c73739ba100ab9ae87719fd9d6ef1419fe3789a7c49101610be5565b815467ffffffffffffffff191667ffffffffffffffff8216908117835542600184018190556040805192835260208301919091527f5c4654b43143b94f29cf4ebad47134b001bcbcb3ef0aef65e694f62cbe46c6a79101610be5565b81600d015481600082116114305760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b8061143b834261312a565b10156114775760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600c84015460405167ffffffffffffffff90911681527fa68de01622bc09db684e9a5b7531f86c5d14d8e32d918306520eefdfe6d318f99060200160405180910390a1505050600c8101805467ffffffffffffffff191690556000600d90910155565b6010820180546bffffffffffffffffffffffff19166001600160601b03831690811790915542601184018190556040805192835260208301919091527f051bc9e9157b1a02972b271cb2f1516019abd23de5be2946013bda0da8ec69b39101610be5565b816005015481600082116115825760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b8061158d834261312a565b10156115c95760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600484015460405163ffffffff90911681527f6b20244a647adad8f426a4a4755e2c9a9d89eb50baf894d8df705767243bf9289060200160405180910390a150505060048101805463ffffffff191690556000600590910155565b60048201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600584018190556040805192835260208301919091527f4615b100872b234e1e7ec689a86d1f33f2cfaa24c9da9d698e01e9c098c836989101610be5565b816005015481600082116116c95760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b806116d4834261312a565b10156117105760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600484015460405167ffffffffffffffff90911681527f06968768e0d00c7660b2c1a39a53291dfbfc5ce86a43e0984439c4a2b8c8f749906020015b60405180910390a150505060048101805467ffffffffffffffff191690556000600590910155565b816011015481600082116117b85760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b806117c3834261312a565b10156117ff5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b60108401546040516001600160601b0390911681527f6428457bf6936b7ebb53f01d7514e74164f1fafdbced23a1ad42cba6d30aa76c9060200160405180910390a15050506010810180546bffffffffffffffffffffffff191690556000601190910155565b60068201805463ffffffff191663ffffffff831690811790915542600784018190556040805192835260208301919091527f1e08c36903920704be8a6916f280b4e867d922211e9803ff04e2aced9d265f739101610be5565b81600b015481600082116119025760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b8061190d834261312a565b10156119495760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600a84015460405163ffffffff90911681527fc9423cbcc9a99687becedc8906909fd9a1c22c3eaf424a83aeddec247437608090602001611023565b60028201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600384018190556040805192835260208301919091527f6b06983d319f78d0c731c9766ae9c8fb3748dc2d23b08c2f1f5bd6fb5198e7bf9101610be5565b81601301548160008211611a2a5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80611a35834261312a565b1015611a715760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b601284015460405163ffffffff90911681527fd5f2efb331273142b812e89753d20e94c3be338de4584536ce726ea597eaab5e9060200160405180910390a150505060128101805463ffffffff191690556000601390910155565b815467ffffffffffffffff191667ffffffffffffffff8216908117835542600184018190556040805192835260208301919091527fac954c09b0344aca418aa0861fc390a93715bdff0854aca190fd8772dc57fe979101610be5565b81600301548160008211611b6c5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80611b77834261312a565b1015611bb35760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600284015460405167ffffffffffffffff90911681527f8047149479b5ccc7291a0195ddbfd0fa246d65de18f60087ce39b46bf0c6b14e90602001611219565b6004820180546bffffffffffffffffffffffff19166001600160601b03831690811790915542600584018190556040805192835260208301919091527f7cd6454fd7076905da0e7825499e4dee1be09fd4306c3ed6492c51c618b790d09101610be5565b6008820180546bffffffffffffffffffffffff19166001600160601b03831690811790915542600984018190556040805192835260208301919091527fda898177aecf6e0e6a03582800735c18302356777eb588597e06568debd671c69101610be5565b81600f01548160008211611cff5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80611d0a834261312a565b1015611d465760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600e84015460405163ffffffff90911681527fc876e271e20dc6242d20f4f9c6d66400fc30243e96afafda0e117540e7737d499060200160405180910390a1505050600e8101805463ffffffff191690556000600f90910155565b81600101548160008211611de55760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80611df0834261312a565b1015611e2c5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b83546040516001600160601b0390911681527f6cb97f9ca1d18a52ca1c02560b06eb5b13b9f87f853af7d68a897050491a8a2b9060200160405180910390a1505081546bffffffffffffffffffffffff19168255506000600190910155565b815467ffffffffffffffff191667ffffffffffffffff8216908117835542600184018190556040805192835260208301919091527f98dd542d97651b5127b059a1ad4aac35ad3347676545cf3e83392c72354386669101610be5565b600a8201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600b84018190556040805192835260208301919091527f89613176301fd5b6377b1be0f71609b15f24bf325d740111d87032ae7015ec179101610be5565b81600501548160008211611f8c5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80611f97834261312a565b1015611fd35760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600484015460405167ffffffffffffffff90911681527ff643803909ee8491bda68a03c6f70f1f6d1904b2ad38c4811854319c8b3302f09060200161174c565b600e8201805463ffffffff191663ffffffff831690811790915542600f84018190556040805192835260208301919091527f6ba501e0661efd372926ad3c39d2a279956a42378bac4adb928fbc8b3464f6a89101610be5565b60048201805463ffffffff191663ffffffff831690811790915542600584018190556040805192835260208301919091527ff8e7470ad5eef5bc33900ad5e40ef12d1cef35c271ce4273663844d040ab746a9101610be5565b816007015481600082116121095760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612114834261312a565b10156121505760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600684015460405163ffffffff90911681527f162c74b20880ac3d251bf644d485058395bde24db9c3c44c0d51cfc724b2760090602001610e87565b816001015481600082116121d05760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b806121db834261312a565b10156122175760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b835460405163ffffffff90911681527f0c96a98792be84d818dd96f4167766ce3fbb8fdbfece805d7c2ec87873797b629060200160405180910390a15050815463ffffffff19168255506000600190910155565b600a8201805463ffffffff191663ffffffff831690811790915542600b84018190556040805192835260208301919091527f3251aa19df48dcc8b769af272f88708ab1d1327074c6a8b82b3ac74b57c60cee9101610be5565b816005015481600082116123085760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612313834261312a565b101561234f5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b60048401546040516001600160601b0390911681527f90e318745caa1bc19c689297db8dcdc340b80fc98a367b85f79f69d5f6cd33259060200160405180910390a15050506004810180546bffffffffffffffffffffffff191690556000600590910155565b816001015481600082116123f95760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612404834261312a565b10156124405760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b835460405167ffffffffffffffff90911681527f1d4d1bbc7d6e32c8f7c1d6726a92f960b9186357aca96fe09b6285141e045d7690602001610da0565b81600b015481600082116124c15760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b806124cc834261312a565b10156125085760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600a84015460405167ffffffffffffffff90911681527fad6deef5a8c53c425ed14686283dc4ed1c5d76b4067fdec6286554cbabbad1d29060200160405180910390a1505050600a8101805467ffffffffffffffff191690556000600b90910155565b60028201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600384018190556040805192835260208301919091527f4dd68fd50ad0f7c816ad3c0415fc008aa325ac2ee17bbc2eabd12eee50d6f1989101610be5565b6008820180546bffffffffffffffffffffffff19166001600160601b03831690811790915542600984018190556040805192835260208301919091527f30e88b7e9348603e30dbd420578fe6f4a5e67a6ffeef038dcaee28923ff6b9619101610be5565b81546bffffffffffffffffffffffff19166001600160601b038216908117835542600184018190556040805192835260208301919091527fcbe81098e6ad8611694f6298b3c420591836d2331f9449f1a303d7a44866668f9101610be5565b816003015481600082116126d35760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b806126de834261312a565b101561271a5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600284015460405167ffffffffffffffff90911681527f4d7314643f18dee092360da442c2508d11f8871beaa77cd91458cb11ed26b6b590602001611219565b60128201805463ffffffff191663ffffffff831690811790915542601384018190556040805192835260208301919091527f1e3e367e1ca2a3564ebf5c06be86fad103c210022381b613a5dacdb949ba6bcc9101610be5565b60048201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600584018190556040805192835260208301919091527fc0994c2dabe9767e3093a9586b16ea2b5eacbd26f96a42fd7e6702f78ddc3d6d9101610be5565b816003015481600082116128585760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612863834261312a565b101561289f5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600284015460405163ffffffff90911681527f074922ffd548010bba0e133e7cd83d24dbb64db27909056c8af476b18cb5693d9060200160405180910390a150505060028101805463ffffffff191690556000600390910155565b8160030154816000821161293e5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612949834261312a565b10156129855760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600284015460405167ffffffffffffffff90911681527f623bc381cf1ef54b5180b6de0a7250ba8ec89ab4f796b015d72455af7df4459390602001611219565b81600d01548160008211612a095760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612a14834261312a565b1015612a505760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600c84015460405163ffffffff90911681527f0e6ee2c03f4f699f8dd8e435f97d5dc9ceca824afb71fb983ca468a88889dbdc9060200160405180910390a1505050600c8101805463ffffffff191690556000600d90910155565b81600701548160008211612aef5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612afa834261312a565b1015612b365760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600684015460405163ffffffff90911681527f3d2b4d531beb6eb57d2d34304a003ad98fb742aada113a77016af4bdf26b26b590602001610e87565b60088201805463ffffffff191663ffffffff831690811790915542600984018190556040805192835260208301919091527fc50143039c2137e4c7179475cecb7dccf691b8ff455c00f407fd3da1b1f6ab3c9101610be5565b60068201805463ffffffff191663ffffffff831690811790915542600784018190556040805192835260208301919091527ffe7d4ad0e5cf0277caaf534bf0ec3115ef01d705f7cf4e065a326feb8421d13c9101610be5565b60028201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600384018190556040805192835260208301919091527f13025f95adce3953a5f0dbb6e318930e32a2787978bd142814ddc65880a032cd9101610be5565b81600101548160008211612cc95760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612cd4834261312a565b1015612d105760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b835460405167ffffffffffffffff90911681527fd075f19fce98166c3a4ee8e0382d570d2b68278b404b8746d1ba0fdccebf1b2c90602001610da0565b81600501548160008211612d915760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612d9c834261312a565b1015612dd85760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600484015460405167ffffffffffffffff90911681527fe48f76476c660a0ae77140cd9a12b6df6104814b9253d10bc7ba8e44104d4a719060200161174c565b60048201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600584018190556040805192835260208301919091527f1b156438ae04d51f67f0e6d20500a4ca4eddb90d0a752404a875b8a3aa5a44409101610be5565b81600901548160008211612ebd5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612ec8834261312a565b1015612f045760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b60088401546040516001600160601b0390911681527f3ddfe2be2f00cde428701184bb8836bd21ab2ddd753299cf1cc0d543a71cf663906020015b60405180910390a15050506008810180546bffffffffffffffffffffffff191690556000600990910155565b81600901548160008211612faf5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612fba834261312a565b1015612ff65760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b60088401546040516001600160601b0390911681527f3c9259bc1ce37fff96828ea85755c3754f2bbfcd31704d13fe4323d1fc7a2dce90602001612f3f565b803567ffffffffffffffff8116811461304d57600080fd5b919050565b6000806040838503121561306557600080fd5b8235915061307560208401613035565b90509250929050565b6000806040838503121561309157600080fd5b50508035926020909101359150565b803563ffffffff8116811461304d57600080fd5b600080604083850312156130c757600080fd5b82359150613075602084016130a0565b80356001600160601b038116811461304d57600080fd5b6000806040838503121561310157600080fd5b82359150613075602084016130d7565b60006020828403121561312357600080fd5b5035919050565b600082821015613163577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50039056fe4368616e6765206e6f7420696e69746961746564000000000000000000000000476f7665726e616e63652064656c617920686173206e6f7420656c6170736564a26469706673582212202439f0b1cc759cde42ace388695135189dadc36abd67e1fe3abf75c893e1d88264736f6c63430008090033",
968
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106103b95760003560e01c80638f53d804116101fe578063c6244eda11610124578063e61a7886116100b7578063f173110a11610086578063f173110a14610afb578063f543e37d14610b28578063f818e43c14610b48578063ffbe062714610b6857600080fd5b8063e61a788614610a7b578063e961fd9e14610a9b578063ec9f476014610abb578063f08cac3914610adb57600080fd5b8063d6964b97116100f3578063d6964b97146109fb578063dbf8380314610a1b578063dcce6cc814610a3b578063e37b9e1b14610a5b57600080fd5b8063c6244eda14610960578063cef037d814610980578063d2a27c33146109a0578063d66d1d23146109c057600080fd5b8063a6b0e7bd1161019c578063baa939731161016b578063baa93973146108e0578063bbb64b5c14610900578063bf08acfc14610920578063c4faa8671461094057600080fd5b8063a6b0e7bd14610860578063a9e3176314610880578063ae256383146108a0578063af11623a146108c057600080fd5b806393703bc8116101d857806393703bc8146107e05780639707e9ad14610800578063a48814a514610820578063a62029f61461084057600080fd5b80638f53d8041461078057806391346cbb146107a05780639232db3f146107c057600080fd5b80634a320d9c116102e357806372c9ed96116102815780638a397dd7116102505780638a397dd7146107005780638ae0c434146107205780638c0fc65a146107405780638f2ca6451461076057600080fd5b806372c9ed96146106805780637d105c79146106a0578063810698b2146106c057806381f5c03a146106e057600080fd5b806368decba2116102bd57806368decba2146106005780636d5be9be146106205780637058858a14610640578063728bd45d1461066057600080fd5b80634a320d9c146105a057806351a3d06e146105c057806368af5021146105e057600080fd5b80632647ff621161035b5780633861f1381161032a5780633861f138146105205780633a5ade20146105405780633c127400146105605780634569ab881461058057600080fd5b80632647ff62146104a05780632d453d57146104c0578063313e9c00146104e0578063362c23721461050057600080fd5b80630c4e5686116103975780630c4e568614610420578063158c660e14610440578063161d610c146104605780631b3f064f1461048057600080fd5b806304b8e2eb146103be57806305be330f146103e05780630b5a08ed14610400575b600080fd5b8180156103ca57600080fd5b506103de6103d9366004613052565b610b88565b005b8180156103ec57600080fd5b506103de6103fb36600461307e565b610bf1565b81801561040c57600080fd5b506103de61041b36600461307e565b610cdc565b81801561042c57600080fd5b506103de61043b36600461307e565b610dc4565b81801561044c57600080fd5b506103de61045b366004613052565b610eab565b81801561046c57600080fd5b506103de61047b3660046130b4565b610f0c565b81801561048c57600080fd5b506103de61049b36600461307e565b610f60565b8180156104ac57600080fd5b506103de6104bb3660046130b4565b611047565b8180156104cc57600080fd5b506103de6104db3660046130b4565b6110a0565b8180156104ec57600080fd5b506103de6104fb3660046130b4565b6110f9565b81801561050c57600080fd5b506103de61051b36600461307e565b611152565b81801561052c57600080fd5b506103de61053b36600461307e565b611241565b81801561054c57600080fd5b506103de61055b366004613052565b61132f565b81801561056c57600080fd5b506103de61057b366004613052565b611390565b81801561058c57600080fd5b506103de61059b36600461307e565b6113ec565b8180156105ac57600080fd5b506103de6105bb3660046130ee565b6114da565b8180156105cc57600080fd5b506103de6105db36600461307e565b61153e565b8180156105ec57600080fd5b506103de6105fb366004613052565b611624565b81801561060c57600080fd5b506103de61061b36600461307e565b611685565b81801561062c57600080fd5b506103de61063b36600461307e565b611774565b81801561064c57600080fd5b506103de61065b3660046130b4565b611865565b81801561066c57600080fd5b506103de61067b36600461307e565b6118be565b81801561068c57600080fd5b506103de61069b366004613052565b611985565b8180156106ac57600080fd5b506103de6106bb36600461307e565b6119e6565b8180156106cc57600080fd5b506103de6106db366004613052565b611acc565b8180156106ec57600080fd5b506103de6106fb36600461307e565b611b28565b81801561070c57600080fd5b506103de61071b3660046130ee565b611bf3565b81801561072c57600080fd5b506103de61073b3660046130ee565b611c57565b81801561074c57600080fd5b506103de61075b36600461307e565b611cbb565b81801561076c57600080fd5b506103de61077b36600461307e565b611da1565b81801561078c57600080fd5b506103de61079b366004613052565b611e8b565b8180156107ac57600080fd5b506103de6107bb366004613052565b611ee7565b8180156107cc57600080fd5b506103de6107db36600461307e565b611f48565b8180156107ec57600080fd5b506103de6107fb3660046130b4565b612013565b81801561080c57600080fd5b506103de61081b3660046130b4565b61206c565b81801561082c57600080fd5b506103de61083b36600461307e565b6120c5565b81801561084c57600080fd5b506103de61085b36600461307e565b61218c565b81801561086c57600080fd5b506103de61087b3660046130b4565b61226b565b81801561088c57600080fd5b506103de61089b36600461307e565b6122c4565b8180156108ac57600080fd5b506103de6108bb36600461307e565b6123b5565b8180156108cc57600080fd5b506103de6108db36600461307e565b61247d565b8180156108ec57600080fd5b506103de6108fb366004613052565b61256b565b81801561090c57600080fd5b506103de61091b3660046130ee565b6125cc565b81801561092c57600080fd5b506103de61093b3660046130ee565b612630565b81801561094c57600080fd5b506103de61095b36600461307e565b61268f565b81801561096c57600080fd5b506103de61097b3660046130b4565b61275a565b81801561098c57600080fd5b506103de61099b366004613052565b6127b3565b8180156109ac57600080fd5b506103de6109bb36600461307e565b612814565b6109de6109ce366004613111565b600801546001600160601b031690565b6040516001600160601b0390911681526020015b60405180910390f35b818015610a0757600080fd5b506103de610a1636600461307e565b6128fa565b818015610a2757600080fd5b506103de610a3636600461307e565b6129c5565b818015610a4757600080fd5b506103de610a5636600461307e565b612aab565b818015610a6757600080fd5b506103de610a763660046130b4565b612b72565b818015610a8757600080fd5b506103de610a963660046130b4565b612bcb565b818015610aa757600080fd5b506103de610ab6366004613052565b612c24565b818015610ac757600080fd5b506103de610ad636600461307e565b612c85565b818015610ae757600080fd5b506103de610af636600461307e565b612d4d565b610b13610b09366004613111565b5463ffffffff1690565b60405163ffffffff90911681526020016109f2565b818015610b3457600080fd5b506103de610b43366004613052565b612e18565b818015610b5457600080fd5b506103de610b6336600461307e565b612e79565b818015610b7457600080fd5b506103de610b8336600461307e565b612f6b565b60068201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600784018190556040805192835260208301919091527f949d7b074d82c57bb9ad387b130ed559db5aa5572b2a8bee80e51782b755bb6791015b60405180910390a15050565b81600901548160008211610c3a5760405162461bcd60e51b8152602060048201526014602482015260008051602061316983398151915260448201526064015b60405180910390fd5b80610c45834261312a565b1015610c815760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600884015460405163ffffffff90911681527fb9680823827cf58b566fd60a2a37e51011531b53fa90ff8f109d6d94921dde009060200160405180910390a150505060088101805463ffffffff191690556000600990910155565b81600101548160008211610d205760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80610d2b834261312a565b1015610d675760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b835460405167ffffffffffffffff90911681527fbbfca111be9d28e7d8f9fb6c295256b2b9c3f3543cabf84ca01a0dd9c20529ff906020015b60405180910390a15050815467ffffffffffffffff19168255506000600190910155565b81600701548160008211610e085760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80610e13834261312a565b1015610e4f5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600684015460405163ffffffff90911681527fdfb0d92703f9c02bea5e85c78c61615a7787a6112f23a5008ab7a1255351d266906020015b60405180910390a150505060068101805463ffffffff191690556000600790910155565b60028201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600384018190556040805192835260208301919091527f76a5182b037807820539094f3f917068359864c2650f44ef2bde448b489da3109101610be5565b815463ffffffff191663ffffffff8216908117835542600184018190556040805192835260208301919091527f8ff9974dce33e4e1ab7a866e83b0e492ac88ac9da862750abeadd9ecaa8e2f079101610be5565b81600b01548160008211610fa45760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80610faf834261312a565b1015610feb5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600a84015460405163ffffffff90911681527f2112314bb5bea9826b281dde0122aa7e040047443aeda3644ece915a52bc9a74906020015b60405180910390a1505050600a8101805463ffffffff191690556000600b90910155565b60068201805463ffffffff191663ffffffff831690811790915542600784018190556040805192835260208301919091527fd78a4fafa70ac62ae37ce48293c7d669b122dd46814022c00ba669bf4b4a386d9101610be5565b60028201805463ffffffff191663ffffffff831690811790915542600384018190556040805192835260208301919091527f8836f8d92102e8d8a0d420a47760c9b4b54aa1f8e32e5cb171d2d43ab0e673429101610be5565b600c8201805463ffffffff191663ffffffff831690811790915542600d84018190556040805192835260208301919091527ff42b1e01019c1c4eb06400525a13c78cfac7cae1aaaf16c274af3b22c99759ec9101610be5565b816003015481600082116111965760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b806111a1834261312a565b10156111dd5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600284015460405167ffffffffffffffff90911681527f431c5a8cb6dd33491583c7815a0818c69b7fc8a94783eae61e33aef252fddbd0906020015b60405180910390a150505060028101805467ffffffffffffffff191690556000600390910155565b816007015481600082116112855760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80611290834261312a565b10156112cc5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600684015460405167ffffffffffffffff90911681527fb0656ca1749dc17da2baf729b66edbb523659fb8bed7715f38fcb73279a4dc759060200160405180910390a150505060068101805467ffffffffffffffff191690556000600790910155565b600c8201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600d84018190556040805192835260208301919091527f05669005b886e580c79084c73739ba100ab9ae87719fd9d6ef1419fe3789a7c49101610be5565b815467ffffffffffffffff191667ffffffffffffffff8216908117835542600184018190556040805192835260208301919091527f5c4654b43143b94f29cf4ebad47134b001bcbcb3ef0aef65e694f62cbe46c6a79101610be5565b81600d015481600082116114305760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b8061143b834261312a565b10156114775760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600c84015460405167ffffffffffffffff90911681527fa68de01622bc09db684e9a5b7531f86c5d14d8e32d918306520eefdfe6d318f99060200160405180910390a1505050600c8101805467ffffffffffffffff191690556000600d90910155565b6010820180546bffffffffffffffffffffffff19166001600160601b03831690811790915542601184018190556040805192835260208301919091527f051bc9e9157b1a02972b271cb2f1516019abd23de5be2946013bda0da8ec69b39101610be5565b816005015481600082116115825760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b8061158d834261312a565b10156115c95760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600484015460405163ffffffff90911681527f6b20244a647adad8f426a4a4755e2c9a9d89eb50baf894d8df705767243bf9289060200160405180910390a150505060048101805463ffffffff191690556000600590910155565b60048201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600584018190556040805192835260208301919091527f4615b100872b234e1e7ec689a86d1f33f2cfaa24c9da9d698e01e9c098c836989101610be5565b816005015481600082116116c95760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b806116d4834261312a565b10156117105760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600484015460405167ffffffffffffffff90911681527f06968768e0d00c7660b2c1a39a53291dfbfc5ce86a43e0984439c4a2b8c8f749906020015b60405180910390a150505060048101805467ffffffffffffffff191690556000600590910155565b816011015481600082116117b85760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b806117c3834261312a565b10156117ff5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b60108401546040516001600160601b0390911681527f6428457bf6936b7ebb53f01d7514e74164f1fafdbced23a1ad42cba6d30aa76c9060200160405180910390a15050506010810180546bffffffffffffffffffffffff191690556000601190910155565b60068201805463ffffffff191663ffffffff831690811790915542600784018190556040805192835260208301919091527f1e08c36903920704be8a6916f280b4e867d922211e9803ff04e2aced9d265f739101610be5565b81600b015481600082116119025760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b8061190d834261312a565b10156119495760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600a84015460405163ffffffff90911681527fc9423cbcc9a99687becedc8906909fd9a1c22c3eaf424a83aeddec247437608090602001611023565b60028201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600384018190556040805192835260208301919091527f6b06983d319f78d0c731c9766ae9c8fb3748dc2d23b08c2f1f5bd6fb5198e7bf9101610be5565b81601301548160008211611a2a5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80611a35834261312a565b1015611a715760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b601284015460405163ffffffff90911681527fd5f2efb331273142b812e89753d20e94c3be338de4584536ce726ea597eaab5e9060200160405180910390a150505060128101805463ffffffff191690556000601390910155565b815467ffffffffffffffff191667ffffffffffffffff8216908117835542600184018190556040805192835260208301919091527fac954c09b0344aca418aa0861fc390a93715bdff0854aca190fd8772dc57fe979101610be5565b81600301548160008211611b6c5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80611b77834261312a565b1015611bb35760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600284015460405167ffffffffffffffff90911681527f8047149479b5ccc7291a0195ddbfd0fa246d65de18f60087ce39b46bf0c6b14e90602001611219565b6004820180546bffffffffffffffffffffffff19166001600160601b03831690811790915542600584018190556040805192835260208301919091527f7cd6454fd7076905da0e7825499e4dee1be09fd4306c3ed6492c51c618b790d09101610be5565b6008820180546bffffffffffffffffffffffff19166001600160601b03831690811790915542600984018190556040805192835260208301919091527fda898177aecf6e0e6a03582800735c18302356777eb588597e06568debd671c69101610be5565b81600f01548160008211611cff5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80611d0a834261312a565b1015611d465760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600e84015460405163ffffffff90911681527fc876e271e20dc6242d20f4f9c6d66400fc30243e96afafda0e117540e7737d499060200160405180910390a1505050600e8101805463ffffffff191690556000600f90910155565b81600101548160008211611de55760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80611df0834261312a565b1015611e2c5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b83546040516001600160601b0390911681527f6cb97f9ca1d18a52ca1c02560b06eb5b13b9f87f853af7d68a897050491a8a2b9060200160405180910390a1505081546bffffffffffffffffffffffff19168255506000600190910155565b815467ffffffffffffffff191667ffffffffffffffff8216908117835542600184018190556040805192835260208301919091527f98dd542d97651b5127b059a1ad4aac35ad3347676545cf3e83392c72354386669101610be5565b600a8201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600b84018190556040805192835260208301919091527f89613176301fd5b6377b1be0f71609b15f24bf325d740111d87032ae7015ec179101610be5565b81600501548160008211611f8c5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80611f97834261312a565b1015611fd35760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600484015460405167ffffffffffffffff90911681527ff643803909ee8491bda68a03c6f70f1f6d1904b2ad38c4811854319c8b3302f09060200161174c565b600e8201805463ffffffff191663ffffffff831690811790915542600f84018190556040805192835260208301919091527f6ba501e0661efd372926ad3c39d2a279956a42378bac4adb928fbc8b3464f6a89101610be5565b60048201805463ffffffff191663ffffffff831690811790915542600584018190556040805192835260208301919091527ff8e7470ad5eef5bc33900ad5e40ef12d1cef35c271ce4273663844d040ab746a9101610be5565b816007015481600082116121095760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612114834261312a565b10156121505760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600684015460405163ffffffff90911681527f162c74b20880ac3d251bf644d485058395bde24db9c3c44c0d51cfc724b2760090602001610e87565b816001015481600082116121d05760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b806121db834261312a565b10156122175760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b835460405163ffffffff90911681527f0c96a98792be84d818dd96f4167766ce3fbb8fdbfece805d7c2ec87873797b629060200160405180910390a15050815463ffffffff19168255506000600190910155565b600a8201805463ffffffff191663ffffffff831690811790915542600b84018190556040805192835260208301919091527f3251aa19df48dcc8b769af272f88708ab1d1327074c6a8b82b3ac74b57c60cee9101610be5565b816005015481600082116123085760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612313834261312a565b101561234f5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b60048401546040516001600160601b0390911681527f90e318745caa1bc19c689297db8dcdc340b80fc98a367b85f79f69d5f6cd33259060200160405180910390a15050506004810180546bffffffffffffffffffffffff191690556000600590910155565b816001015481600082116123f95760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612404834261312a565b10156124405760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b835460405167ffffffffffffffff90911681527f1d4d1bbc7d6e32c8f7c1d6726a92f960b9186357aca96fe09b6285141e045d7690602001610da0565b81600b015481600082116124c15760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b806124cc834261312a565b10156125085760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600a84015460405167ffffffffffffffff90911681527fad6deef5a8c53c425ed14686283dc4ed1c5d76b4067fdec6286554cbabbad1d29060200160405180910390a1505050600a8101805467ffffffffffffffff191690556000600b90910155565b60028201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600384018190556040805192835260208301919091527f4dd68fd50ad0f7c816ad3c0415fc008aa325ac2ee17bbc2eabd12eee50d6f1989101610be5565b6008820180546bffffffffffffffffffffffff19166001600160601b03831690811790915542600984018190556040805192835260208301919091527f30e88b7e9348603e30dbd420578fe6f4a5e67a6ffeef038dcaee28923ff6b9619101610be5565b81546bffffffffffffffffffffffff19166001600160601b038216908117835542600184018190556040805192835260208301919091527fcbe81098e6ad8611694f6298b3c420591836d2331f9449f1a303d7a44866668f9101610be5565b816003015481600082116126d35760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b806126de834261312a565b101561271a5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600284015460405167ffffffffffffffff90911681527f4d7314643f18dee092360da442c2508d11f8871beaa77cd91458cb11ed26b6b590602001611219565b60128201805463ffffffff191663ffffffff831690811790915542601384018190556040805192835260208301919091527f1e3e367e1ca2a3564ebf5c06be86fad103c210022381b613a5dacdb949ba6bcc9101610be5565b60048201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600584018190556040805192835260208301919091527fc0994c2dabe9767e3093a9586b16ea2b5eacbd26f96a42fd7e6702f78ddc3d6d9101610be5565b816003015481600082116128585760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612863834261312a565b101561289f5760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600284015460405163ffffffff90911681527f074922ffd548010bba0e133e7cd83d24dbb64db27909056c8af476b18cb5693d9060200160405180910390a150505060028101805463ffffffff191690556000600390910155565b8160030154816000821161293e5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612949834261312a565b10156129855760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600284015460405167ffffffffffffffff90911681527f623bc381cf1ef54b5180b6de0a7250ba8ec89ab4f796b015d72455af7df4459390602001611219565b81600d01548160008211612a095760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612a14834261312a565b1015612a505760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600c84015460405163ffffffff90911681527f0e6ee2c03f4f699f8dd8e435f97d5dc9ceca824afb71fb983ca468a88889dbdc9060200160405180910390a1505050600c8101805463ffffffff191690556000600d90910155565b81600701548160008211612aef5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612afa834261312a565b1015612b365760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600684015460405163ffffffff90911681527f3d2b4d531beb6eb57d2d34304a003ad98fb742aada113a77016af4bdf26b26b590602001610e87565b60088201805463ffffffff191663ffffffff831690811790915542600984018190556040805192835260208301919091527fc50143039c2137e4c7179475cecb7dccf691b8ff455c00f407fd3da1b1f6ab3c9101610be5565b60068201805463ffffffff191663ffffffff831690811790915542600784018190556040805192835260208301919091527ffe7d4ad0e5cf0277caaf534bf0ec3115ef01d705f7cf4e065a326feb8421d13c9101610be5565b60028201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600384018190556040805192835260208301919091527f13025f95adce3953a5f0dbb6e318930e32a2787978bd142814ddc65880a032cd9101610be5565b81600101548160008211612cc95760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612cd4834261312a565b1015612d105760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b835460405167ffffffffffffffff90911681527fd075f19fce98166c3a4ee8e0382d570d2b68278b404b8746d1ba0fdccebf1b2c90602001610da0565b81600501548160008211612d915760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612d9c834261312a565b1015612dd85760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b600484015460405167ffffffffffffffff90911681527fe48f76476c660a0ae77140cd9a12b6df6104814b9253d10bc7ba8e44104d4a719060200161174c565b60048201805467ffffffffffffffff191667ffffffffffffffff831690811790915542600584018190556040805192835260208301919091527f1b156438ae04d51f67f0e6d20500a4ca4eddb90d0a752404a875b8a3aa5a44409101610be5565b81600901548160008211612ebd5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612ec8834261312a565b1015612f045760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b60088401546040516001600160601b0390911681527f3ddfe2be2f00cde428701184bb8836bd21ab2ddd753299cf1cc0d543a71cf663906020015b60405180910390a15050506008810180546bffffffffffffffffffffffff191690556000600990910155565b81600901548160008211612faf5760405162461bcd60e51b815260206004820152601460248201526000805160206131698339815191526044820152606401610c31565b80612fba834261312a565b1015612ff65760405162461bcd60e51b815260206004820181905260248201526000805160206131898339815191526044820152606401610c31565b60088401546040516001600160601b0390911681527f3c9259bc1ce37fff96828ea85755c3754f2bbfcd31704d13fe4323d1fc7a2dce90602001612f3f565b803567ffffffffffffffff8116811461304d57600080fd5b919050565b6000806040838503121561306557600080fd5b8235915061307560208401613035565b90509250929050565b6000806040838503121561309157600080fd5b50508035926020909101359150565b803563ffffffff8116811461304d57600080fd5b600080604083850312156130c757600080fd5b82359150613075602084016130a0565b80356001600160601b038116811461304d57600080fd5b6000806040838503121561310157600080fd5b82359150613075602084016130d7565b60006020828403121561312357600080fd5b5035919050565b600082821015613163577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50039056fe4368616e6765206e6f7420696e69746961746564000000000000000000000000476f7665726e616e63652064656c617920686173206e6f7420656c6170736564a26469706673582212202439f0b1cc759cde42ace388695135189dadc36abd67e1fe3abf75c893e1d88264736f6c63430008090033",
969
+ "linkReferences": {},
970
+ "deployedLinkReferences": {}
971
+ }