@lukso/universalprofile-contracts 0.15.0 → 0.15.1

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.
@@ -1,676 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "UniversalProfile",
4
- "sourceName": "contracts/UniversalProfile.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "initialOwner",
11
- "type": "address"
12
- }
13
- ],
14
- "stateMutability": "payable",
15
- "type": "constructor"
16
- },
17
- {
18
- "inputs": [],
19
- "name": "ERC725X_ContractDeploymentFailed",
20
- "type": "error"
21
- },
22
- {
23
- "inputs": [],
24
- "name": "ERC725X_CreateOperationsRequireEmptyRecipientAddress",
25
- "type": "error"
26
- },
27
- {
28
- "inputs": [],
29
- "name": "ERC725X_ExecuteParametersEmptyArray",
30
- "type": "error"
31
- },
32
- {
33
- "inputs": [],
34
- "name": "ERC725X_ExecuteParametersLengthMismatch",
35
- "type": "error"
36
- },
37
- {
38
- "inputs": [
39
- {
40
- "internalType": "uint256",
41
- "name": "balance",
42
- "type": "uint256"
43
- },
44
- {
45
- "internalType": "uint256",
46
- "name": "value",
47
- "type": "uint256"
48
- }
49
- ],
50
- "name": "ERC725X_InsufficientBalance",
51
- "type": "error"
52
- },
53
- {
54
- "inputs": [],
55
- "name": "ERC725X_MsgValueDisallowedInDelegateCall",
56
- "type": "error"
57
- },
58
- {
59
- "inputs": [],
60
- "name": "ERC725X_MsgValueDisallowedInStaticCall",
61
- "type": "error"
62
- },
63
- {
64
- "inputs": [],
65
- "name": "ERC725X_NoContractBytecodeProvided",
66
- "type": "error"
67
- },
68
- {
69
- "inputs": [
70
- {
71
- "internalType": "uint256",
72
- "name": "operationTypeProvided",
73
- "type": "uint256"
74
- }
75
- ],
76
- "name": "ERC725X_UnknownOperationType",
77
- "type": "error"
78
- },
79
- {
80
- "inputs": [],
81
- "name": "ERC725Y_DataKeysValuesEmptyArray",
82
- "type": "error"
83
- },
84
- {
85
- "inputs": [],
86
- "name": "ERC725Y_DataKeysValuesLengthMismatch",
87
- "type": "error"
88
- },
89
- {
90
- "inputs": [
91
- {
92
- "internalType": "address",
93
- "name": "caller",
94
- "type": "address"
95
- }
96
- ],
97
- "name": "LSP14CallerNotPendingOwner",
98
- "type": "error"
99
- },
100
- {
101
- "inputs": [],
102
- "name": "LSP14CannotTransferOwnershipToSelf",
103
- "type": "error"
104
- },
105
- {
106
- "inputs": [],
107
- "name": "LSP14MustAcceptOwnershipInSeparateTransaction",
108
- "type": "error"
109
- },
110
- {
111
- "inputs": [
112
- {
113
- "internalType": "uint256",
114
- "name": "renounceOwnershipStart",
115
- "type": "uint256"
116
- },
117
- {
118
- "internalType": "uint256",
119
- "name": "renounceOwnershipEnd",
120
- "type": "uint256"
121
- }
122
- ],
123
- "name": "LSP14NotInRenounceOwnershipInterval",
124
- "type": "error"
125
- },
126
- {
127
- "inputs": [
128
- {
129
- "internalType": "bool",
130
- "name": "postCall",
131
- "type": "bool"
132
- },
133
- {
134
- "internalType": "bytes4",
135
- "name": "returnedStatus",
136
- "type": "bytes4"
137
- }
138
- ],
139
- "name": "LSP20CallVerificationFailed",
140
- "type": "error"
141
- },
142
- {
143
- "inputs": [
144
- {
145
- "internalType": "bool",
146
- "name": "postCall",
147
- "type": "bool"
148
- }
149
- ],
150
- "name": "LSP20CallingVerifierFailed",
151
- "type": "error"
152
- },
153
- {
154
- "inputs": [
155
- {
156
- "internalType": "address",
157
- "name": "logicVerifier",
158
- "type": "address"
159
- }
160
- ],
161
- "name": "LSP20EOACannotVerifyCall",
162
- "type": "error"
163
- },
164
- {
165
- "inputs": [
166
- {
167
- "internalType": "bytes4",
168
- "name": "functionSelector",
169
- "type": "bytes4"
170
- }
171
- ],
172
- "name": "NoExtensionFoundForFunctionSelector",
173
- "type": "error"
174
- },
175
- {
176
- "anonymous": false,
177
- "inputs": [
178
- {
179
- "indexed": true,
180
- "internalType": "uint256",
181
- "name": "operationType",
182
- "type": "uint256"
183
- },
184
- {
185
- "indexed": true,
186
- "internalType": "address",
187
- "name": "contractAddress",
188
- "type": "address"
189
- },
190
- {
191
- "indexed": false,
192
- "internalType": "uint256",
193
- "name": "value",
194
- "type": "uint256"
195
- },
196
- {
197
- "indexed": true,
198
- "internalType": "bytes32",
199
- "name": "salt",
200
- "type": "bytes32"
201
- }
202
- ],
203
- "name": "ContractCreated",
204
- "type": "event"
205
- },
206
- {
207
- "anonymous": false,
208
- "inputs": [
209
- {
210
- "indexed": true,
211
- "internalType": "bytes32",
212
- "name": "dataKey",
213
- "type": "bytes32"
214
- },
215
- {
216
- "indexed": false,
217
- "internalType": "bytes",
218
- "name": "dataValue",
219
- "type": "bytes"
220
- }
221
- ],
222
- "name": "DataChanged",
223
- "type": "event"
224
- },
225
- {
226
- "anonymous": false,
227
- "inputs": [
228
- {
229
- "indexed": true,
230
- "internalType": "uint256",
231
- "name": "operationType",
232
- "type": "uint256"
233
- },
234
- {
235
- "indexed": true,
236
- "internalType": "address",
237
- "name": "target",
238
- "type": "address"
239
- },
240
- {
241
- "indexed": false,
242
- "internalType": "uint256",
243
- "name": "value",
244
- "type": "uint256"
245
- },
246
- {
247
- "indexed": true,
248
- "internalType": "bytes4",
249
- "name": "selector",
250
- "type": "bytes4"
251
- }
252
- ],
253
- "name": "Executed",
254
- "type": "event"
255
- },
256
- {
257
- "anonymous": false,
258
- "inputs": [],
259
- "name": "OwnershipRenounced",
260
- "type": "event"
261
- },
262
- {
263
- "anonymous": false,
264
- "inputs": [
265
- {
266
- "indexed": true,
267
- "internalType": "address",
268
- "name": "previousOwner",
269
- "type": "address"
270
- },
271
- {
272
- "indexed": true,
273
- "internalType": "address",
274
- "name": "newOwner",
275
- "type": "address"
276
- }
277
- ],
278
- "name": "OwnershipTransferStarted",
279
- "type": "event"
280
- },
281
- {
282
- "anonymous": false,
283
- "inputs": [
284
- {
285
- "indexed": true,
286
- "internalType": "address",
287
- "name": "previousOwner",
288
- "type": "address"
289
- },
290
- {
291
- "indexed": true,
292
- "internalType": "address",
293
- "name": "newOwner",
294
- "type": "address"
295
- }
296
- ],
297
- "name": "OwnershipTransferred",
298
- "type": "event"
299
- },
300
- {
301
- "anonymous": false,
302
- "inputs": [],
303
- "name": "RenounceOwnershipStarted",
304
- "type": "event"
305
- },
306
- {
307
- "anonymous": false,
308
- "inputs": [
309
- {
310
- "indexed": true,
311
- "internalType": "address",
312
- "name": "from",
313
- "type": "address"
314
- },
315
- {
316
- "indexed": true,
317
- "internalType": "uint256",
318
- "name": "value",
319
- "type": "uint256"
320
- },
321
- {
322
- "indexed": true,
323
- "internalType": "bytes32",
324
- "name": "typeId",
325
- "type": "bytes32"
326
- },
327
- {
328
- "indexed": false,
329
- "internalType": "bytes",
330
- "name": "receivedData",
331
- "type": "bytes"
332
- },
333
- {
334
- "indexed": false,
335
- "internalType": "bytes",
336
- "name": "returnedValue",
337
- "type": "bytes"
338
- }
339
- ],
340
- "name": "UniversalReceiver",
341
- "type": "event"
342
- },
343
- {
344
- "stateMutability": "payable",
345
- "type": "fallback"
346
- },
347
- {
348
- "inputs": [],
349
- "name": "RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY",
350
- "outputs": [
351
- {
352
- "internalType": "uint256",
353
- "name": "",
354
- "type": "uint256"
355
- }
356
- ],
357
- "stateMutability": "view",
358
- "type": "function"
359
- },
360
- {
361
- "inputs": [],
362
- "name": "RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD",
363
- "outputs": [
364
- {
365
- "internalType": "uint256",
366
- "name": "",
367
- "type": "uint256"
368
- }
369
- ],
370
- "stateMutability": "view",
371
- "type": "function"
372
- },
373
- {
374
- "inputs": [],
375
- "name": "VERSION",
376
- "outputs": [
377
- {
378
- "internalType": "string",
379
- "name": "",
380
- "type": "string"
381
- }
382
- ],
383
- "stateMutability": "view",
384
- "type": "function"
385
- },
386
- {
387
- "inputs": [],
388
- "name": "acceptOwnership",
389
- "outputs": [],
390
- "stateMutability": "nonpayable",
391
- "type": "function"
392
- },
393
- {
394
- "inputs": [
395
- {
396
- "internalType": "bytes[]",
397
- "name": "data",
398
- "type": "bytes[]"
399
- }
400
- ],
401
- "name": "batchCalls",
402
- "outputs": [
403
- {
404
- "internalType": "bytes[]",
405
- "name": "results",
406
- "type": "bytes[]"
407
- }
408
- ],
409
- "stateMutability": "nonpayable",
410
- "type": "function"
411
- },
412
- {
413
- "inputs": [
414
- {
415
- "internalType": "uint256",
416
- "name": "operationType",
417
- "type": "uint256"
418
- },
419
- {
420
- "internalType": "address",
421
- "name": "target",
422
- "type": "address"
423
- },
424
- {
425
- "internalType": "uint256",
426
- "name": "value",
427
- "type": "uint256"
428
- },
429
- {
430
- "internalType": "bytes",
431
- "name": "data",
432
- "type": "bytes"
433
- }
434
- ],
435
- "name": "execute",
436
- "outputs": [
437
- {
438
- "internalType": "bytes",
439
- "name": "",
440
- "type": "bytes"
441
- }
442
- ],
443
- "stateMutability": "payable",
444
- "type": "function"
445
- },
446
- {
447
- "inputs": [
448
- {
449
- "internalType": "uint256[]",
450
- "name": "operationsType",
451
- "type": "uint256[]"
452
- },
453
- {
454
- "internalType": "address[]",
455
- "name": "targets",
456
- "type": "address[]"
457
- },
458
- {
459
- "internalType": "uint256[]",
460
- "name": "values",
461
- "type": "uint256[]"
462
- },
463
- {
464
- "internalType": "bytes[]",
465
- "name": "datas",
466
- "type": "bytes[]"
467
- }
468
- ],
469
- "name": "executeBatch",
470
- "outputs": [
471
- {
472
- "internalType": "bytes[]",
473
- "name": "",
474
- "type": "bytes[]"
475
- }
476
- ],
477
- "stateMutability": "payable",
478
- "type": "function"
479
- },
480
- {
481
- "inputs": [
482
- {
483
- "internalType": "bytes32",
484
- "name": "dataKey",
485
- "type": "bytes32"
486
- }
487
- ],
488
- "name": "getData",
489
- "outputs": [
490
- {
491
- "internalType": "bytes",
492
- "name": "dataValue",
493
- "type": "bytes"
494
- }
495
- ],
496
- "stateMutability": "view",
497
- "type": "function"
498
- },
499
- {
500
- "inputs": [
501
- {
502
- "internalType": "bytes32[]",
503
- "name": "dataKeys",
504
- "type": "bytes32[]"
505
- }
506
- ],
507
- "name": "getDataBatch",
508
- "outputs": [
509
- {
510
- "internalType": "bytes[]",
511
- "name": "dataValues",
512
- "type": "bytes[]"
513
- }
514
- ],
515
- "stateMutability": "view",
516
- "type": "function"
517
- },
518
- {
519
- "inputs": [
520
- {
521
- "internalType": "bytes32",
522
- "name": "dataHash",
523
- "type": "bytes32"
524
- },
525
- {
526
- "internalType": "bytes",
527
- "name": "signature",
528
- "type": "bytes"
529
- }
530
- ],
531
- "name": "isValidSignature",
532
- "outputs": [
533
- {
534
- "internalType": "bytes4",
535
- "name": "returnedStatus",
536
- "type": "bytes4"
537
- }
538
- ],
539
- "stateMutability": "view",
540
- "type": "function"
541
- },
542
- {
543
- "inputs": [],
544
- "name": "owner",
545
- "outputs": [
546
- {
547
- "internalType": "address",
548
- "name": "",
549
- "type": "address"
550
- }
551
- ],
552
- "stateMutability": "view",
553
- "type": "function"
554
- },
555
- {
556
- "inputs": [],
557
- "name": "pendingOwner",
558
- "outputs": [
559
- {
560
- "internalType": "address",
561
- "name": "",
562
- "type": "address"
563
- }
564
- ],
565
- "stateMutability": "view",
566
- "type": "function"
567
- },
568
- {
569
- "inputs": [],
570
- "name": "renounceOwnership",
571
- "outputs": [],
572
- "stateMutability": "nonpayable",
573
- "type": "function"
574
- },
575
- {
576
- "inputs": [
577
- {
578
- "internalType": "bytes32",
579
- "name": "dataKey",
580
- "type": "bytes32"
581
- },
582
- {
583
- "internalType": "bytes",
584
- "name": "dataValue",
585
- "type": "bytes"
586
- }
587
- ],
588
- "name": "setData",
589
- "outputs": [],
590
- "stateMutability": "payable",
591
- "type": "function"
592
- },
593
- {
594
- "inputs": [
595
- {
596
- "internalType": "bytes32[]",
597
- "name": "dataKeys",
598
- "type": "bytes32[]"
599
- },
600
- {
601
- "internalType": "bytes[]",
602
- "name": "dataValues",
603
- "type": "bytes[]"
604
- }
605
- ],
606
- "name": "setDataBatch",
607
- "outputs": [],
608
- "stateMutability": "payable",
609
- "type": "function"
610
- },
611
- {
612
- "inputs": [
613
- {
614
- "internalType": "bytes4",
615
- "name": "interfaceId",
616
- "type": "bytes4"
617
- }
618
- ],
619
- "name": "supportsInterface",
620
- "outputs": [
621
- {
622
- "internalType": "bool",
623
- "name": "",
624
- "type": "bool"
625
- }
626
- ],
627
- "stateMutability": "view",
628
- "type": "function"
629
- },
630
- {
631
- "inputs": [
632
- {
633
- "internalType": "address",
634
- "name": "pendingNewOwner",
635
- "type": "address"
636
- }
637
- ],
638
- "name": "transferOwnership",
639
- "outputs": [],
640
- "stateMutability": "nonpayable",
641
- "type": "function"
642
- },
643
- {
644
- "inputs": [
645
- {
646
- "internalType": "bytes32",
647
- "name": "typeId",
648
- "type": "bytes32"
649
- },
650
- {
651
- "internalType": "bytes",
652
- "name": "receivedData",
653
- "type": "bytes"
654
- }
655
- ],
656
- "name": "universalReceiver",
657
- "outputs": [
658
- {
659
- "internalType": "bytes",
660
- "name": "returnedValues",
661
- "type": "bytes"
662
- }
663
- ],
664
- "stateMutability": "payable",
665
- "type": "function"
666
- },
667
- {
668
- "stateMutability": "payable",
669
- "type": "receive"
670
- }
671
- ],
672
- "bytecode": "0x608060405260405162003b4138038062003b418339810160408190526200002691620001db565b803415620000ae577f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b34336001600160a01b03167f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c2604051620000a5906040808252600090820181905260606020830181905282015260800190565b60405180910390a45b620000c4816200011460201b620016f01760201c565b506040805180820190915260048152635ef83ad960e01b60208201526200010d907feafec4d89fa9619884b600005ef83ad9559033e6e941db7d7c495acdce6163479062000182565b50620003ce565b6000546001600160a01b038281169116146200017f57600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0383161790555b50565b60008281526001602052604090206200019c8282620002b2565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b282604051620001cf91906200037e565b60405180910390a25050565b600060208284031215620001ee57600080fd5b81516001600160a01b03811681146200020657600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200023857607f821691505b6020821081036200025957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002ad57600081815260208120601f850160051c81016020861015620002885750805b601f850160051c820191505b81811015620002a95782815560010162000294565b5050505b505050565b81516001600160401b03811115620002ce57620002ce6200020d565b620002e681620002df845462000223565b846200025f565b602080601f8311600181146200031e5760008415620003055750858301515b600019600386901b1c1916600185901b178555620002a9565b600085815260208120601f198616915b828110156200034f578886015182559484019460019091019084016200032e565b50858210156200036e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083528351808285015260005b81811015620003ad578581018301518582016040015282016200038f565b506000604082860101526040601f19601f8301168501019250505092915050565b61376380620003de6000396000f3fe60806040526004361061012d5760003560e01c806379ba5097116100a5578063dedff9c611610074578063ead3fbdf11610059578063ead3fbdf1461021e578063f2fde38b14610402578063ffa1ad741461042257610178565b8063dedff9c6146103c4578063e30c3978146103e457610178565b806379ba5097146103575780637f23690c1461036c5780638da5cb5b1461037f57806397902421146103b157610178565b806344c028fe116100fc5780636963d438116100e15780636963d4381461030f5780636bb56a141461032f578063715018a61461034257610178565b806344c028fe146102cf57806354f6127f146102ef57610178565b806301bfba611461021e57806301ffc9a7146102465780631626ba7e1461027657806331858452146102af57610178565b36610178573415610176576101747f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b6040518060200160405280600081525061046b565b505b005b600036606060048210156102065734156101f1576101ef7f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061046b92505050565b505b50604080516020810190915260008152610213565b6102108383610741565b90505b915050805190602001f35b34801561022a57600080fd5b5061023360c881565b6040519081526020015b60405180910390f35b34801561025257600080fd5b50610266610261366004612cc1565b61091d565b604051901515815260200161023d565b34801561028257600080fd5b50610296610291366004612da3565b610a08565b6040516001600160e01b0319909116815260200161023d565b6102c26102bd366004612f0b565b610bba565b60405161023d9190613063565b6102e26102dd3660046130c5565b610cc6565b60405161023d919061311a565b3480156102fb57600080fd5b506102e261030a36600461312d565b610da9565b34801561031b57600080fd5b506102c261032a366004613146565b610db4565b6102e261033d366004612da3565b61046b565b34801561034e57600080fd5b50610176610f10565b34801561036357600080fd5b5061017661105d565b61017661037a366004612da3565b6111e3565b34801561038b57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161023d565b6101766103bf3660046131bb565b6112c6565b3480156103d057600080fd5b506102c26103df366004613215565b611499565b3480156103f057600080fd5b506003546001600160a01b0316610399565b34801561040e57600080fd5b5061017661041d36600461324a565b611544565b34801561042e57600080fd5b506102e26040518060400160405280600681526020017f302e31352e30000000000000000000000000000000000000000000000000000081525081565b6060341580159061049c57507f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d8314155b15610507576105057f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b6000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061046b92505050565b505b60006105327f0cfc51aec37c55a4d0b1a65c6255c4bf2fbdf6277f3cc0730c45b828b6db8b4761175e565b9050606060148251106105e357600061054a83613265565b60601c905061056081635122dded60e11b611800565b156105e157604051635122dded60e11b81526001600160a01b0382169063a245bbda9061059790339034908b908b906004016132a1565b6000604051808303816000875af11580156105b6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105de91908101906132cf565b91505b505b600061060f7f0cfc51aec37c55a4d0b10000000000000000000000000000000000000000000087611889565b9050600061061c8261175e565b9050606060148251106106cd57600061063483613265565b60601c905061064a81635122dded60e11b611800565b156106cb57604051635122dded60e11b81526001600160a01b0382169063a245bbda9061068190339034908e908e906004016132a1565b6000604051808303816000875af11580156106a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106c891908101906132cf565b91505b505b83816040516020016106e092919061333d565b60405160208183030381529060405295508734336001600160a01b03167f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c28a8a60405161072e92919061333d565b60405180910390a4505050505092915050565b606060008061075b6000356001600160e01b0319166118f2565b915091503460001415801561076e575080155b156107d8576107d67f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061046b92505050565b505b6000356001600160e01b0319161580156107f957506001600160a01b038216155b15610817576040518060200160405280600081525092505050610917565b6001600160a01b03821661086a576040517fbb370b2b0000000000000000000000000000000000000000000000000000000081526001600160e01b03196000351660048201526024015b60405180910390fd5b600080836001600160a01b031683610883576000610885565b345b8888333460405160200161089c9493929190613362565b60408051601f19818403018152908290526108b691613392565b60006040518083038185875af1925050503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b5091509150811561090e57935061091792505050565b80518060208301fd5b92915050565b60006001600160e01b03198216630b135d3f60e11b148061096757506001600160e01b031982167f24871b3d00000000000000000000000000000000000000000000000000000000145b8061098257506001600160e01b03198216631aed5a8560e21b145b806109b657506001600160e01b031982167f94be599900000000000000000000000000000000000000000000000000000000145b806109ea57506001600160e01b031982167f1a0eb6a500000000000000000000000000000000000000000000000000000000145b806109f957506109f9826119e9565b80610917575061091782611a27565b600080610a1d6000546001600160a01b031690565b90506001600160a01b0381163b15610b3a57600080826001600160a01b0316631626ba7e60e01b8787604051602401610a579291906133ae565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610a959190613392565b600060405180830381855afa9150503d8060008114610ad0576040519150601f19603f3d011682016040523d82523d6000602084013e610ad5565b606091505b50915091506000828015610aea575081516020145b8015610b1157508151630b135d3f60e11b90610b0f90840160209081019085016133c7565b145b905080610b26576001600160e01b0319610b2f565b630b135d3f60e11b5b945050505050610917565b600080610b478686611a65565b90925090506000816004811115610b6057610b606133e0565b14610b7957506001600160e01b03199250610917915050565b826001600160a01b0316826001600160a01b031614610ba0576001600160e01b0319610ba9565b630b135d3f60e11b5b9350505050610917565b5092915050565b60603415610c45576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052610c3c916133f6565b60405180910390a45b6000546001600160a01b031633819003610c6d57610c6586868686611aaa565b915050610cbe565b6000610c7882611c3a565b90506000610c8888888888611aaa565b90508115610cb957610cb98382604051602001610ca59190613063565b604051602081830303815290604052611e06565b925050505b949350505050565b60603415610d51576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052610d48916133f6565b60405180910390a45b6000546001600160a01b031633819003610d7157610c6586868686611f3c565b6000610d7c82611c3a565b90506000610d8c88888888611f3c565b90508115610cb957610cb98382604051602001610ca5919061311a565b60606109178261175e565b60608167ffffffffffffffff811115610dcf57610dcf612cde565b604051908082528060200260200182016040528015610e0257816020015b6060815260200190600190039081610ded5790505b50905060005b82811015610bb35760008030868685818110610e2657610e26613420565b9050602002810190610e389190613436565b604051610e4692919061347d565b600060405180830381855af49150503d8060008114610e81576040519150601f19603f3d011682016040523d82523d6000602084013e610e86565b606091505b509150915081610ee857805115610ea05780518082602001fd5b60405162461bcd60e51b815260206004820152601960248201527f4c5350303a20626174636843616c6c73207265766572746564000000000000006044820152606401610861565b80848481518110610efb57610efb613420565b60209081029190910101525050600101610e08565b6000546001600160a01b031633819003610fb3576000546001600160a01b0316610f38612092565b6000546001600160a01b0316610faf57604080516001600160a01b0384166020820152600091810191909152610faf907fa4e59c931d14f7c8a7a35027f92ee40b5f2886b9fdcdb78f30bc5ecce5a2f814906060015b60408051601f198184030181529190526001600160a01b038416919061219e565b5050565b6000610fbe82611c3a565b90506000610fd46000546001600160a01b031690565b9050610fde612092565b6000546001600160a01b031661103857604080516001600160a01b0385166020820152600091810191909152611038907fa4e59c931d14f7c8a7a35027f92ee40b5f2886b9fdcdb78f30bc5ecce5a2f81490606001610f8e565b8115611057576110578360405180602001604052806000815250611e06565b50505b50565b600354600160a01b900460ff16156110a1576040517f5758dd0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546003546001600160a01b03918216929116903382146110ec576110c782611c3a565b90506110d2826116f0565b600380546001600160a01b031916905560006002556110f4565b6110f4612232565b604080516001600160a01b03808616602083015284169181019190915261115c907fa4e59c931d14f7c8a7a35027f92ee40b5f2886b9fdcdb78f30bc5ecce5a2f814906060015b60408051601f198184030181529190526001600160a01b038616919061219e565b604080516001600160a01b0380861660208301528416918101919091526111c4907fceca317f109c43507871523e82dc2a3cc64dfa18f12da0b6db14f6e23f995538906060015b60408051601f198184030181529190526001600160a01b038516919061219e565b8015611057576110578260405180602001604052806000815250611e06565b341561126c576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052611263916133f6565b60405180910390a45b6000546001600160a01b03163381900361128a576110578383612298565b600061129582611c3a565b90506112a18484612298565b80156112c0576112c08260405180602001604052806000815250611e06565b50505050565b341561134f576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052611346916133f6565b60405180910390a45b805182511461138a576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516000036113c5576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b0316338190036114295760005b83518110156112c0576114218482815181106113fa576113fa613420565b602002602001015184838151811061141457611414613420565b6020026020010151612298565b6001016113dc565b600061143482611c3a565b905060005b84518110156114795761147185828151811061145757611457613420565b602002602001015185838151811061141457611414613420565b600101611439565b5080156112c0576112c08260405180602001604052806000815250611e06565b6060815167ffffffffffffffff8111156114b5576114b5612cde565b6040519080825280602002602001820160405280156114e857816020015b60608152602001906001900390816114d35790505b50905060005b825181101561153e5761151983828151811061150c5761150c613420565b602002602001015161175e565b82828151811061152b5761152b613420565b60209081029190910101526001016114ee565b50919050565b6000546001600160a01b031633819003611610576003805460ff60a01b1916600160a01b179055611574826122ed565b816001600160a01b0316816001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a3604080516001600160a01b0380841660208301528416918101919091526115ff907fe17117c9d2665d1dbeb479ed8058bbebde3c50ac50e2e65619f60006caac6926906060016111a3565b6003805460ff60a01b191690555050565b600061161b82611c3a565b6003805460ff60a01b1916600160a01b1790559050611639836122ed565b826001600160a01b0316826001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a3604080516001600160a01b0380851660208301528516918101919091526116c4907fe17117c9d2665d1dbeb479ed8058bbebde3c50ac50e2e65619f60006caac69269060600161113b565b6003805460ff60a01b191690558015611057576110578260405180602001604052806000815250611e06565b6000546001600160a01b0382811691161461105a57600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0383166001600160a01b031990911617905550565b600081815260016020526040902080546060919061177b9061348d565b80601f01602080910402602001604051908101604052809291908181526020018280546117a79061348d565b80156117f45780601f106117c9576101008083540402835291602001916117f4565b820191906000526020600020905b8154815290600101906020018083116117d757829003601f168201915b50505050509050919050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015611872575060208210155b801561187e5750600081115b979650505050505050565b604080517fffffffffffffffffffff00000000000000000000000000000000000000000000841660208201526000602a82018190526bffffffffffffffffffffffff198416602c83015291829101604051602081830303815290604052905080610cbe906134c1565b6000808061192a7fcee78b4094da86011096000000000000000000000000000000000000000000006001600160e01b03198616611889565b905060006119378261175e565b9050601481511015611950575060009485945092505050565b80516015036119d1578060148151811061196c5761196c613420565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f0100000000000000000000000000000000000000000000000000000000000000036119d1576119c281613265565b60601c95600195509350505050565b6119da81613265565b60601c95600095509350505050565b60006001600160e01b031982167fa918fa6b000000000000000000000000000000000000000000000000000000001480610917575061091782612356565b600080611a3a6301ffc9a760e01b6118f2565b5090506001600160a01b038116611a545750600092915050565b611a5e8184611800565b9392505050565b6000808251604103611a9b5760208301516040840151606085015160001a611a8f87828585612394565b94509450505050611aa3565b506000905060025b9250929050565b606083518551141580611acb575082518451141580611acb57508151835114155b15611b02576040517f3ff55f4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451600003611b3d576040517fe9ad2b5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000855167ffffffffffffffff811115611b5957611b59612cde565b604051908082528060200260200182016040528015611b8c57816020015b6060815260200190600190039081611b775790505b50905060005b8651811015611c3057611c0b878281518110611bb057611bb0613420565b6020026020010151878381518110611bca57611bca613420565b6020026020010151878481518110611be457611be4613420565b6020026020010151878581518110611bfe57611bfe613420565b6020026020010151611f3c565b828281518110611c1d57611c1d613420565b6020908102919091010152600101611b92565b5095945050505050565b6000816001600160a01b03163b600003611c8b576040517f0c3923010000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610861565b6040517fde928f140000000000000000000000000000000000000000000000000000000081526001600160a01b0383169063de928f1490611cdb90339030908290349060009036906004016134e5565b6020604051808303816000875af1925050508015611d16575060408051601f3d908101601f19168201909252611d1391810190613542565b60015b611d55573d808015611d44576040519150601f19603f3d011682016040523d82523d6000602084013e611d49565b606091505b5061153e600082612458565b7fffffff000000000000000000000000000000000000000000000000000000000081167fde928f000000000000000000000000000000000000000000000000000000000014611dca57604051639d6741e360e01b8152600060048201526001600160e01b031982166024820152604401610861565b8060031a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916600160f81b14915050919050565b919050565b816001600160a01b031663d3fc45d333303334600036604051602001611e319695949392919061355f565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401611e659291906133ae565b6020604051808303816000875af1925050508015611ea0575060408051601f3d908101601f19168201909252611e9d91810190613542565b60015b611edf573d808015611ece576040519150601f19603f3d011682016040523d82523d6000602084013e611ed3565b606091505b50611057600182612458565b6001600160e01b031981167fd3fc45d3000000000000000000000000000000000000000000000000000000001461105757604051639d6741e360e01b8152600160048201526001600160e01b031982166024820152604401610861565b606084611f5557611f4e84848461249e565b9050610cbe565b60018503611f8f576001600160a01b03841615611f8557604051631820c12560e11b815260040160405180910390fd5b611f4e83836125cf565b60028503611fc9576001600160a01b03841615611fbf57604051631820c12560e11b815260040160405180910390fd5b611f4e83836126e9565b60038503612013578215612009576040517f72f2bc6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4e84836127d3565b6004850361205d578215612053576040517f5ac8313500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4e84836128d7565b6040517f7583b3bc00000000000000000000000000000000000000000000000000000000815260048101869052602401610861565b60025443906000906120a69060c8906135c5565b905060006120b560c8836135c5565b9050808311806120c55750600254155b1561210d576002839055600380546001600160a01b03191690556040517f81b7f830f1f0084db6497c486cbe6974c86488dcc4e3738eab94ab6d6b1653e790600090a1505050565b81831015612151576040517f1b0809420000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610861565b61215b60006116f0565b60006002819055600380546001600160a01b03191690556040517fd1f66c3d2bc1993a86be5e3d33709d98f0442381befcedd29f578b9b2506b1ce9190a1505050565b6121b86001600160a01b038416631aed5a8560e21b611800565b1561105757604051631aed5a8560e21b81526001600160a01b03841690636bb56a14906121eb90859085906004016133ae565b6000604051808303816000875af115801561220a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112c091908101906132cf565b6003546001600160a01b03163314612278576040517f451e4528000000000000000000000000000000000000000000000000000000008152336004820152602401610861565b612281336116f0565b600380546001600160a01b03191690556000600255565b60008281526001602052604090206122b08282613626565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2826040516122e1919061311a565b60405180910390a25050565b306001600160a01b0382160361232f576040517fe052a6f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b03929092169190911790556000600255565b60006001600160e01b031982167f629aa694000000000000000000000000000000000000000000000000000000001480610917575061091782612988565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156123cb575060009050600361244f565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561241f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166124485760006001925092505061244f565b9150600090505b94509492505050565b8051156124685780518082602001fd5b6040517f8c6a8ae30000000000000000000000000000000000000000000000000000000081528215156004820152602401610861565b6060824710156124ca576040516301bf351f60e31b815247600482015260248101849052604401610861565b6124d3826136e6565b6001600160e01b031916846001600160a01b031660007f4810874456b8e6487bd861375cf6abd8e1c8bb5858c8ce36a86a04dabfac199e8660405161251a91815260200190565b60405180910390a4600080856001600160a01b0316858560405161253e9190613392565b60006040518083038185875af1925050503d806000811461257b576040519150601f19603f3d011682016040523d82523d6000602084013e612580565b606091505b50915091506125c582826040518060400160405280601681526020017f455243373235583a20556e6b6e6f776e204572726f72000000000000000000008152506129d6565b9695505050505050565b6060824710156125fb576040516301bf351f60e31b815247600482015260248101849052604401610861565b815160000361261d5760405163b81cd8d960e01b815260040160405180910390fd5b600082516020840185f090506001600160a01b038116612669576040517f0b07489b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000801b816001600160a01b031660017fa1fb700aaee2ae4a2ff6f91ce7eba292f89c2f5488b8ec4c5c5c8150692595c3876040516126aa91815260200190565b60405180910390a46040516bffffffffffffffffffffffff19606083901b16602082015260340160405160208183030381529060405291505092915050565b6060815160000361270d5760405163b81cd8d960e01b815260040160405180910390fd5b60006127268360208551612721919061371a565b6129ef565b905060006127438460006020875161273e919061371a565b612a55565b90506000612752868484612b7d565b905082816001600160a01b031660027fa1fb700aaee2ae4a2ff6f91ce7eba292f89c2f5488b8ec4c5c5c8150692595c38960405161279291815260200190565b60405180910390a46040516bffffffffffffffffffffffff19606083901b166020820152603401604051602081830303815290604052935050505092915050565b60606127de826136e6565b6001600160e01b031916836001600160a01b031660037f4810874456b8e6487bd861375cf6abd8e1c8bb5858c8ce36a86a04dabfac199e600060405161282691815260200190565b60405180910390a4600080846001600160a01b0316846040516128499190613392565b600060405180830381855afa9150503d8060008114612884576040519150601f19603f3d011682016040523d82523d6000602084013e612889565b606091505b50915091506128ce82826040518060400160405280601681526020017f455243373235583a20556e6b6e6f776e204572726f72000000000000000000008152506129d6565b95945050505050565b60606128e2826136e6565b6001600160e01b031916836001600160a01b031660047f4810874456b8e6487bd861375cf6abd8e1c8bb5858c8ce36a86a04dabfac199e600060405161292a91815260200190565b60405180910390a4600080846001600160a01b03168460405161294d9190613392565b600060405180830381855af49150503d8060008114612884576040519150601f19603f3d011682016040523d82523d6000602084013e612889565b60006001600160e01b031982167f7545acac00000000000000000000000000000000000000000000000000000000148061091757506301ffc9a760e01b6001600160e01b0319831614610917565b606083156129e5575081611a5e565b611a5e8383612c81565b60006129fc8260206135c5565b83511015612a4c5760405162461bcd60e51b815260206004820152601560248201527f746f427974657333325f6f75744f66426f756e647300000000000000000000006044820152606401610861565b50016020015190565b606081612a6381601f6135c5565b1015612ab15760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610861565b612abb82846135c5565b84511015612b0b5760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610861565b606082158015612b2a5760405191506000825260208201604052612b74565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015612b63578051835260209283019201612b4b565b5050858452601f01601f1916604052505b50949350505050565b600083471015612bcf5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e63650000006044820152606401610861565b8151600003612c205760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401610861565b8282516020840186f590506001600160a01b038116611a5e5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f79000000000000006044820152606401610861565b815115612c915781518083602001fd5b8060405162461bcd60e51b8152600401610861919061311a565b6001600160e01b03198116811461105a57600080fd5b600060208284031215612cd357600080fd5b8135611a5e81612cab565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612d1d57612d1d612cde565b604052919050565b600067ffffffffffffffff821115612d3f57612d3f612cde565b50601f01601f191660200190565b600082601f830112612d5e57600080fd5b8135612d71612d6c82612d25565b612cf4565b818152846020838601011115612d8657600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215612db657600080fd5b82359150602083013567ffffffffffffffff811115612dd457600080fd5b612de085828601612d4d565b9150509250929050565b600067ffffffffffffffff821115612e0457612e04612cde565b5060051b60200190565b600082601f830112612e1f57600080fd5b81356020612e2f612d6c83612dea565b82815260059290921b84018101918181019086841115612e4e57600080fd5b8286015b84811015612e695780358352918301918301612e52565b509695505050505050565b80356001600160a01b0381168114611e0157600080fd5b600082601f830112612e9c57600080fd5b81356020612eac612d6c83612dea565b82815260059290921b84018101918181019086841115612ecb57600080fd5b8286015b84811015612e6957803567ffffffffffffffff811115612eef5760008081fd5b612efd8986838b0101612d4d565b845250918301918301612ecf565b60008060008060808587031215612f2157600080fd5b843567ffffffffffffffff80821115612f3957600080fd5b612f4588838901612e0e565b9550602091508187013581811115612f5c57600080fd5b8701601f81018913612f6d57600080fd5b8035612f7b612d6c82612dea565b81815260059190911b8201840190848101908b831115612f9a57600080fd5b928501925b82841015612fbf57612fb084612e74565b82529285019290850190612f9f565b97505050506040870135915080821115612fd857600080fd5b612fe488838901612e0e565b93506060870135915080821115612ffa57600080fd5b5061300787828801612e8b565b91505092959194509250565b60005b8381101561302e578181015183820152602001613016565b50506000910152565b6000815180845261304f816020860160208601613013565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156130b857603f198886030184526130a6858351613037565b9450928501929085019060010161308a565b5092979650505050505050565b600080600080608085870312156130db57600080fd5b843593506130eb60208601612e74565b925060408501359150606085013567ffffffffffffffff81111561310e57600080fd5b61300787828801612d4d565b602081526000611a5e6020830184613037565b60006020828403121561313f57600080fd5b5035919050565b6000806020838503121561315957600080fd5b823567ffffffffffffffff8082111561317157600080fd5b818501915085601f83011261318557600080fd5b81358181111561319457600080fd5b8660208260051b85010111156131a957600080fd5b60209290920196919550909350505050565b600080604083850312156131ce57600080fd5b823567ffffffffffffffff808211156131e657600080fd5b6131f286838701612e0e565b9350602085013591508082111561320857600080fd5b50612de085828601612e8b565b60006020828403121561322757600080fd5b813567ffffffffffffffff81111561323e57600080fd5b610cbe84828501612e0e565b60006020828403121561325c57600080fd5b611a5e82612e74565b805160208201516bffffffffffffffffffffffff1980821692919060148310156132995780818460140360031b1b83161693505b505050919050565b6001600160a01b03851681528360208201528260408201526080606082015260006125c56080830184613037565b6000602082840312156132e157600080fd5b815167ffffffffffffffff8111156132f857600080fd5b8201601f8101841361330957600080fd5b8051613317612d6c82612d25565b81815285602083850101111561332c57600080fd5b6128ce826020830160208601613013565b6040815260006133506040830185613037565b82810360208401526128ce8185613037565b8385823760609290921b6bffffffffffffffffffffffff1916919092019081526014810191909152603401919050565b600082516133a4818460208701613013565b9190910192915050565b828152604060208201526000610cbe6040830184613037565b6000602082840312156133d957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6040815260006134096040830184613037565b828103602093840152600081529190910192915050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261344d57600080fd5b83018035915067ffffffffffffffff82111561346857600080fd5b602001915036819003821315611aa357600080fd5b8183823760009101908152919050565b600181811c908216806134a157607f821691505b60208210810361153e57634e487b7160e01b600052602260045260246000fd5b8051602080830151919081101561153e5760001960209190910360031b1b16919050565b60006001600160a01b038089168352808816602084015280871660408401525084606083015260a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b60006020828403121561355457600080fd5b8151611a5e81612cab565b60006bffffffffffffffffffffffff19808960601b168352808860601b166014840152808760601b1660288401525084603c8301528284605c8401375060009101605c0190815295945050505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610917576109176135af565b601f82111561105757600081815260208120601f850160051c810160208610156135ff5750805b601f850160051c820191505b8181101561361e5782815560010161360b565b505050505050565b815167ffffffffffffffff81111561364057613640612cde565b6136548161364e845461348d565b846135d8565b602080601f83116001811461368957600084156136715750858301515b600019600386901b1c1916600185901b17855561361e565b600085815260208120601f198616915b828110156136b857888601518255948401946001909101908401613699565b50858210156136d65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000815160208301516001600160e01b0319808216935060048310156132995760049290920360031b82901b161692915050565b81810381811115610917576109176135af56fea2646970667358221220096d3bc36764857dd87159439ea1b2e75f3cfec8b27b0c03bac8b8aea1cecdad64736f6c63430008110033",
673
- "deployedBytecode": "0x60806040526004361061012d5760003560e01c806379ba5097116100a5578063dedff9c611610074578063ead3fbdf11610059578063ead3fbdf1461021e578063f2fde38b14610402578063ffa1ad741461042257610178565b8063dedff9c6146103c4578063e30c3978146103e457610178565b806379ba5097146103575780637f23690c1461036c5780638da5cb5b1461037f57806397902421146103b157610178565b806344c028fe116100fc5780636963d438116100e15780636963d4381461030f5780636bb56a141461032f578063715018a61461034257610178565b806344c028fe146102cf57806354f6127f146102ef57610178565b806301bfba611461021e57806301ffc9a7146102465780631626ba7e1461027657806331858452146102af57610178565b36610178573415610176576101747f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b6040518060200160405280600081525061046b565b505b005b600036606060048210156102065734156101f1576101ef7f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061046b92505050565b505b50604080516020810190915260008152610213565b6102108383610741565b90505b915050805190602001f35b34801561022a57600080fd5b5061023360c881565b6040519081526020015b60405180910390f35b34801561025257600080fd5b50610266610261366004612cc1565b61091d565b604051901515815260200161023d565b34801561028257600080fd5b50610296610291366004612da3565b610a08565b6040516001600160e01b0319909116815260200161023d565b6102c26102bd366004612f0b565b610bba565b60405161023d9190613063565b6102e26102dd3660046130c5565b610cc6565b60405161023d919061311a565b3480156102fb57600080fd5b506102e261030a36600461312d565b610da9565b34801561031b57600080fd5b506102c261032a366004613146565b610db4565b6102e261033d366004612da3565b61046b565b34801561034e57600080fd5b50610176610f10565b34801561036357600080fd5b5061017661105d565b61017661037a366004612da3565b6111e3565b34801561038b57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161023d565b6101766103bf3660046131bb565b6112c6565b3480156103d057600080fd5b506102c26103df366004613215565b611499565b3480156103f057600080fd5b506003546001600160a01b0316610399565b34801561040e57600080fd5b5061017661041d36600461324a565b611544565b34801561042e57600080fd5b506102e26040518060400160405280600681526020017f302e31352e30000000000000000000000000000000000000000000000000000081525081565b6060341580159061049c57507f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d8314155b15610507576105057f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b6000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061046b92505050565b505b60006105327f0cfc51aec37c55a4d0b1a65c6255c4bf2fbdf6277f3cc0730c45b828b6db8b4761175e565b9050606060148251106105e357600061054a83613265565b60601c905061056081635122dded60e11b611800565b156105e157604051635122dded60e11b81526001600160a01b0382169063a245bbda9061059790339034908b908b906004016132a1565b6000604051808303816000875af11580156105b6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105de91908101906132cf565b91505b505b600061060f7f0cfc51aec37c55a4d0b10000000000000000000000000000000000000000000087611889565b9050600061061c8261175e565b9050606060148251106106cd57600061063483613265565b60601c905061064a81635122dded60e11b611800565b156106cb57604051635122dded60e11b81526001600160a01b0382169063a245bbda9061068190339034908e908e906004016132a1565b6000604051808303816000875af11580156106a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106c891908101906132cf565b91505b505b83816040516020016106e092919061333d565b60405160208183030381529060405295508734336001600160a01b03167f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c28a8a60405161072e92919061333d565b60405180910390a4505050505092915050565b606060008061075b6000356001600160e01b0319166118f2565b915091503460001415801561076e575080155b156107d8576107d67f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061046b92505050565b505b6000356001600160e01b0319161580156107f957506001600160a01b038216155b15610817576040518060200160405280600081525092505050610917565b6001600160a01b03821661086a576040517fbb370b2b0000000000000000000000000000000000000000000000000000000081526001600160e01b03196000351660048201526024015b60405180910390fd5b600080836001600160a01b031683610883576000610885565b345b8888333460405160200161089c9493929190613362565b60408051601f19818403018152908290526108b691613392565b60006040518083038185875af1925050503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b5091509150811561090e57935061091792505050565b80518060208301fd5b92915050565b60006001600160e01b03198216630b135d3f60e11b148061096757506001600160e01b031982167f24871b3d00000000000000000000000000000000000000000000000000000000145b8061098257506001600160e01b03198216631aed5a8560e21b145b806109b657506001600160e01b031982167f94be599900000000000000000000000000000000000000000000000000000000145b806109ea57506001600160e01b031982167f1a0eb6a500000000000000000000000000000000000000000000000000000000145b806109f957506109f9826119e9565b80610917575061091782611a27565b600080610a1d6000546001600160a01b031690565b90506001600160a01b0381163b15610b3a57600080826001600160a01b0316631626ba7e60e01b8787604051602401610a579291906133ae565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610a959190613392565b600060405180830381855afa9150503d8060008114610ad0576040519150601f19603f3d011682016040523d82523d6000602084013e610ad5565b606091505b50915091506000828015610aea575081516020145b8015610b1157508151630b135d3f60e11b90610b0f90840160209081019085016133c7565b145b905080610b26576001600160e01b0319610b2f565b630b135d3f60e11b5b945050505050610917565b600080610b478686611a65565b90925090506000816004811115610b6057610b606133e0565b14610b7957506001600160e01b03199250610917915050565b826001600160a01b0316826001600160a01b031614610ba0576001600160e01b0319610ba9565b630b135d3f60e11b5b9350505050610917565b5092915050565b60603415610c45576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052610c3c916133f6565b60405180910390a45b6000546001600160a01b031633819003610c6d57610c6586868686611aaa565b915050610cbe565b6000610c7882611c3a565b90506000610c8888888888611aaa565b90508115610cb957610cb98382604051602001610ca59190613063565b604051602081830303815290604052611e06565b925050505b949350505050565b60603415610d51576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052610d48916133f6565b60405180910390a45b6000546001600160a01b031633819003610d7157610c6586868686611f3c565b6000610d7c82611c3a565b90506000610d8c88888888611f3c565b90508115610cb957610cb98382604051602001610ca5919061311a565b60606109178261175e565b60608167ffffffffffffffff811115610dcf57610dcf612cde565b604051908082528060200260200182016040528015610e0257816020015b6060815260200190600190039081610ded5790505b50905060005b82811015610bb35760008030868685818110610e2657610e26613420565b9050602002810190610e389190613436565b604051610e4692919061347d565b600060405180830381855af49150503d8060008114610e81576040519150601f19603f3d011682016040523d82523d6000602084013e610e86565b606091505b509150915081610ee857805115610ea05780518082602001fd5b60405162461bcd60e51b815260206004820152601960248201527f4c5350303a20626174636843616c6c73207265766572746564000000000000006044820152606401610861565b80848481518110610efb57610efb613420565b60209081029190910101525050600101610e08565b6000546001600160a01b031633819003610fb3576000546001600160a01b0316610f38612092565b6000546001600160a01b0316610faf57604080516001600160a01b0384166020820152600091810191909152610faf907fa4e59c931d14f7c8a7a35027f92ee40b5f2886b9fdcdb78f30bc5ecce5a2f814906060015b60408051601f198184030181529190526001600160a01b038416919061219e565b5050565b6000610fbe82611c3a565b90506000610fd46000546001600160a01b031690565b9050610fde612092565b6000546001600160a01b031661103857604080516001600160a01b0385166020820152600091810191909152611038907fa4e59c931d14f7c8a7a35027f92ee40b5f2886b9fdcdb78f30bc5ecce5a2f81490606001610f8e565b8115611057576110578360405180602001604052806000815250611e06565b50505b50565b600354600160a01b900460ff16156110a1576040517f5758dd0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546003546001600160a01b03918216929116903382146110ec576110c782611c3a565b90506110d2826116f0565b600380546001600160a01b031916905560006002556110f4565b6110f4612232565b604080516001600160a01b03808616602083015284169181019190915261115c907fa4e59c931d14f7c8a7a35027f92ee40b5f2886b9fdcdb78f30bc5ecce5a2f814906060015b60408051601f198184030181529190526001600160a01b038616919061219e565b604080516001600160a01b0380861660208301528416918101919091526111c4907fceca317f109c43507871523e82dc2a3cc64dfa18f12da0b6db14f6e23f995538906060015b60408051601f198184030181529190526001600160a01b038516919061219e565b8015611057576110578260405180602001604052806000815250611e06565b341561126c576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052611263916133f6565b60405180910390a45b6000546001600160a01b03163381900361128a576110578383612298565b600061129582611c3a565b90506112a18484612298565b80156112c0576112c08260405180602001604052806000815250611e06565b50505050565b341561134f576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052611346916133f6565b60405180910390a45b805182511461138a576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516000036113c5576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b0316338190036114295760005b83518110156112c0576114218482815181106113fa576113fa613420565b602002602001015184838151811061141457611414613420565b6020026020010151612298565b6001016113dc565b600061143482611c3a565b905060005b84518110156114795761147185828151811061145757611457613420565b602002602001015185838151811061141457611414613420565b600101611439565b5080156112c0576112c08260405180602001604052806000815250611e06565b6060815167ffffffffffffffff8111156114b5576114b5612cde565b6040519080825280602002602001820160405280156114e857816020015b60608152602001906001900390816114d35790505b50905060005b825181101561153e5761151983828151811061150c5761150c613420565b602002602001015161175e565b82828151811061152b5761152b613420565b60209081029190910101526001016114ee565b50919050565b6000546001600160a01b031633819003611610576003805460ff60a01b1916600160a01b179055611574826122ed565b816001600160a01b0316816001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a3604080516001600160a01b0380841660208301528416918101919091526115ff907fe17117c9d2665d1dbeb479ed8058bbebde3c50ac50e2e65619f60006caac6926906060016111a3565b6003805460ff60a01b191690555050565b600061161b82611c3a565b6003805460ff60a01b1916600160a01b1790559050611639836122ed565b826001600160a01b0316826001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a3604080516001600160a01b0380851660208301528516918101919091526116c4907fe17117c9d2665d1dbeb479ed8058bbebde3c50ac50e2e65619f60006caac69269060600161113b565b6003805460ff60a01b191690558015611057576110578260405180602001604052806000815250611e06565b6000546001600160a01b0382811691161461105a57600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0383166001600160a01b031990911617905550565b600081815260016020526040902080546060919061177b9061348d565b80601f01602080910402602001604051908101604052809291908181526020018280546117a79061348d565b80156117f45780601f106117c9576101008083540402835291602001916117f4565b820191906000526020600020905b8154815290600101906020018083116117d757829003601f168201915b50505050509050919050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015611872575060208210155b801561187e5750600081115b979650505050505050565b604080517fffffffffffffffffffff00000000000000000000000000000000000000000000841660208201526000602a82018190526bffffffffffffffffffffffff198416602c83015291829101604051602081830303815290604052905080610cbe906134c1565b6000808061192a7fcee78b4094da86011096000000000000000000000000000000000000000000006001600160e01b03198616611889565b905060006119378261175e565b9050601481511015611950575060009485945092505050565b80516015036119d1578060148151811061196c5761196c613420565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f0100000000000000000000000000000000000000000000000000000000000000036119d1576119c281613265565b60601c95600195509350505050565b6119da81613265565b60601c95600095509350505050565b60006001600160e01b031982167fa918fa6b000000000000000000000000000000000000000000000000000000001480610917575061091782612356565b600080611a3a6301ffc9a760e01b6118f2565b5090506001600160a01b038116611a545750600092915050565b611a5e8184611800565b9392505050565b6000808251604103611a9b5760208301516040840151606085015160001a611a8f87828585612394565b94509450505050611aa3565b506000905060025b9250929050565b606083518551141580611acb575082518451141580611acb57508151835114155b15611b02576040517f3ff55f4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451600003611b3d576040517fe9ad2b5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000855167ffffffffffffffff811115611b5957611b59612cde565b604051908082528060200260200182016040528015611b8c57816020015b6060815260200190600190039081611b775790505b50905060005b8651811015611c3057611c0b878281518110611bb057611bb0613420565b6020026020010151878381518110611bca57611bca613420565b6020026020010151878481518110611be457611be4613420565b6020026020010151878581518110611bfe57611bfe613420565b6020026020010151611f3c565b828281518110611c1d57611c1d613420565b6020908102919091010152600101611b92565b5095945050505050565b6000816001600160a01b03163b600003611c8b576040517f0c3923010000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610861565b6040517fde928f140000000000000000000000000000000000000000000000000000000081526001600160a01b0383169063de928f1490611cdb90339030908290349060009036906004016134e5565b6020604051808303816000875af1925050508015611d16575060408051601f3d908101601f19168201909252611d1391810190613542565b60015b611d55573d808015611d44576040519150601f19603f3d011682016040523d82523d6000602084013e611d49565b606091505b5061153e600082612458565b7fffffff000000000000000000000000000000000000000000000000000000000081167fde928f000000000000000000000000000000000000000000000000000000000014611dca57604051639d6741e360e01b8152600060048201526001600160e01b031982166024820152604401610861565b8060031a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916600160f81b14915050919050565b919050565b816001600160a01b031663d3fc45d333303334600036604051602001611e319695949392919061355f565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401611e659291906133ae565b6020604051808303816000875af1925050508015611ea0575060408051601f3d908101601f19168201909252611e9d91810190613542565b60015b611edf573d808015611ece576040519150601f19603f3d011682016040523d82523d6000602084013e611ed3565b606091505b50611057600182612458565b6001600160e01b031981167fd3fc45d3000000000000000000000000000000000000000000000000000000001461105757604051639d6741e360e01b8152600160048201526001600160e01b031982166024820152604401610861565b606084611f5557611f4e84848461249e565b9050610cbe565b60018503611f8f576001600160a01b03841615611f8557604051631820c12560e11b815260040160405180910390fd5b611f4e83836125cf565b60028503611fc9576001600160a01b03841615611fbf57604051631820c12560e11b815260040160405180910390fd5b611f4e83836126e9565b60038503612013578215612009576040517f72f2bc6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4e84836127d3565b6004850361205d578215612053576040517f5ac8313500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4e84836128d7565b6040517f7583b3bc00000000000000000000000000000000000000000000000000000000815260048101869052602401610861565b60025443906000906120a69060c8906135c5565b905060006120b560c8836135c5565b9050808311806120c55750600254155b1561210d576002839055600380546001600160a01b03191690556040517f81b7f830f1f0084db6497c486cbe6974c86488dcc4e3738eab94ab6d6b1653e790600090a1505050565b81831015612151576040517f1b0809420000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610861565b61215b60006116f0565b60006002819055600380546001600160a01b03191690556040517fd1f66c3d2bc1993a86be5e3d33709d98f0442381befcedd29f578b9b2506b1ce9190a1505050565b6121b86001600160a01b038416631aed5a8560e21b611800565b1561105757604051631aed5a8560e21b81526001600160a01b03841690636bb56a14906121eb90859085906004016133ae565b6000604051808303816000875af115801561220a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112c091908101906132cf565b6003546001600160a01b03163314612278576040517f451e4528000000000000000000000000000000000000000000000000000000008152336004820152602401610861565b612281336116f0565b600380546001600160a01b03191690556000600255565b60008281526001602052604090206122b08282613626565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2826040516122e1919061311a565b60405180910390a25050565b306001600160a01b0382160361232f576040517fe052a6f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b03929092169190911790556000600255565b60006001600160e01b031982167f629aa694000000000000000000000000000000000000000000000000000000001480610917575061091782612988565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156123cb575060009050600361244f565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561241f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166124485760006001925092505061244f565b9150600090505b94509492505050565b8051156124685780518082602001fd5b6040517f8c6a8ae30000000000000000000000000000000000000000000000000000000081528215156004820152602401610861565b6060824710156124ca576040516301bf351f60e31b815247600482015260248101849052604401610861565b6124d3826136e6565b6001600160e01b031916846001600160a01b031660007f4810874456b8e6487bd861375cf6abd8e1c8bb5858c8ce36a86a04dabfac199e8660405161251a91815260200190565b60405180910390a4600080856001600160a01b0316858560405161253e9190613392565b60006040518083038185875af1925050503d806000811461257b576040519150601f19603f3d011682016040523d82523d6000602084013e612580565b606091505b50915091506125c582826040518060400160405280601681526020017f455243373235583a20556e6b6e6f776e204572726f72000000000000000000008152506129d6565b9695505050505050565b6060824710156125fb576040516301bf351f60e31b815247600482015260248101849052604401610861565b815160000361261d5760405163b81cd8d960e01b815260040160405180910390fd5b600082516020840185f090506001600160a01b038116612669576040517f0b07489b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000801b816001600160a01b031660017fa1fb700aaee2ae4a2ff6f91ce7eba292f89c2f5488b8ec4c5c5c8150692595c3876040516126aa91815260200190565b60405180910390a46040516bffffffffffffffffffffffff19606083901b16602082015260340160405160208183030381529060405291505092915050565b6060815160000361270d5760405163b81cd8d960e01b815260040160405180910390fd5b60006127268360208551612721919061371a565b6129ef565b905060006127438460006020875161273e919061371a565b612a55565b90506000612752868484612b7d565b905082816001600160a01b031660027fa1fb700aaee2ae4a2ff6f91ce7eba292f89c2f5488b8ec4c5c5c8150692595c38960405161279291815260200190565b60405180910390a46040516bffffffffffffffffffffffff19606083901b166020820152603401604051602081830303815290604052935050505092915050565b60606127de826136e6565b6001600160e01b031916836001600160a01b031660037f4810874456b8e6487bd861375cf6abd8e1c8bb5858c8ce36a86a04dabfac199e600060405161282691815260200190565b60405180910390a4600080846001600160a01b0316846040516128499190613392565b600060405180830381855afa9150503d8060008114612884576040519150601f19603f3d011682016040523d82523d6000602084013e612889565b606091505b50915091506128ce82826040518060400160405280601681526020017f455243373235583a20556e6b6e6f776e204572726f72000000000000000000008152506129d6565b95945050505050565b60606128e2826136e6565b6001600160e01b031916836001600160a01b031660047f4810874456b8e6487bd861375cf6abd8e1c8bb5858c8ce36a86a04dabfac199e600060405161292a91815260200190565b60405180910390a4600080846001600160a01b03168460405161294d9190613392565b600060405180830381855af49150503d8060008114612884576040519150601f19603f3d011682016040523d82523d6000602084013e612889565b60006001600160e01b031982167f7545acac00000000000000000000000000000000000000000000000000000000148061091757506301ffc9a760e01b6001600160e01b0319831614610917565b606083156129e5575081611a5e565b611a5e8383612c81565b60006129fc8260206135c5565b83511015612a4c5760405162461bcd60e51b815260206004820152601560248201527f746f427974657333325f6f75744f66426f756e647300000000000000000000006044820152606401610861565b50016020015190565b606081612a6381601f6135c5565b1015612ab15760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610861565b612abb82846135c5565b84511015612b0b5760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610861565b606082158015612b2a5760405191506000825260208201604052612b74565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015612b63578051835260209283019201612b4b565b5050858452601f01601f1916604052505b50949350505050565b600083471015612bcf5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e63650000006044820152606401610861565b8151600003612c205760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401610861565b8282516020840186f590506001600160a01b038116611a5e5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f79000000000000006044820152606401610861565b815115612c915781518083602001fd5b8060405162461bcd60e51b8152600401610861919061311a565b6001600160e01b03198116811461105a57600080fd5b600060208284031215612cd357600080fd5b8135611a5e81612cab565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612d1d57612d1d612cde565b604052919050565b600067ffffffffffffffff821115612d3f57612d3f612cde565b50601f01601f191660200190565b600082601f830112612d5e57600080fd5b8135612d71612d6c82612d25565b612cf4565b818152846020838601011115612d8657600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215612db657600080fd5b82359150602083013567ffffffffffffffff811115612dd457600080fd5b612de085828601612d4d565b9150509250929050565b600067ffffffffffffffff821115612e0457612e04612cde565b5060051b60200190565b600082601f830112612e1f57600080fd5b81356020612e2f612d6c83612dea565b82815260059290921b84018101918181019086841115612e4e57600080fd5b8286015b84811015612e695780358352918301918301612e52565b509695505050505050565b80356001600160a01b0381168114611e0157600080fd5b600082601f830112612e9c57600080fd5b81356020612eac612d6c83612dea565b82815260059290921b84018101918181019086841115612ecb57600080fd5b8286015b84811015612e6957803567ffffffffffffffff811115612eef5760008081fd5b612efd8986838b0101612d4d565b845250918301918301612ecf565b60008060008060808587031215612f2157600080fd5b843567ffffffffffffffff80821115612f3957600080fd5b612f4588838901612e0e565b9550602091508187013581811115612f5c57600080fd5b8701601f81018913612f6d57600080fd5b8035612f7b612d6c82612dea565b81815260059190911b8201840190848101908b831115612f9a57600080fd5b928501925b82841015612fbf57612fb084612e74565b82529285019290850190612f9f565b97505050506040870135915080821115612fd857600080fd5b612fe488838901612e0e565b93506060870135915080821115612ffa57600080fd5b5061300787828801612e8b565b91505092959194509250565b60005b8381101561302e578181015183820152602001613016565b50506000910152565b6000815180845261304f816020860160208601613013565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156130b857603f198886030184526130a6858351613037565b9450928501929085019060010161308a565b5092979650505050505050565b600080600080608085870312156130db57600080fd5b843593506130eb60208601612e74565b925060408501359150606085013567ffffffffffffffff81111561310e57600080fd5b61300787828801612d4d565b602081526000611a5e6020830184613037565b60006020828403121561313f57600080fd5b5035919050565b6000806020838503121561315957600080fd5b823567ffffffffffffffff8082111561317157600080fd5b818501915085601f83011261318557600080fd5b81358181111561319457600080fd5b8660208260051b85010111156131a957600080fd5b60209290920196919550909350505050565b600080604083850312156131ce57600080fd5b823567ffffffffffffffff808211156131e657600080fd5b6131f286838701612e0e565b9350602085013591508082111561320857600080fd5b50612de085828601612e8b565b60006020828403121561322757600080fd5b813567ffffffffffffffff81111561323e57600080fd5b610cbe84828501612e0e565b60006020828403121561325c57600080fd5b611a5e82612e74565b805160208201516bffffffffffffffffffffffff1980821692919060148310156132995780818460140360031b1b83161693505b505050919050565b6001600160a01b03851681528360208201528260408201526080606082015260006125c56080830184613037565b6000602082840312156132e157600080fd5b815167ffffffffffffffff8111156132f857600080fd5b8201601f8101841361330957600080fd5b8051613317612d6c82612d25565b81815285602083850101111561332c57600080fd5b6128ce826020830160208601613013565b6040815260006133506040830185613037565b82810360208401526128ce8185613037565b8385823760609290921b6bffffffffffffffffffffffff1916919092019081526014810191909152603401919050565b600082516133a4818460208701613013565b9190910192915050565b828152604060208201526000610cbe6040830184613037565b6000602082840312156133d957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6040815260006134096040830184613037565b828103602093840152600081529190910192915050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261344d57600080fd5b83018035915067ffffffffffffffff82111561346857600080fd5b602001915036819003821315611aa357600080fd5b8183823760009101908152919050565b600181811c908216806134a157607f821691505b60208210810361153e57634e487b7160e01b600052602260045260246000fd5b8051602080830151919081101561153e5760001960209190910360031b1b16919050565b60006001600160a01b038089168352808816602084015280871660408401525084606083015260a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b60006020828403121561355457600080fd5b8151611a5e81612cab565b60006bffffffffffffffffffffffff19808960601b168352808860601b166014840152808760601b1660288401525084603c8301528284605c8401375060009101605c0190815295945050505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610917576109176135af565b601f82111561105757600081815260208120601f850160051c810160208610156135ff5750805b601f850160051c820191505b8181101561361e5782815560010161360b565b505050505050565b815167ffffffffffffffff81111561364057613640612cde565b6136548161364e845461348d565b846135d8565b602080601f83116001811461368957600084156136715750858301515b600019600386901b1c1916600185901b17855561361e565b600085815260208120601f198616915b828110156136b857888601518255948401946001909101908401613699565b50858210156136d65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000815160208301516001600160e01b0319808216935060048310156132995760049290920360031b82901b161692915050565b81810381811115610917576109176135af56fea2646970667358221220096d3bc36764857dd87159439ea1b2e75f3cfec8b27b0c03bac8b8aea1cecdad64736f6c63430008110033",
674
- "linkReferences": {},
675
- "deployedLinkReferences": {}
676
- }