@artblocks/contracts 1.0.4 → 1.1.0

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 (120) hide show
  1. package/README.md +2 -2
  2. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  3. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +97 -10
  4. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +4 -4
  5. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +4 -9
  6. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +4 -9
  7. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +4 -9
  8. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +4 -9
  9. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +12 -12
  10. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +4 -4
  11. package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +6 -6
  12. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +19 -0
  13. package/artifacts/contracts/interfaces/v0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +22 -22
  14. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +8 -101
  15. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +1 -57
  16. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +1 -57
  17. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +2 -21
  18. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol/ISharedMinterHolderERC20V0.json +158 -0
  19. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +15 -90
  20. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +10 -36
  21. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +4 -236
  22. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +5 -5
  23. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +7 -423
  24. package/artifacts/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +17 -17
  25. package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +2 -2
  26. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  27. package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  28. package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +60 -3
  29. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +30 -0
  30. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +60 -3
  31. package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +346 -0
  32. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +29 -3
  33. package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +30 -3
  34. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  35. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +254 -3
  36. package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +48 -3
  37. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +41 -3
  38. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +35 -3
  39. package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +79 -3
  40. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  41. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +41 -41
  42. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +66 -632
  43. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -20
  44. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +67 -594
  45. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +33 -524
  46. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +66 -632
  47. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +33 -524
  48. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +51 -717
  49. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +58 -454
  50. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +61 -552
  51. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +55 -497
  52. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +110 -571
  53. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +69 -560
  54. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +28 -444
  55. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  56. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +4 -9
  57. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
  58. package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +136 -0
  59. package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +105 -0
  60. package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +100 -0
  61. package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +69 -0
  62. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +19 -19
  63. package/contracts/DependencyRegistryV0.sol +84 -16
  64. package/contracts/archive/readme.md +16 -0
  65. package/contracts/engine/README.md +21 -0
  66. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +4 -10
  67. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +4 -10
  68. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +4 -10
  69. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +4 -10
  70. package/contracts/engine-registry/CoreRegistryV1.sol +58 -65
  71. package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +6 -8
  72. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +3 -0
  73. package/contracts/interfaces/v0.8.x/IMinterFilterV1.sol +25 -25
  74. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +11 -20
  75. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +1 -14
  76. package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +1 -15
  77. package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +2 -8
  78. package/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol +47 -0
  79. package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +15 -43
  80. package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +10 -20
  81. package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +4 -67
  82. package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +5 -5
  83. package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +7 -155
  84. package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +37 -37
  85. package/contracts/libs/v0.8.x/ABHelpers.sol +14 -14
  86. package/contracts/libs/v0.8.x/AuthLib.sol +101 -102
  87. package/contracts/libs/v0.8.x/Bytes32Strings.sol +5 -5
  88. package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +163 -38
  89. package/contracts/libs/v0.8.x/minter-libs/DALib.sol +26 -0
  90. package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +144 -37
  91. package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +171 -0
  92. package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +250 -110
  93. package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +257 -48
  94. package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +138 -58
  95. package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +778 -103
  96. package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +135 -13
  97. package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +567 -187
  98. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +480 -322
  99. package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +214 -76
  100. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +347 -304
  101. package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +391 -491
  102. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +1 -54
  103. package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +388 -628
  104. package/contracts/minter-suite/Minters/MinterDAExpV5.sol +212 -273
  105. package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +393 -488
  106. package/contracts/minter-suite/Minters/MinterDALinV5.sol +220 -277
  107. package/contracts/minter-suite/Minters/MinterSEAV1.sol +327 -664
  108. package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +278 -303
  109. package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +355 -446
  110. package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +328 -416
  111. package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +538 -622
  112. package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +429 -553
  113. package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +180 -227
  114. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +3 -10
  115. package/contracts/mock/ReentrancyHolderMockShared.sol +59 -0
  116. package/contracts/mock/ReentrancyMerkleMockShared.sol +58 -0
  117. package/contracts/mock/ReentrancyMockShared.sol +48 -0
  118. package/contracts/mock/ReentrancySEAMockShared.sol +40 -0
  119. package/contracts/randomizer/shared/SharedRandomizerV0.sol +78 -70
  120. package/package.json +39 -33
@@ -7,679 +7,13 @@
7
7
  "inputs": [
8
8
  {
9
9
  "internalType": "address",
10
- "name": "_minterFilter",
10
+ "name": "minterFilter",
11
11
  "type": "address"
12
12
  }
13
13
  ],
14
14
  "stateMutability": "nonpayable",
15
15
  "type": "constructor"
16
16
  },
17
- {
18
- "anonymous": false,
19
- "inputs": [
20
- {
21
- "indexed": true,
22
- "internalType": "uint256",
23
- "name": "tokenId",
24
- "type": "uint256"
25
- },
26
- {
27
- "indexed": true,
28
- "internalType": "address",
29
- "name": "coreContract",
30
- "type": "address"
31
- },
32
- {
33
- "indexed": true,
34
- "internalType": "address",
35
- "name": "bidder",
36
- "type": "address"
37
- },
38
- {
39
- "indexed": false,
40
- "internalType": "uint256",
41
- "name": "bidAmount",
42
- "type": "uint256"
43
- }
44
- ],
45
- "name": "AuctionBid",
46
- "type": "event"
47
- },
48
- {
49
- "anonymous": false,
50
- "inputs": [
51
- {
52
- "indexed": true,
53
- "internalType": "uint256",
54
- "name": "tokenId",
55
- "type": "uint256"
56
- },
57
- {
58
- "indexed": true,
59
- "internalType": "address",
60
- "name": "coreContract",
61
- "type": "address"
62
- },
63
- {
64
- "indexed": true,
65
- "internalType": "address",
66
- "name": "bidder",
67
- "type": "address"
68
- },
69
- {
70
- "indexed": false,
71
- "internalType": "uint256",
72
- "name": "bidAmount",
73
- "type": "uint256"
74
- },
75
- {
76
- "indexed": false,
77
- "internalType": "uint64",
78
- "name": "endTime",
79
- "type": "uint64"
80
- },
81
- {
82
- "indexed": false,
83
- "internalType": "uint8",
84
- "name": "minBidIncrementPercentage",
85
- "type": "uint8"
86
- }
87
- ],
88
- "name": "AuctionInitialized",
89
- "type": "event"
90
- },
91
- {
92
- "anonymous": false,
93
- "inputs": [
94
- {
95
- "indexed": true,
96
- "internalType": "uint256",
97
- "name": "tokenId",
98
- "type": "uint256"
99
- },
100
- {
101
- "indexed": true,
102
- "internalType": "address",
103
- "name": "coreContract",
104
- "type": "address"
105
- },
106
- {
107
- "indexed": true,
108
- "internalType": "address",
109
- "name": "winner",
110
- "type": "address"
111
- },
112
- {
113
- "indexed": false,
114
- "internalType": "uint256",
115
- "name": "price",
116
- "type": "uint256"
117
- }
118
- ],
119
- "name": "AuctionSettled",
120
- "type": "event"
121
- },
122
- {
123
- "anonymous": false,
124
- "inputs": [
125
- {
126
- "indexed": true,
127
- "internalType": "uint256",
128
- "name": "_projectId",
129
- "type": "uint256"
130
- },
131
- {
132
- "indexed": true,
133
- "internalType": "address",
134
- "name": "_coreContract",
135
- "type": "address"
136
- },
137
- {
138
- "indexed": false,
139
- "internalType": "bytes32",
140
- "name": "_key",
141
- "type": "bytes32"
142
- }
143
- ],
144
- "name": "ConfigKeyRemoved",
145
- "type": "event"
146
- },
147
- {
148
- "anonymous": false,
149
- "inputs": [
150
- {
151
- "indexed": true,
152
- "internalType": "uint256",
153
- "name": "_projectId",
154
- "type": "uint256"
155
- },
156
- {
157
- "indexed": true,
158
- "internalType": "address",
159
- "name": "_coreContract",
160
- "type": "address"
161
- },
162
- {
163
- "indexed": false,
164
- "internalType": "bytes32",
165
- "name": "_key",
166
- "type": "bytes32"
167
- },
168
- {
169
- "indexed": false,
170
- "internalType": "uint256",
171
- "name": "_value",
172
- "type": "uint256"
173
- }
174
- ],
175
- "name": "ConfigValueAddedToSet",
176
- "type": "event"
177
- },
178
- {
179
- "anonymous": false,
180
- "inputs": [
181
- {
182
- "indexed": true,
183
- "internalType": "uint256",
184
- "name": "_projectId",
185
- "type": "uint256"
186
- },
187
- {
188
- "indexed": true,
189
- "internalType": "address",
190
- "name": "_coreContract",
191
- "type": "address"
192
- },
193
- {
194
- "indexed": false,
195
- "internalType": "bytes32",
196
- "name": "_key",
197
- "type": "bytes32"
198
- },
199
- {
200
- "indexed": false,
201
- "internalType": "address",
202
- "name": "_value",
203
- "type": "address"
204
- }
205
- ],
206
- "name": "ConfigValueAddedToSet",
207
- "type": "event"
208
- },
209
- {
210
- "anonymous": false,
211
- "inputs": [
212
- {
213
- "indexed": true,
214
- "internalType": "uint256",
215
- "name": "_projectId",
216
- "type": "uint256"
217
- },
218
- {
219
- "indexed": true,
220
- "internalType": "address",
221
- "name": "_coreContract",
222
- "type": "address"
223
- },
224
- {
225
- "indexed": false,
226
- "internalType": "bytes32",
227
- "name": "_key",
228
- "type": "bytes32"
229
- },
230
- {
231
- "indexed": false,
232
- "internalType": "bytes32",
233
- "name": "_value",
234
- "type": "bytes32"
235
- }
236
- ],
237
- "name": "ConfigValueAddedToSet",
238
- "type": "event"
239
- },
240
- {
241
- "anonymous": false,
242
- "inputs": [
243
- {
244
- "indexed": true,
245
- "internalType": "uint256",
246
- "name": "_projectId",
247
- "type": "uint256"
248
- },
249
- {
250
- "indexed": true,
251
- "internalType": "address",
252
- "name": "_coreContract",
253
- "type": "address"
254
- },
255
- {
256
- "indexed": false,
257
- "internalType": "bytes32",
258
- "name": "_key",
259
- "type": "bytes32"
260
- },
261
- {
262
- "indexed": false,
263
- "internalType": "uint256",
264
- "name": "_value",
265
- "type": "uint256"
266
- }
267
- ],
268
- "name": "ConfigValueRemovedFromSet",
269
- "type": "event"
270
- },
271
- {
272
- "anonymous": false,
273
- "inputs": [
274
- {
275
- "indexed": true,
276
- "internalType": "uint256",
277
- "name": "_projectId",
278
- "type": "uint256"
279
- },
280
- {
281
- "indexed": true,
282
- "internalType": "address",
283
- "name": "_coreContract",
284
- "type": "address"
285
- },
286
- {
287
- "indexed": false,
288
- "internalType": "bytes32",
289
- "name": "_key",
290
- "type": "bytes32"
291
- },
292
- {
293
- "indexed": false,
294
- "internalType": "address",
295
- "name": "_value",
296
- "type": "address"
297
- }
298
- ],
299
- "name": "ConfigValueRemovedFromSet",
300
- "type": "event"
301
- },
302
- {
303
- "anonymous": false,
304
- "inputs": [
305
- {
306
- "indexed": true,
307
- "internalType": "uint256",
308
- "name": "_projectId",
309
- "type": "uint256"
310
- },
311
- {
312
- "indexed": true,
313
- "internalType": "address",
314
- "name": "_coreContract",
315
- "type": "address"
316
- },
317
- {
318
- "indexed": false,
319
- "internalType": "bytes32",
320
- "name": "_key",
321
- "type": "bytes32"
322
- },
323
- {
324
- "indexed": false,
325
- "internalType": "bytes32",
326
- "name": "_value",
327
- "type": "bytes32"
328
- }
329
- ],
330
- "name": "ConfigValueRemovedFromSet",
331
- "type": "event"
332
- },
333
- {
334
- "anonymous": false,
335
- "inputs": [
336
- {
337
- "indexed": true,
338
- "internalType": "uint256",
339
- "name": "_projectId",
340
- "type": "uint256"
341
- },
342
- {
343
- "indexed": true,
344
- "internalType": "address",
345
- "name": "_coreContract",
346
- "type": "address"
347
- },
348
- {
349
- "indexed": false,
350
- "internalType": "bytes32",
351
- "name": "_key",
352
- "type": "bytes32"
353
- },
354
- {
355
- "indexed": false,
356
- "internalType": "bool",
357
- "name": "_value",
358
- "type": "bool"
359
- }
360
- ],
361
- "name": "ConfigValueSet",
362
- "type": "event"
363
- },
364
- {
365
- "anonymous": false,
366
- "inputs": [
367
- {
368
- "indexed": true,
369
- "internalType": "uint256",
370
- "name": "_projectId",
371
- "type": "uint256"
372
- },
373
- {
374
- "indexed": true,
375
- "internalType": "address",
376
- "name": "_coreContract",
377
- "type": "address"
378
- },
379
- {
380
- "indexed": false,
381
- "internalType": "bytes32",
382
- "name": "_key",
383
- "type": "bytes32"
384
- },
385
- {
386
- "indexed": false,
387
- "internalType": "uint256",
388
- "name": "_value",
389
- "type": "uint256"
390
- }
391
- ],
392
- "name": "ConfigValueSet",
393
- "type": "event"
394
- },
395
- {
396
- "anonymous": false,
397
- "inputs": [
398
- {
399
- "indexed": true,
400
- "internalType": "uint256",
401
- "name": "_projectId",
402
- "type": "uint256"
403
- },
404
- {
405
- "indexed": true,
406
- "internalType": "address",
407
- "name": "_coreContract",
408
- "type": "address"
409
- },
410
- {
411
- "indexed": false,
412
- "internalType": "bytes32",
413
- "name": "_key",
414
- "type": "bytes32"
415
- },
416
- {
417
- "indexed": false,
418
- "internalType": "address",
419
- "name": "_value",
420
- "type": "address"
421
- }
422
- ],
423
- "name": "ConfigValueSet",
424
- "type": "event"
425
- },
426
- {
427
- "anonymous": false,
428
- "inputs": [
429
- {
430
- "indexed": true,
431
- "internalType": "uint256",
432
- "name": "_projectId",
433
- "type": "uint256"
434
- },
435
- {
436
- "indexed": true,
437
- "internalType": "address",
438
- "name": "_coreContract",
439
- "type": "address"
440
- },
441
- {
442
- "indexed": false,
443
- "internalType": "bytes32",
444
- "name": "_key",
445
- "type": "bytes32"
446
- },
447
- {
448
- "indexed": false,
449
- "internalType": "bytes32",
450
- "name": "_value",
451
- "type": "bytes32"
452
- }
453
- ],
454
- "name": "ConfigValueSet",
455
- "type": "event"
456
- },
457
- {
458
- "anonymous": false,
459
- "inputs": [
460
- {
461
- "indexed": true,
462
- "internalType": "uint256",
463
- "name": "projectId",
464
- "type": "uint256"
465
- },
466
- {
467
- "indexed": true,
468
- "internalType": "address",
469
- "name": "coreContract",
470
- "type": "address"
471
- },
472
- {
473
- "indexed": false,
474
- "internalType": "uint64",
475
- "name": "timestampStart",
476
- "type": "uint64"
477
- },
478
- {
479
- "indexed": false,
480
- "internalType": "uint32",
481
- "name": "auctionDurationSeconds",
482
- "type": "uint32"
483
- },
484
- {
485
- "indexed": false,
486
- "internalType": "uint256",
487
- "name": "basePrice",
488
- "type": "uint256"
489
- },
490
- {
491
- "indexed": false,
492
- "internalType": "uint8",
493
- "name": "minBidIncrementPercentage",
494
- "type": "uint8"
495
- }
496
- ],
497
- "name": "ConfiguredFutureAuctions",
498
- "type": "event"
499
- },
500
- {
501
- "anonymous": false,
502
- "inputs": [
503
- {
504
- "indexed": false,
505
- "internalType": "uint256",
506
- "name": "minAuctionDurationSeconds",
507
- "type": "uint256"
508
- }
509
- ],
510
- "name": "MinAuctionDurationSecondsUpdated",
511
- "type": "event"
512
- },
513
- {
514
- "anonymous": false,
515
- "inputs": [
516
- {
517
- "indexed": false,
518
- "internalType": "uint24",
519
- "name": "refundGasLimit",
520
- "type": "uint24"
521
- }
522
- ],
523
- "name": "MinterRefundGasLimitUpdated",
524
- "type": "event"
525
- },
526
- {
527
- "anonymous": false,
528
- "inputs": [
529
- {
530
- "indexed": false,
531
- "internalType": "uint32",
532
- "name": "minterTimeBufferSeconds",
533
- "type": "uint32"
534
- }
535
- ],
536
- "name": "MinterTimeBufferUpdated",
537
- "type": "event"
538
- },
539
- {
540
- "anonymous": false,
541
- "inputs": [
542
- {
543
- "indexed": true,
544
- "internalType": "uint256",
545
- "name": "_projectId",
546
- "type": "uint256"
547
- },
548
- {
549
- "indexed": true,
550
- "internalType": "address",
551
- "name": "_coreContract",
552
- "type": "address"
553
- },
554
- {
555
- "indexed": true,
556
- "internalType": "uint256",
557
- "name": "_pricePerTokenInWei",
558
- "type": "uint256"
559
- }
560
- ],
561
- "name": "PricePerTokenInWeiUpdated",
562
- "type": "event"
563
- },
564
- {
565
- "anonymous": false,
566
- "inputs": [
567
- {
568
- "indexed": true,
569
- "internalType": "uint256",
570
- "name": "_projectId",
571
- "type": "uint256"
572
- },
573
- {
574
- "indexed": true,
575
- "internalType": "address",
576
- "name": "_coreContract",
577
- "type": "address"
578
- },
579
- {
580
- "indexed": true,
581
- "internalType": "address",
582
- "name": "_currencyAddress",
583
- "type": "address"
584
- },
585
- {
586
- "indexed": false,
587
- "internalType": "string",
588
- "name": "_currencySymbol",
589
- "type": "string"
590
- }
591
- ],
592
- "name": "ProjectCurrencyInfoUpdated",
593
- "type": "event"
594
- },
595
- {
596
- "anonymous": false,
597
- "inputs": [
598
- {
599
- "indexed": true,
600
- "internalType": "uint256",
601
- "name": "_projectId",
602
- "type": "uint256"
603
- },
604
- {
605
- "indexed": true,
606
- "internalType": "address",
607
- "name": "_coreContract",
608
- "type": "address"
609
- },
610
- {
611
- "indexed": false,
612
- "internalType": "uint256",
613
- "name": "_maxInvocations",
614
- "type": "uint256"
615
- }
616
- ],
617
- "name": "ProjectMaxInvocationsLimitUpdated",
618
- "type": "event"
619
- },
620
- {
621
- "anonymous": false,
622
- "inputs": [
623
- {
624
- "indexed": true,
625
- "internalType": "uint256",
626
- "name": "projectId",
627
- "type": "uint256"
628
- },
629
- {
630
- "indexed": true,
631
- "internalType": "address",
632
- "name": "coreContract",
633
- "type": "address"
634
- }
635
- ],
636
- "name": "ProjectNextTokenEjected",
637
- "type": "event"
638
- },
639
- {
640
- "anonymous": false,
641
- "inputs": [
642
- {
643
- "indexed": true,
644
- "internalType": "uint256",
645
- "name": "projectId",
646
- "type": "uint256"
647
- },
648
- {
649
- "indexed": true,
650
- "internalType": "address",
651
- "name": "coreContract",
652
- "type": "address"
653
- },
654
- {
655
- "indexed": false,
656
- "internalType": "uint256",
657
- "name": "tokenId",
658
- "type": "uint256"
659
- }
660
- ],
661
- "name": "ProjectNextTokenUpdated",
662
- "type": "event"
663
- },
664
- {
665
- "anonymous": false,
666
- "inputs": [
667
- {
668
- "indexed": true,
669
- "internalType": "uint256",
670
- "name": "projectId",
671
- "type": "uint256"
672
- },
673
- {
674
- "indexed": true,
675
- "internalType": "address",
676
- "name": "coreContract",
677
- "type": "address"
678
- }
679
- ],
680
- "name": "ResetAuctionDetails",
681
- "type": "event"
682
- },
683
17
  {
684
18
  "inputs": [],
685
19
  "name": "MIN_AUCTION_DURATION_SECONDS",
@@ -697,12 +31,12 @@
697
31
  "inputs": [
698
32
  {
699
33
  "internalType": "uint256",
700
- "name": "_projectId",
34
+ "name": "projectId",
701
35
  "type": "uint256"
702
36
  },
703
37
  {
704
38
  "internalType": "address",
705
- "name": "_coreContract",
39
+ "name": "coreContract",
706
40
  "type": "address"
707
41
  }
708
42
  ],
@@ -779,7 +113,7 @@
779
113
  }
