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