@ensuro/core 1.2.0 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/build/contracts/AaveAssetManager.sol/AaveAssetManager.json +2 -51
  2. package/build/contracts/DataTypes.sol/DataTypes.json +2 -2
  3. package/build/contracts/EToken.sol/EToken.json +2 -2
  4. package/build/contracts/Exchange.sol/Exchange.json +483 -0
  5. package/build/contracts/FlightDelayRiskModule.sol/FlightDelayRiskModule.json +2 -2
  6. package/build/contracts/LPManualWhitelist.sol/LPManualWhitelist.json +2 -2
  7. package/build/contracts/PolicyNFT.sol/PolicyNFT.json +2 -2
  8. package/build/contracts/PolicyPool.sol/PolicyPool.json +2 -90
  9. package/build/contracts/PolicyPoolConfig.sol/PolicyPoolConfig.json +28 -2
  10. package/build/contracts/TrustfulRiskModule.sol/TrustfulRiskModule.json +2 -2
  11. package/build/contracts/extras/IPriceRiskModule.sol/IPriceRiskModule.json +253 -0
  12. package/build/contracts/extras/PriceRiskModule.sol/PriceRiskModule.json +1036 -0
  13. package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1.json +2 -2
  14. package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1_Upgrade.json +2 -2
  15. package/build/interfaces/IEToken.sol/IEToken.json +26 -0
  16. package/build/interfaces/IExchange.sol/IExchange.json +153 -0
  17. package/build/interfaces/IExchange.sol/IPriceOracle.json +30 -0
  18. package/build/interfaces/IPolicyHolder.sol/IPolicyHolder.json +108 -0
  19. package/build/interfaces/IPolicyPoolConfig.sol/IPolicyPoolConfig.json +13 -0
  20. package/contracts/AaveAssetManager.sol +35 -63
  21. package/contracts/BaseAssetManager.sol +55 -37
  22. package/contracts/EToken.sol +3 -19
  23. package/contracts/Exchange.sol +142 -0
  24. package/contracts/PolicyPool.sol +41 -35
  25. package/contracts/PolicyPoolComponent.sol +4 -0
  26. package/contracts/PolicyPoolConfig.sol +16 -0
  27. package/contracts/RiskModule.sol +5 -26
  28. package/contracts/extras/IPriceRiskModule.sol +41 -0
  29. package/contracts/extras/PriceRiskModule.sol +243 -0
  30. package/interfaces/IExchange.sol +47 -0
  31. package/interfaces/IPolicyHolder.sol +42 -0
  32. package/interfaces/IPolicyPoolConfig.sol +4 -0
  33. package/package.json +1 -1