780
114
  ],
781
115
  "internalType": "struct SEALib.SEAProjectConfig",
782
- "name": "_SEAProjectConfig",
116
+ "name": "SEAProjectConfig_",
783
117
  "type": "tuple"
784
118
  }
785
119
  ],
@@ -790,32 +124,32 @@
790
124
  "inputs": [
791
125
  {
792
126
  "internalType": "uint256",
793
- "name": "_projectId",
127
+ "name": "projectId",
794
128
  "type": "uint256"
795
129
  },
796
130
  {
797
131
  "internalType": "address",
798
- "name": "_coreContract",
132
+ "name": "coreContract",
799
133
  "type": "address"
800
134
  },
801
135
  {
802
136
  "internalType": "uint256",
803
- "name": "_timestampStart",
137
+ "name": "timestampStart",
804
138
  "type": "uint256"
805
139
  },
806
140
  {
807
141
  "internalType": "uint256",
808
- "name": "_auctionDurationSeconds",
142
+ "name": "auctionDurationSeconds",
809
143
  "type": "uint256"
810
144
  },
811
145
  {
812
146
  "internalType": "uint256",
813
- "name": "_basePrice",
147
+ "name": "basePrice",
814
148
  "type": "uint256"
815
149
  },
816
150
  {
817
151
  "internalType": "uint8",
818
- "name": "_minBidIncrementPercentage",
152
+ "name": "minBidIncrementPercentage",
819
153
  "type": "uint8"
820
154
  }
821
155
  ],
@@ -828,12 +162,12 @@
828
162
  "inputs": [
829
163
  {
830
164
  "internalType": "uint256",
831
- "name": "_tokenId",
165
+ "name": "tokenId",
832
166
  "type": "uint256"
833
167
  },
834
168
  {
835
169
  "internalType": "address",
836
- "name": "_coreContract",
170
+ "name": "coreContract",
837
171
  "type": "address"
838
172
  }
839
173
  ],
@@ -846,17 +180,17 @@
846
180
  "inputs": [
847
181
  {
848
182
  "internalType": "uint256",
849
- "name": "_projectId",
183
+ "name": "projectId",
850
184
  "type": "uint256"
851
185
  },
852
186
  {
853
187
  "internalType": "address",
854
- "name": "_coreContract",
188
+ "name": "coreContract",
855
189
  "type": "address"
856
190
  },
857
191
  {
858
192
  "internalType": "address",
859
- "name": "_to",
193
+ "name": "to",
860
194
  "type": "address"
861
195
  }
862
196
  ],
@@ -869,12 +203,12 @@
869
203
  "inputs": [
870
204
  {
871
205
  "internalType": "uint256",
872
- "name": "_projectId",
206
+ "name": "projectId",
873
207
  "type": "uint256"
874
208
  },
875
209
  {
876
210
  "internalType": "address",
877
- "name": "_coreContract",
211
+ "name": "coreContract",
878
212
  "type": "address"
879
213
  }
880
214
  ],
@@ -893,12 +227,12 @@
893
227
  "inputs": [
894
228
  {
895
229
  "internalType": "uint256",
896
- "name": "_projectId",
230
+ "name": "projectId",
897
231
  "type": "uint256"
898
232
  },
899
233
  {
900
234
  "internalType": "address",
901
- "name": "_coreContract",
235
+ "name": "coreContract",
902
236
  "type": "address"
903
237
  }
904
238
  ],
@@ -932,12 +266,12 @@
932
266
  "inputs": [
933
267
  {
934
268
  "internalType": "uint256",
935
- "name": "_projectId",
269
+ "name": "projectId",
936
270
  "type": "uint256"
937
271
  },
938
272
  {
939
273
  "internalType": "address",
940
- "name": "_coreContract",
274
+ "name": "coreContract",
941
275
  "type": "address"
942
276
  }
943
277
  ],
@@ -956,7 +290,7 @@
956
290
  "inputs": [
957
291
  {
958
292
  "internalType": "address",
959
- "name": "_coreContract",
293
+ "name": "coreContract",
960
294
  "type": "address"
961
295
  }
962
296
  ],
@@ -975,17 +309,17 @@
975
309
  "inputs": [
976
310
  {
977
311
  "internalType": "uint256",
978
- "name": "_projectId",
312
+ "name": "projectId",
979
313
  "type": "uint256"
980
314
  },
981
315
  {
982
316
  "internalType": "address",
983
- "name": "_coreContract",
317
+ "name": "coreContract",
984
318
  "type": "address"
985
319
  },
986
320
  {
987
321
  "internalType": "uint24",
988
- "name": "_maxInvocations",
322
+ "name": "maxInvocations",
989
323
  "type": "uint24"
990
324
  }
991
325
  ],
@@ -998,12 +332,12 @@
998
332
  "inputs": [
999
333
  {
1000
334
  "internalType": "uint256",
1001
- "name": "_projectId",
335
+ "name": "projectId",
1002
336
  "type": "uint256"
1003
337
  },
1004
338
  {
1005
339
  "internalType": "address",
1006
- "name": "_coreContract",
340
+ "name": "coreContract",
1007
341
  "type": "address"
1008
342
  }
1009
343
  ],
@@ -1036,17 +370,17 @@
1036
370
  "outputs": [
1037
371
  {
1038
372
  "internalType": "uint256",
1039
- "name": "minAuctionDurationSeconds_",
373
+ "name": "minAuctionDurationSeconds",
1040
374
  "type": "uint256"
1041
375
  },
1042
376
  {
1043
377
  "internalType": "uint32",
1044
- "name": "minterTimeBufferSeconds_",
378
+ "name": "minterTimeBufferSeconds",
1045
379
  "type": "uint32"
1046
380
  },
1047
381
  {
1048
382
  "internalType": "uint24",
1049
- "name": "minterRefundGasLimit_",
383
+ "name": "minterRefundGasLimit",
1050
384
  "type": "uint24"
1051
385
  }
1052
386
  ],
@@ -1096,12 +430,12 @@
1096
430
  "inputs": [
1097
431
  {
1098
432
  "internalType": "uint256",
1099
- "name": "_projectId",
433
+ "name": "projectId",
1100
434
  "type": "uint256"
1101
435
  },
1102
436
  {
1103
437
  "internalType": "address",
1104
- "name": "_coreContract",
438
+ "name": "coreContract",
1105
439
  "type": "address"
1106
440
  }
1107
441
  ],
@@ -1152,12 +486,12 @@
1152
486
  "inputs": [
1153
487
  {
1154
488
  "internalType": "uint256",
1155
- "name": "_projectId",
489
+ "name": "projectId",
1156
490
  "type": "uint256"
1157
491
  },
1158
492
  {
1159
493
  "internalType": "address",
1160
- "name": "_coreContract",
494
+ "name": "coreContract",
1161
495
  "type": "address"
1162
496
  }
1163
497
  ],
@@ -1176,12 +510,12 @@
1176
510
  "inputs": [
1177
511
  {
1178
512
  "internalType": "uint256",
1179
- "name": "_projectId",
513
+ "name": "projectId",
1180
514
  "type": "uint256"
1181
515
  },
1182
516
  {
1183
517
  "internalType": "address",
1184
- "name": "_coreContract",
518
+ "name": "coreContract",
1185
519
  "type": "address"
1186
520
  }
1187
521
  ],
@@ -1200,12 +534,12 @@
1200
534
  "inputs": [
1201
535
  {
1202
536
  "internalType": "uint256",
1203
- "name": "_projectId",
537
+ "name": "projectId",
1204
538
  "type": "uint256"
1205
539
  },
1206
540
  {
1207
541
  "internalType": "address",
1208
- "name": "_coreContract",
542
+ "name": "coreContract",
1209
543
  "type": "address"
1210
544
  }
1211
545
  ],
@@ -1218,12 +552,12 @@
1218
552
  "inputs": [
1219
553
  {
1220
554
  "internalType": "uint256",
1221
- "name": "_tokenId",
555
+ "name": "tokenId",
1222
556
  "type": "uint256"
1223
557
  },
1224
558
  {
1225
559
  "internalType": "address",
1226
- "name": "_coreContract",
560
+ "name": "coreContract",
1227
561
  "type": "address"
1228
562
  }
1229
563
  ],
@@ -1236,17 +570,17 @@
1236
570
  "inputs": [
1237
571
  {
1238
572
  "internalType": "uint256",
1239
- "name": "_settleTokenId",
573
+ "name": "settleTokenId",
1240
574
  "type": "uint256"
1241
575
  },
1242
576
  {
1243
577
  "internalType": "uint256",
1244
- "name": "_bidTokenId",
578
+ "name": "bidTokenId",
1245
579
  "type": "uint256"
1246
580
  },
1247
581
  {
1248
582
  "internalType": "address",
1249
- "name": "_coreContract",
583
+ "name": "coreContract",
1250
584
  "type": "address"
1251
585
  }
1252
586
  ],
@@ -1259,12 +593,12 @@
1259
593
  "inputs": [
1260
594
  {
1261
595
  "internalType": "uint256",
1262
- "name": "_projectId",
596
+ "name": "projectId",
1263
597
  "type": "uint256"
1264
598
  },
1265
599
  {
1266
600
  "internalType": "address",
1267
- "name": "_coreContract",
601
+ "name": "coreContract",
1268
602
  "type": "address"
1269
603
  }
1270
604
  ],
@@ -1277,12 +611,12 @@
1277
611
  "inputs": [
1278
612
  {
1279
613
  "internalType": "uint256",
1280
- "name": "_projectId",
614
+ "name": "projectId",
1281
615
  "type": "uint256"
1282
616
  },
1283
617
  {
1284
618
  "internalType": "address",
1285
- "name": "_coreContract",
619
+ "name": "coreContract",
1286
620
  "type": "address"
1287
621
  }
1288
622
  ],
@@ -1295,7 +629,7 @@
1295
629
  "inputs": [
1296
630
  {
1297
631
  "internalType": "uint32",
1298
- "name": "_minterTimeBufferSeconds",
632
+ "name": "minterTimeBufferSeconds",
1299
633
  "type": "uint32"
1300
634
  }
1301
635
  ],
@@ -1308,7 +642,7 @@
1308
642
  "inputs": [
1309
643
  {
1310
644
  "internalType": "uint24",
1311
- "name": "_minterRefundGasLimit",
645
+ "name": "minterRefundGasLimit",
1312
646
  "type": "uint24"
1313
647
  }
1314
648
  ],
@@ -1318,8 +652,8 @@
1318
652
  "type": "function"
1319
653
  }
1320
654
  ],
1321
- "bytecode": "0x60c06040526001805466ffffffffffffff1916657530000000781790553480156200002957600080fd5b506040516200318b3803806200318b8339810160408190526200004c916200011e565b60016000556001600160a01b038116608081905260a052604051603c81527f4ef0f5aca00c220a4058c318e0dd5526680003d4e6fceb9ad65087452a8313fa9060200160405180910390a160015460405163ffffffff90911681527f8b3c10d428bd990a6450cefb1c55333a8e7ad39e44e310574b6357014c8fcbae9060200160405180910390a160015460405164010000000090910462ffffff1681527ff28602592f2788507e76a86523ec8d5ef26873807e258d4cae31571370c0e6c89060200160405180910390a15062000150565b6000602082840312156200013157600080fd5b81516001600160a01b03811681146200014957600080fd5b9392505050565b60805160a0516130076200018460003960006118f8015260008181610498015281816105eb015261128901526130076000f3fe6080604052600436106101265760003560e01c806301000da71461012b578063217748bb146101605780633c496a3e146101825780634869f3df146101b05780634b1614ba146101fa57806355ec841c1461021a578063630766801461023a5780637a1b838f1461027757806390748d28146102975780639a94488a146102c45780639b7b55851461035c578063b000e33414610371578063b8bd1b1d14610391578063b945c4e0146103a4578063cce7c909146103b7578063cf76e1b0146103d7578063d3ddabe6146103f7578063d9bffbce14610436578063d9eb16db14610456578063dd85582f14610486578063e4566f2d146104d2578063e624db9f146104f2578063e9d1e8ac14610512578063f1d1a7fa14610549578063ff83e64914610569575b600080fd5b34801561013757600080fd5b5061014b610146366004612958565b610596565b60405190151581526020015b60405180910390f35b34801561016c57600080fd5b5061018061017b366004612975565b6105d7565b005b34801561018e57600080fd5b506101a261019d36600461299b565b610668565b604051908152602001610157565b3480156101bc57600080fd5b506101a26101cb36600461299b565b6001600160a01b031660009081526003602090815260408083209383529290522054610100900462ffffff1690565b34801561020657600080fd5b506101a261021536600461299b565b61069f565b34801561022657600080fd5b506101806102353660046129cb565b6106cc565b34801561024657600080fd5b5060015460408051603c815263ffffffff83166020820152600160201b90920462ffffff1690820152606001610157565b34801561028357600080fd5b50610180610292366004612a0d565b61086f565b3480156102a357600080fd5b506102b76102b236600461299b565b610a7b565b6040516101579190612abf565b3480156102d057600080fd5b5061033a6102df36600461299b565b6040805180820190915260008082526020820152506001600160a01b031660009081526003602090815260408083209383529281529082902082518084019093525460ff811615158352610100900462ffffff169082015290565b6040805182511515815260209283015162ffffff169281019290925201610157565b34801561036857600080fd5b506101a2603c81565b34801561037d57600080fd5b5061018061038c366004612b48565b610b9c565b61018061039f36600461299b565b610c2e565b6101806103b2366004612b86565b610e60565b3480156103c357600080fd5b5061014b6103d236600461299b565b610ecb565b3480156103e357600080fd5b506101806103f236600461299b565b610ef7565b34801561040357600080fd5b5061042960405180604001604052806006815260200165076312e302e360d41b81525081565b6040516101579190612c04565b34801561044257600080fd5b5061018061045136600461299b565b610f85565b34801561046257600080fd5b5061047661047136600461299b565b610ffe565b6040516101579493929190612c17565b34801561049257600080fd5b506104ba7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610157565b3480156104de57600080fd5b506101806104ed36600461299b565b61105e565b3480156104fe57600080fd5b5061018061050d366004612c51565b611284565b34801561051e57600080fd5b506104296040518060400160405280600b81526020016a4d696e746572534541563160a81b81525081565b34801561055557600080fd5b5061018061056436600461299b565b611351565b34801561057557600080fd5b5061058961058436600461299b565b6113de565b6040516101579190612c6c565b6001600160a01b03811660009081526002602052604081208054610100900460ff16156105c7575460ff1692915050565b6105d083611412565b9392505050565b6105e68163ffffffff1661154a565b6106197f0000000000000000000000000000000000000000000000000000000000000000333063217748bb60e01b61158d565b6001805463ffffffff191663ffffffff83169081179091556040519081527f8b3c10d428bd990a6450cefb1c55333a8e7ad39e44e310574b6357014c8fcbae906020015b60405180910390a150565b6001600160a01b0381166000908152600460209081526040808320858452909152812061069581856115e8565b9150505b92915050565b6001600160a01b03811660009081526004602090815260408083208584529091528120610695818561162a565b6106df82333063157b210760e21b6116a5565b6001600160a01b0382166000908152600460209081526040808320868452909152902061070b816116fa565b1561075a5760405162461bcd60e51b815260206004820152601a6024820152794f6e6c7920756e636f6e666967757265642070726f6a6563747360301b60448201526064015b60405180910390fd5b8054600160801b900460ff1615156001146107a75760405162461bcd60e51b815260206004820152600d60248201526c2737903732bc3a103a37b5b2b760991b6044820152606401610751565b805460ff60801b19168082556000906107cd908690600160681b900462ffffff1661170d565b6040516323b872dd60e01b81529091506001600160a01b038516906323b872dd9061080090309087908690600401612c7a565b600060405180830381600087803b15801561081a57600080fd5b505af115801561082e573d6000803e3d6000fd5b50506040516001600160a01b03871692508791507f10cd4451a553c43379019750f57f76e7b32c27d28019cc64e1cb457c678cfef690600090a35050505050565b6108788261154a565b6108848160ff1661154a565b61088f86863361171d565b6001600160a01b03851660008181526004602090815260408083208a84528252808320938352600382528083208a845290915290208515806108d057508542105b61091b5760405162461bcd60e51b815260206004820152601c60248201527b04f6e6c79206675747572652073746172742074696d6573206f7220360241b6044820152606401610751565b603c85101561096c5760405162461bcd60e51b815260206004820152601e60248201527f41756374696f6e206475726174696f6e2062656c6f77206d696e696d756d00006044820152606401610751565b61097586611762565b825467ffffffffffffffff19166001600160401b039190911617825561099a856117ce565b82546001840186905564ffffffffff60401b1916600160401b63ffffffff929092169190910260ff60601b191617600160601b60ff8516021782556001600160a01b038716887f62be165a67549c68012bfe757f102930d89f0efb86df6ccd057cb526e2097780610a0a89611762565b610a13896117ce565b604080516001600160401b03909316835263ffffffff9091166020830152810188905260ff8716606082015260800160405180910390a3610a5381611833565b15610a6757610a628888610f85565b610a71565b610a718888611853565b5050505050505050565b610a836128cb565b506001600160a01b038082166000908152600460208181526040808420878552825292839020835160e08101855281546001600160401b03808216835263ffffffff600160401b8304168386015260ff600160601b830481168489015262ffffff600160681b840416606080860191909152600160801b909304811615156080808601918252600187015460a0808801919091528a5160c08181018d5260028a0154825260038a01549a82019a909a5297909901549a8b1699870199909952600160a01b8a0490921692850192909252600160e01b8804821696840196909652600160e81b90960490951615159281019290925283015251610b86576000610b8c565b80606001515b62ffffff16606082015292915050565b610ba783833361171d565b6001600160a01b03821660009081526003602090815260408083208684529091529020610bd9908490849084906119e3565b60405162ffffff821681526001600160a01b0383169084907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237906020015b60405180910390a3610c298383611853565b505050565b600260005403610c505760405162461bcd60e51b815260040161075190612c9e565b60026000908155620f424083046001600160a01b038316600090815260046020818152604080842085855290915290912090810154600382015492935090916002830191600160a01b90046001600160401b031690610cae83611a6a565b1580610cc557506002830154600160e81b900460ff165b15610cdf57610cd5858789611a7c565b5050505050610e57565b82548714610d2f5760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e20494420646f6573206e6f74206d617463682061756374696f6e006044820152606401610751565b428211610d765760405162461bcd60e51b8152602060048201526015602482015274105d58dd1a5bdb88185b1c9958591e48195b991959605a1b6044820152606401610751565b610d7f83611d32565b341015610dbf5760405162461bcd60e51b815260206004820152600e60248201526d42696420697320746f6f206c6f7760901b6044820152606401610751565b60028301546001546001600160a01b0390911690610de690859063ffffffff163433611d6d565b600154610e029082908490600160201b900462ffffff16611df5565b336001600160a01b0316876001600160a01b0316897f3bb6f40a8aeb5dda33c401527cd8f6bd335757d2b1ed2827f0321a090c66b82434604051610e4891815260200190565b60405180910390a45050505050505b50506001600055565b620f42408204620f4240840414610eb75760405162461bcd60e51b815260206004820152601b60248201527a13db9b1e481d1bdad95b9cc81a5b881cd85b59481c1c9bda9958dd602a1b6044820152606401610751565b610ec1838261105e565b610c298282610c2e565b6001600160a01b038116600090815260036020908152604080832085845290915281205460ff166105d0565b600260005403610f195760405162461bcd60e51b815260040161075190612c9e565b6002600055610f2982823361171d565b6001600160a01b03811660009081526004602090815260408083208584529091529020610f55816116fa565b610f715760405162461bcd60e51b815260040161075190612cd5565b610f7b8383611853565b5050600160005550565b610f9082823361171d565b6001600160a01b03811660009081526003602090815260408083208584529091528120610fc09084908490611e2a565b9050816001600160a01b0316837f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e23783604051610c1791815260200190565b6001600160a01b038116600090815260046020908152604080832085845290915281208190606090829061103181611ecf565b60408051808201909152600381526208aa8960eb1b60208201529199909850909650600095509350505050565b6002600054036110805760405162461bcd60e51b815260040161075190612c9e565b600260008181556001600160a01b038381168252600460208181526040808520620f424089048087529252909320908101546003820154939491939184019216906110ca83611a6a565b6111105760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081a5b9a5d1a585b1a5e9959604a1b6044820152606401610751565b6002830154600160e81b900460ff168061112b575082548714155b1561113a575050505050610e57565b6002830154600160a01b90046001600160401b03164210156111965760405162461bcd60e51b8152602060048201526015602482015274105d58dd1a5bdb881b9bdd081e595d08195b991959605a1b6044820152606401610751565b60028301805460ff60e81b1916600160e81b1790556040516323b872dd60e01b81526001600160a01b038716906323b872dd906111db90309086908c90600401612c7a565b600060405180830381600087803b1580156111f557600080fd5b505af1158015611209573d6000803e3d6000fd5b505050506001600160a01b0386166000908152600260205260408120611230908890611f26565b905061123e86838984611f58565b826001600160a01b0316876001600160a01b0316897f3e25c3675d003af5184b628dd8bd4775b9b3abc7351c3574c90870ca25b55f1185604051610e4891815260200190565b6112b77f0000000000000000000000000000000000000000000000000000000000000000333063e624db9f60e01b61158d565b611b588162ffffff1610156112ff5760405162461bcd60e51b815260206004820152600e60248201526d04f6e6c792067746520375f3030360941b6044820152606401610751565b6001805462ffffff60201b1916600160201b62ffffff8416908102919091179091556040519081527ff28602592f2788507e76a86523ec8d5ef26873807e258d4cae31571370c0e6c89060200161065d565b611365828233306378e8d3fd60e11b612323565b6001600160a01b038116600090815260046020908152604080832085845290915290206113a3818054600060018301556001600160681b0319169055565b6040516001600160a01b0383169084907f865169678476a498ca03f184818d6bd6217dd57b754577a944c19d6d75587c8090600090a3505050565b6113e661290e565b6001600160a01b038216600090815260046020908152604080832086845290915290206106958161238c565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690611474908590612d05565b600060405180830381855afa9150503d80600081146114af576040519150601f19603f3d011682016040523d82523d6000602084013e6114b4565b606091505b5091509150816114d65760405162461bcd60e51b815260040161075190612d21565b805160c08190036114ed5750600095945050505050565b80610100036115025750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c697420627974657300006044820152606401610751565b8060000361158a5760405162461bcd60e51b815260206004820152600d60248201526c4f6e6c79206e6f6e2d7a65726f60981b6044820152606401610751565b50565b61159984848484612458565b6115e25760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b6044820152606401610751565b50505050565b6000600283016115f781611a6a565b80156116175750600281015442600160a01b9091046001600160401b0316115b1561162457549050610699565b61069584845b8154600090600160801b900460ff166116805760405162461bcd60e51b815260206004820152601860248201527713995e1d081d1bdad95b881b9bdd081c1bdc1d5b185d195960421b6044820152606401610751565b8254600160681b900462ffffff1661169b620f424084612d7c565b6105d09190612d93565b6116b184848484612458565b6115e25760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610751565b54600160401b900463ffffffff16151590565b60008161169b620f424085612d7c565b6117288383836124e9565b610c295760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610751565b60006001600160401b038211156117ca5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610751565b5090565b600063ffffffff8211156117ca5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610751565b8054600090610100900462ffffff161580156106995750505460ff161590565b6001600160a01b038116600081815260046020908152604080832086845282528083209383526003825280832086845290915290208154600160801b900460ff161561189f5750505050565b6118aa818585612572565b6118b45750505050565b815460ff60801b1916600160801b1782556040516117cd60e21b8152306004820152602481018590526001600160a01b0384811660448301523360648301526000917f000000000000000000000000000000000000000000000000000000000000000090911690615f34906084016020604051808303816000875af1158015611941573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119659190612da6565b9050611970816125ac565b835462ffffff91909116600160681b0262ffffff60681b1990911617835561199881836125bb565b836001600160a01b0316857f0ebdd7cad7efd438492c42bc712f64b1f41b046cd6cb52382c4d1b513459194a836040516119d491815260200190565b60405180910390a35050505050565b6000806119f08686612633565b91509150808462ffffff161115611a195760405162461bcd60e51b815260040161075190612dbf565b818462ffffff161015611a3e5760405162461bcd60e51b815260040161075190612dbf565b50815460ff1962ffffff90941661010081029490941663ffffffff199091161792149190911790555050565b600201546001600160a01b0316151590565b6001600160a01b0382166000908152600460209081526040808320868452909152902060028101611aac826116fa565b611ac85760405162461bcd60e51b815260040161075190612cd5565b81546001600160401b0316421015611b205760405162461bcd60e51b815260206004820152601b60248201527a4f6e6c79206774652070726f6a6563742073746172742074696d6560281b6044820152606401610751565b611b2981611a6a565b1580611b4057506002810154600160e81b900460ff165b611b8b5760405162461bcd60e51b815260206004820152601c60248201527b115e1a5cdd1a5b99c8185d58dd1a5bdb881b9bdd081cd95d1d1b195960221b6044820152606401610751565b8160010154341015611bda5760405162461bcd60e51b8152602060048201526018602482015277125b9cdd59999a58da595b9d081a5b9a5d1a585b08189a5960421b6044820152606401610751565b8154600160801b900460ff16611c3e5760405162461bcd60e51b8152602060048201526024808201527f4e6f206e65787420746f6b656e2c20636865636b206d617820696e766f636174604482015263696f6e7360e01b6064820152608401610751565b611c47836125ac565b8254600160681b900462ffffff1614611c9e5760405162461bcd60e51b8152602060048201526019602482015278125b98dbdc9c9958dd081d185c99d95d081d1bdad95b881251603a1b6044820152606401610751565b6000611cac838534336126b1565b835460ff60801b191684556004840154604080513481526001600160401b0384166020820152600160e01b90920460ff169082015290915033906001600160a01b0387169086907fb35324b0305f7c72581844f61b571e7136827ec4b3bcd716a1b8a8b7d42e1e549060600160405180910390a4611d2a8686611853565b505050505050565b6002810154600090606490611d5190600160e01b900460ff1682612e06565b60ff168360010154611d639190612d7c565b6106999190612e1f565b600184018290556002840180546001600160a01b0319166001600160a01b0383161790556000611d9d8442612d93565b6002860154909150600160a01b90046001600160401b0316811115611dee57611dc581611762565b8560020160146101000a8154816001600160401b0302191690836001600160401b031602179055505b5050505050565b600080600080858786f1610c2957826000526073600b5360ff6020536016600b83f0610c2957620f42405a11610c2957600080fd5b6000806000846001600160a01b0316630ea5613f876040518263ffffffff1660e01b8152600401611e5d91815260200190565b60c060405180830381865afa158015611e7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9e9190612e43565b5050875493831463ffffffff1990941661010062ffffff85160260ff19161793909317909655979650505050505050565b6000806002830181611ee0856116fa565b90506000611eed83612779565b90508180611ef85750805b94508415611f1e578015611f1657611f0f83611d32565b9350611f1e565b856001015493505b505050915091565b8054600090610100900460ff1615611f435750805460ff16610699565b6000611f4f84846127a5565b91506106999050565b82156115e257600080600080600080600087156120a957604051638639415b60e01b8152600481018c9052602481018b905260009081906001600160a01b038c1690638639415b9060440161010060405180830381865afa158015611fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe59190612ea2565b969e50949c50909a509850919650919450909250905081156120a2576040516001600160a01b038216908390600081818185875af1925050503d806000811461204a576040519150601f19603f3d011682016040523d82523d6000602084013e61204f565b606091505b505080995050886120a25760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610751565b5050612129565b604051638639415b60e01b8152600481018c9052602481018b90526001600160a01b038a1690638639415b9060440160c060405180830381865afa1580156120f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121199190612f2a565b949a509298509096509450925090505b85156121d0576040516001600160a01b038616908790600081818185875af1925050503d8060008114612178576040519150601f19603f3d011682016040523d82523d6000602084013e61217d565b606091505b505080975050866121d05760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610751565b831561226f576040516001600160a01b038416908590600081818185875af1925050503d806000811461221f576040519150601f19603f3d011682016040523d82523d6000602084013e612224565b606091505b5050809750508661226f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610751565b8115612316576040516001600160a01b038216908390600081818185875af1925050503d80600081146122be576040519150601f19603f3d011682016040523d82523d6000602084013e6122c3565b606091505b505080975050866123165760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610751565b5050505050505050505050565b61232e8585856124e9565b80612340575061234084848484612458565b611dee5760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c7920417274697374206f7220436f72652041646d696e2041434c0000006044820152606401610751565b61239461290e565b600282016123a181611a6a565b6123ec5760405162461bcd60e51b815260206004820152601c60248201527b139bc8185d58dd1a5bdb88195e1a5cdd1cc81bdb881c1c9bda9958dd60221b6044820152606401610751565b50506040805160c08101825260028301548152600383015460208201526004909201546001600160a01b038116918301919091526001600160401b03600160a01b820416606083015260ff600160e01b820481166080840152600160e81b90910416151560a082015290565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af11580156124bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124e09190612f85565b95945050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015612531573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125559190612fa0565b6001600160a01b0316826001600160a01b03161490509392505050565b60008060006125818585612633565b87549193509150610100900462ffffff16600061259e83836128b5565b909310979650505050505050565b6000610699620f424083612fbd565b8054620f4240830660010190610100900462ffffff168082111561261b5760405162461bcd60e51b815260206004820152601760248201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b6044820152606401610751565b8082036115e257825460ff1916600117835550505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa15801561267d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a19190612e43565b5093989297509195505050505050565b83546000906126d6906126d190600160401b900463ffffffff1642612d93565b611762565b6040805160c081018252868152602081018690526001600160a01b03949094169084018190526001600160401b038216606085018190528754600160601b900460ff1660808601819052600060a09096019590955260028801969096556003870194909455600490950180546001600160e01b031916909317600160a01b9094029390931761ffff60e01b1916600160e01b90910260ff60e81b19161790555090565b600061278482611a6a565b801561069957505060020154600160a01b90046001600160401b0316421090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03871690612807908590612d05565b6000604051808303816000865af19150503d8060008114612844576040519150601f19603f3d011682016040523d82523d6000602084013e612849565b606091505b50915091508161286b5760405162461bcd60e51b815260040161075190612d21565b805160c0819003612891575050835461ffff191661010017845550600091506106999050565b8061010003611502575050835461ffff191661010117845550600191506106999050565b60008183106128c457816105d0565b5090919050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915260c0810161290961290e565b905290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b6001600160a01b038116811461158a57600080fd5b60006020828403121561296a57600080fd5b81356105d081612943565b60006020828403121561298757600080fd5b813563ffffffff811681146105d057600080fd5b600080604083850312156129ae57600080fd5b8235915060208301356129c081612943565b809150509250929050565b6000806000606084860312156129e057600080fd5b8335925060208401356129f281612943565b91506040840135612a0281612943565b809150509250925092565b60008060008060008060c08789031215612a2657600080fd5b863595506020870135612a3881612943565b945060408701359350606087013592506080870135915060a087013560ff81168114612a6357600080fd5b809150509295509295509295565b80518252602080820151908301526040808201516001600160a01b0316908301526060808201516001600160401b03169083015260808082015160ff169083015260a0908101511515910152565b6000610180820190506001600160401b03835116825263ffffffff602084015116602083015260ff604084015116604083015262ffffff606084015116606083015260808301511515608083015260a083015160a083015260c0830151612b2960c0840182612a71565b5092915050565b803562ffffff81168114612b4357600080fd5b919050565b600080600060608486031215612b5d57600080fd5b833592506020840135612b6f81612943565b9150612b7d60408501612b30565b90509250925092565b600080600060608486031215612b9b57600080fd5b83359250602084013591506040840135612a0281612943565b60005b83811015612bcf578181015183820152602001612bb7565b50506000910152565b60008151808452612bf0816020860160208601612bb4565b601f01601f19169290920160200192915050565b6020815260006105d06020830184612bd8565b8415158152836020820152608060408201526000612c386080830185612bd8565b905060018060a01b038316606083015295945050505050565b600060208284031215612c6357600080fd5b6105d082612b30565b60c081016106998284612a71565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b602080825260169082015275141c9bda9958dd081b9bdd0818dbdb999a59dd5c995960521b604082015260600190565b60008251612d17818460208701612bb4565b9190910192915050565b60208082526025908201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604082015264185a5b195960da1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761069957610699612d66565b8082018082111561069957610699612d66565b600060208284031215612db857600080fd5b5051919050565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b60ff818116838216019081111561069957610699612d66565b600082612e2e57612e2e612df0565b500490565b80518015158114612b4357600080fd5b60008060008060008060c08789031215612e5c57600080fd5b8651955060208701519450612e7360408801612e33565b9350612e8160608801612e33565b925060808701519150612e9660a08801612e33565b90509295509295509295565b600080600080600080600080610100898b031215612ebf57600080fd5b885197506020890151612ed181612943565b60408a015160608b01519198509650612ee981612943565b60808a015160a08b01519196509450612f0181612943565b60c08a015160e08b01519194509250612f1981612943565b809150509295985092959890939650565b60008060008060008060c08789031215612f4357600080fd5b865195506020870151612f5581612943565b604088015160608901519196509450612f6d81612943565b608088015160a08901519194509250612a6381612943565b600060208284031215612f9757600080fd5b6105d082612e33565b600060208284031215612fb257600080fd5b81516105d081612943565b600082612fcc57612fcc612df0565b50069056fea26469706673582212205ac2682e3d7f1d57f9eab47cd1cfd0c7cf0a688a26bd3f2877c7f3393fda9dce64736f6c63430008130033",
1322
- "deployedBytecode": "0x6080604052600436106101265760003560e01c806301000da71461012b578063217748bb146101605780633c496a3e146101825780634869f3df146101b05780634b1614ba146101fa57806355ec841c1461021a578063630766801461023a5780637a1b838f1461027757806390748d28146102975780639a94488a146102c45780639b7b55851461035c578063b000e33414610371578063b8bd1b1d14610391578063b945c4e0146103a4578063cce7c909146103b7578063cf76e1b0146103d7578063d3ddabe6146103f7578063d9bffbce14610436578063d9eb16db14610456578063dd85582f14610486578063e4566f2d146104d2578063e624db9f146104f2578063e9d1e8ac14610512578063f1d1a7fa14610549578063ff83e64914610569575b600080fd5b34801561013757600080fd5b5061014b610146366004612958565b610596565b60405190151581526020015b60405180910390f35b34801561016c57600080fd5b5061018061017b366004612975565b6105d7565b005b34801561018e57600080fd5b506101a261019d36600461299b565b610668565b604051908152602001610157565b3480156101bc57600080fd5b506101a26101cb36600461299b565b6001600160a01b031660009081526003602090815260408083209383529290522054610100900462ffffff1690565b34801561020657600080fd5b506101a261021536600461299b565b61069f565b34801561022657600080fd5b506101806102353660046129cb565b6106cc565b34801561024657600080fd5b5060015460408051603c815263ffffffff83166020820152600160201b90920462ffffff1690820152606001610157565b34801561028357600080fd5b50610180610292366004612a0d565b61086f565b3480156102a357600080fd5b506102b76102b236600461299b565b610a7b565b6040516101579190612abf565b3480156102d057600080fd5b5061033a6102df36600461299b565b6040805180820190915260008082526020820152506001600160a01b031660009081526003602090815260408083209383529281529082902082518084019093525460ff811615158352610100900462ffffff169082015290565b6040805182511515815260209283015162ffffff169281019290925201610157565b34801561036857600080fd5b506101a2603c81565b34801561037d57600080fd5b5061018061038c366004612b48565b610b9c565b61018061039f36600461299b565b610c2e565b6101806103b2366004612b86565b610e60565b3480156103c357600080fd5b5061014b6103d236600461299b565b610ecb565b3480156103e357600080fd5b506101806103f236600461299b565b610ef7565b34801561040357600080fd5b5061042960405180604001604052806006815260200165076312e302e360d41b81525081565b6040516101579190612c04565b34801561044257600080fd5b5061018061045136600461299b565b610f85565b34801561046257600080fd5b5061047661047136600461299b565b610ffe565b6040516101579493929190612c17565b34801561049257600080fd5b506104ba7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610157565b3480156104de57600080fd5b506101806104ed36600461299b565b61105e565b3480156104fe57600080fd5b5061018061050d366004612c51565b611284565b34801561051e57600080fd5b506104296040518060400160405280600b81526020016a4d696e746572534541563160a81b81525081565b34801561055557600080fd5b5061018061056436600461299b565b611351565b34801561057557600080fd5b5061058961058436600461299b565b6113de565b6040516101579190612c6c565b6001600160a01b03811660009081526002602052604081208054610100900460ff16156105c7575460ff1692915050565b6105d083611412565b9392505050565b6105e68163ffffffff1661154a565b6106197f0000000000000000000000000000000000000000000000000000000000000000333063217748bb60e01b61158d565b6001805463ffffffff191663ffffffff83169081179091556040519081527f8b3c10d428bd990a6450cefb1c55333a8e7ad39e44e310574b6357014c8fcbae906020015b60405180910390a150565b6001600160a01b0381166000908152600460209081526040808320858452909152812061069581856115e8565b9150505b92915050565b6001600160a01b03811660009081526004602090815260408083208584529091528120610695818561162a565b6106df82333063157b210760e21b6116a5565b6001600160a01b0382166000908152600460209081526040808320868452909152902061070b816116fa565b1561075a5760405162461bcd60e51b815260206004820152601a6024820152794f6e6c7920756e636f6e666967757265642070726f6a6563747360301b60448201526064015b60405180910390fd5b8054600160801b900460ff1615156001146107a75760405162461bcd60e51b815260206004820152600d60248201526c2737903732bc3a103a37b5b2b760991b6044820152606401610751565b805460ff60801b19168082556000906107cd908690600160681b900462ffffff1661170d565b6040516323b872dd60e01b81529091506001600160a01b038516906323b872dd9061080090309087908690600401612c7a565b600060405180830381600087803b15801561081a57600080fd5b505af115801561082e573d6000803e3d6000fd5b50506040516001600160a01b03871692508791507f10cd4451a553c43379019750f57f76e7b32c27d28019cc64e1cb457c678cfef690600090a35050505050565b6108788261154a565b6108848160ff1661154a565b61088f86863361171d565b6001600160a01b03851660008181526004602090815260408083208a84528252808320938352600382528083208a845290915290208515806108d057508542105b61091b5760405162461bcd60e51b815260206004820152601c60248201527b04f6e6c79206675747572652073746172742074696d6573206f7220360241b6044820152606401610751565b603c85101561096c5760405162461bcd60e51b815260206004820152601e60248201527f41756374696f6e206475726174696f6e2062656c6f77206d696e696d756d00006044820152606401610751565b61097586611762565b825467ffffffffffffffff19166001600160401b039190911617825561099a856117ce565b82546001840186905564ffffffffff60401b1916600160401b63ffffffff929092169190910260ff60601b191617600160601b60ff8516021782556001600160a01b038716887f62be165a67549c68012bfe757f102930d89f0efb86df6ccd057cb526e2097780610a0a89611762565b610a13896117ce565b604080516001600160401b03909316835263ffffffff9091166020830152810188905260ff8716606082015260800160405180910390a3610a5381611833565b15610a6757610a628888610f85565b610a71565b610a718888611853565b5050505050505050565b610a836128cb565b506001600160a01b038082166000908152600460208181526040808420878552825292839020835160e08101855281546001600160401b03808216835263ffffffff600160401b8304168386015260ff600160601b830481168489015262ffffff600160681b840416606080860191909152600160801b909304811615156080808601918252600187015460a0808801919091528a5160c08181018d5260028a0154825260038a01549a82019a909a5297909901549a8b1699870199909952600160a01b8a0490921692850192909252600160e01b8804821696840196909652600160e81b90960490951615159281019290925283015251610b86576000610b8c565b80606001515b62ffffff16606082015292915050565b610ba783833361171d565b6001600160a01b03821660009081526003602090815260408083208684529091529020610bd9908490849084906119e3565b60405162ffffff821681526001600160a01b0383169084907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237906020015b60405180910390a3610c298383611853565b505050565b600260005403610c505760405162461bcd60e51b815260040161075190612c9e565b60026000908155620f424083046001600160a01b038316600090815260046020818152604080842085855290915290912090810154600382015492935090916002830191600160a01b90046001600160401b031690610cae83611a6a565b1580610cc557506002830154600160e81b900460ff165b15610cdf57610cd5858789611a7c565b5050505050610e57565b82548714610d2f5760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e20494420646f6573206e6f74206d617463682061756374696f6e006044820152606401610751565b428211610d765760405162461bcd60e51b8152602060048201526015602482015274105d58dd1a5bdb88185b1c9958591e48195b991959605a1b6044820152606401610751565b610d7f83611d32565b341015610dbf5760405162461bcd60e51b815260206004820152600e60248201526d42696420697320746f6f206c6f7760901b6044820152606401610751565b60028301546001546001600160a01b0390911690610de690859063ffffffff163433611d6d565b600154610e029082908490600160201b900462ffffff16611df5565b336001600160a01b0316876001600160a01b0316897f3bb6f40a8aeb5dda33c401527cd8f6bd335757d2b1ed2827f0321a090c66b82434604051610e4891815260200190565b60405180910390a45050505050505b50506001600055565b620f42408204620f4240840414610eb75760405162461bcd60e51b815260206004820152601b60248201527a13db9b1e481d1bdad95b9cc81a5b881cd85b59481c1c9bda9958dd602a1b6044820152606401610751565b610ec1838261105e565b610c298282610c2e565b6001600160a01b038116600090815260036020908152604080832085845290915281205460ff166105d0565b600260005403610f195760405162461bcd60e51b815260040161075190612c9e565b6002600055610f2982823361171d565b6001600160a01b03811660009081526004602090815260408083208584529091529020610f55816116fa565b610f715760405162461bcd60e51b815260040161075190612cd5565b610f7b8383611853565b5050600160005550565b610f9082823361171d565b6001600160a01b03811660009081526003602090815260408083208584529091528120610fc09084908490611e2a565b9050816001600160a01b0316837f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e23783604051610c1791815260200190565b6001600160a01b038116600090815260046020908152604080832085845290915281208190606090829061103181611ecf565b60408051808201909152600381526208aa8960eb1b60208201529199909850909650600095509350505050565b6002600054036110805760405162461bcd60e51b815260040161075190612c9e565b600260008181556001600160a01b038381168252600460208181526040808520620f424089048087529252909320908101546003820154939491939184019216906110ca83611a6a565b6111105760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081a5b9a5d1a585b1a5e9959604a1b6044820152606401610751565b6002830154600160e81b900460ff168061112b575082548714155b1561113a575050505050610e57565b6002830154600160a01b90046001600160401b03164210156111965760405162461bcd60e51b8152602060048201526015602482015274105d58dd1a5bdb881b9bdd081e595d08195b991959605a1b6044820152606401610751565b60028301805460ff60e81b1916600160e81b1790556040516323b872dd60e01b81526001600160a01b038716906323b872dd906111db90309086908c90600401612c7a565b600060405180830381600087803b1580156111f557600080fd5b505af1158015611209573d6000803e3d6000fd5b505050506001600160a01b0386166000908152600260205260408120611230908890611f26565b905061123e86838984611f58565b826001600160a01b0316876001600160a01b0316897f3e25c3675d003af5184b628dd8bd4775b9b3abc7351c3574c90870ca25b55f1185604051610e4891815260200190565b6112b77f0000000000000000000000000000000000000000000000000000000000000000333063e624db9f60e01b61158d565b611b588162ffffff1610156112ff5760405162461bcd60e51b815260206004820152600e60248201526d04f6e6c792067746520375f3030360941b6044820152606401610751565b6001805462ffffff60201b1916600160201b62ffffff8416908102919091179091556040519081527ff28602592f2788507e76a86523ec8d5ef26873807e258d4cae31571370c0e6c89060200161065d565b611365828233306378e8d3fd60e11b612323565b6001600160a01b038116600090815260046020908152604080832085845290915290206113a3818054600060018301556001600160681b0319169055565b6040516001600160a01b0383169084907f865169678476a498ca03f184818d6bd6217dd57b754577a944c19d6d75587c8090600090a3505050565b6113e661290e565b6001600160a01b038216600090815260046020908152604080832086845290915290206106958161238c565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690611474908590612d05565b600060405180830381855afa9150503d80600081146114af576040519150601f19603f3d011682016040523d82523d6000602084013e6114b4565b606091505b5091509150816114d65760405162461bcd60e51b815260040161075190612d21565b805160c08190036114ed5750600095945050505050565b80610100036115025750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c697420627974657300006044820152606401610751565b8060000361158a5760405162461bcd60e51b815260206004820152600d60248201526c4f6e6c79206e6f6e2d7a65726f60981b6044820152606401610751565b50565b61159984848484612458565b6115e25760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b6044820152606401610751565b50505050565b6000600283016115f781611a6a565b80156116175750600281015442600160a01b9091046001600160401b0316115b1561162457549050610699565b61069584845b8154600090600160801b900460ff166116805760405162461bcd60e51b815260206004820152601860248201527713995e1d081d1bdad95b881b9bdd081c1bdc1d5b185d195960421b6044820152606401610751565b8254600160681b900462ffffff1661169b620f424084612d7c565b6105d09190612d93565b6116b184848484612458565b6115e25760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610751565b54600160401b900463ffffffff16151590565b60008161169b620f424085612d7c565b6117288383836124e9565b610c295760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610751565b60006001600160401b038211156117ca5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610751565b5090565b600063ffffffff8211156117ca5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610751565b8054600090610100900462ffffff161580156106995750505460ff161590565b6001600160a01b038116600081815260046020908152604080832086845282528083209383526003825280832086845290915290208154600160801b900460ff161561189f5750505050565b6118aa818585612572565b6118b45750505050565b815460ff60801b1916600160801b1782556040516117cd60e21b8152306004820152602481018590526001600160a01b0384811660448301523360648301526000917f000000000000000000000000000000000000000000000000000000000000000090911690615f34906084016020604051808303816000875af1158015611941573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119659190612da6565b9050611970816125ac565b835462ffffff91909116600160681b0262ffffff60681b1990911617835561199881836125bb565b836001600160a01b0316857f0ebdd7cad7efd438492c42bc712f64b1f41b046cd6cb52382c4d1b513459194a836040516119d491815260200190565b60405180910390a35050505050565b6000806119f08686612633565b91509150808462ffffff161115611a195760405162461bcd60e51b815260040161075190612dbf565b818462ffffff161015611a3e5760405162461bcd60e51b815260040161075190612dbf565b50815460ff1962ffffff90941661010081029490941663ffffffff199091161792149190911790555050565b600201546001600160a01b0316151590565b6001600160a01b0382166000908152600460209081526040808320868452909152902060028101611aac826116fa565b611ac85760405162461bcd60e51b815260040161075190612cd5565b81546001600160401b0316421015611b205760405162461bcd60e51b815260206004820152601b60248201527a4f6e6c79206774652070726f6a6563742073746172742074696d6560281b6044820152606401610751565b611b2981611a6a565b1580611b4057506002810154600160e81b900460ff165b611b8b5760405162461bcd60e51b815260206004820152601c60248201527b115e1a5cdd1a5b99c8185d58dd1a5bdb881b9bdd081cd95d1d1b195960221b6044820152606401610751565b8160010154341015611bda5760405162461bcd60e51b8152602060048201526018602482015277125b9cdd59999a58da595b9d081a5b9a5d1a585b08189a5960421b6044820152606401610751565b8154600160801b900460ff16611c3e5760405162461bcd60e51b8152602060048201526024808201527f4e6f206e65787420746f6b656e2c20636865636b206d617820696e766f636174604482015263696f6e7360e01b6064820152608401610751565b611c47836125ac565b8254600160681b900462ffffff1614611c9e5760405162461bcd60e51b8152602060048201526019602482015278125b98dbdc9c9958dd081d185c99d95d081d1bdad95b881251603a1b6044820152606401610751565b6000611cac838534336126b1565b835460ff60801b191684556004840154604080513481526001600160401b0384166020820152600160e01b90920460ff169082015290915033906001600160a01b0387169086907fb35324b0305f7c72581844f61b571e7136827ec4b3bcd716a1b8a8b7d42e1e549060600160405180910390a4611d2a8686611853565b505050505050565b6002810154600090606490611d5190600160e01b900460ff1682612e06565b60ff168360010154611d639190612d7c565b6106999190612e1f565b600184018290556002840180546001600160a01b0319166001600160a01b0383161790556000611d9d8442612d93565b6002860154909150600160a01b90046001600160401b0316811115611dee57611dc581611762565b8560020160146101000a8154816001600160401b0302191690836001600160401b031602179055505b5050505050565b600080600080858786f1610c2957826000526073600b5360ff6020536016600b83f0610c2957620f42405a11610c2957600080fd5b6000806000846001600160a01b0316630ea5613f876040518263ffffffff1660e01b8152600401611e5d91815260200190565b60c060405180830381865afa158015611e7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9e9190612e43565b5050875493831463ffffffff1990941661010062ffffff85160260ff19161793909317909655979650505050505050565b6000806002830181611ee0856116fa565b90506000611eed83612779565b90508180611ef85750805b94508415611f1e578015611f1657611f0f83611d32565b9350611f1e565b856001015493505b505050915091565b8054600090610100900460ff1615611f435750805460ff16610699565b6000611f4f84846127a5565b91506106999050565b82156115e257600080600080600080600087156120a957604051638639415b60e01b8152600481018c9052602481018b905260009081906001600160a01b038c1690638639415b9060440161010060405180830381865afa158015611fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe59190612ea2565b969e50949c50909a509850919650919450909250905081156120a2576040516001600160a01b038216908390600081818185875af1925050503d806000811461204a576040519150601f19603f3d011682016040523d82523d6000602084013e61204f565b606091505b505080995050886120a25760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610751565b5050612129565b604051638639415b60e01b8152600481018c9052602481018b90526001600160a01b038a1690638639415b9060440160c060405180830381865afa1580156120f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121199190612f2a565b949a509298509096509450925090505b85156121d0576040516001600160a01b038616908790600081818185875af1925050503d8060008114612178576040519150601f19603f3d011682016040523d82523d6000602084013e61217d565b606091505b505080975050866121d05760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610751565b831561226f576040516001600160a01b038416908590600081818185875af1925050503d806000811461221f576040519150601f19603f3d011682016040523d82523d6000602084013e612224565b606091505b5050809750508661226f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610751565b8115612316576040516001600160a01b038216908390600081818185875af1925050503d80600081146122be576040519150601f19603f3d011682016040523d82523d6000602084013e6122c3565b606091505b505080975050866123165760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610751565b5050505050505050505050565b61232e8585856124e9565b80612340575061234084848484612458565b611dee5760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c7920417274697374206f7220436f72652041646d696e2041434c0000006044820152606401610751565b61239461290e565b600282016123a181611a6a565b6123ec5760405162461bcd60e51b815260206004820152601c60248201527b139bc8185d58dd1a5bdb88195e1a5cdd1cc81bdb881c1c9bda9958dd60221b6044820152606401610751565b50506040805160c08101825260028301548152600383015460208201526004909201546001600160a01b038116918301919091526001600160401b03600160a01b820416606083015260ff600160e01b820481166080840152600160e81b90910416151560a082015290565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af11580156124bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124e09190612f85565b95945050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015612531573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125559190612fa0565b6001600160a01b0316826001600160a01b03161490509392505050565b60008060006125818585612633565b87549193509150610100900462ffffff16600061259e83836128b5565b909310979650505050505050565b6000610699620f424083612fbd565b8054620f4240830660010190610100900462ffffff168082111561261b5760405162461bcd60e51b815260206004820152601760248201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b6044820152606401610751565b8082036115e257825460ff1916600117835550505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa15801561267d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a19190612e43565b5093989297509195505050505050565b83546000906126d6906126d190600160401b900463ffffffff1642612d93565b611762565b6040805160c081018252868152602081018690526001600160a01b03949094169084018190526001600160401b038216606085018190528754600160601b900460ff1660808601819052600060a09096019590955260028801969096556003870194909455600490950180546001600160e01b031916909317600160a01b9094029390931761ffff60e01b1916600160e01b90910260ff60e81b19161790555090565b600061278482611a6a565b801561069957505060020154600160a01b90046001600160401b0316421090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03871690612807908590612d05565b6000604051808303816000865af19150503d8060008114612844576040519150601f19603f3d011682016040523d82523d6000602084013e612849565b606091505b50915091508161286b5760405162461bcd60e51b815260040161075190612d21565b805160c0819003612891575050835461ffff191661010017845550600091506106999050565b8061010003611502575050835461ffff191661010117845550600191506106999050565b60008183106128c457816105d0565b5090919050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915260c0810161290961290e565b905290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b6001600160a01b038116811461158a57600080fd5b60006020828403121561296a57600080fd5b81356105d081612943565b60006020828403121561298757600080fd5b813563ffffffff811681146105d057600080fd5b600080604083850312156129ae57600080fd5b8235915060208301356129c081612943565b809150509250929050565b6000806000606084860312156129e057600080fd5b8335925060208401356129f281612943565b91506040840135612a0281612943565b809150509250925092565b60008060008060008060c08789031215612a2657600080fd5b863595506020870135612a3881612943565b945060408701359350606087013592506080870135915060a087013560ff81168114612a6357600080fd5b809150509295509295509295565b80518252602080820151908301526040808201516001600160a01b0316908301526060808201516001600160401b03169083015260808082015160ff169083015260a0908101511515910152565b6000610180820190506001600160401b03835116825263ffffffff602084015116602083015260ff604084015116604083015262ffffff606084015116606083015260808301511515608083015260a083015160a083015260c0830151612b2960c0840182612a71565b5092915050565b803562ffffff81168114612b4357600080fd5b919050565b600080600060608486031215612b5d57600080fd5b833592506020840135612b6f81612943565b9150612b7d60408501612b30565b90509250925092565b600080600060608486031215612b9b57600080fd5b83359250602084013591506040840135612a0281612943565b60005b83811015612bcf578181015183820152602001612bb7565b50506000910152565b60008151808452612bf0816020860160208601612bb4565b601f01601f19169290920160200192915050565b6020815260006105d06020830184612bd8565b8415158152836020820152608060408201526000612c386080830185612bd8565b905060018060a01b038316606083015295945050505050565b600060208284031215612c6357600080fd5b6105d082612b30565b60c081016106998284612a71565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b602080825260169082015275141c9bda9958dd081b9bdd0818dbdb999a59dd5c995960521b604082015260600190565b60008251612d17818460208701612bb4565b9190910192915050565b60208082526025908201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604082015264185a5b195960da1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761069957610699612d66565b8082018082111561069957610699612d66565b600060208284031215612db857600080fd5b5051919050565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b60ff818116838216019081111561069957610699612d66565b600082612e2e57612e2e612df0565b500490565b80518015158114612b4357600080fd5b60008060008060008060c08789031215612e5c57600080fd5b8651955060208701519450612e7360408801612e33565b9350612e8160608801612e33565b925060808701519150612e9660a08801612e33565b90509295509295509295565b600080600080600080600080610100898b031215612ebf57600080fd5b885197506020890151612ed181612943565b60408a015160608b01519198509650612ee981612943565b60808a015160a08b01519196509450612f0181612943565b60c08a015160e08b01519194509250612f1981612943565b809150509295985092959890939650565b60008060008060008060c08789031215612f4357600080fd5b865195506020870151612f5581612943565b604088015160608901519196509450612f6d81612943565b608088015160a08901519194509250612a6381612943565b600060208284031215612f9757600080fd5b6105d082612e33565b600060208284031215612fb257600080fd5b81516105d081612943565b600082612fcc57612fcc612df0565b50069056fea26469706673582212205ac2682e3d7f1d57f9eab47cd1cfd0c7cf0a688a26bd3f2877c7f3393fda9dce64736f6c63430008130033",
655
+ "bytecode": "0x60c06040526001805466ffffffffffffff1916657530000000781790553480156200002957600080fd5b5060405162003115380380620031158339810160408190526200004c916200011e565b60016000556001600160a01b038116608081905260a052604051603c81527f4ef0f5aca00c220a4058c318e0dd5526680003d4e6fceb9ad65087452a8313fa9060200160405180910390a160015460405163ffffffff90911681527f8b3c10d428bd990a6450cefb1c55333a8e7ad39e44e310574b6357014c8fcbae9060200160405180910390a160015460405164010000000090910462ffffff1681527ff28602592f2788507e76a86523ec8d5ef26873807e258d4cae31571370c0e6c89060200160405180910390a15062000150565b6000602082840312156200013157600080fd5b81516001600160a01b03811681146200014957600080fd5b9392505050565b60805160a051612f75620001a0600039600081816106d801528181610881015281816108ed015281816109f60152610a36015260008181610418015281816105620152610ad10152612f756000f3fe6080604052600436106101265760003560e01c806301000da71461012b578063217748bb146101605780633c496a3e146101825780634869f3df146101b05780634b1614ba146101d057806355ec841c146101f057806363076680146102105780637a1b838f1461024d57806390748d281461026d5780639a94488a1461029a5780639b7b5585146102dc578063b000e334146102f1578063b8bd1b1d14610311578063b945c4e014610324578063cce7c90914610337578063cf76e1b014610357578063d3ddabe614610377578063d9bffbce146103b6578063d9eb16db146103d6578063dd85582f14610406578063e4566f2d14610452578063e624db9f14610472578063e9d1e8ac14610492578063f1d1a7fa146104c9578063ff83e649146104e9575b600080fd5b34801561013757600080fd5b5061014b61014636600461292a565b610516565b60405190151581526020015b60405180910390f35b34801561016c57600080fd5b5061018061017b366004612947565b61054e565b005b34801561018e57600080fd5b506101a261019d36600461296d565b6105df565b604051908152602001610157565b3480156101bc57600080fd5b506101a26101cb36600461296d565b6105f4565b3480156101dc57600080fd5b506101a26101eb36600461296d565b610600565b3480156101fc57600080fd5b5061018061020b36600461299d565b61060c565b34801561021c57600080fd5b5060015460408051603c815263ffffffff83166020820152600160201b90920462ffffff1690820152606001610157565b34801561025957600080fd5b506101806102683660046129df565b61062f565b34801561027957600080fd5b5061028d61028836600461296d565b610704565b6040516101579190612a91565b3480156102a657600080fd5b506102ba6102b536600461296d565b61081c565b6040805182511515815260209283015162ffffff169281019290925201610157565b3480156102e857600080fd5b506101a2603c81565b3480156102fd57600080fd5b5061018061030c366004612b1a565b610864565b61018061031f36600461296d565b6108a5565b610180610332366004612b58565b61091a565b34801561034357600080fd5b5061014b61035236600461296d565b61098b565b34801561036357600080fd5b5061018061037236600461296d565b610997565b34801561038357600080fd5b506103a960405180604001604052806006815260200165076312e302e360d41b81525081565b6040516101579190612bd6565b3480156103c257600080fd5b506101806103d136600461296d565b610a1a565b3480156103e257600080fd5b506103f66103f136600461296d565b610a5e565b6040516101579493929190612be9565b34801561041257600080fd5b5061043a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610157565b34801561045e57600080fd5b5061018061046d36600461296d565b610a9b565b34801561047e57600080fd5b5061018061048d366004612c23565b610acc565b34801561049e57600080fd5b506103a96040518060400160405280600b81526020016a4d696e746572534541563160a81b81525081565b3480156104d557600080fd5b506101806104e436600461296d565b610b99565b3480156104f557600080fd5b5061050961050436600461296d565b610bb7565b6040516101579190612c3e565b60008061052283610bc9565b8054909150610100900460ff161561053e575460ff1692915050565b61054783610c02565b9392505050565b61055d8163ffffffff16610d78565b6105907f0000000000000000000000000000000000000000000000000000000000000000333063217748bb60e01b610dbb565b6001805463ffffffff191663ffffffff83169081179091556040519081527f8b3c10d428bd990a6450cefb1c55333a8e7ad39e44e310574b6357014c8fcbae906020015b60405180910390a150565b60006105eb8383610e16565b90505b92915050565b60006105eb8383610e74565b60006105eb8383610e94565b61061f82333063157b210760e21b610f24565b61062a838383610f79565b505050565b61063882610d78565b6106448160ff16610d78565b61064f8686336110f0565b603c8310156106a55760405162461bcd60e51b815260206004820152601e60248201527f41756374696f6e206475726174696f6e2062656c6f77206d696e696d756d000060448201526064015b60405180910390fd5b6106b3868686868686611135565b6106bd8686611279565b156106d1576106cc8686610a1a565b6106fc565b6106fc86867f00000000000000000000000000000000000000000000000000000000000000006112a9565b505050505050565b61070c61289d565b61071683836113f1565b6040805160e08101825282546001600160401b03808216835263ffffffff600160401b83041660208085019190915260ff600160601b840481168587015262ffffff600160681b850416606080870191909152600160801b909404811615156080808701918252600189015460a080890191909152885160c08181018b5260028c0154825260038c0154968201969096526004909a01546001600160a01b038116998b0199909952600160a01b890490951695890195909552600160e01b8704821694880194909452600160e81b909504909416151590850152918101929092525190915061080657600061080c565b80606001515b62ffffff16606082015292915050565b604080518082019091526000808252602082015261083a838361143c565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b61086f8383336110f0565b61087a838383611464565b61062a83837f00000000000000000000000000000000000000000000000000000000000000006112a9565b6002600054036108c75760405162461bcd60e51b815260040161069c90612c4c565b6002600055600154610911908390839063ffffffff811690600160201b900462ffffff167f000000000000000000000000000000000000000000000000000000000000000061153a565b50506001600055565b6109238261170f565b61092c8461170f565b146109775760405162461bcd60e51b815260206004820152601b60248201527a13db9b1e481d1bdad95b9cc81a5b881cd85b59481c1c9bda9958dd602a1b604482015260640161069c565b6109818382610a9b565b61062a82826108a5565b60006105eb838361171e565b6002600054036109b95760405162461bcd60e51b815260040161069c90612c4c565b60026000556109c98282336110f0565b6109d38282611737565b6109ef5760405162461bcd60e51b815260040161069c90612c83565b61091182827f00000000000000000000000000000000000000000000000000000000000000006112a9565b610a258282336110f0565b610a2f828261175c565b610a5a82827f00000000000000000000000000000000000000000000000000000000000000006112a9565b5050565b60008060606000610a6f86866117d9565b60408051808201909152600381526208aa8960eb1b602082015291989097509095506000945092505050565b600260005403610abd5760405162461bcd60e51b815260040161069c90612c4c565b60026000556109118282611843565b610aff7f0000000000000000000000000000000000000000000000000000000000000000333063e624db9f60e01b610dbb565b611b588162ffffff161015610b475760405162461bcd60e51b815260206004820152600e60248201526d04f6e6c792067746520375f3030360941b604482015260640161069c565b6001805462ffffff60201b1916600160201b62ffffff8416908102919091179091556040519081527ff28602592f2788507e76a86523ec8d5ef26873807e258d4cae31571370c0e6c8906020016105d4565b610bad828233306378e8d3fd60e11b611a27565b610a5a8282611a90565b610bbf6128e0565b6105eb8383611af0565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690610c64908590612cb3565b600060405180830381855afa9150503d8060008114610c9f576040519150601f19603f3d011682016040523d82523d6000602084013e610ca4565b606091505b509150915081610d045760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840161069c565b805160c0819003610d1b5750600095945050505050565b8061010003610d305750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640161069c565b80600003610db85760405162461bcd60e51b815260206004820152600d60248201526c4f6e6c79206e6f6e2d7a65726f60981b604482015260640161069c565b50565b610dc784848484611bcd565b610e105760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b604482015260640161069c565b50505050565b600080610e2384846113f1565b905060028101610e3281611c55565b8015610e525750600281015442600160a01b9091046001600160401b0316115b15610e61575491506105ee9050565b610e6b8585610e94565b95945050505050565b600080610e81848461143c565b54610100900462ffffff16949350505050565b600080610ea184846113f1565b8054909150600160801b900460ff16610ef75760405162461bcd60e51b815260206004820152601860248201527713995e1d081d1bdad95b881b9bdd081c1bdc1d5b185d195960421b604482015260640161069c565b8054600160681b900462ffffff16610f12620f424086612ce5565b610f1c9190612cfc565b949350505050565b610f3084848484611bcd565b610e105760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b604482015260640161069c565b6000610f8584846113f1565b9050610f918484611737565b15610fdb5760405162461bcd60e51b815260206004820152601a6024820152794f6e6c7920756e636f6e666967757265642070726f6a6563747360301b604482015260640161069c565b8054600160801b900460ff1615156001146110285760405162461bcd60e51b815260206004820152600d60248201526c2737903732bc3a103a37b5b2b760991b604482015260640161069c565b805460ff60801b191680825560009061104e908690600160681b900462ffffff16611c67565b6040516323b872dd60e01b81529091506001600160a01b038516906323b872dd9061108190309087908690600401612d0f565b600060405180830381600087803b15801561109b57600080fd5b505af11580156110af573d6000803e3d6000fd5b50506040516001600160a01b03871692508791507f10cd4451a553c43379019750f57f76e7b32c27d28019cc64e1cb457c678cfef690600090a35050505050565b6110fb838383611c81565b61062a5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161069c565b600061114187876113f1565b905084158061114f57508442105b61119a5760405162461bcd60e51b815260206004820152601c60248201527b04f6e6c79206675747572652073746172742074696d6573206f7220360241b604482015260640161069c565b6111a385611d0a565b815467ffffffffffffffff19166001600160401b03919091161781556111c884611d76565b81546001830185905564ffffffffff60401b1916600160401b63ffffffff929092169190910260ff60601b191617600160601b60ff8416021781556001600160a01b038616877f62be165a67549c68012bfe757f102930d89f0efb86df6ccd057cb526e20977808761123988611d76565b604080516001600160401b03909316835263ffffffff9091166020830152810187905260ff8616606082015260800160405180910390a350505050505050565b600080611286848461143c565b8054909150610100900462ffffff16158015610f1c57505460ff16159392505050565b60006112b584846113f1565b8054909150600160801b900460ff16156112cf5750505050565b6112d98484611ddb565b6112e35750505050565b805460ff60801b1916600160801b1781556040516117cd60e21b8152306004820152602481018590526001600160a01b03848116604483015233606483015260009190841690615f34906084016020604051808303816000875af115801561134f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113739190612d33565b905061137e81611e24565b825462ffffff91909116600160681b0262ffffff60681b199091161782556113a68185611e33565b836001600160a01b0316857f0ebdd7cad7efd438492c42bc712f64b1f41b046cd6cb52382c4d1b513459194a836040516113e291815260200190565b60405180910390a35050505050565b60007fb698a63e219028aca483ec97b2ed711e6f9df51e5b3e29937e410d30ec34c4695b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee611415565b6000806114718585611ec9565b91509150808362ffffff16111561149a5760405162461bcd60e51b815260040161069c90612d4c565b818362ffffff1610156114bf5760405162461bcd60e51b815260040161069c90612d4c565b60006114cb868661143c565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b60006115458661170f565b9050600061155382876113f1565b90506002810161156281611c55565b158061157957506002810154600160e81b900460ff165b156115925761158a83888a87611f47565b505050611708565b805488146115e25760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e20494420646f6573206e6f74206d617463682061756374696f6e00604482015260640161069c565b600281015442600160a01b9091046001600160401b03161161163e5760405162461bcd60e51b8152602060048201526015602482015274105d58dd1a5bdb88185b1c9958591e48195b991959605a1b604482015260640161069c565b611647816121eb565b3410156116875760405162461bcd60e51b815260206004820152600e60248201526d42696420697320746f6f206c6f7760901b604482015260640161069c565b600281015460018201546001600160a01b03909116906116a98389343361221a565b6116b48282896122a1565b336001600160a01b0316896001600160a01b03168b7f3bb6f40a8aeb5dda33c401527cd8f6bd335757d2b1ed2827f0321a090c66b824346040516116fa91815260200190565b60405180910390a450505050505b5050505050565b6000620f4240825b0492915050565b60008061172b848461143c565b5460ff16949350505050565b60008061174484846113f1565b54600160401b900463ffffffff161515949350505050565b6000806117698484611ec9565b915091506000611779858561143c565b805484841463ffffffff1990911661010062ffffff86160260ff1916171781556040518381529091506001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237906020016113e2565b60008060006117e885856113f1565b90506002810160006117fa8787611737565b90506000611807836122d6565b905081806118125750805b9550851561183857801561183057611829836121eb565b9450611838565b836001015494505b505050509250929050565b600061184e8361170f565b9050600061185c82846113f1565b6004810154600382015491925060028301916001600160a01b039091169061188383611c55565b6118c95760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081a5b9a5d1a585b1a5e9959604a1b604482015260640161069c565b6002830154600160e81b900460ff16806118e4575082548714155b156118f25750505050505050565b6002830154600160a01b90046001600160401b031642101561194e5760405162461bcd60e51b8152602060048201526015602482015274105d58dd1a5bdb881b9bdd081e595d08195b991959605a1b604482015260640161069c565b60028301805460ff60e81b1916600160e81b1790556040516323b872dd60e01b81526001600160a01b038716906323b872dd9061199390309086908c90600401612d0f565b600060405180830381600087803b1580156119ad57600080fd5b505af11580156119c1573d6000803e3d6000fd5b505050506119d0858288612302565b816001600160a01b0316866001600160a01b0316887f3e25c3675d003af5184b628dd8bd4775b9b3abc7351c3574c90870ca25b55f1184604051611a1691815260200190565b60405180910390a450505050505050565b611a32858585611c81565b80611a445750611a4484848484611bcd565b6117085760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c7920417274697374206f7220436f72652041646d696e2041434c000000604482015260640161069c565b6000611a9c83836113f1565b80546000600183018190556001600160681b031990911682556040519192506001600160a01b0384169185917f865169678476a498ca03f184818d6bd6217dd57b754577a944c19d6d75587c8091a3505050565b611af86128e0565b6000611b0484846113f1565b905060028101611b1381611c55565b611b5e5760405162461bcd60e51b815260206004820152601c60248201527b139bc8185d58dd1a5bdb88195e1a5cdd1cc81bdb881c1c9bda9958dd60221b604482015260640161069c565b506040805160c08101825260028301548152600383015460208201526004909201546001600160a01b038116918301919091526001600160401b03600160a01b820416606083015260ff600160e01b820481166080840152600160e81b90910416151560a08201529392505050565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af1158015611c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6b9190612da3565b600201546001600160a01b0316151590565b600081611c77620f424085612ce5565b6105eb9190612cfc565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190612dbe565b6001600160a01b0316826001600160a01b03161490509392505050565b60006001600160401b03821115611d725760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b606482015260840161069c565b5090565b600063ffffffff821115611d725760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161069c565b6000806000611dea8585611ec9565b915091506000611dfa868661143c565b8054909150600090611e17908490610100900462ffffff166124c3565b9093109695505050505050565b60006105ee620f424083612ddb565b6000611e3e8361170f565b90506000611e4c828461143c565b8054909150620f4240850660010190610100900462ffffff1680821115611eaf5760405162461bcd60e51b815260206004820152601760248201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604482015260640161069c565b8082036106fc57825460ff19166001178355505050505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015611f13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f379190612dfd565b5093989297509195505050505050565b6000611f5385856113f1565b905060028101611f638686611737565b611f7f5760405162461bcd60e51b815260040161069c90612c83565b81546001600160401b0316421015611fd75760405162461bcd60e51b815260206004820152601b60248201527a4f6e6c79206774652070726f6a6563742073746172742074696d6560281b604482015260640161069c565b611fe081611c55565b1580611ff757506002810154600160e81b900460ff165b6120425760405162461bcd60e51b815260206004820152601c60248201527b115e1a5cdd1a5b99c8185d58dd1a5bdb881b9bdd081cd95d1d1b195960221b604482015260640161069c565b81600101543410156120915760405162461bcd60e51b8152602060048201526018602482015277125b9cdd59999a58da595b9d081a5b9a5d1a585b08189a5960421b604482015260640161069c565b8154600160801b900460ff166120f55760405162461bcd60e51b8152602060048201526024808201527f4e6f206e65787420746f6b656e2c20636865636b206d617820696e766f636174604482015263696f6e7360e01b606482015260840161069c565b6120fe84611e24565b8254600160681b900462ffffff16146121555760405162461bcd60e51b8152602060048201526019602482015278125b98dbdc9c9958dd081d185c99d95d081d1bdad95b881251603a1b604482015260640161069c565b6000612163838634336124d9565b835460ff60801b191684556004840154604080513481526001600160401b0384166020820152600160e01b90920460ff169082015290915033906001600160a01b0388169087907fb35324b0305f7c72581844f61b571e7136827ec4b3bcd716a1b8a8b7d42e1e549060600160405180910390a46121e28787866112a9565b50505050505050565b6000606482600201601c9054906101000a900460ff1660640160ff168360010154028161171757611717612d7d565b600184018290556002840180546001600160a01b0319166001600160a01b038316179055600061224a8442612cfc565b6002860154909150600160a01b90046001600160401b03168111156117085761227281611d0a565b8560020160146101000a8154816001600160401b0302191690836001600160401b031602179055505050505050565b600080600080858786f161062a57826000526073600b5360ff6020536016600b83f061062a57620f42405a1161062a57600080fd5b60006122e182611c55565b80156105ee57505060020154600160a01b90046001600160401b0316421090565b8160000361230f57505050565b600061231a826125a1565b905060008060008060008060008088156123b857604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa15801561237b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239f9190612e5c565b969e50949c50929a509098509650945092509050612438565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015612404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124289190612ee4565b949c50929a509096509450925090505b8a8285612445898c612cfc565b61244f9190612cfc565b6124599190612cfc565b146124a55760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b604482015260640161069c565b6124b586868a8a888888886125ef565b505050505050505050505050565b60008183106124d257816105eb565b5090919050565b83546000906124fe906124f990600160401b900463ffffffff1642612cfc565b611d0a565b6040805160c081018252868152602081018690526001600160a01b03949094169084018190526001600160401b038216606085018190528754600160601b900460ff1660808601819052600060a09096019590955260028801969096556003870194909455600490950180546001600160e01b031916909317600160a01b9094029390931761ffff60e01b1916600160e01b90910260ff60e81b19161790555090565b6000806125ad83610bc9565b8054909150610100900460ff16156125c9575460ff1692915050565b60006125d484610c02565b825481151561ffff1990911617610100179092555092915050565b871561269a576000876001600160a01b03168960405160006040518083038185875af1925050503d8060008114612642576040519150601f19603f3d011682016040523d82523d6000602084013e612647565b606091505b50509050806126985760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161069c565b505b8515612745576000856001600160a01b03168760405160006040518083038185875af1925050503d80600081146126ed576040519150601f19603f3d011682016040523d82523d6000602084013e6126f2565b606091505b50509050806127435760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161069c565b505b83156127e8576000836001600160a01b03168560405160006040518083038185875af1925050503d8060008114612798576040519150601f19603f3d011682016040523d82523d6000602084013e61279d565b606091505b50509050806127e65760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161069c565b505b8115612893576000816001600160a01b03168360405160006040518083038185875af1925050503d806000811461283b576040519150601f19603f3d011682016040523d82523d6000602084013e612840565b606091505b50509050806128915760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161069c565b505b5050505050505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915260c081016128db6128e0565b905290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b6001600160a01b0381168114610db857600080fd5b60006020828403121561293c57600080fd5b813561054781612915565b60006020828403121561295957600080fd5b813563ffffffff8116811461054757600080fd5b6000806040838503121561298057600080fd5b82359150602083013561299281612915565b809150509250929050565b6000806000606084860312156129b257600080fd5b8335925060208401356129c481612915565b915060408401356129d481612915565b809150509250925092565b60008060008060008060c087890312156129f857600080fd5b863595506020870135612a0a81612915565b945060408701359350606087013592506080870135915060a087013560ff81168114612a3557600080fd5b809150509295509295509295565b80518252602080820151908301526040808201516001600160a01b0316908301526060808201516001600160401b03169083015260808082015160ff169083015260a0908101511515910152565b6000610180820190506001600160401b03835116825263ffffffff602084015116602083015260ff604084015116604083015262ffffff606084015116606083015260808301511515608083015260a083015160a083015260c0830151612afb60c0840182612a43565b5092915050565b803562ffffff81168114612b1557600080fd5b919050565b600080600060608486031215612b2f57600080fd5b833592506020840135612b4181612915565b9150612b4f60408501612b02565b90509250925092565b600080600060608486031215612b6d57600080fd5b833592506020840135915060408401356129d481612915565b60005b83811015612ba1578181015183820152602001612b89565b50506000910152565b60008151808452612bc2816020860160208601612b86565b601f01601f19169290920160200192915050565b6020815260006105eb6020830184612baa565b8415158152836020820152608060408201526000612c0a6080830185612baa565b905060018060a01b038316606083015295945050505050565b600060208284031215612c3557600080fd5b6105eb82612b02565b60c081016105ee8284612a43565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b602080825260169082015275141c9bda9958dd081b9bdd0818dbdb999a59dd5c995960521b604082015260600190565b60008251612cc5818460208701612b86565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105ee576105ee612ccf565b808201808211156105ee576105ee612ccf565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060208284031215612d4557600080fd5b5051919050565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b80518015158114612b1557600080fd5b600060208284031215612db557600080fd5b6105eb82612d93565b600060208284031215612dd057600080fd5b815161054781612915565b600082612df857634e487b7160e01b600052601260045260246000fd5b500690565b60008060008060008060c08789031215612e1657600080fd5b8651955060208701519450612e2d60408801612d93565b9350612e3b60608801612d93565b925060808701519150612e5060a08801612d93565b90509295509295509295565b600080600080600080600080610100898b031215612e7957600080fd5b885197506020890151612e8b81612915565b60408a015160608b01519198509650612ea381612915565b60808a015160a08b01519196509450612ebb81612915565b60c08a015160e08b01519194509250612ed381612915565b809150509295985092959890939650565b60008060008060008060c08789031215612efd57600080fd5b865195506020870151612f0f81612915565b604088015160608901519196509450612f2781612915565b608088015160a08901519194509250612a358161291556fea26469706673582212204436cdc3e405597fb4ebc1b3c0574d657e760bb0639422ca664c7cf6ba4fb00064736f6c63430008130033",
656
+ "deployedBytecode": "0x6080604052600436106101265760003560e01c806301000da71461012b578063217748bb146101605780633c496a3e146101825780634869f3df146101b05780634b1614ba146101d057806355ec841c146101f057806363076680146102105780637a1b838f1461024d57806390748d281461026d5780639a94488a1461029a5780639b7b5585146102dc578063b000e334146102f1578063b8bd1b1d14610311578063b945c4e014610324578063cce7c90914610337578063cf76e1b014610357578063d3ddabe614610377578063d9bffbce146103b6578063d9eb16db146103d6578063dd85582f14610406578063e4566f2d14610452578063e624db9f14610472578063e9d1e8ac14610492578063f1d1a7fa146104c9578063ff83e649146104e9575b600080fd5b34801561013757600080fd5b5061014b61014636600461292a565b610516565b60405190151581526020015b60405180910390f35b34801561016c57600080fd5b5061018061017b366004612947565b61054e565b005b34801561018e57600080fd5b506101a261019d36600461296d565b6105df565b604051908152602001610157565b3480156101bc57600080fd5b506101a26101cb36600461296d565b6105f4565b3480156101dc57600080fd5b506101a26101eb36600461296d565b610600565b3480156101fc57600080fd5b5061018061020b36600461299d565b61060c565b34801561021c57600080fd5b5060015460408051603c815263ffffffff83166020820152600160201b90920462ffffff1690820152606001610157565b34801561025957600080fd5b506101806102683660046129df565b61062f565b34801561027957600080fd5b5061028d61028836600461296d565b610704565b6040516101579190612a91565b3480156102a657600080fd5b506102ba6102b536600461296d565b61081c565b6040805182511515815260209283015162ffffff169281019290925201610157565b3480156102e857600080fd5b506101a2603c81565b3480156102fd57600080fd5b5061018061030c366004612b1a565b610864565b61018061031f36600461296d565b6108a5565b610180610332366004612b58565b61091a565b34801561034357600080fd5b5061014b61035236600461296d565b61098b565b34801561036357600080fd5b5061018061037236600461296d565b610997565b34801561038357600080fd5b506103a960405180604001604052806006815260200165076312e302e360d41b81525081565b6040516101579190612bd6565b3480156103c257600080fd5b506101806103d136600461296d565b610a1a565b3480156103e257600080fd5b506103f66103f136600461296d565b610a5e565b6040516101579493929190612be9565b34801561041257600080fd5b5061043a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610157565b34801561045e57600080fd5b5061018061046d36600461296d565b610a9b565b34801561047e57600080fd5b5061018061048d366004612c23565b610acc565b34801561049e57600080fd5b506103a96040518060400160405280600b81526020016a4d696e746572534541563160a81b81525081565b3480156104d557600080fd5b506101806104e436600461296d565b610b99565b3480156104f557600080fd5b5061050961050436600461296d565b610bb7565b6040516101579190612c3e565b60008061052283610bc9565b8054909150610100900460ff161561053e575460ff1692915050565b61054783610c02565b9392505050565b61055d8163ffffffff16610d78565b6105907f0000000000000000000000000000000000000000000000000000000000000000333063217748bb60e01b610dbb565b6001805463ffffffff191663ffffffff83169081179091556040519081527f8b3c10d428bd990a6450cefb1c55333a8e7ad39e44e310574b6357014c8fcbae906020015b60405180910390a150565b60006105eb8383610e16565b90505b92915050565b60006105eb8383610e74565b60006105eb8383610e94565b61061f82333063157b210760e21b610f24565b61062a838383610f79565b505050565b61063882610d78565b6106448160ff16610d78565b61064f8686336110f0565b603c8310156106a55760405162461bcd60e51b815260206004820152601e60248201527f41756374696f6e206475726174696f6e2062656c6f77206d696e696d756d000060448201526064015b60405180910390fd5b6106b3868686868686611135565b6106bd8686611279565b156106d1576106cc8686610a1a565b6106fc565b6106fc86867f00000000000000000000000000000000000000000000000000000000000000006112a9565b505050505050565b61070c61289d565b61071683836113f1565b6040805160e08101825282546001600160401b03808216835263ffffffff600160401b83041660208085019190915260ff600160601b840481168587015262ffffff600160681b850416606080870191909152600160801b909404811615156080808701918252600189015460a080890191909152885160c08181018b5260028c0154825260038c0154968201969096526004909a01546001600160a01b038116998b0199909952600160a01b890490951695890195909552600160e01b8704821694880194909452600160e81b909504909416151590850152918101929092525190915061080657600061080c565b80606001515b62ffffff16606082015292915050565b604080518082019091526000808252602082015261083a838361143c565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b61086f8383336110f0565b61087a838383611464565b61062a83837f00000000000000000000000000000000000000000000000000000000000000006112a9565b6002600054036108c75760405162461bcd60e51b815260040161069c90612c4c565b6002600055600154610911908390839063ffffffff811690600160201b900462ffffff167f000000000000000000000000000000000000000000000000000000000000000061153a565b50506001600055565b6109238261170f565b61092c8461170f565b146109775760405162461bcd60e51b815260206004820152601b60248201527a13db9b1e481d1bdad95b9cc81a5b881cd85b59481c1c9bda9958dd602a1b604482015260640161069c565b6109818382610a9b565b61062a82826108a5565b60006105eb838361171e565b6002600054036109b95760405162461bcd60e51b815260040161069c90612c4c565b60026000556109c98282336110f0565b6109d38282611737565b6109ef5760405162461bcd60e51b815260040161069c90612c83565b61091182827f00000000000000000000000000000000000000000000000000000000000000006112a9565b610a258282336110f0565b610a2f828261175c565b610a5a82827f00000000000000000000000000000000000000000000000000000000000000006112a9565b5050565b60008060606000610a6f86866117d9565b60408051808201909152600381526208aa8960eb1b602082015291989097509095506000945092505050565b600260005403610abd5760405162461bcd60e51b815260040161069c90612c4c565b60026000556109118282611843565b610aff7f0000000000000000000000000000000000000000000000000000000000000000333063e624db9f60e01b610dbb565b611b588162ffffff161015610b475760405162461bcd60e51b815260206004820152600e60248201526d04f6e6c792067746520375f3030360941b604482015260640161069c565b6001805462ffffff60201b1916600160201b62ffffff8416908102919091179091556040519081527ff28602592f2788507e76a86523ec8d5ef26873807e258d4cae31571370c0e6c8906020016105d4565b610bad828233306378e8d3fd60e11b611a27565b610a5a8282611a90565b610bbf6128e0565b6105eb8383611af0565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690610c64908590612cb3565b600060405180830381855afa9150503d8060008114610c9f576040519150601f19603f3d011682016040523d82523d6000602084013e610ca4565b606091505b509150915081610d045760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840161069c565b805160c0819003610d1b5750600095945050505050565b8061010003610d305750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640161069c565b80600003610db85760405162461bcd60e51b815260206004820152600d60248201526c4f6e6c79206e6f6e2d7a65726f60981b604482015260640161069c565b50565b610dc784848484611bcd565b610e105760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b604482015260640161069c565b50505050565b600080610e2384846113f1565b905060028101610e3281611c55565b8015610e525750600281015442600160a01b9091046001600160401b0316115b15610e61575491506105ee9050565b610e6b8585610e94565b95945050505050565b600080610e81848461143c565b54610100900462ffffff16949350505050565b600080610ea184846113f1565b8054909150600160801b900460ff16610ef75760405162461bcd60e51b815260206004820152601860248201527713995e1d081d1bdad95b881b9bdd081c1bdc1d5b185d195960421b604482015260640161069c565b8054600160681b900462ffffff16610f12620f424086612ce5565b610f1c9190612cfc565b949350505050565b610f3084848484611bcd565b610e105760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b604482015260640161069c565b6000610f8584846113f1565b9050610f918484611737565b15610fdb5760405162461bcd60e51b815260206004820152601a6024820152794f6e6c7920756e636f6e666967757265642070726f6a6563747360301b604482015260640161069c565b8054600160801b900460ff1615156001146110285760405162461bcd60e51b815260206004820152600d60248201526c2737903732bc3a103a37b5b2b760991b604482015260640161069c565b805460ff60801b191680825560009061104e908690600160681b900462ffffff16611c67565b6040516323b872dd60e01b81529091506001600160a01b038516906323b872dd9061108190309087908690600401612d0f565b600060405180830381600087803b15801561109b57600080fd5b505af11580156110af573d6000803e3d6000fd5b50506040516001600160a01b03871692508791507f10cd4451a553c43379019750f57f76e7b32c27d28019cc64e1cb457c678cfef690600090a35050505050565b6110fb838383611c81565b61062a5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161069c565b600061114187876113f1565b905084158061114f57508442105b61119a5760405162461bcd60e51b815260206004820152601c60248201527b04f6e6c79206675747572652073746172742074696d6573206f7220360241b604482015260640161069c565b6111a385611d0a565b815467ffffffffffffffff19166001600160401b03919091161781556111c884611d76565b81546001830185905564ffffffffff60401b1916600160401b63ffffffff929092169190910260ff60601b191617600160601b60ff8416021781556001600160a01b038616877f62be165a67549c68012bfe757f102930d89f0efb86df6ccd057cb526e20977808761123988611d76565b604080516001600160401b03909316835263ffffffff9091166020830152810187905260ff8616606082015260800160405180910390a350505050505050565b600080611286848461143c565b8054909150610100900462ffffff16158015610f1c57505460ff16159392505050565b60006112b584846113f1565b8054909150600160801b900460ff16156112cf5750505050565b6112d98484611ddb565b6112e35750505050565b805460ff60801b1916600160801b1781556040516117cd60e21b8152306004820152602481018590526001600160a01b03848116604483015233606483015260009190841690615f34906084016020604051808303816000875af115801561134f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113739190612d33565b905061137e81611e24565b825462ffffff91909116600160681b0262ffffff60681b199091161782556113a68185611e33565b836001600160a01b0316857f0ebdd7cad7efd438492c42bc712f64b1f41b046cd6cb52382c4d1b513459194a836040516113e291815260200190565b60405180910390a35050505050565b60007fb698a63e219028aca483ec97b2ed711e6f9df51e5b3e29937e410d30ec34c4695b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee611415565b6000806114718585611ec9565b91509150808362ffffff16111561149a5760405162461bcd60e51b815260040161069c90612d4c565b818362ffffff1610156114bf5760405162461bcd60e51b815260040161069c90612d4c565b60006114cb868661143c565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b60006115458661170f565b9050600061155382876113f1565b90506002810161156281611c55565b158061157957506002810154600160e81b900460ff165b156115925761158a83888a87611f47565b505050611708565b805488146115e25760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e20494420646f6573206e6f74206d617463682061756374696f6e00604482015260640161069c565b600281015442600160a01b9091046001600160401b03161161163e5760405162461bcd60e51b8152602060048201526015602482015274105d58dd1a5bdb88185b1c9958591e48195b991959605a1b604482015260640161069c565b611647816121eb565b3410156116875760405162461bcd60e51b815260206004820152600e60248201526d42696420697320746f6f206c6f7760901b604482015260640161069c565b600281015460018201546001600160a01b03909116906116a98389343361221a565b6116b48282896122a1565b336001600160a01b0316896001600160a01b03168b7f3bb6f40a8aeb5dda33c401527cd8f6bd335757d2b1ed2827f0321a090c66b824346040516116fa91815260200190565b60405180910390a450505050505b5050505050565b6000620f4240825b0492915050565b60008061172b848461143c565b5460ff16949350505050565b60008061174484846113f1565b54600160401b900463ffffffff161515949350505050565b6000806117698484611ec9565b915091506000611779858561143c565b805484841463ffffffff1990911661010062ffffff86160260ff1916171781556040518381529091506001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237906020016113e2565b60008060006117e885856113f1565b90506002810160006117fa8787611737565b90506000611807836122d6565b905081806118125750805b9550851561183857801561183057611829836121eb565b9450611838565b836001015494505b505050509250929050565b600061184e8361170f565b9050600061185c82846113f1565b6004810154600382015491925060028301916001600160a01b039091169061188383611c55565b6118c95760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081a5b9a5d1a585b1a5e9959604a1b604482015260640161069c565b6002830154600160e81b900460ff16806118e4575082548714155b156118f25750505050505050565b6002830154600160a01b90046001600160401b031642101561194e5760405162461bcd60e51b8152602060048201526015602482015274105d58dd1a5bdb881b9bdd081e595d08195b991959605a1b604482015260640161069c565b60028301805460ff60e81b1916600160e81b1790556040516323b872dd60e01b81526001600160a01b038716906323b872dd9061199390309086908c90600401612d0f565b600060405180830381600087803b1580156119ad57600080fd5b505af11580156119c1573d6000803e3d6000fd5b505050506119d0858288612302565b816001600160a01b0316866001600160a01b0316887f3e25c3675d003af5184b628dd8bd4775b9b3abc7351c3574c90870ca25b55f1184604051611a1691815260200190565b60405180910390a450505050505050565b611a32858585611c81565b80611a445750611a4484848484611bcd565b6117085760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c7920417274697374206f7220436f72652041646d696e2041434c000000604482015260640161069c565b6000611a9c83836113f1565b80546000600183018190556001600160681b031990911682556040519192506001600160a01b0384169185917f865169678476a498ca03f184818d6bd6217dd57b754577a944c19d6d75587c8091a3505050565b611af86128e0565b6000611b0484846113f1565b905060028101611b1381611c55565b611b5e5760405162461bcd60e51b815260206004820152601c60248201527b139bc8185d58dd1a5bdb88195e1a5cdd1cc81bdb881c1c9bda9958dd60221b604482015260640161069c565b506040805160c08101825260028301548152600383015460208201526004909201546001600160a01b038116918301919091526001600160401b03600160a01b820416606083015260ff600160e01b820481166080840152600160e81b90910416151560a08201529392505050565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af1158015611c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6b9190612da3565b600201546001600160a01b0316151590565b600081611c77620f424085612ce5565b6105eb9190612cfc565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190612dbe565b6001600160a01b0316826001600160a01b03161490509392505050565b60006001600160401b03821115611d725760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b606482015260840161069c565b5090565b600063ffffffff821115611d725760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161069c565b6000806000611dea8585611ec9565b915091506000611dfa868661143c565b8054909150600090611e17908490610100900462ffffff166124c3565b9093109695505050505050565b60006105ee620f424083612ddb565b6000611e3e8361170f565b90506000611e4c828461143c565b8054909150620f4240850660010190610100900462ffffff1680821115611eaf5760405162461bcd60e51b815260206004820152601760248201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604482015260640161069c565b8082036106fc57825460ff19166001178355505050505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015611f13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f379190612dfd565b5093989297509195505050505050565b6000611f5385856113f1565b905060028101611f638686611737565b611f7f5760405162461bcd60e51b815260040161069c90612c83565b81546001600160401b0316421015611fd75760405162461bcd60e51b815260206004820152601b60248201527a4f6e6c79206774652070726f6a6563742073746172742074696d6560281b604482015260640161069c565b611fe081611c55565b1580611ff757506002810154600160e81b900460ff165b6120425760405162461bcd60e51b815260206004820152601c60248201527b115e1a5cdd1a5b99c8185d58dd1a5bdb881b9bdd081cd95d1d1b195960221b604482015260640161069c565b81600101543410156120915760405162461bcd60e51b8152602060048201526018602482015277125b9cdd59999a58da595b9d081a5b9a5d1a585b08189a5960421b604482015260640161069c565b8154600160801b900460ff166120f55760405162461bcd60e51b8152602060048201526024808201527f4e6f206e65787420746f6b656e2c20636865636b206d617820696e766f636174604482015263696f6e7360e01b606482015260840161069c565b6120fe84611e24565b8254600160681b900462ffffff16146121555760405162461bcd60e51b8152602060048201526019602482015278125b98dbdc9c9958dd081d185c99d95d081d1bdad95b881251603a1b604482015260640161069c565b6000612163838634336124d9565b835460ff60801b191684556004840154604080513481526001600160401b0384166020820152600160e01b90920460ff169082015290915033906001600160a01b0388169087907fb35324b0305f7c72581844f61b571e7136827ec4b3bcd716a1b8a8b7d42e1e549060600160405180910390a46121e28787866112a9565b50505050505050565b6000606482600201601c9054906101000a900460ff1660640160ff168360010154028161171757611717612d7d565b600184018290556002840180546001600160a01b0319166001600160a01b038316179055600061224a8442612cfc565b6002860154909150600160a01b90046001600160401b03168111156117085761227281611d0a565b8560020160146101000a8154816001600160401b0302191690836001600160401b031602179055505050505050565b600080600080858786f161062a57826000526073600b5360ff6020536016600b83f061062a57620f42405a1161062a57600080fd5b60006122e182611c55565b80156105ee57505060020154600160a01b90046001600160401b0316421090565b8160000361230f57505050565b600061231a826125a1565b905060008060008060008060008088156123b857604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa15801561237b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239f9190612e5c565b969e50949c50929a509098509650945092509050612438565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015612404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124289190612ee4565b949c50929a509096509450925090505b8a8285612445898c612cfc565b61244f9190612cfc565b6124599190612cfc565b146124a55760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b604482015260640161069c565b6124b586868a8a888888886125ef565b505050505050505050505050565b60008183106124d257816105eb565b5090919050565b83546000906124fe906124f990600160401b900463ffffffff1642612cfc565b611d0a565b6040805160c081018252868152602081018690526001600160a01b03949094169084018190526001600160401b038216606085018190528754600160601b900460ff1660808601819052600060a09096019590955260028801969096556003870194909455600490950180546001600160e01b031916909317600160a01b9094029390931761ffff60e01b1916600160e01b90910260ff60e81b19161790555090565b6000806125ad83610bc9565b8054909150610100900460ff16156125c9575460ff1692915050565b60006125d484610c02565b825481151561ffff1990911617610100179092555092915050565b871561269a576000876001600160a01b03168960405160006040518083038185875af1925050503d8060008114612642576040519150601f19603f3d011682016040523d82523d6000602084013e612647565b606091505b50509050806126985760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161069c565b505b8515612745576000856001600160a01b03168760405160006040518083038185875af1925050503d80600081146126ed576040519150601f19603f3d011682016040523d82523d6000602084013e6126f2565b606091505b50509050806127435760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161069c565b505b83156127e8576000836001600160a01b03168560405160006040518083038185875af1925050503d8060008114612798576040519150601f19603f3d011682016040523d82523d6000602084013e61279d565b606091505b50509050806127e65760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161069c565b505b8115612893576000816001600160a01b03168360405160006040518083038185875af1925050503d806000811461283b576040519150601f19603f3d011682016040523d82523d6000602084013e612840565b606091505b50509050806128915760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161069c565b505b5050505050505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915260c081016128db6128e0565b905290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b6001600160a01b0381168114610db857600080fd5b60006020828403121561293c57600080fd5b813561054781612915565b60006020828403121561295957600080fd5b813563ffffffff8116811461054757600080fd5b6000806040838503121561298057600080fd5b82359150602083013561299281612915565b809150509250929050565b6000806000606084860312156129b257600080fd5b8335925060208401356129c481612915565b915060408401356129d481612915565b809150509250925092565b60008060008060008060c087890312156129f857600080fd5b863595506020870135612a0a81612915565b945060408701359350606087013592506080870135915060a087013560ff81168114612a3557600080fd5b809150509295509295509295565b80518252602080820151908301526040808201516001600160a01b0316908301526060808201516001600160401b03169083015260808082015160ff169083015260a0908101511515910152565b6000610180820190506001600160401b03835116825263ffffffff602084015116602083015260ff604084015116604083015262ffffff606084015116606083015260808301511515608083015260a083015160a083015260c0830151612afb60c0840182612a43565b5092915050565b803562ffffff81168114612b1557600080fd5b919050565b600080600060608486031215612b2f57600080fd5b833592506020840135612b4181612915565b9150612b4f60408501612b02565b90509250925092565b600080600060608486031215612b6d57600080fd5b833592506020840135915060408401356129d481612915565b60005b83811015612ba1578181015183820152602001612b89565b50506000910152565b60008151808452612bc2816020860160208601612b86565b601f01601f19169290920160200192915050565b6020815260006105eb6020830184612baa565b8415158152836020820152608060408201526000612c0a6080830185612baa565b905060018060a01b038316606083015295945050505050565b600060208284031215612c3557600080fd5b6105eb82612b02565b60c081016105ee8284612a43565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b602080825260169082015275141c9bda9958dd081b9bdd0818dbdb999a59dd5c995960521b604082015260600190565b60008251612cc5818460208701612b86565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105ee576105ee612ccf565b808201808211156105ee576105ee612ccf565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060208284031215612d4557600080fd5b5051919050565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b80518015158114612b1557600080fd5b600060208284031215612db557600080fd5b6105eb82612d93565b600060208284031215612dd057600080fd5b815161054781612915565b600082612df857634e487b7160e01b600052601260045260246000fd5b500690565b60008060008060008060c08789031215612e1657600080fd5b8651955060208701519450612e2d60408801612d93565b9350612e3b60608801612d93565b925060808701519150612e5060a08801612d93565b90509295509295509295565b600080600080600080600080610100898b031215612e7957600080fd5b885197506020890151612e8b81612915565b60408a015160608b01519198509650612ea381612915565b60808a015160a08b01519196509450612ebb81612915565b60c08a015160e08b01519194509250612ed381612915565b809150509295985092959890939650565b60008060008060008060c08789031215612efd57600080fd5b865195506020870151612f0f81612915565b604088015160608901519196509450612f2781612915565b608088015160a08901519194509250612a358161291556fea26469706673582212204436cdc3e405597fb4ebc1b3c0574d657e760bb0639422ca664c7cf6ba4fb00064736f6c63430008130033",
1323
657
  "linkReferences": {},
1324
658
  "deployedLinkReferences": {}
1325
659
  }