@@ -0,0 +1,1036 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PriceRiskModule",
4
+ "sourceName": "contracts/extras/PriceRiskModule.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "contract IPolicyPool",
10
+ "name": "policyPool_",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "contract IERC20Metadata",
15
+ "name": "asset_",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "contract IERC20Metadata",
20
+ "name": "referenceCurrency_",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "slotSize_",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "stateMutability": "nonpayable",
30
+ "type": "constructor"
31
+ },
32
+ {
33
+ "anonymous": false,
34
+ "inputs": [
35
+ {
36
+ "indexed": false,
37
+ "internalType": "address",
38
+ "name": "previousAdmin",
39
+ "type": "address"
40
+ },
41
+ {
42
+ "indexed": false,
43
+ "internalType": "address",
44
+ "name": "newAdmin",
45
+ "type": "address"
46
+ }
47
+ ],
48
+ "name": "AdminChanged",
49
+ "type": "event"
50
+ },
51
+ {
52
+ "anonymous": false,
53
+ "inputs": [
54
+ {
55
+ "indexed": true,
56
+ "internalType": "address",
57
+ "name": "beacon",
58
+ "type": "address"
59
+ }
60
+ ],
61
+ "name": "BeaconUpgraded",
62
+ "type": "event"
63
+ },
64
+ {
65
+ "anonymous": false,
66
+ "inputs": [
67
+ {
68
+ "indexed": true,
69
+ "internalType": "enum IPolicyPoolConfig.GovernanceActions",
70
+ "name": "action",
71
+ "type": "uint8"
72
+ },
73
+ {
74
+ "indexed": false,
75
+ "internalType": "uint256",
76
+ "name": "value",
77
+ "type": "uint256"
78
+ }
79
+ ],
80
+ "name": "GovernanceAction",
81
+ "type": "event"
82
+ },
83
+ {
84
+ "anonymous": false,
85
+ "inputs": [
86
+ {
87
+ "indexed": true,
88
+ "internalType": "address",
89
+ "name": "customer",
90
+ "type": "address"
91
+ },
92
+ {
93
+ "indexed": false,
94
+ "internalType": "uint256",
95
+ "name": "policyId",
96
+ "type": "uint256"
97
+ },
98
+ {
99
+ "indexed": false,
100
+ "internalType": "uint256",
101
+ "name": "triggerPrice",
102
+ "type": "uint256"
103
+ },
104
+ {
105
+ "indexed": false,
106
+ "internalType": "bool",
107
+ "name": "lower",
108
+ "type": "bool"
109
+ }
110
+ ],
111
+ "name": "NewPricePolicy",
112
+ "type": "event"
113
+ },
114
+ {
115
+ "anonymous": false,
116
+ "inputs": [
117
+ {
118
+ "indexed": false,
119
+ "internalType": "address",
120
+ "name": "account",
121
+ "type": "address"
122
+ }
123
+ ],
124
+ "name": "Paused",
125
+ "type": "event"
126
+ },
127
+ {
128
+ "anonymous": false,
129
+ "inputs": [
130
+ {
131
+ "indexed": true,
132
+ "internalType": "bytes32",
133
+ "name": "role",
134
+ "type": "bytes32"
135
+ },
136
+ {
137
+ "indexed": true,
138
+ "internalType": "bytes32",
139
+ "name": "previousAdminRole",
140
+ "type": "bytes32"
141
+ },
142
+ {
143
+ "indexed": true,
144
+ "internalType": "bytes32",
145
+ "name": "newAdminRole",
146
+ "type": "bytes32"
147
+ }
148
+ ],
149
+ "name": "RoleAdminChanged",
150
+ "type": "event"
151
+ },
152
+ {
153
+ "anonymous": false,
154
+ "inputs": [
155
+ {
156
+ "indexed": true,
157
+ "internalType": "bytes32",
158
+ "name": "role",
159
+ "type": "bytes32"
160
+ },
161
+ {
162
+ "indexed": true,
163
+ "internalType": "address",
164
+ "name": "account",
165
+ "type": "address"
166
+ },
167
+ {
168
+ "indexed": true,
169
+ "internalType": "address",
170
+ "name": "sender",
171
+ "type": "address"
172
+ }
173
+ ],
174
+ "name": "RoleGranted",
175
+ "type": "event"
176
+ },
177
+ {
178
+ "anonymous": false,
179
+ "inputs": [
180
+ {
181
+ "indexed": true,
182
+ "internalType": "bytes32",
183
+ "name": "role",
184
+ "type": "bytes32"
185
+ },
186
+ {
187
+ "indexed": true,
188
+ "internalType": "address",
189
+ "name": "account",
190
+ "type": "address"
191
+ },
192
+ {
193
+ "indexed": true,
194
+ "internalType": "address",
195
+ "name": "sender",
196
+ "type": "address"
197
+ }
198
+ ],
199
+ "name": "RoleRevoked",
200
+ "type": "event"
201
+ },
202
+ {
203
+ "anonymous": false,
204
+ "inputs": [
205
+ {
206
+ "indexed": false,
207
+ "internalType": "address",
208
+ "name": "account",
209
+ "type": "address"
210
+ }
211
+ ],
212
+ "name": "Unpaused",
213
+ "type": "event"
214
+ },
215
+ {
216
+ "anonymous": false,
217
+ "inputs": [
218
+ {
219
+ "indexed": true,
220
+ "internalType": "address",
221
+ "name": "implementation",
222
+ "type": "address"
223
+ }
224
+ ],
225
+ "name": "Upgraded",
226
+ "type": "event"
227
+ },
228
+ {
229
+ "inputs": [],
230
+ "name": "CUSTOMER_ROLE",
231
+ "outputs": [
232
+ {
233
+ "internalType": "bytes32",
234
+ "name": "",
235
+ "type": "bytes32"
236
+ }
237
+ ],
238
+ "stateMutability": "view",
239
+ "type": "function"
240
+ },
241
+ {
242
+ "inputs": [],
243
+ "name": "DEFAULT_ADMIN_ROLE",
244
+ "outputs": [
245
+ {
246
+ "internalType": "bytes32",
247
+ "name": "",
248
+ "type": "bytes32"
249
+ }
250
+ ],
251
+ "stateMutability": "view",
252
+ "type": "function"
253
+ },
254
+ {
255
+ "inputs": [],
256
+ "name": "GUARDIAN_ROLE",
257
+ "outputs": [
258
+ {
259
+ "internalType": "bytes32",
260
+ "name": "",
261
+ "type": "bytes32"
262
+ }
263
+ ],
264
+ "stateMutability": "view",
265
+ "type": "function"
266
+ },
267
+ {
268
+ "inputs": [],
269
+ "name": "LEVEL1_ROLE",
270
+ "outputs": [
271
+ {
272
+ "internalType": "bytes32",
273
+ "name": "",
274
+ "type": "bytes32"
275
+ }
276
+ ],
277
+ "stateMutability": "view",
278
+ "type": "function"
279
+ },
280
+ {
281
+ "inputs": [],
282
+ "name": "LEVEL2_ROLE",
283
+ "outputs": [
284
+ {
285
+ "internalType": "bytes32",
286
+ "name": "",
287
+ "type": "bytes32"
288
+ }
289
+ ],
290
+ "stateMutability": "view",
291
+ "type": "function"
292
+ },
293
+ {
294
+ "inputs": [],
295
+ "name": "LEVEL3_ROLE",
296
+ "outputs": [
297
+ {
298
+ "internalType": "bytes32",
299
+ "name": "",
300
+ "type": "bytes32"
301
+ }
302
+ ],
303
+ "stateMutability": "view",
304
+ "type": "function"
305
+ },
306
+ {
307
+ "inputs": [],
308
+ "name": "PRICER_ROLE",
309
+ "outputs": [
310
+ {
311
+ "internalType": "bytes32",
312
+ "name": "",
313
+ "type": "bytes32"
314
+ }
315
+ ],
316
+ "stateMutability": "view",
317
+ "type": "function"
318
+ },
319
+ {
320
+ "inputs": [],
321
+ "name": "PRICE_SLOTS",
322
+ "outputs": [
323
+ {
324
+ "internalType": "uint8",
325
+ "name": "",
326
+ "type": "uint8"
327
+ }
328
+ ],
329
+ "stateMutability": "view",
330
+ "type": "function"
331
+ },
332
+ {
333
+ "inputs": [],
334
+ "name": "RM_PROVIDER_ROLE",
335
+ "outputs": [
336
+ {
337
+ "internalType": "bytes32",
338
+ "name": "",
339
+ "type": "bytes32"
340
+ }
341
+ ],
342
+ "stateMutability": "view",
343
+ "type": "function"
344
+ },
345
+ {
346
+ "inputs": [],
347
+ "name": "TWEAK_EXPIRATION",
348
+ "outputs": [
349
+ {
350
+ "internalType": "uint40",
351
+ "name": "",
352
+ "type": "uint40"
353
+ }
354
+ ],
355
+ "stateMutability": "view",
356
+ "type": "function"
357
+ },
358
+ {
359
+ "inputs": [],
360
+ "name": "asset",
361
+ "outputs": [
362
+ {
363
+ "internalType": "contract IERC20Metadata",
364
+ "name": "",
365
+ "type": "address"
366
+ }
367
+ ],
368
+ "stateMutability": "view",
369
+ "type": "function"
370
+ },
371
+ {
372
+ "inputs": [],
373
+ "name": "currency",
374
+ "outputs": [
375
+ {
376
+ "internalType": "contract IERC20Metadata",
377
+ "name": "",
378
+ "type": "address"
379
+ }
380
+ ],
381
+ "stateMutability": "view",
382
+ "type": "function"
383
+ },
384
+ {
385
+ "inputs": [],
386
+ "name": "ensuroFee",
387
+ "outputs": [
388
+ {
389
+ "internalType": "uint256",
390
+ "name": "",
391
+ "type": "uint256"
392
+ }
393
+ ],
394
+ "stateMutability": "view",
395
+ "type": "function"
396
+ },
397
+ {
398
+ "inputs": [
399
+ {
400
+ "internalType": "int40",
401
+ "name": "duration",
402
+ "type": "int40"
403
+ }
404
+ ],
405
+ "name": "getCDF",
406
+ "outputs": [
407
+ {
408
+ "internalType": "uint256[30]",
409
+ "name": "",
410
+ "type": "uint256[30]"
411
+ }
412
+ ],
413
+ "stateMutability": "view",
414
+ "type": "function"
415
+ },
416
+ {
417
+ "inputs": [
418
+ {
419
+ "internalType": "uint256",
420
+ "name": "payout",
421
+ "type": "uint256"
422
+ },
423
+ {
424
+ "internalType": "uint256",
425
+ "name": "lossProb",
426
+ "type": "uint256"
427
+ },
428
+ {
429
+ "internalType": "uint40",
430
+ "name": "expiration",
431
+ "type": "uint40"
432
+ }
433
+ ],
434
+ "name": "getMinimumPremium",
435
+ "outputs": [
436
+ {
437
+ "internalType": "uint256",
438
+ "name": "",
439
+ "type": "uint256"
440
+ }
441
+ ],
442
+ "stateMutability": "view",
443
+ "type": "function"
444
+ },
445
+ {
446
+ "inputs": [
447
+ {
448
+ "internalType": "bytes32",
449
+ "name": "role",
450
+ "type": "bytes32"
451
+ }
452
+ ],
453
+ "name": "getRoleAdmin",
454
+ "outputs": [
455
+ {
456
+ "internalType": "bytes32",
457
+ "name": "",
458
+ "type": "bytes32"
459
+ }
460
+ ],
461
+ "stateMutability": "view",
462
+ "type": "function"
463
+ },
464
+ {
465
+ "inputs": [
466
+ {
467
+ "internalType": "bytes32",
468
+ "name": "role",
469
+ "type": "bytes32"
470
+ },
471
+ {
472
+ "internalType": "address",
473
+ "name": "account",
474
+ "type": "address"
475
+ }
476
+ ],
477
+ "name": "grantRole",
478
+ "outputs": [],
479
+ "stateMutability": "nonpayable",
480
+ "type": "function"
481
+ },
482
+ {
483
+ "inputs": [
484
+ {
485
+ "internalType": "bytes32",
486
+ "name": "role",
487
+ "type": "bytes32"
488
+ },
489
+ {
490
+ "internalType": "address",
491
+ "name": "account",
492
+ "type": "address"
493
+ }
494
+ ],
495
+ "name": "hasRole",
496
+ "outputs": [
497
+ {
498
+ "internalType": "bool",
499
+ "name": "",
500
+ "type": "bool"
501
+ }
502
+ ],
503
+ "stateMutability": "view",
504
+ "type": "function"
505
+ },
506
+ {
507
+ "inputs": [
508
+ {
509
+ "internalType": "string",
510
+ "name": "name_",
511
+ "type": "string"
512
+ },
513
+ {
514
+ "internalType": "uint256",
515
+ "name": "scrPercentage_",
516
+ "type": "uint256"
517
+ },
518
+ {
519
+ "internalType": "uint256",
520
+ "name": "ensuroFee_",
521
+ "type": "uint256"
522
+ },
523
+ {
524
+ "internalType": "uint256",
525
+ "name": "scrInterestRate_",
526
+ "type": "uint256"
527
+ },
528
+ {
529
+ "internalType": "uint256",
530
+ "name": "maxScrPerPolicy_",
531
+ "type": "uint256"
532
+ },
533
+ {
534
+ "internalType": "uint256",
535
+ "name": "scrLimit_",
536
+ "type": "uint256"
537
+ },
538
+ {
539
+ "internalType": "address",
540
+ "name": "wallet_",
541
+ "type": "address"
542
+ }
543
+ ],
544
+ "name": "initialize",
545
+ "outputs": [],
546
+ "stateMutability": "nonpayable",
547
+ "type": "function"
548
+ },
549
+ {
550
+ "inputs": [],
551
+ "name": "lastTweak",
552
+ "outputs": [
553
+ {
554
+ "internalType": "uint40",
555
+ "name": "",
556
+ "type": "uint40"
557
+ },
558
+ {
559
+ "internalType": "uint56",
560
+ "name": "",
561
+ "type": "uint56"
562
+ }
563
+ ],
564
+ "stateMutability": "view",
565
+ "type": "function"
566
+ },
567
+ {
568
+ "inputs": [],
569
+ "name": "maxScrPerPolicy",
570
+ "outputs": [
571
+ {
572
+ "internalType": "uint256",
573
+ "name": "",
574
+ "type": "uint256"
575
+ }
576
+ ],
577
+ "stateMutability": "view",
578
+ "type": "function"
579
+ },
580
+ {
581
+ "inputs": [],
582
+ "name": "moc",
583
+ "outputs": [
584
+ {
585
+ "internalType": "uint256",
586
+ "name": "",
587
+ "type": "uint256"
588
+ }
589
+ ],
590
+ "stateMutability": "view",
591
+ "type": "function"
592
+ },
593
+ {
594
+ "inputs": [],
595
+ "name": "name",
596
+ "outputs": [
597
+ {
598
+ "internalType": "string",
599
+ "name": "",
600
+ "type": "string"
601
+ }
602
+ ],
603
+ "stateMutability": "view",
604
+ "type": "function"
605
+ },
606
+ {
607
+ "inputs": [
608
+ {
609
+ "internalType": "uint256",
610
+ "name": "triggerPrice",
611
+ "type": "uint256"
612
+ },
613
+ {
614
+ "internalType": "bool",
615
+ "name": "lower",
616
+ "type": "bool"
617
+ },
618
+ {
619
+ "internalType": "uint256",
620
+ "name": "payout",
621
+ "type": "uint256"
622
+ },
623
+ {
624
+ "internalType": "uint40",
625
+ "name": "expiration",
626
+ "type": "uint40"
627
+ }
628
+ ],
629
+ "name": "newPolicy",
630
+ "outputs": [
631
+ {
632
+ "internalType": "uint256",
633
+ "name": "",
634
+ "type": "uint256"
635
+ }
636
+ ],
637
+ "stateMutability": "nonpayable",
638
+ "type": "function"
639
+ },
640
+ {
641
+ "inputs": [],
642
+ "name": "pause",
643
+ "outputs": [],
644
+ "stateMutability": "nonpayable",
645
+ "type": "function"
646
+ },
647
+ {
648
+ "inputs": [],
649
+ "name": "paused",
650
+ "outputs": [
651
+ {
652
+ "internalType": "bool",
653
+ "name": "",
654
+ "type": "bool"
655
+ }
656
+ ],
657
+ "stateMutability": "view",
658
+ "type": "function"
659
+ },
660
+ {
661
+ "inputs": [],
662
+ "name": "policyPool",
663
+ "outputs": [
664
+ {
665
+ "internalType": "contract IPolicyPool",
666
+ "name": "",
667
+ "type": "address"
668
+ }
669
+ ],
670
+ "stateMutability": "view",
671
+ "type": "function"
672
+ },
673
+ {
674
+ "inputs": [
675
+ {
676
+ "internalType": "uint256",
677
+ "name": "triggerPrice",
678
+ "type": "uint256"
679
+ },
680
+ {
681
+ "internalType": "bool",
682
+ "name": "lower",
683
+ "type": "bool"
684
+ },
685
+ {
686
+ "internalType": "uint256",
687
+ "name": "payout",
688
+ "type": "uint256"
689
+ },
690
+ {
691
+ "internalType": "uint40",
692
+ "name": "expiration",
693
+ "type": "uint40"
694
+ }
695
+ ],
696
+ "name": "pricePolicy",
697
+ "outputs": [
698
+ {
699
+ "internalType": "uint256",
700
+ "name": "premium",
701
+ "type": "uint256"
702
+ },
703
+ {
704
+ "internalType": "uint256",
705
+ "name": "lossProb",
706
+ "type": "uint256"
707
+ }
708
+ ],
709
+ "stateMutability": "view",
710
+ "type": "function"
711
+ },
712
+ {
713
+ "inputs": [],
714
+ "name": "proxiableUUID",
715
+ "outputs": [
716
+ {
717
+ "internalType": "bytes32",
718
+ "name": "",
719
+ "type": "bytes32"
720
+ }
721
+ ],
722
+ "stateMutability": "view",
723
+ "type": "function"
724
+ },
725
+ {
726
+ "inputs": [],
727
+ "name": "referenceCurrency",
728
+ "outputs": [
729
+ {
730
+ "internalType": "contract IERC20Metadata",
731
+ "name": "",
732
+ "type": "address"
733
+ }
734
+ ],
735
+ "stateMutability": "view",
736
+ "type": "function"
737
+ },
738
+ {
739
+ "inputs": [
740
+ {
741
+ "internalType": "uint256",
742
+ "name": "scrAmount",
743
+ "type": "uint256"
744
+ }
745
+ ],
746
+ "name": "releaseScr",
747
+ "outputs": [],
748
+ "stateMutability": "nonpayable",
749
+ "type": "function"
750
+ },
751
+ {
752
+ "inputs": [
753
+ {
754
+ "internalType": "bytes32",
755
+ "name": "role",
756
+ "type": "bytes32"
757
+ },
758
+ {
759
+ "internalType": "address",
760
+ "name": "account",
761
+ "type": "address"
762
+ }
763
+ ],
764
+ "name": "renounceRole",
765
+ "outputs": [],
766
+ "stateMutability": "nonpayable",
767
+ "type": "function"
768
+ },
769
+ {
770
+ "inputs": [
771
+ {
772
+ "internalType": "bytes32",
773
+ "name": "role",
774
+ "type": "bytes32"
775
+ },
776
+ {
777
+ "internalType": "address",
778
+ "name": "account",
779
+ "type": "address"
780
+ }
781
+ ],
782
+ "name": "revokeRole",
783
+ "outputs": [],
784
+ "stateMutability": "nonpayable",
785
+ "type": "function"
786
+ },
787
+ {
788
+ "inputs": [],
789
+ "name": "scrInterestRate",
790
+ "outputs": [
791
+ {
792
+ "internalType": "uint256",
793
+ "name": "",
794
+ "type": "uint256"
795
+ }
796
+ ],
797
+ "stateMutability": "view",
798
+ "type": "function"
799
+ },
800
+ {
801
+ "inputs": [],
802
+ "name": "scrLimit",
803
+ "outputs": [
804
+ {
805
+ "internalType": "uint256",
806
+ "name": "",
807
+ "type": "uint256"
808
+ }
809
+ ],
810
+ "stateMutability": "view",
811
+ "type": "function"
812
+ },
813
+ {
814
+ "inputs": [],
815
+ "name": "scrPercentage",
816
+ "outputs": [
817
+ {
818
+ "internalType": "uint256",
819
+ "name": "",
820
+ "type": "uint256"
821
+ }
822
+ ],
823
+ "stateMutability": "view",
824
+ "type": "function"
825
+ },
826
+ {
827
+ "inputs": [
828
+ {
829
+ "internalType": "int40",
830
+ "name": "duration",
831
+ "type": "int40"
832
+ },
833
+ {
834
+ "internalType": "uint256[30]",
835
+ "name": "cdf",
836
+ "type": "uint256[30]"
837
+ }
838
+ ],
839
+ "name": "setCDF",
840
+ "outputs": [],
841
+ "stateMutability": "nonpayable",
842
+ "type": "function"
843
+ },
844
+ {
845
+ "inputs": [
846
+ {
847
+ "internalType": "uint256",
848
+ "name": "newEnsuroFee",
849
+ "type": "uint256"
850
+ }
851
+ ],
852
+ "name": "setEnsuroFee",
853
+ "outputs": [],
854
+ "stateMutability": "nonpayable",
855
+ "type": "function"
856
+ },
857
+ {
858
+ "inputs": [
859
+ {
860
+ "internalType": "uint256",
861
+ "name": "newMaxScrPerPolicy",
862
+ "type": "uint256"
863
+ }
864
+ ],
865
+ "name": "setMaxScrPerPolicy",
866
+ "outputs": [],
867
+ "stateMutability": "nonpayable",
868
+ "type": "function"
869
+ },
870
+ {
871
+ "inputs": [
872
+ {
873
+ "internalType": "uint256",
874
+ "name": "newMoc",
875
+ "type": "uint256"
876
+ }
877
+ ],
878
+ "name": "setMoc",
879
+ "outputs": [],
880
+ "stateMutability": "nonpayable",
881
+ "type": "function"
882
+ },
883
+ {
884
+ "inputs": [
885
+ {
886
+ "internalType": "uint256",
887
+ "name": "newScrInterestRate",
888
+ "type": "uint256"
889
+ }
890
+ ],
891
+ "name": "setScrInterestRate",
892
+ "outputs": [],
893
+ "stateMutability": "nonpayable",
894
+ "type": "function"
895
+ },
896
+ {
897
+ "inputs": [
898
+ {
899
+ "internalType": "uint256",
900
+ "name": "newScrLimit",
901
+ "type": "uint256"
902
+ }
903
+ ],
904
+ "name": "setScrLimit",
905
+ "outputs": [],
906
+ "stateMutability": "nonpayable",
907
+ "type": "function"
908
+ },
909
+ {
910
+ "inputs": [
911
+ {
912
+ "internalType": "uint256",
913
+ "name": "newScrPercentage",
914
+ "type": "uint256"
915
+ }
916
+ ],
917
+ "name": "setScrPercentage",
918
+ "outputs": [],
919
+ "stateMutability": "nonpayable",
920
+ "type": "function"
921
+ },
922
+ {
923
+ "inputs": [
924
+ {
925
+ "internalType": "address",
926
+ "name": "wallet_",
927
+ "type": "address"
928
+ }
929
+ ],
930
+ "name": "setWallet",
931
+ "outputs": [],
932
+ "stateMutability": "nonpayable",
933
+ "type": "function"
934
+ },
935
+ {
936
+ "inputs": [
937
+ {
938
+ "internalType": "bytes4",
939
+ "name": "interfaceId",
940
+ "type": "bytes4"
941
+ }
942
+ ],
943
+ "name": "supportsInterface",
944
+ "outputs": [
945
+ {
946
+ "internalType": "bool",
947
+ "name": "",
948
+ "type": "bool"
949
+ }
950
+ ],
951
+ "stateMutability": "view",
952
+ "type": "function"
953
+ },
954
+ {
955
+ "inputs": [],
956
+ "name": "totalScr",
957
+ "outputs": [
958
+ {
959
+ "internalType": "uint256",
960
+ "name": "",
961
+ "type": "uint256"
962
+ }
963
+ ],
964
+ "stateMutability": "view",
965
+ "type": "function"
966
+ },
967
+ {
968
+ "inputs": [
969
+ {
970
+ "internalType": "uint256",
971
+ "name": "policyId",
972
+ "type": "uint256"
973
+ }
974
+ ],
975
+ "name": "triggerPolicy",
976
+ "outputs": [],
977
+ "stateMutability": "nonpayable",
978
+ "type": "function"
979
+ },
980
+ {
981
+ "inputs": [],
982
+ "name": "unpause",
983
+ "outputs": [],
984
+ "stateMutability": "nonpayable",
985
+ "type": "function"
986
+ },
987
+ {
988
+ "inputs": [
989
+ {
990
+ "internalType": "address",
991
+ "name": "newImplementation",
992
+ "type": "address"
993
+ }
994
+ ],
995
+ "name": "upgradeTo",
996
+ "outputs": [],
997
+ "stateMutability": "nonpayable",
998
+ "type": "function"
999
+ },
1000
+ {
1001
+ "inputs": [
1002
+ {
1003
+ "internalType": "address",
1004
+ "name": "newImplementation",
1005
+ "type": "address"
1006
+ },
1007
+ {
1008
+ "internalType": "bytes",
1009
+ "name": "data",
1010
+ "type": "bytes"
1011
+ }
1012
+ ],
1013
+ "name": "upgradeToAndCall",
1014
+ "outputs": [],
1015
+ "stateMutability": "payable",
1016
+ "type": "function"
1017
+ },
1018
+ {
1019
+ "inputs": [],
1020
+ "name": "wallet",
1021
+ "outputs": [
1022
+ {
1023
+ "internalType": "address",
1024
+ "name": "",
1025
+ "type": "address"
1026
+ }
1027
+ ],
1028
+ "stateMutability": "view",
1029
+ "type": "function"
1030
+ }
1031
+ ],
1032
+ "bytecode": "0x6101206040523060601b6080523480156200001957600080fd5b5060405162005771380380620057718339810160408190526200003c9162000067565b6001600160601b0319606094851b811660a05292841b831660c052921b1660e05261010052620000da565b600080600080608085870312156200007e57600080fd5b84516200008b81620000c1565b60208601519094506200009e81620000c1565b6040860151909350620000b181620000c1565b6060959095015193969295505050565b6001600160a01b0381168114620000d757600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c61010051615590620001e1600039600061391801526000818161042501528181612ca501526138020152600081816104ec01528181612c840152612cc60152600081816105a701528181610ab901528181610c85015281816110ff0152818161118b015281816116eb015281816118ff01528181611a7301528181611c5401528181611ec701528181611f7b0152818161215c01528181612341015281816125310152818161290c01528181612b750152818161308901528181613137015261332b015260008181610edd01528181610f1d0152818161128c015281816112cc015261135b01526155906000f3fe6080604052600436106102e45760003560e01c80636f0dbe6f11610190578063ca996de3116100dc578063e42569d911610095578063f33323a41161006f578063f33323a41461092c578063f48d63ad1461094c578063f67b2bad14610979578063fbb812791461099b57600080fd5b8063e42569d9146108d0578063e5a6b10f146108f7578063e61735c01461090c57600080fd5b8063ca996de314610824578063d44499a81461083a578063d547741f14610850578063dab5d88d14610870578063deaa59df14610890578063e101a345146108b057600080fd5b80639cbbcd9211610149578063a5f8b2d611610123578063a5f8b2d614610785578063a9a24f27146107ba578063b9ea870a146107ee578063bf8e934d1461080e57600080fd5b80639cbbcd921461073a5780639d90724d1461075a578063a217fddf1461077057600080fd5b80636f0dbe6f14610678578063775ead48146106985780637ed5acfa146106b85780638456cb59146106e55780638bac3a24146106fa57806391d148541461071a57600080fd5b806338d52e0f1161024f5780634f1ef2861161020857806353428253116101e257806353428253146106125780635b494dd5146106285780635c975abb1461064a5780635d505fe71461066257600080fd5b80634f1ef286146105cb578063521eb273146105de57806352d1902d146105fd57600080fd5b806338d52e0f146104dd5780633f4ba83a1461051057806341ea6a0f14610525578063468a8c9f1461053b5780634a47a3e0146105765780634d15eb031461059857600080fd5b806324ea54f4116102a157806324ea54f4146103f45780632c7a69fe146104165780632f2ff15d1461045d57806336568abe1461047d5780633659cfe61461049d578063377e1cc9146104bd57600080fd5b806301ffc9a7146102e957806306fdde031461031e578063089a850414610340578063204d79231461036257806322875d63146103a4578063248a9ca3146103c4575b600080fd5b3480156102f557600080fd5b50610309610304366004614b2f565b6109cf565b60405190151581526020015b60405180910390f35b34801561032a57600080fd5b50610333610a06565b6040516103159190614de6565b34801561034c57600080fd5b5061036061035b366004614acd565b610a99565b005b34801561036e57600080fd5b506103967f288a15c4a15d470e4cd9cad2f113b91206b520c26dbd3dd74627f0c057baa19c81565b604051908152602001610315565b3480156103b057600080fd5b506103606103bf366004614acd565b610c65565b3480156103d057600080fd5b506103966103df366004614acd565b600090815260c9602052604090206001015490565b34801561040057600080fd5b5061039660008051602061553b83398151915281565b34801561042257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610315565b34801561046957600080fd5b50610360610478366004614aff565b610e29565b34801561048957600080fd5b50610360610498366004614aff565b610e54565b3480156104a957600080fd5b506103606104b8366004614a2f565b610ed2565b3480156104c957600080fd5b506103606104d8366004614acd565b610fb2565b3480156104e957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610445565b34801561051c57600080fd5b5061036061116b565b34801561053157600080fd5b5061013454610396565b34801561054757600080fd5b5061012d546040805164ffffffffff83168152600160281b90920466ffffffffffffff16602083015201610315565b34801561058257600080fd5b5061039660008051602061551b83398151915281565b3480156105a457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610445565b6103606105d9366004614a4c565b611281565b3480156105ea57600080fd5b50610136546001600160a01b0316610445565b34801561060957600080fd5b5061039661134e565b34801561061e57600080fd5b5061013054610396565b34801561063457600080fd5b506103966000805160206154d483398151915281565b34801561065657600080fd5b5060fb5460ff16610309565b34801561066e57600080fd5b5061013354610396565b34801561068457600080fd5b50610360610693366004614bce565b611401565b3480156106a457600080fd5b506103966106b3366004614c64565b61149d565b3480156106c457600080fd5b506106cf6201518081565b60405164ffffffffff9091168152602001610315565b3480156106f157600080fd5b506103606116da565b34801561070657600080fd5b50610396610715366004614cac565b6117e2565b34801561072657600080fd5b50610309610735366004614aff565b6118d1565b34801561074657600080fd5b50610360610755366004614acd565b6118fc565b34801561076657600080fd5b5061013254610396565b34801561077c57600080fd5b50610396600081565b34801561079157600080fd5b506107a56107a0366004614c64565b611999565b60408051928352602083019190915201610315565b3480156107c657600080fd5b506103967f0df0a8869cf58168a14cd7ac426ff1b8c6ff5d5c800c6f44803f3431dcb3bad181565b3480156107fa57600080fd5b50610360610809366004614acd565b611a53565b34801561081a57600080fd5b5061012f54610396565b34801561083057600080fd5b5061013554610396565b34801561084657600080fd5b5061013154610396565b34801561085c57600080fd5b5061036061086b366004614aff565b611c0e565b34801561087c57600080fd5b5061036061088b366004614acd565b611c34565b34801561089c57600080fd5b506103606108ab366004614a2f565b611dfb565b3480156108bc57600080fd5b506103606108cb366004614b91565b611e53565b3480156108dc57600080fd5b506108e5601e81565b60405160ff9091168152602001610315565b34801561090357600080fd5b50610445611ec3565b34801561091857600080fd5b50610360610927366004614acd565b611f5b565b34801561093857600080fd5b50610360610947366004614acd565b612120565b34801561095857600080fd5b5061096c610967366004614b76565b6124dc565b6040516103159190614d95565b34801561098557600080fd5b506103966000805160206154b483398151915281565b3480156109a757600080fd5b506103967fc6823861ee2bb2198ce6b1fd6faf4c8f44f745bc804aca4a762f67e0d507fd8a81565b60006001600160e01b03198216637965db0b60e01b1480610a0057506301ffc9a760e01b6001600160e01b03198316145b92915050565b606061012e8054610a16906153c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a42906153c7565b8015610a8f5780601f10610a6457610100808354040283529160200191610a8f565b820191906000526020600020905b815481529060010190602001808311610a7257829003601f168201915b5050505050905090565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1057600080fd5b505afa158015610b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b489190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401610b7793929190614dc7565b60006040518083038186803b158015610b8f57600080fd5b505afa158015610ba3573d6000803e3d6000fd5b505050506000610bc060008051602061551b83398151915261252d565b159050801580610be45750610be461013154856af8277896582678ac000000612640565b610c4d5760405162461bcd60e51b815260206004820152602f60248201527f547765616b2065786365656465643a20656e7375726f46656520747765616b7360448201526e206f6e6c7920757020746f2033302560881b60648201526084015b60405180910390fd5b610131849055610c5f600a85836126cb565b50505050565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cdc57600080fd5b505afa158015610cf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d149190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401610d4393929190614dc7565b60006040518083038186803b158015610d5b57600080fd5b505afa158015610d6f573d6000803e3d6000fd5b505050506000610d8c60008051602061551b83398151915261252d565b159050801580610dad5750610dad6101335485670429d069189e000061272c565b610e175760405162461bcd60e51b815260206004820152603560248201527f547765616b2065786365656465643a206d6178536372506572506f6c69637920604482015274747765616b73206f6e6c7920757020746f2033302560581b6064820152608401610c44565b610133849055610c5f600b85836126cb565b600082815260c96020526040902060010154610e45813361279b565b610e4f83836127ff565b505050565b6001600160a01b0381163314610ec45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610c44565b610ece8282612885565b5050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610f1b5760405162461bcd60e51b8152600401610c4490614e19565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f64600080516020615494833981519152546001600160a01b031690565b6001600160a01b031614610f8a5760405162461bcd60e51b8152600401610c4490614e65565b610f93816128ec565b60408051600080825260208201909252610faf918391906129f6565b50565b60fb5460ff1615610fd55760405162461bcd60e51b8152600401610c4490614eb1565b60008181526101376020526040812090610fed612b70565b600b83015490915060ff161580611008575081600a01548111155b61106a5760405162461bcd60e51b815260206004820152602d60248201527f436f6e646974696f6e206e6f74206d65742043757272656e745072696365203e60448201526c2074726967676572507269636560981b6064820152608401610c44565b600b82015460ff1680611081575081600a01548110155b6110e35760405162461bcd60e51b815260206004820152602d60248201527f436f6e646974696f6e206e6f74206d65742043757272656e745072696365203c60448201526c2074726967676572507269636560981b6064820152608401610c44565b6001820154604051639e556b2b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691639e556b2b9161113491869160040161503f565b600060405180830381600087803b15801561114e57600080fd5b505af1158015611162573d6000803e3d6000fd5b50505050505050565b60008051602061553b8339815191526000805160206154b48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156111e257600080fd5b505afa1580156111f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121a9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b815260040161124993929190614dc7565b60006040518083038186803b15801561126157600080fd5b505afa158015611275573d6000803e3d6000fd5b50505050610ece612e2f565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156112ca5760405162461bcd60e51b8152600401610c4490614e19565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611313600080516020615494833981519152546001600160a01b031690565b6001600160a01b0316146113395760405162461bcd60e51b8152600401610c4490614e65565b611342826128ec565b610ece828260016129f6565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113ee5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610c44565b5060008051602061549483398151915290565b600054610100900460ff1661141c5760005460ff1615611420565b303b155b61143c5760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff1615801561145e576000805461ffff19166101011790555b61146d88888888888888612ec2565b61013980546001600160601b03191660011790558015611493576000805461ff00191690555b5050505050505050565b60008060006114ae87878787611999565b915091506000821161151b5760405162461bcd60e51b815260206004820152603060248201527f456974686572206475726174696f6e206f722070657263656e74616765206a7560448201526f1b5c081b9bdd081cdd5c1c1bdc9d195960821b6064820152608401610c44565b61013954600090611538906001600160601b03163060601b6150eb565b6000818152610137602052604090206101395491925090339061156d908990879087908b9086906001600160601b0316612f59565b80518355602081015160018085019190915560408201516002850155606082015160038501556080820151600485015560a0820151600585015560c0820151600685015560e082015160078501556101008201516008850155610120820151600985018054610140850151610160909501516001600160a01b039093166001600160c81b031990911617600160a01b64ffffffffff958616021764ffffffffff60c81b1916600160c81b949092169390930217909155610139805460009061163f9084906001600160601b031661512c565b82546101009290920a6001600160601b0381810219909316919092169190910217905550600a82018a9055600b8201805460ff19168a151590811790915560408051858152602081018d9052908101919091526001600160a01b038216907fac60a84d926e5f83b9718922af7ef1285ea8a8516516c4981ed3297d2e89ae0b9060600160405180910390a2509093505050505b949350505050565b60008051602061553b8339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561174257600080fd5b505afa158015611756573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177a9190614b59565b6040516312d9a6ad60e01b8152600481018390523360248201526001600160a01b0391909116906312d9a6ad9060440160006040518083038186803b1580156117c257600080fd5b505afa1580156117d6573d6000803e3d6000fd5b50505050610faf6133c4565b60008061181361180e6117ff6117f86101305490565b879061341c565b611808886134f3565b9061341c565b613571565b905060008161182f61182861180e61012f5490565b88906135f1565b6118399190615324565b9050600061187961180e6e0612d847b578e7643c28ac000000006118644264ffffffffff8a16615324565b610132545b6118739190615305565b906136a4565b9050600061188783836135f1565b905060006118ab61189b61180e6101315490565b6118a584886150eb565b906135f1565b9050816118b882876150eb565b6118c291906150eb565b955050505050505b9392505050565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461197e5760405162461bcd60e51b815260206004820152602160248201527f5468652063616c6c6572206d7573742062652074686520506f6c696379506f6f6044820152601b60fa1b6064820152608401610c44565b8061013560008282546119919190615324565b909155505050565b60008060006119a6612b70565b90508580156119b457508681115b806119c75750851580156119c757508681105b611a135760405162461bcd60e51b815260206004820152601e60248201527f507269636520616c726561647920617420747269676765722076616c756500006044820152606401610c44565b611a278188611a22428861533b565b6137aa565b915081611a3b576000809250925050611a4a565b611a468583866117e2565b9250505b94509492505050565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015611aca57600080fd5b505afa158015611ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b029190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401611b3193929190614dc7565b60006040518083038186803b158015611b4957600080fd5b505afa158015611b5d573d6000803e3d6000fd5b505050506000611b7a60008051602061551b83398151915261252d565b159050801580611b9e5750611b9e61013054856a52b7d2dcc80cd2e4000000612640565b611bfc5760405162461bcd60e51b815260206004820152602960248201527f547765616b2065786365656465643a206d6f6320747765616b73206f6e6c7920604482015268757020746f2031302560b81b6064820152608401610c44565b610130849055610c5f600885836126cb565b600082815260c96020526040902060010154611c2a813361279b565b610e4f8383612885565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015611cab57600080fd5b505afa158015611cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce39190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401611d1293929190614dc7565b60006040518083038186803b158015611d2a57600080fd5b505afa158015611d3e573d6000803e3d6000fd5b505050506000611d5b60008051602061551b83398151915261252d565b159050801580611d7f5750611d7f61013254856af8277896582678ac000000612640565b611de95760405162461bcd60e51b815260206004820152603560248201527f547765616b2065786365656465643a20736372496e7465726573745261746520604482015274747765616b73206f6e6c7920757020746f2033302560581b6064820152608401610c44565b610132849055610c5f600985836126cb565b7f0df0a8869cf58168a14cd7ac426ff1b8c6ff5d5c800c6f44803f3431dcb3bad1611e26813361279b565b61013680546001600160a01b0319166001600160a01b038416908117909155610ece90600f9060006126cb565b7fc6823861ee2bb2198ce6b1fd6faf4c8f44f745bc804aca4a762f67e0d507fd8a611e7e813361279b565b60fb5460ff1615611ea15760405162461bcd60e51b8152600401610c4490614eb1565b600483810b900b600090815261013860205260409020610c5f9083601e614834565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f1e57600080fd5b505afa158015611f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f569190614b59565b905090565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015611fd257600080fd5b505afa158015611fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200a9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b815260040161203993929190614dc7565b60006040518083038186803b15801561205157600080fd5b505afa158015612065573d6000803e3d6000fd5b50505050600061208260008051602061551b83398151915261252d565b1590508015806120a657506120a661012f54856a52b7d2dcc80cd2e4000000612640565b61210e5760405162461bcd60e51b815260206004820152603360248201527f547765616b2065786365656465643a2073637250657263656e7461676520747760448201527265616b73206f6e6c7920757020746f2031302560681b6064820152608401610c44565b61012f849055610c5f600785836126cb565b6000805160206154b483398151915260008051602061551b8339815191526000805160206154d48339815191526121568361252d565b61224b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156121b357600080fd5b505afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b815260040161221a93929190614dc7565b60006040518083038186803b15801561223257600080fd5b505afa158015612246573d6000803e3d6000fd5b505050505b600061226460008051602061551b83398151915261252d565b15801561228557506122836000805160206154b483398151915261252d565b155b90508015806122a557506122a5610134548667016345785d8a000061272c565b6123085760405162461bcd60e51b815260206004820152602e60248201527f547765616b2065786365656465643a207363724c696d697420747765616b732060448201526d6f6e6c7920757020746f2031302560901b6064820152608401610c44565b610134548511158061232c575061232c6000805160206154b483398151915261252d565b806123d25750846123d067016345785d8a00007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b77ddfea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561239857600080fd5b505afa1580156123ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a59190614ae6565b115b6124595760405162461bcd60e51b815260206004820152604c60248201527f547765616b2065786365656465643a20496e6372656173652c203e3d3130252060448201527f6f662074686520746f74616c206c69717569646974792c20726571756972657360648201526b204c4556454c315f524f4c4560a01b608482015260a401610c44565b610135548510156124c35760405162461bcd60e51b815260206004820152602e60248201527f43616e27742073657420534352206c657373207468616e2063757272656e742060448201526d29a1a91030b63637b1b0ba34b7b760911b6064820152608401610c44565b6101348590556124d5600c86836126cb565b5050505050565b6124e4614872565b600482810b900b600090815261013860205260409081902081516103c081019283905291601e9082845b81548152602001906001019080831161250e5750505050509050919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561258857600080fd5b505afa15801561259c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c09190614b59565b604051632474521560e21b8152600481018490523360248201526001600160a01b0391909116906391d148549060440160206040518083038186803b15801561260857600080fd5b505afa15801561261c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a009190614ab0565b600082841415612652575060016118ca565b8361266c5750676765c793fa10079d601b1b8110156118ca565b82612679575060006118ca565b828410156126ab5781676765c793fa10079d601b1b61269885876136a4565b6126a29190615324565b111590506118ca565b816126b684866136a4565b6126a290676765c793fa10079d601b1b615324565b6126d36139a5565b80156126e2576126e283613c73565b82601c8111156126f4576126f461542e565b6040518381527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a2505050565b60008284141561273e575060016118ca565b836127555750670de0b6b3a76400008110156118ca565b82612762575060006118ca565b8284101561277e5781670de0b6b3a76400006126988587613dd6565b816127898486613dd6565b6126a290670de0b6b3a7640000615324565b6127a582826118d1565b610ece576127bd816001600160a01b03166014613ec2565b6127c8836020613ec2565b6040516020016127d9929190614d20565b60408051601f198184030181529082905262461bcd60e51b8252610c4491600401614de6565b61280982826118d1565b610ece57600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556128413390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61288f82826118d1565b15610ece57600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602061553b8339815191526000805160206154b48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561296357600080fd5b505afa158015612977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299b9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b81526004016129ca93929190614dc7565b60006040518083038186803b1580156129e257600080fd5b505afa158015611162573d6000803e3d6000fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612a2957610e4f8361405e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a6257600080fd5b505afa925050508015612a92575060408051601f3d908101601f19168201909252612a8f91810190614ae6565b60015b612af55760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610c44565b6000805160206154948339815191528114612b645760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610c44565b50610e4f8383836140fa565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015612bcc57600080fd5b505afa158015612be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c049190614b59565b6001600160a01b031663d2f7265a6040518163ffffffff1660e01b815260040160206040518083038186803b158015612c3c57600080fd5b505afa158015612c50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c749190614b59565b6001600160a01b031663248391ff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612d1d57600080fd5b505afa158015612d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d559190614ce1565b612d6090600a6151c9565b6040516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482015260640160206040518083038186803b158015612dad57600080fd5b505afa158015612dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de59190614ae6565b905080612e2a5760405162461bcd60e51b81526020600482015260136024820152725072696365206e6f7420617661696c61626c6560681b6044820152606401610c44565b919050565b60fb5460ff16612e785760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610c44565b60fb805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff16612edd5760005460ff1615612ee1565b303b155b612efd5760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff16158015612f1f576000805461ffff19166101011790555b612f2761411f565b612f2f614146565b612f3e888888888888886141c7565b8015611493576000805461ff00191690555050505050505050565b612f61614891565b60fb5460ff1615612f845760405162461bcd60e51b8152600401610c4490614eb1565b868610612fd35760405162461bcd60e51b815260206004820181905260248201527f5072656d69756d206d757374206265206c657373207468616e207061796f75746044820152606401610c44565b4264ffffffffff168464ffffffffff16116130305760405162461bcd60e51b815260206004820181905260248201527f45787069726174696f6e206d75737420626520696e20746865206675747572656044820152606401610c44565b6001600160a01b0383166130865760405162461bcd60e51b815260206004820152601e60248201527f437573746f6d65722063616e2774206265207a65726f206164647265737300006044820152606401610c44565b857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156130e057600080fd5b505afa1580156130f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131189190614b59565b604051636eb1769f60e11b81526001600160a01b0386811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063dd62ed3e9060440160206040518083038186803b15801561318357600080fd5b505afa158015613197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131bb9190614ae6565b101561321f5760405162461bcd60e51b815260206004820152602d60248201527f596f75206d75737420616c6c6f7720454e5355524f20746f207472616e73666560448201526c7220746865207072656d69756d60981b6064820152608401610c44565b600061322e30888a898961429d565b9050610133548160600151111561329f5760405162461bcd60e51b815260206004820152602f60248201527f5269736b4d6f64756c653a20534352206973206d6f7265207468616e206d617860448201526e696d756d2070657220706f6c69637960881b6064820152608401610c44565b806060015161013560008282546132b691906150eb565b9091555050610134546101355411156133115760405162461bcd60e51b815260206004820152601e60248201527f5269736b4d6f64756c653a20534352206c696d697420657863656564656400006044820152606401610c44565b604051630cb8251d60e11b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906319704a3a9061336490859089908990600401614f74565b602060405180830381600087803b15801561337e57600080fd5b505af1158015613392573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133b69190614ae6565b825250979650505050505050565b60fb5460ff16156133e75760405162461bcd60e51b8152600401610c4490614eb1565b60fb805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612ea53390565b6000821580613429575081155b1561343657506000610a00565b8161344d6002676765c793fa10079d601b1b61514e565b61345990600019615324565b613463919061514e565b8311156134be5760405162461bcd60e51b8152602060048201526024808201527f7261794d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b676765c793fa10079d601b1b6134d560028261514e565b6134df8486615305565b6134e991906150eb565b6118ca919061514e565b600080613504633b9aca0084615305565b905082613515633b9aca008361514e565b14610a005760405162461bcd60e51b815260206004820152602660248201527f776164546f5261643a204d617468204d756c7469706c69636174696f6e204f766044820152656572666c6f7760d01b6064820152608401610c44565b6000806135836002633b9aca0061514e565b9050600061359184836150eb565b9050818110156135e35760405162461bcd60e51b815260206004820181905260248201527f726179546f5761643a204d617468204164646974696f6e204f766572666c6f776044820152606401610c44565b6116d2633b9aca008261514e565b60008215806135fe575081155b1561360b57506000610a00565b8161361f6002670de0b6b3a764000061514e565b61362b90600019615324565b613635919061514e565b8311156136905760405162461bcd60e51b8152602060048201526024808201527f7761644d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b670de0b6b3a76400006134d560028261514e565b6000816136f35760405162461bcd60e51b815260206004820152601860248201527f7261794469763a204469766973696f6e206279207a65726f00000000000000006044820152606401610c44565b600061370060028461514e565b9050676765c793fa10079d601b1b61371a82600019615324565b613724919061514e565b84111561377f5760405162461bcd60e51b8152602060048201526024808201527f7261794469763a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b8281613796676765c793fa10079d601b1b87615305565b6137a091906150eb565b6116d2919061514e565b60008061013860008587116137c1576000196137c4565b60015b610e106137d387610708615103565b6137dd9190615162565b6137e79190615274565b60040b60040b815260200190815260200160002090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561385957600080fd5b505afa15801561386d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138919190614ce1565b61389c906012615361565b6138a790600a6151c9565b9050858711156138e7576138ce6138be8289615305565b6138c88389615305565b90613dd6565b6138e090670de0b6b3a7640000615324565b9150613914565b670de0b6b3a76400006139076138fd838a615305565b6138c8848a615305565b6139119190615324565b91505b60007f000000000000000000000000000000000000000000000000000000000000000061394260028261514e565b61394c90856150eb565b613956919061514e565b9050601e60ff82161061399057836139706001601e615361565b60ff16601e811061398357613983615444565b01549450505050506118ca565b838160ff16601e811061398357613983615444565b676765c793fa10079d601b1b61012f54111580156139c65750600061012f54115b613a205760405162461bcd60e51b815260206004820152602560248201527f56616c69646174696f6e3a2073637250657263656e74616765206d757374206260448201526465203c3d3160d81b6064820152608401610c44565b613a36676765c793fa10079d601b1b6002615305565b6101305411158015613a605750613a596002676765c793fa10079d601b1b61514e565b6101305410155b613aac5760405162461bcd60e51b815260206004820181905260248201527f56616c69646174696f6e3a206d6f63206d757374206265205b302e352c20325d6044820152606401610c44565b676765c793fa10079d601b1b610131541115613b155760405162461bcd60e51b815260206004820152602260248201527f56616c69646174696f6e3a20656e7375726f466565206d757374206265203c3d604482015261203160f01b6064820152608401610c44565b676765c793fa10079d601b1b610132541115613b8b5760405162461bcd60e51b815260206004820152602f60248201527f56616c69646174696f6e3a20736372496e74657265737452617465206d75737460448201526e206265203c3d20312028313030252960881b6064820152608401610c44565b61013554610134541015613c075760405162461bcd60e51b815260206004820152603760248201527f56616c69646174696f6e3a207363724c696d69742063616e2774206265206c6560448201527f7373207468616e2061637475616c20746f74616c5363720000000000000000006064820152608401610c44565b610136546001600160a01b0316613c715760405162461bcd60e51b815260206004820152602860248201527f56616c69646174696f6e3a2057616c6c65742063616e2774206265207a65726f604482015267206164647265737360c01b6064820152608401610c44565b565b6000600182601c811115613c8957613c8961542e565b613c939190615361565b61012d54600160ff929092169190911b91506201518090613cbb9064ffffffffff164261533b565b64ffffffffff161115613cf95761012d805466ffffffffffffff8316600160281b026001600160601b031990911664ffffffffff4216171790555050565b61012d54600160281b9004811666ffffffffffffff16613d585761012d805464ffffffffff421664ffffffffff1966ffffffffffffff808616600160281b808604929092161702166001600160601b0319909216919091171790555050565b60405162461bcd60e51b815260206004820152604760248201527f596f7520616c726561647920747765616b6564207468697320706172616d657460448201527f657220726563656e746c792e2057616974206265666f726520747765616b696e606482015266339030b3b0b4b760c91b608482015260a401610c44565b600081613e255760405162461bcd60e51b815260206004820152601860248201527f7761644469763a204469766973696f6e206279207a65726f00000000000000006044820152606401610c44565b6000613e3260028461514e565b9050670de0b6b3a7640000613e4982600019615324565b613e53919061514e565b841115613eae5760405162461bcd60e51b8152602060048201526024808201527f7761644469763a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b8281613796670de0b6b3a764000087615305565b60606000613ed1836002615305565b613edc9060026150eb565b67ffffffffffffffff811115613ef457613ef461545a565b6040519080825280601f01601f191660200182016040528015613f1e576020820181803683370190505b509050600360fc1b81600081518110613f3957613f39615444565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613f6857613f68615444565b60200101906001600160f81b031916908160001a9053506000613f8c846002615305565b613f979060016150eb565b90505b600181111561400f576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613fcb57613fcb615444565b1a60f81b828281518110613fe157613fe1615444565b60200101906001600160f81b031916908160001a90535060049490941c93614008816153b0565b9050613f9a565b5083156118ca5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610c44565b6001600160a01b0381163b6140cb5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610c44565b60008051602061549483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6141038361465b565b6000825111806141105750805b15610e4f57610c5f838361469b565b600054610100900460ff16613c715760405162461bcd60e51b8152600401610c4490614f29565b600054610100900460ff166141615760005460ff1615614165565b303b155b6141815760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff161580156141a3576000805461ffff19166101011790555b6141ab61411f565b6141b361478f565b8015610faf576000805461ff001916905550565b600054610100900460ff166141e25760005460ff16156141e6565b303b155b6142025760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff16158015614224576000805461ffff19166101011790555b87516142389061012e9060208b0190614909565b5061012f879055676765c793fa10079d601b1b61013055610131869055610132859055610133849055610134839055600061013581905561013680546001600160a01b0319166001600160a01b03851617905561429590336147be565b612f3e6139a5565b6142a5614891565b838511156143005760405162461bcd60e51b815260206004820152602260248201527f5072656d69756d2063616e6e6f74206265206d6f7265207468616e207061796f6044820152611d5d60f21b6064820152608401610c44565b614308614891565b6001600160a01b038716610120820181905260408083018890526020808401889052608084018790528151635342825360e01b815291516143a89361180e936117ff939192635342825392600480840193919291829003018186803b15801561437057600080fd5b505afa158015614384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f89190614ae6565b8160a00181815250508060a0015161443461442d896001600160a01b031663bf8e934d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156143f557600080fd5b505afa158015614409573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180e9190614ae6565b87906135f1565b61443e9190615324565b606082018190526144855760405162461bcd60e51b81526020600482015260116024820152705343522063616e2774206265207a65726f60781b6044820152606401610c44565b64ffffffffff4281166101408301819052908416610160830181905261454b916145409161180e916e0612d847b578e7643c28ac00000000916144c8919061533b565b64ffffffffff168b6001600160a01b0316639d90724d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561450857600080fd5b505afa15801561451c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118699190614ae6565b6060830151906135f1565b816101000181815250506145a9614594886001600160a01b031663d44499a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156143f557600080fd5b8261010001518360a001516118a591906150eb565b60c0820181905261010082015160a083015188926145c6916150eb565b6145d091906150eb565b111561461e5760405162461bcd60e51b815260206004820152601960248201527f5072656d69756d206c657373207468616e206d696e696d756d000000000000006044820152606401610c44565b60c081015161010082015160a08301516146389089615324565b6146429190615324565b61464c9190615324565b60e08201529695505050505050565b6146648161405e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6147035760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610c44565b600080846001600160a01b03168460405161471e9190614d04565b600060405180830381855af49150503d8060008114614759576040519150601f19603f3d011682016040523d82523d6000602084013e61475e565b606091505b509150915061478682826040518060600160405280602781526020016154f4602791396147c8565b95945050505050565b600054610100900460ff166147b65760405162461bcd60e51b8152600401610c4490614f29565b613c71614801565b610ece82826127ff565b606083156147d75750816118ca565b8251156147e75782518084602001fd5b8160405162461bcd60e51b8152600401610c449190614de6565b600054610100900460ff166148285760405162461bcd60e51b8152600401610c4490614f29565b60fb805460ff19169055565b82601e8101928215614862579160200282015b82811115614862578235825591602001919060010190614847565b5061486e92915061497d565b5090565b604051806103c00160405280601e906020820280368337509192915050565b60405180610180016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600064ffffffffff168152602001600064ffffffffff1681525090565b828054614915906153c7565b90600052602060002090601f0160209004810192826149375760008555614862565b82601f1061495057805160ff1916838001178555614862565b82800160010185558215614862579182015b82811115614862578251825591602001919060010190614962565b5b8082111561486e576000815560010161497e565b600067ffffffffffffffff808411156149ad576149ad61545a565b604051601f8501601f19908116603f011681019082821181831017156149d5576149d561545a565b816040528093508581528686860111156149ee57600080fd5b858560208301376000602087830101525050509392505050565b8035600481900b8114612e2a57600080fd5b803564ffffffffff81168114612e2a57600080fd5b600060208284031215614a4157600080fd5b81356118ca81615470565b60008060408385031215614a5f57600080fd5b8235614a6a81615470565b9150602083013567ffffffffffffffff811115614a8657600080fd5b8301601f81018513614a9757600080fd5b614aa685823560208401614992565b9150509250929050565b600060208284031215614ac257600080fd5b81516118ca81615485565b600060208284031215614adf57600080fd5b5035919050565b600060208284031215614af857600080fd5b5051919050565b60008060408385031215614b1257600080fd5b823591506020830135614b2481615470565b809150509250929050565b600060208284031215614b4157600080fd5b81356001600160e01b0319811681146118ca57600080fd5b600060208284031215614b6b57600080fd5b81516118ca81615470565b600060208284031215614b8857600080fd5b6118ca82614a08565b6000806103e0808486031215614ba657600080fd5b614baf84614a08565b9250848185011115614bc057600080fd5b506020830190509250929050565b600080600080600080600060e0888a031215614be957600080fd5b873567ffffffffffffffff811115614c0057600080fd5b8801601f81018a13614c1157600080fd5b614c208a823560208401614992565b9750506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614c5481615470565b8091505092959891949750929550565b60008060008060808587031215614c7a57600080fd5b843593506020850135614c8c81615485565b925060408501359150614ca160608601614a1a565b905092959194509250565b600080600060608486031215614cc157600080fd5b8335925060208401359150614cd860408501614a1a565b90509250925092565b600060208284031215614cf357600080fd5b815160ff811681146118ca57600080fd5b60008251614d16818460208701615384565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614d58816017850160208801615384565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614d89816028840160208801615384565b01602801949350505050565b6103c08101818360005b601e811015614dbe578151835260209283019290910190600101614d9f565b50505092915050565b92835260208301919091526001600160a01b0316604082015260600190565b6020815260008251806020840152614e05816040850160208701615384565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101c082019050845182526020850151602083015260408501516040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151614fee828501826001600160a01b03169052565b50506101408581015164ffffffffff81168483015250506101608581015164ffffffffff81168483015250506001600160a01b0384166101808301526001600160601b0383166101a08301526116d2565b8254815260018301546020820152600283015460408201526003830154606082015260048301546080820152600583015460a0820152600683015460c0820152600783015460e0820152600883015461010082015260098301546001600160a01b0381166101208301526101a082019064ffffffffff60a082901c81166101408501526150db6101608501828460c81c1664ffffffffff169052565b5050826101808301529392505050565b600082198211156150fe576150fe615402565b500190565b600064ffffffffff80831681851680830382111561512357615123615402565b01949350505050565b60006001600160601b0380831681851680830382111561512357615123615402565b60008261515d5761515d615418565b500490565b600064ffffffffff8084168061517a5761517a615418565b92169190910492915050565b600181815b808511156151c15781600019048211156151a7576151a7615402565b808516156151b457918102915b93841c939080029061518b565b509250929050565b60006118ca60ff8416836000826151e257506001610a00565b816151ef57506000610a00565b8160018114615205576002811461520f5761522b565b6001915050610a00565b60ff84111561522057615220615402565b50506001821b610a00565b5060208310610133831016604e8410600b841016171561524e575081810a610a00565b6152588383615186565b806000190482111561526c5761526c615402565b029392505050565b60008160040b8360040b647fffffffff6000821360008413838304851182821616156152a2576152a2615402565b647fffffffff1960008512828116878305871216156152c3576152c3615402565b600087129250858205871284841616156152df576152df615402565b858505871281841616156152f5576152f5615402565b5050509290910295945050505050565b600081600019048311821515161561531f5761531f615402565b500290565b60008282101561533657615336615402565b500390565b600064ffffffffff8381169083168181101561535957615359615402565b039392505050565b600060ff821660ff84168082101561537b5761537b615402565b90039392505050565b60005b8381101561539f578181015183820152602001615387565b83811115610c5f5750506000910152565b6000816153bf576153bf615402565b506000190190565b600181811c908216806153db57607f821691505b602082108114156153fc57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610faf57600080fd5b8015158114610faf57600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb25ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c27416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c055435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a2646970667358221220323d2d430a5835a7b0e3c0f5a14973fe372ab18b15841baa25bc63ffff22d63a64736f6c63430008060033",
1033
+ "deployedBytecode": "0x6080604052600436106102e45760003560e01c80636f0dbe6f11610190578063ca996de3116100dc578063e42569d911610095578063f33323a41161006f578063f33323a41461092c578063f48d63ad1461094c578063f67b2bad14610979578063fbb812791461099b57600080fd5b8063e42569d9146108d0578063e5a6b10f146108f7578063e61735c01461090c57600080fd5b8063ca996de314610824578063d44499a81461083a578063d547741f14610850578063dab5d88d14610870578063deaa59df14610890578063e101a345146108b057600080fd5b80639cbbcd9211610149578063a5f8b2d611610123578063a5f8b2d614610785578063a9a24f27146107ba578063b9ea870a146107ee578063bf8e934d1461080e57600080fd5b80639cbbcd921461073a5780639d90724d1461075a578063a217fddf1461077057600080fd5b80636f0dbe6f14610678578063775ead48146106985780637ed5acfa146106b85780638456cb59146106e55780638bac3a24146106fa57806391d148541461071a57600080fd5b806338d52e0f1161024f5780634f1ef2861161020857806353428253116101e257806353428253146106125780635b494dd5146106285780635c975abb1461064a5780635d505fe71461066257600080fd5b80634f1ef286146105cb578063521eb273146105de57806352d1902d146105fd57600080fd5b806338d52e0f146104dd5780633f4ba83a1461051057806341ea6a0f14610525578063468a8c9f1461053b5780634a47a3e0146105765780634d15eb031461059857600080fd5b806324ea54f4116102a157806324ea54f4146103f45780632c7a69fe146104165780632f2ff15d1461045d57806336568abe1461047d5780633659cfe61461049d578063377e1cc9146104bd57600080fd5b806301ffc9a7146102e957806306fdde031461031e578063089a850414610340578063204d79231461036257806322875d63146103a4578063248a9ca3146103c4575b600080fd5b3480156102f557600080fd5b50610309610304366004614b2f565b6109cf565b60405190151581526020015b60405180910390f35b34801561032a57600080fd5b50610333610a06565b6040516103159190614de6565b34801561034c57600080fd5b5061036061035b366004614acd565b610a99565b005b34801561036e57600080fd5b506103967f288a15c4a15d470e4cd9cad2f113b91206b520c26dbd3dd74627f0c057baa19c81565b604051908152602001610315565b3480156103b057600080fd5b506103606103bf366004614acd565b610c65565b3480156103d057600080fd5b506103966103df366004614acd565b600090815260c9602052604090206001015490565b34801561040057600080fd5b5061039660008051602061553b83398151915281565b34801561042257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610315565b34801561046957600080fd5b50610360610478366004614aff565b610e29565b34801561048957600080fd5b50610360610498366004614aff565b610e54565b3480156104a957600080fd5b506103606104b8366004614a2f565b610ed2565b3480156104c957600080fd5b506103606104d8366004614acd565b610fb2565b3480156104e957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610445565b34801561051c57600080fd5b5061036061116b565b34801561053157600080fd5b5061013454610396565b34801561054757600080fd5b5061012d546040805164ffffffffff83168152600160281b90920466ffffffffffffff16602083015201610315565b34801561058257600080fd5b5061039660008051602061551b83398151915281565b3480156105a457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610445565b6103606105d9366004614a4c565b611281565b3480156105ea57600080fd5b50610136546001600160a01b0316610445565b34801561060957600080fd5b5061039661134e565b34801561061e57600080fd5b5061013054610396565b34801561063457600080fd5b506103966000805160206154d483398151915281565b34801561065657600080fd5b5060fb5460ff16610309565b34801561066e57600080fd5b5061013354610396565b34801561068457600080fd5b50610360610693366004614bce565b611401565b3480156106a457600080fd5b506103966106b3366004614c64565b61149d565b3480156106c457600080fd5b506106cf6201518081565b60405164ffffffffff9091168152602001610315565b3480156106f157600080fd5b506103606116da565b34801561070657600080fd5b50610396610715366004614cac565b6117e2565b34801561072657600080fd5b50610309610735366004614aff565b6118d1565b34801561074657600080fd5b50610360610755366004614acd565b6118fc565b34801561076657600080fd5b5061013254610396565b34801561077c57600080fd5b50610396600081565b34801561079157600080fd5b506107a56107a0366004614c64565b611999565b60408051928352602083019190915201610315565b3480156107c657600080fd5b506103967f0df0a8869cf58168a14cd7ac426ff1b8c6ff5d5c800c6f44803f3431dcb3bad181565b3480156107fa57600080fd5b50610360610809366004614acd565b611a53565b34801561081a57600080fd5b5061012f54610396565b34801561083057600080fd5b5061013554610396565b34801561084657600080fd5b5061013154610396565b34801561085c57600080fd5b5061036061086b366004614aff565b611c0e565b34801561087c57600080fd5b5061036061088b366004614acd565b611c34565b34801561089c57600080fd5b506103606108ab366004614a2f565b611dfb565b3480156108bc57600080fd5b506103606108cb366004614b91565b611e53565b3480156108dc57600080fd5b506108e5601e81565b60405160ff9091168152602001610315565b34801561090357600080fd5b50610445611ec3565b34801561091857600080fd5b50610360610927366004614acd565b611f5b565b34801561093857600080fd5b50610360610947366004614acd565b612120565b34801561095857600080fd5b5061096c610967366004614b76565b6124dc565b6040516103159190614d95565b34801561098557600080fd5b506103966000805160206154b483398151915281565b3480156109a757600080fd5b506103967fc6823861ee2bb2198ce6b1fd6faf4c8f44f745bc804aca4a762f67e0d507fd8a81565b60006001600160e01b03198216637965db0b60e01b1480610a0057506301ffc9a760e01b6001600160e01b03198316145b92915050565b606061012e8054610a16906153c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a42906153c7565b8015610a8f5780601f10610a6457610100808354040283529160200191610a8f565b820191906000526020600020905b815481529060010190602001808311610a7257829003601f168201915b5050505050905090565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1057600080fd5b505afa158015610b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b489190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401610b7793929190614dc7565b60006040518083038186803b158015610b8f57600080fd5b505afa158015610ba3573d6000803e3d6000fd5b505050506000610bc060008051602061551b83398151915261252d565b159050801580610be45750610be461013154856af8277896582678ac000000612640565b610c4d5760405162461bcd60e51b815260206004820152602f60248201527f547765616b2065786365656465643a20656e7375726f46656520747765616b7360448201526e206f6e6c7920757020746f2033302560881b60648201526084015b60405180910390fd5b610131849055610c5f600a85836126cb565b50505050565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cdc57600080fd5b505afa158015610cf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d149190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401610d4393929190614dc7565b60006040518083038186803b158015610d5b57600080fd5b505afa158015610d6f573d6000803e3d6000fd5b505050506000610d8c60008051602061551b83398151915261252d565b159050801580610dad5750610dad6101335485670429d069189e000061272c565b610e175760405162461bcd60e51b815260206004820152603560248201527f547765616b2065786365656465643a206d6178536372506572506f6c69637920604482015274747765616b73206f6e6c7920757020746f2033302560581b6064820152608401610c44565b610133849055610c5f600b85836126cb565b600082815260c96020526040902060010154610e45813361279b565b610e4f83836127ff565b505050565b6001600160a01b0381163314610ec45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610c44565b610ece8282612885565b5050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610f1b5760405162461bcd60e51b8152600401610c4490614e19565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f64600080516020615494833981519152546001600160a01b031690565b6001600160a01b031614610f8a5760405162461bcd60e51b8152600401610c4490614e65565b610f93816128ec565b60408051600080825260208201909252610faf918391906129f6565b50565b60fb5460ff1615610fd55760405162461bcd60e51b8152600401610c4490614eb1565b60008181526101376020526040812090610fed612b70565b600b83015490915060ff161580611008575081600a01548111155b61106a5760405162461bcd60e51b815260206004820152602d60248201527f436f6e646974696f6e206e6f74206d65742043757272656e745072696365203e60448201526c2074726967676572507269636560981b6064820152608401610c44565b600b82015460ff1680611081575081600a01548110155b6110e35760405162461bcd60e51b815260206004820152602d60248201527f436f6e646974696f6e206e6f74206d65742043757272656e745072696365203c60448201526c2074726967676572507269636560981b6064820152608401610c44565b6001820154604051639e556b2b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691639e556b2b9161113491869160040161503f565b600060405180830381600087803b15801561114e57600080fd5b505af1158015611162573d6000803e3d6000fd5b50505050505050565b60008051602061553b8339815191526000805160206154b48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156111e257600080fd5b505afa1580156111f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121a9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b815260040161124993929190614dc7565b60006040518083038186803b15801561126157600080fd5b505afa158015611275573d6000803e3d6000fd5b50505050610ece612e2f565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156112ca5760405162461bcd60e51b8152600401610c4490614e19565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611313600080516020615494833981519152546001600160a01b031690565b6001600160a01b0316146113395760405162461bcd60e51b8152600401610c4490614e65565b611342826128ec565b610ece828260016129f6565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113ee5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610c44565b5060008051602061549483398151915290565b600054610100900460ff1661141c5760005460ff1615611420565b303b155b61143c5760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff1615801561145e576000805461ffff19166101011790555b61146d88888888888888612ec2565b61013980546001600160601b03191660011790558015611493576000805461ff00191690555b5050505050505050565b60008060006114ae87878787611999565b915091506000821161151b5760405162461bcd60e51b815260206004820152603060248201527f456974686572206475726174696f6e206f722070657263656e74616765206a7560448201526f1b5c081b9bdd081cdd5c1c1bdc9d195960821b6064820152608401610c44565b61013954600090611538906001600160601b03163060601b6150eb565b6000818152610137602052604090206101395491925090339061156d908990879087908b9086906001600160601b0316612f59565b80518355602081015160018085019190915560408201516002850155606082015160038501556080820151600485015560a0820151600585015560c0820151600685015560e082015160078501556101008201516008850155610120820151600985018054610140850151610160909501516001600160a01b039093166001600160c81b031990911617600160a01b64ffffffffff958616021764ffffffffff60c81b1916600160c81b949092169390930217909155610139805460009061163f9084906001600160601b031661512c565b82546101009290920a6001600160601b0381810219909316919092169190910217905550600a82018a9055600b8201805460ff19168a151590811790915560408051858152602081018d9052908101919091526001600160a01b038216907fac60a84d926e5f83b9718922af7ef1285ea8a8516516c4981ed3297d2e89ae0b9060600160405180910390a2509093505050505b949350505050565b60008051602061553b8339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561174257600080fd5b505afa158015611756573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177a9190614b59565b6040516312d9a6ad60e01b8152600481018390523360248201526001600160a01b0391909116906312d9a6ad9060440160006040518083038186803b1580156117c257600080fd5b505afa1580156117d6573d6000803e3d6000fd5b50505050610faf6133c4565b60008061181361180e6117ff6117f86101305490565b879061341c565b611808886134f3565b9061341c565b613571565b905060008161182f61182861180e61012f5490565b88906135f1565b6118399190615324565b9050600061187961180e6e0612d847b578e7643c28ac000000006118644264ffffffffff8a16615324565b610132545b6118739190615305565b906136a4565b9050600061188783836135f1565b905060006118ab61189b61180e6101315490565b6118a584886150eb565b906135f1565b9050816118b882876150eb565b6118c291906150eb565b955050505050505b9392505050565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461197e5760405162461bcd60e51b815260206004820152602160248201527f5468652063616c6c6572206d7573742062652074686520506f6c696379506f6f6044820152601b60fa1b6064820152608401610c44565b8061013560008282546119919190615324565b909155505050565b60008060006119a6612b70565b90508580156119b457508681115b806119c75750851580156119c757508681105b611a135760405162461bcd60e51b815260206004820152601e60248201527f507269636520616c726561647920617420747269676765722076616c756500006044820152606401610c44565b611a278188611a22428861533b565b6137aa565b915081611a3b576000809250925050611a4a565b611a468583866117e2565b9250505b94509492505050565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015611aca57600080fd5b505afa158015611ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b029190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401611b3193929190614dc7565b60006040518083038186803b158015611b4957600080fd5b505afa158015611b5d573d6000803e3d6000fd5b505050506000611b7a60008051602061551b83398151915261252d565b159050801580611b9e5750611b9e61013054856a52b7d2dcc80cd2e4000000612640565b611bfc5760405162461bcd60e51b815260206004820152602960248201527f547765616b2065786365656465643a206d6f6320747765616b73206f6e6c7920604482015268757020746f2031302560b81b6064820152608401610c44565b610130849055610c5f600885836126cb565b600082815260c96020526040902060010154611c2a813361279b565b610e4f8383612885565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015611cab57600080fd5b505afa158015611cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce39190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401611d1293929190614dc7565b60006040518083038186803b158015611d2a57600080fd5b505afa158015611d3e573d6000803e3d6000fd5b505050506000611d5b60008051602061551b83398151915261252d565b159050801580611d7f5750611d7f61013254856af8277896582678ac000000612640565b611de95760405162461bcd60e51b815260206004820152603560248201527f547765616b2065786365656465643a20736372496e7465726573745261746520604482015274747765616b73206f6e6c7920757020746f2033302560581b6064820152608401610c44565b610132849055610c5f600985836126cb565b7f0df0a8869cf58168a14cd7ac426ff1b8c6ff5d5c800c6f44803f3431dcb3bad1611e26813361279b565b61013680546001600160a01b0319166001600160a01b038416908117909155610ece90600f9060006126cb565b7fc6823861ee2bb2198ce6b1fd6faf4c8f44f745bc804aca4a762f67e0d507fd8a611e7e813361279b565b60fb5460ff1615611ea15760405162461bcd60e51b8152600401610c4490614eb1565b600483810b900b600090815261013860205260409020610c5f9083601e614834565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f1e57600080fd5b505afa158015611f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f569190614b59565b905090565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015611fd257600080fd5b505afa158015611fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200a9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b815260040161203993929190614dc7565b60006040518083038186803b15801561205157600080fd5b505afa158015612065573d6000803e3d6000fd5b50505050600061208260008051602061551b83398151915261252d565b1590508015806120a657506120a661012f54856a52b7d2dcc80cd2e4000000612640565b61210e5760405162461bcd60e51b815260206004820152603360248201527f547765616b2065786365656465643a2073637250657263656e7461676520747760448201527265616b73206f6e6c7920757020746f2031302560681b6064820152608401610c44565b61012f849055610c5f600785836126cb565b6000805160206154b483398151915260008051602061551b8339815191526000805160206154d48339815191526121568361252d565b61224b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156121b357600080fd5b505afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b815260040161221a93929190614dc7565b60006040518083038186803b15801561223257600080fd5b505afa158015612246573d6000803e3d6000fd5b505050505b600061226460008051602061551b83398151915261252d565b15801561228557506122836000805160206154b483398151915261252d565b155b90508015806122a557506122a5610134548667016345785d8a000061272c565b6123085760405162461bcd60e51b815260206004820152602e60248201527f547765616b2065786365656465643a207363724c696d697420747765616b732060448201526d6f6e6c7920757020746f2031302560901b6064820152608401610c44565b610134548511158061232c575061232c6000805160206154b483398151915261252d565b806123d25750846123d067016345785d8a00007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b77ddfea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561239857600080fd5b505afa1580156123ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a59190614ae6565b115b6124595760405162461bcd60e51b815260206004820152604c60248201527f547765616b2065786365656465643a20496e6372656173652c203e3d3130252060448201527f6f662074686520746f74616c206c69717569646974792c20726571756972657360648201526b204c4556454c315f524f4c4560a01b608482015260a401610c44565b610135548510156124c35760405162461bcd60e51b815260206004820152602e60248201527f43616e27742073657420534352206c657373207468616e2063757272656e742060448201526d29a1a91030b63637b1b0ba34b7b760911b6064820152608401610c44565b6101348590556124d5600c86836126cb565b5050505050565b6124e4614872565b600482810b900b600090815261013860205260409081902081516103c081019283905291601e9082845b81548152602001906001019080831161250e5750505050509050919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561258857600080fd5b505afa15801561259c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c09190614b59565b604051632474521560e21b8152600481018490523360248201526001600160a01b0391909116906391d148549060440160206040518083038186803b15801561260857600080fd5b505afa15801561261c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a009190614ab0565b600082841415612652575060016118ca565b8361266c5750676765c793fa10079d601b1b8110156118ca565b82612679575060006118ca565b828410156126ab5781676765c793fa10079d601b1b61269885876136a4565b6126a29190615324565b111590506118ca565b816126b684866136a4565b6126a290676765c793fa10079d601b1b615324565b6126d36139a5565b80156126e2576126e283613c73565b82601c8111156126f4576126f461542e565b6040518381527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a2505050565b60008284141561273e575060016118ca565b836127555750670de0b6b3a76400008110156118ca565b82612762575060006118ca565b8284101561277e5781670de0b6b3a76400006126988587613dd6565b816127898486613dd6565b6126a290670de0b6b3a7640000615324565b6127a582826118d1565b610ece576127bd816001600160a01b03166014613ec2565b6127c8836020613ec2565b6040516020016127d9929190614d20565b60408051601f198184030181529082905262461bcd60e51b8252610c4491600401614de6565b61280982826118d1565b610ece57600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556128413390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61288f82826118d1565b15610ece57600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602061553b8339815191526000805160206154b48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561296357600080fd5b505afa158015612977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299b9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b81526004016129ca93929190614dc7565b60006040518083038186803b1580156129e257600080fd5b505afa158015611162573d6000803e3d6000fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612a2957610e4f8361405e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a6257600080fd5b505afa925050508015612a92575060408051601f3d908101601f19168201909252612a8f91810190614ae6565b60015b612af55760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610c44565b6000805160206154948339815191528114612b645760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610c44565b50610e4f8383836140fa565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015612bcc57600080fd5b505afa158015612be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c049190614b59565b6001600160a01b031663d2f7265a6040518163ffffffff1660e01b815260040160206040518083038186803b158015612c3c57600080fd5b505afa158015612c50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c749190614b59565b6001600160a01b031663248391ff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612d1d57600080fd5b505afa158015612d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d559190614ce1565b612d6090600a6151c9565b6040516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482015260640160206040518083038186803b158015612dad57600080fd5b505afa158015612dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de59190614ae6565b905080612e2a5760405162461bcd60e51b81526020600482015260136024820152725072696365206e6f7420617661696c61626c6560681b6044820152606401610c44565b919050565b60fb5460ff16612e785760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610c44565b60fb805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff16612edd5760005460ff1615612ee1565b303b155b612efd5760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff16158015612f1f576000805461ffff19166101011790555b612f2761411f565b612f2f614146565b612f3e888888888888886141c7565b8015611493576000805461ff00191690555050505050505050565b612f61614891565b60fb5460ff1615612f845760405162461bcd60e51b8152600401610c4490614eb1565b868610612fd35760405162461bcd60e51b815260206004820181905260248201527f5072656d69756d206d757374206265206c657373207468616e207061796f75746044820152606401610c44565b4264ffffffffff168464ffffffffff16116130305760405162461bcd60e51b815260206004820181905260248201527f45787069726174696f6e206d75737420626520696e20746865206675747572656044820152606401610c44565b6001600160a01b0383166130865760405162461bcd60e51b815260206004820152601e60248201527f437573746f6d65722063616e2774206265207a65726f206164647265737300006044820152606401610c44565b857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156130e057600080fd5b505afa1580156130f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131189190614b59565b604051636eb1769f60e11b81526001600160a01b0386811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063dd62ed3e9060440160206040518083038186803b15801561318357600080fd5b505afa158015613197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131bb9190614ae6565b101561321f5760405162461bcd60e51b815260206004820152602d60248201527f596f75206d75737420616c6c6f7720454e5355524f20746f207472616e73666560448201526c7220746865207072656d69756d60981b6064820152608401610c44565b600061322e30888a898961429d565b9050610133548160600151111561329f5760405162461bcd60e51b815260206004820152602f60248201527f5269736b4d6f64756c653a20534352206973206d6f7265207468616e206d617860448201526e696d756d2070657220706f6c69637960881b6064820152608401610c44565b806060015161013560008282546132b691906150eb565b9091555050610134546101355411156133115760405162461bcd60e51b815260206004820152601e60248201527f5269736b4d6f64756c653a20534352206c696d697420657863656564656400006044820152606401610c44565b604051630cb8251d60e11b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906319704a3a9061336490859089908990600401614f74565b602060405180830381600087803b15801561337e57600080fd5b505af1158015613392573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133b69190614ae6565b825250979650505050505050565b60fb5460ff16156133e75760405162461bcd60e51b8152600401610c4490614eb1565b60fb805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612ea53390565b6000821580613429575081155b1561343657506000610a00565b8161344d6002676765c793fa10079d601b1b61514e565b61345990600019615324565b613463919061514e565b8311156134be5760405162461bcd60e51b8152602060048201526024808201527f7261794d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b676765c793fa10079d601b1b6134d560028261514e565b6134df8486615305565b6134e991906150eb565b6118ca919061514e565b600080613504633b9aca0084615305565b905082613515633b9aca008361514e565b14610a005760405162461bcd60e51b815260206004820152602660248201527f776164546f5261643a204d617468204d756c7469706c69636174696f6e204f766044820152656572666c6f7760d01b6064820152608401610c44565b6000806135836002633b9aca0061514e565b9050600061359184836150eb565b9050818110156135e35760405162461bcd60e51b815260206004820181905260248201527f726179546f5761643a204d617468204164646974696f6e204f766572666c6f776044820152606401610c44565b6116d2633b9aca008261514e565b60008215806135fe575081155b1561360b57506000610a00565b8161361f6002670de0b6b3a764000061514e565b61362b90600019615324565b613635919061514e565b8311156136905760405162461bcd60e51b8152602060048201526024808201527f7761644d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b670de0b6b3a76400006134d560028261514e565b6000816136f35760405162461bcd60e51b815260206004820152601860248201527f7261794469763a204469766973696f6e206279207a65726f00000000000000006044820152606401610c44565b600061370060028461514e565b9050676765c793fa10079d601b1b61371a82600019615324565b613724919061514e565b84111561377f5760405162461bcd60e51b8152602060048201526024808201527f7261794469763a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b8281613796676765c793fa10079d601b1b87615305565b6137a091906150eb565b6116d2919061514e565b60008061013860008587116137c1576000196137c4565b60015b610e106137d387610708615103565b6137dd9190615162565b6137e79190615274565b60040b60040b815260200190815260200160002090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561385957600080fd5b505afa15801561386d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138919190614ce1565b61389c906012615361565b6138a790600a6151c9565b9050858711156138e7576138ce6138be8289615305565b6138c88389615305565b90613dd6565b6138e090670de0b6b3a7640000615324565b9150613914565b670de0b6b3a76400006139076138fd838a615305565b6138c8848a615305565b6139119190615324565b91505b60007f000000000000000000000000000000000000000000000000000000000000000061394260028261514e565b61394c90856150eb565b613956919061514e565b9050601e60ff82161061399057836139706001601e615361565b60ff16601e811061398357613983615444565b01549450505050506118ca565b838160ff16601e811061398357613983615444565b676765c793fa10079d601b1b61012f54111580156139c65750600061012f54115b613a205760405162461bcd60e51b815260206004820152602560248201527f56616c69646174696f6e3a2073637250657263656e74616765206d757374206260448201526465203c3d3160d81b6064820152608401610c44565b613a36676765c793fa10079d601b1b6002615305565b6101305411158015613a605750613a596002676765c793fa10079d601b1b61514e565b6101305410155b613aac5760405162461bcd60e51b815260206004820181905260248201527f56616c69646174696f6e3a206d6f63206d757374206265205b302e352c20325d6044820152606401610c44565b676765c793fa10079d601b1b610131541115613b155760405162461bcd60e51b815260206004820152602260248201527f56616c69646174696f6e3a20656e7375726f466565206d757374206265203c3d604482015261203160f01b6064820152608401610c44565b676765c793fa10079d601b1b610132541115613b8b5760405162461bcd60e51b815260206004820152602f60248201527f56616c69646174696f6e3a20736372496e74657265737452617465206d75737460448201526e206265203c3d20312028313030252960881b6064820152608401610c44565b61013554610134541015613c075760405162461bcd60e51b815260206004820152603760248201527f56616c69646174696f6e3a207363724c696d69742063616e2774206265206c6560448201527f7373207468616e2061637475616c20746f74616c5363720000000000000000006064820152608401610c44565b610136546001600160a01b0316613c715760405162461bcd60e51b815260206004820152602860248201527f56616c69646174696f6e3a2057616c6c65742063616e2774206265207a65726f604482015267206164647265737360c01b6064820152608401610c44565b565b6000600182601c811115613c8957613c8961542e565b613c939190615361565b61012d54600160ff929092169190911b91506201518090613cbb9064ffffffffff164261533b565b64ffffffffff161115613cf95761012d805466ffffffffffffff8316600160281b026001600160601b031990911664ffffffffff4216171790555050565b61012d54600160281b9004811666ffffffffffffff16613d585761012d805464ffffffffff421664ffffffffff1966ffffffffffffff808616600160281b808604929092161702166001600160601b0319909216919091171790555050565b60405162461bcd60e51b815260206004820152604760248201527f596f7520616c726561647920747765616b6564207468697320706172616d657460448201527f657220726563656e746c792e2057616974206265666f726520747765616b696e606482015266339030b3b0b4b760c91b608482015260a401610c44565b600081613e255760405162461bcd60e51b815260206004820152601860248201527f7761644469763a204469766973696f6e206279207a65726f00000000000000006044820152606401610c44565b6000613e3260028461514e565b9050670de0b6b3a7640000613e4982600019615324565b613e53919061514e565b841115613eae5760405162461bcd60e51b8152602060048201526024808201527f7761644469763a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b8281613796670de0b6b3a764000087615305565b60606000613ed1836002615305565b613edc9060026150eb565b67ffffffffffffffff811115613ef457613ef461545a565b6040519080825280601f01601f191660200182016040528015613f1e576020820181803683370190505b509050600360fc1b81600081518110613f3957613f39615444565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613f6857613f68615444565b60200101906001600160f81b031916908160001a9053506000613f8c846002615305565b613f979060016150eb565b90505b600181111561400f576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613fcb57613fcb615444565b1a60f81b828281518110613fe157613fe1615444565b60200101906001600160f81b031916908160001a90535060049490941c93614008816153b0565b9050613f9a565b5083156118ca5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610c44565b6001600160a01b0381163b6140cb5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610c44565b60008051602061549483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6141038361465b565b6000825111806141105750805b15610e4f57610c5f838361469b565b600054610100900460ff16613c715760405162461bcd60e51b8152600401610c4490614f29565b600054610100900460ff166141615760005460ff1615614165565b303b155b6141815760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff161580156141a3576000805461ffff19166101011790555b6141ab61411f565b6141b361478f565b8015610faf576000805461ff001916905550565b600054610100900460ff166141e25760005460ff16156141e6565b303b155b6142025760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff16158015614224576000805461ffff19166101011790555b87516142389061012e9060208b0190614909565b5061012f879055676765c793fa10079d601b1b61013055610131869055610132859055610133849055610134839055600061013581905561013680546001600160a01b0319166001600160a01b03851617905561429590336147be565b612f3e6139a5565b6142a5614891565b838511156143005760405162461bcd60e51b815260206004820152602260248201527f5072656d69756d2063616e6e6f74206265206d6f7265207468616e207061796f6044820152611d5d60f21b6064820152608401610c44565b614308614891565b6001600160a01b038716610120820181905260408083018890526020808401889052608084018790528151635342825360e01b815291516143a89361180e936117ff939192635342825392600480840193919291829003018186803b15801561437057600080fd5b505afa158015614384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f89190614ae6565b8160a00181815250508060a0015161443461442d896001600160a01b031663bf8e934d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156143f557600080fd5b505afa158015614409573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180e9190614ae6565b87906135f1565b61443e9190615324565b606082018190526144855760405162461bcd60e51b81526020600482015260116024820152705343522063616e2774206265207a65726f60781b6044820152606401610c44565b64ffffffffff4281166101408301819052908416610160830181905261454b916145409161180e916e0612d847b578e7643c28ac00000000916144c8919061533b565b64ffffffffff168b6001600160a01b0316639d90724d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561450857600080fd5b505afa15801561451c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118699190614ae6565b6060830151906135f1565b816101000181815250506145a9614594886001600160a01b031663d44499a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156143f557600080fd5b8261010001518360a001516118a591906150eb565b60c0820181905261010082015160a083015188926145c6916150eb565b6145d091906150eb565b111561461e5760405162461bcd60e51b815260206004820152601960248201527f5072656d69756d206c657373207468616e206d696e696d756d000000000000006044820152606401610c44565b60c081015161010082015160a08301516146389089615324565b6146429190615324565b61464c9190615324565b60e08201529695505050505050565b6146648161405e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6147035760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610c44565b600080846001600160a01b03168460405161471e9190614d04565b600060405180830381855af49150503d8060008114614759576040519150601f19603f3d011682016040523d82523d6000602084013e61475e565b606091505b509150915061478682826040518060600160405280602781526020016154f4602791396147c8565b95945050505050565b600054610100900460ff166147b65760405162461bcd60e51b8152600401610c4490614f29565b613c71614801565b610ece82826127ff565b606083156147d75750816118ca565b8251156147e75782518084602001fd5b8160405162461bcd60e51b8152600401610c449190614de6565b600054610100900460ff166148285760405162461bcd60e51b8152600401610c4490614f29565b60fb805460ff19169055565b82601e8101928215614862579160200282015b82811115614862578235825591602001919060010190614847565b5061486e92915061497d565b5090565b604051806103c00160405280601e906020820280368337509192915050565b60405180610180016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600064ffffffffff168152602001600064ffffffffff1681525090565b828054614915906153c7565b90600052602060002090601f0160209004810192826149375760008555614862565b82601f1061495057805160ff1916838001178555614862565b82800160010185558215614862579182015b82811115614862578251825591602001919060010190614962565b5b8082111561486e576000815560010161497e565b600067ffffffffffffffff808411156149ad576149ad61545a565b604051601f8501601f19908116603f011681019082821181831017156149d5576149d561545a565b816040528093508581528686860111156149ee57600080fd5b858560208301376000602087830101525050509392505050565b8035600481900b8114612e2a57600080fd5b803564ffffffffff81168114612e2a57600080fd5b600060208284031215614a4157600080fd5b81356118ca81615470565b60008060408385031215614a5f57600080fd5b8235614a6a81615470565b9150602083013567ffffffffffffffff811115614a8657600080fd5b8301601f81018513614a9757600080fd5b614aa685823560208401614992565b9150509250929050565b600060208284031215614ac257600080fd5b81516118ca81615485565b600060208284031215614adf57600080fd5b5035919050565b600060208284031215614af857600080fd5b5051919050565b60008060408385031215614b1257600080fd5b823591506020830135614b2481615470565b809150509250929050565b600060208284031215614b4157600080fd5b81356001600160e01b0319811681146118ca57600080fd5b600060208284031215614b6b57600080fd5b81516118ca81615470565b600060208284031215614b8857600080fd5b6118ca82614a08565b6000806103e0808486031215614ba657600080fd5b614baf84614a08565b9250848185011115614bc057600080fd5b506020830190509250929050565b600080600080600080600060e0888a031215614be957600080fd5b873567ffffffffffffffff811115614c0057600080fd5b8801601f81018a13614c1157600080fd5b614c208a823560208401614992565b9750506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614c5481615470565b8091505092959891949750929550565b60008060008060808587031215614c7a57600080fd5b843593506020850135614c8c81615485565b925060408501359150614ca160608601614a1a565b905092959194509250565b600080600060608486031215614cc157600080fd5b8335925060208401359150614cd860408501614a1a565b90509250925092565b600060208284031215614cf357600080fd5b815160ff811681146118ca57600080fd5b60008251614d16818460208701615384565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614d58816017850160208801615384565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614d89816028840160208801615384565b01602801949350505050565b6103c08101818360005b601e811015614dbe578151835260209283019290910190600101614d9f565b50505092915050565b92835260208301919091526001600160a01b0316604082015260600190565b6020815260008251806020840152614e05816040850160208701615384565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101c082019050845182526020850151602083015260408501516040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151614fee828501826001600160a01b03169052565b50506101408581015164ffffffffff81168483015250506101608581015164ffffffffff81168483015250506001600160a01b0384166101808301526001600160601b0383166101a08301526116d2565b8254815260018301546020820152600283015460408201526003830154606082015260048301546080820152600583015460a0820152600683015460c0820152600783015460e0820152600883015461010082015260098301546001600160a01b0381166101208301526101a082019064ffffffffff60a082901c81166101408501526150db6101608501828460c81c1664ffffffffff169052565b5050826101808301529392505050565b600082198211156150fe576150fe615402565b500190565b600064ffffffffff80831681851680830382111561512357615123615402565b01949350505050565b60006001600160601b0380831681851680830382111561512357615123615402565b60008261515d5761515d615418565b500490565b600064ffffffffff8084168061517a5761517a615418565b92169190910492915050565b600181815b808511156151c15781600019048211156151a7576151a7615402565b808516156151b457918102915b93841c939080029061518b565b509250929050565b60006118ca60ff8416836000826151e257506001610a00565b816151ef57506000610a00565b8160018114615205576002811461520f5761522b565b6001915050610a00565b60ff84111561522057615220615402565b50506001821b610a00565b5060208310610133831016604e8410600b841016171561524e575081810a610a00565b6152588383615186565b806000190482111561526c5761526c615402565b029392505050565b60008160040b8360040b647fffffffff6000821360008413838304851182821616156152a2576152a2615402565b647fffffffff1960008512828116878305871216156152c3576152c3615402565b600087129250858205871284841616156152df576152df615402565b858505871281841616156152f5576152f5615402565b5050509290910295945050505050565b600081600019048311821515161561531f5761531f615402565b500290565b60008282101561533657615336615402565b500390565b600064ffffffffff8381169083168181101561535957615359615402565b039392505050565b600060ff821660ff84168082101561537b5761537b615402565b90039392505050565b60005b8381101561539f578181015183820152602001615387565b83811115610c5f5750506000910152565b6000816153bf576153bf615402565b506000190190565b600181811c908216806153db57607f821691505b602082108114156153fc57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610faf57600080fd5b8015158114610faf57600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb25ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c27416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c055435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a2646970667358221220323d2d430a5835a7b0e3c0f5a14973fe372ab18b15841baa25bc63ffff22d63a64736f6c63430008060033",
1034
+ "linkReferences": {},
1035
+ "deployedLinkReferences": {}
1036
+ }