@argonprotocol/mainchain 1.4.3 → 1.4.4-dev.abb08dac

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 (35) hide show
  1. package/browser/artifacts/contracts/ArgonToken.sol/ArgonToken.json +671 -0
  2. package/browser/artifacts/contracts/ArgonotToken.sol/ArgonotToken.json +671 -0
  3. package/browser/artifacts/contracts/MintingGateway.sol/MintingGateway.json +1688 -0
  4. package/browser/artifacts/contracts/ProxyArtifacts.sol/ProxyAdmin.json +135 -0
  5. package/browser/artifacts/contracts/ProxyArtifacts.sol/TransparentUpgradeableProxy.json +131 -0
  6. package/browser/index.d.ts +2875 -1792
  7. package/browser/index.js +6827 -200
  8. package/browser/index.js.map +1 -1
  9. package/lib/artifacts/contracts/ArgonToken.sol/ArgonToken.json +671 -0
  10. package/lib/artifacts/contracts/ArgonotToken.sol/ArgonotToken.json +671 -0
  11. package/lib/artifacts/contracts/MintingGateway.sol/MintingGateway.json +1688 -0
  12. package/lib/artifacts/contracts/ProxyArtifacts.sol/ProxyAdmin.json +135 -0
  13. package/lib/artifacts/contracts/ProxyArtifacts.sol/TransparentUpgradeableProxy.json +131 -0
  14. package/lib/index.cjs +6915 -266
  15. package/lib/index.cjs.map +1 -1
  16. package/lib/index.d.cts +2875 -1792
  17. package/lib/index.d.ts +2875 -1792
  18. package/lib/index.js +6855 -206
  19. package/lib/index.js.map +1 -1
  20. package/package.json +29 -26
  21. package/src/interfaces/augment-api-consts.ts +656 -0
  22. package/src/interfaces/augment-api-errors.ts +1376 -0
  23. package/src/interfaces/augment-api-events.ts +2098 -0
  24. package/src/interfaces/augment-api-query.ts +1809 -0
  25. package/src/interfaces/augment-api-rpc.ts +1133 -0
  26. package/src/interfaces/augment-api-runtime.ts +306 -0
  27. package/src/interfaces/augment-api-tx.ts +2298 -0
  28. package/src/interfaces/augment-api.ts +10 -0
  29. package/src/interfaces/augment-types.ts +2692 -0
  30. package/src/interfaces/definitions.ts +42 -0
  31. package/src/interfaces/ethereum/index.ts +4 -0
  32. package/src/interfaces/ethereum/types.ts +66 -0
  33. package/src/interfaces/lookup.ts +4167 -0
  34. package/src/interfaces/registry.ts +598 -0
  35. package/src/interfaces/types-lookup.ts +4868 -0
@@ -0,0 +1,1688 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "MintingGateway",
4
+ "sourceName": "contracts/MintingGateway.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "argonTokenAddress",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "argonotTokenAddress",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "ArrayLengthMismatch",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "ECDSAInvalidSignature",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "uint256",
36
+ "name": "length",
37
+ "type": "uint256"
38
+ }
39
+ ],
40
+ "name": "ECDSAInvalidSignatureLength",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "bytes32",
47
+ "name": "s",
48
+ "type": "bytes32"
49
+ }
50
+ ],
51
+ "name": "ECDSAInvalidSignatureS",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [],
56
+ "name": "EnforcedPause",
57
+ "type": "error"
58
+ },
59
+ {
60
+ "inputs": [],
61
+ "name": "ExpectedPause",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [],
66
+ "name": "GlobalIssuanceCouncilNotBootstrapped",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "inputs": [],
71
+ "name": "GlobalIssuanceCouncilQuorumNotMet",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [
76
+ {
77
+ "internalType": "uint256",
78
+ "name": "authorized",
79
+ "type": "uint256"
80
+ },
81
+ {
82
+ "internalType": "uint256",
83
+ "name": "required",
84
+ "type": "uint256"
85
+ }
86
+ ],
87
+ "name": "InsufficientAuthorizedCollateral",
88
+ "type": "error"
89
+ },
90
+ {
91
+ "inputs": [
92
+ {
93
+ "internalType": "uint64",
94
+ "name": "expected",
95
+ "type": "uint64"
96
+ },
97
+ {
98
+ "internalType": "uint64",
99
+ "name": "provided",
100
+ "type": "uint64"
101
+ }
102
+ ],
103
+ "name": "InvalidChainId",
104
+ "type": "error"
105
+ },
106
+ {
107
+ "inputs": [
108
+ {
109
+ "internalType": "bytes32",
110
+ "name": "expected",
111
+ "type": "bytes32"
112
+ },
113
+ {
114
+ "internalType": "bytes32",
115
+ "name": "provided",
116
+ "type": "bytes32"
117
+ }
118
+ ],
119
+ "name": "InvalidCurrentCouncilSnapshot",
120
+ "type": "error"
121
+ },
122
+ {
123
+ "inputs": [
124
+ {
125
+ "internalType": "uint256",
126
+ "name": "index",
127
+ "type": "uint256"
128
+ }
129
+ ],
130
+ "name": "InvalidGlobalIssuanceCouncilMember",
131
+ "type": "error"
132
+ },
133
+ {
134
+ "inputs": [],
135
+ "name": "InvalidInitialization",
136
+ "type": "error"
137
+ },
138
+ {
139
+ "inputs": [],
140
+ "name": "InvalidMicrogonCollateralForArgonotPayout",
141
+ "type": "error"
142
+ },
143
+ {
144
+ "inputs": [
145
+ {
146
+ "internalType": "address",
147
+ "name": "signingKey",
148
+ "type": "address"
149
+ }
150
+ ],
151
+ "name": "InvalidMintingAuthority",
152
+ "type": "error"
153
+ },
154
+ {
155
+ "inputs": [
156
+ {
157
+ "internalType": "address",
158
+ "name": "expectedSigner",
159
+ "type": "address"
160
+ },
161
+ {
162
+ "internalType": "address",
163
+ "name": "recoveredSigner",
164
+ "type": "address"
165
+ }
166
+ ],
167
+ "name": "InvalidMintingAuthorityDeactivationSigner",
168
+ "type": "error"
169
+ },
170
+ {
171
+ "inputs": [
172
+ {
173
+ "internalType": "uint64",
174
+ "name": "expected",
175
+ "type": "uint64"
176
+ },
177
+ {
178
+ "internalType": "uint64",
179
+ "name": "provided",
180
+ "type": "uint64"
181
+ }
182
+ ],
183
+ "name": "InvalidQueueNonce",
184
+ "type": "error"
185
+ },
186
+ {
187
+ "inputs": [
188
+ {
189
+ "internalType": "uint256",
190
+ "name": "expected",
191
+ "type": "uint256"
192
+ },
193
+ {
194
+ "internalType": "uint256",
195
+ "name": "provided",
196
+ "type": "uint256"
197
+ }
198
+ ],
199
+ "name": "InvalidSignatureCount",
200
+ "type": "error"
201
+ },
202
+ {
203
+ "inputs": [],
204
+ "name": "InvalidSignatureOrder",
205
+ "type": "error"
206
+ },
207
+ {
208
+ "inputs": [
209
+ {
210
+ "internalType": "uint128",
211
+ "name": "maxRate",
212
+ "type": "uint128"
213
+ },
214
+ {
215
+ "internalType": "uint128",
216
+ "name": "providedRate",
217
+ "type": "uint128"
218
+ }
219
+ ],
220
+ "name": "InvalidTransferOutRate",
221
+ "type": "error"
222
+ },
223
+ {
224
+ "inputs": [
225
+ {
226
+ "internalType": "uint8",
227
+ "name": "kind",
228
+ "type": "uint8"
229
+ }
230
+ ],
231
+ "name": "InvalidUpdateKind",
232
+ "type": "error"
233
+ },
234
+ {
235
+ "inputs": [],
236
+ "name": "LatestGatewayUpdateCannotDeactivate",
237
+ "type": "error"
238
+ },
239
+ {
240
+ "inputs": [],
241
+ "name": "MigrationAlreadyCompleted",
242
+ "type": "error"
243
+ },
244
+ {
245
+ "inputs": [
246
+ {
247
+ "internalType": "address",
248
+ "name": "signingKey",
249
+ "type": "address"
250
+ }
251
+ ],
252
+ "name": "MintingAuthorityAlreadyActive",
253
+ "type": "error"
254
+ },
255
+ {
256
+ "inputs": [
257
+ {
258
+ "internalType": "address",
259
+ "name": "signingKey",
260
+ "type": "address"
261
+ }
262
+ ],
263
+ "name": "MintingAuthorityTransferCapacityExceeded",
264
+ "type": "error"
265
+ },
266
+ {
267
+ "inputs": [
268
+ {
269
+ "internalType": "address",
270
+ "name": "caller",
271
+ "type": "address"
272
+ }
273
+ ],
274
+ "name": "NotGuardianOrOwner",
275
+ "type": "error"
276
+ },
277
+ {
278
+ "inputs": [],
279
+ "name": "NotInitializing",
280
+ "type": "error"
281
+ },
282
+ {
283
+ "inputs": [
284
+ {
285
+ "internalType": "address",
286
+ "name": "owner",
287
+ "type": "address"
288
+ }
289
+ ],
290
+ "name": "OwnableInvalidOwner",
291
+ "type": "error"
292
+ },
293
+ {
294
+ "inputs": [
295
+ {
296
+ "internalType": "address",
297
+ "name": "account",
298
+ "type": "address"
299
+ }
300
+ ],
301
+ "name": "OwnableUnauthorizedAccount",
302
+ "type": "error"
303
+ },
304
+ {
305
+ "inputs": [
306
+ {
307
+ "internalType": "uint256",
308
+ "name": "amount",
309
+ "type": "uint256"
310
+ }
311
+ ],
312
+ "name": "RuntimeAmountOverflow",
313
+ "type": "error"
314
+ },
315
+ {
316
+ "inputs": [
317
+ {
318
+ "internalType": "bytes32",
319
+ "name": "transferId",
320
+ "type": "bytes32"
321
+ }
322
+ ],
323
+ "name": "TransferOutOfArgonAlreadyFinalized",
324
+ "type": "error"
325
+ },
326
+ {
327
+ "inputs": [
328
+ {
329
+ "internalType": "uint256",
330
+ "name": "currentBlock",
331
+ "type": "uint256"
332
+ },
333
+ {
334
+ "internalType": "uint256",
335
+ "name": "validUntilBlock",
336
+ "type": "uint256"
337
+ }
338
+ ],
339
+ "name": "TransferOutOfArgonExpired",
340
+ "type": "error"
341
+ },
342
+ {
343
+ "inputs": [
344
+ {
345
+ "internalType": "uint256",
346
+ "name": "currentBlock",
347
+ "type": "uint256"
348
+ },
349
+ {
350
+ "internalType": "uint256",
351
+ "name": "validUntilBlock",
352
+ "type": "uint256"
353
+ }
354
+ ],
355
+ "name": "TransferOutOfArgonNotExpired",
356
+ "type": "error"
357
+ },
358
+ {
359
+ "inputs": [
360
+ {
361
+ "internalType": "address",
362
+ "name": "token",
363
+ "type": "address"
364
+ }
365
+ ],
366
+ "name": "UnsupportedToken",
367
+ "type": "error"
368
+ },
369
+ {
370
+ "inputs": [],
371
+ "name": "ZeroAdminSafe",
372
+ "type": "error"
373
+ },
374
+ {
375
+ "inputs": [],
376
+ "name": "ZeroAmount",
377
+ "type": "error"
378
+ },
379
+ {
380
+ "inputs": [],
381
+ "name": "ZeroGuardian",
382
+ "type": "error"
383
+ },
384
+ {
385
+ "inputs": [],
386
+ "name": "ZeroMicrogonsPerArgonot",
387
+ "type": "error"
388
+ },
389
+ {
390
+ "inputs": [
391
+ {
392
+ "internalType": "uint256",
393
+ "name": "index",
394
+ "type": "uint256"
395
+ }
396
+ ],
397
+ "name": "ZeroRecipient",
398
+ "type": "error"
399
+ },
400
+ {
401
+ "inputs": [],
402
+ "name": "ZeroSigningKey",
403
+ "type": "error"
404
+ },
405
+ {
406
+ "anonymous": false,
407
+ "inputs": [
408
+ {
409
+ "indexed": true,
410
+ "internalType": "bytes32",
411
+ "name": "councilHash",
412
+ "type": "bytes32"
413
+ }
414
+ ],
415
+ "name": "GlobalIssuanceCouncilBootstrapped",
416
+ "type": "event"
417
+ },
418
+ {
419
+ "anonymous": false,
420
+ "inputs": [
421
+ {
422
+ "indexed": true,
423
+ "internalType": "bytes32",
424
+ "name": "previousCouncilHash",
425
+ "type": "bytes32"
426
+ },
427
+ {
428
+ "indexed": true,
429
+ "internalType": "bytes32",
430
+ "name": "councilHash",
431
+ "type": "bytes32"
432
+ }
433
+ ],
434
+ "name": "GlobalIssuanceCouncilForceUpdated",
435
+ "type": "event"
436
+ },
437
+ {
438
+ "anonymous": false,
439
+ "inputs": [
440
+ {
441
+ "indexed": false,
442
+ "internalType": "bytes32",
443
+ "name": "councilHash",
444
+ "type": "bytes32"
445
+ },
446
+ {
447
+ "indexed": false,
448
+ "internalType": "bytes32",
449
+ "name": "relayerArgonAccountId",
450
+ "type": "bytes32"
451
+ },
452
+ {
453
+ "components": [
454
+ {
455
+ "internalType": "uint64",
456
+ "name": "gatewayActivityNonce",
457
+ "type": "uint64"
458
+ },
459
+ {
460
+ "internalType": "uint64",
461
+ "name": "argonApprovalsNonce",
462
+ "type": "uint64"
463
+ },
464
+ {
465
+ "internalType": "uint128",
466
+ "name": "argonCirculation",
467
+ "type": "uint128"
468
+ },
469
+ {
470
+ "internalType": "uint128",
471
+ "name": "argonotCirculation",
472
+ "type": "uint128"
473
+ }
474
+ ],
475
+ "indexed": false,
476
+ "internalType": "struct MintingGateway.GatewayActivityState",
477
+ "name": "gatewayState",
478
+ "type": "tuple"
479
+ }
480
+ ],
481
+ "name": "GlobalIssuanceCouncilRotated",
482
+ "type": "event"
483
+ },
484
+ {
485
+ "anonymous": false,
486
+ "inputs": [
487
+ {
488
+ "indexed": true,
489
+ "internalType": "address",
490
+ "name": "previousGuardian",
491
+ "type": "address"
492
+ },
493
+ {
494
+ "indexed": true,
495
+ "internalType": "address",
496
+ "name": "newGuardian",
497
+ "type": "address"
498
+ }
499
+ ],
500
+ "name": "GuardianUpdated",
501
+ "type": "event"
502
+ },
503
+ {
504
+ "anonymous": false,
505
+ "inputs": [
506
+ {
507
+ "indexed": false,
508
+ "internalType": "uint64",
509
+ "name": "version",
510
+ "type": "uint64"
511
+ }
512
+ ],
513
+ "name": "Initialized",
514
+ "type": "event"
515
+ },
516
+ {
517
+ "anonymous": false,
518
+ "inputs": [
519
+ {
520
+ "indexed": false,
521
+ "internalType": "uint256",
522
+ "name": "argonRecipientCount",
523
+ "type": "uint256"
524
+ },
525
+ {
526
+ "indexed": false,
527
+ "internalType": "uint256",
528
+ "name": "argonTotalAmount",
529
+ "type": "uint256"
530
+ },
531
+ {
532
+ "indexed": false,
533
+ "internalType": "uint256",
534
+ "name": "argonotRecipientCount",
535
+ "type": "uint256"
536
+ },
537
+ {
538
+ "indexed": false,
539
+ "internalType": "uint256",
540
+ "name": "argonotTotalAmount",
541
+ "type": "uint256"
542
+ }
543
+ ],
544
+ "name": "MigrationCompleted",
545
+ "type": "event"
546
+ },
547
+ {
548
+ "anonymous": false,
549
+ "inputs": [
550
+ {
551
+ "indexed": true,
552
+ "internalType": "address",
553
+ "name": "signingKey",
554
+ "type": "address"
555
+ },
556
+ {
557
+ "indexed": false,
558
+ "internalType": "uint128",
559
+ "name": "microgonCollateral",
560
+ "type": "uint128"
561
+ },
562
+ {
563
+ "indexed": false,
564
+ "internalType": "uint128",
565
+ "name": "micronotCollateral",
566
+ "type": "uint128"
567
+ },
568
+ {
569
+ "indexed": false,
570
+ "internalType": "uint32",
571
+ "name": "coactivationCount",
572
+ "type": "uint32"
573
+ },
574
+ {
575
+ "indexed": false,
576
+ "internalType": "uint32",
577
+ "name": "sharedSignatureCount",
578
+ "type": "uint32"
579
+ },
580
+ {
581
+ "indexed": false,
582
+ "internalType": "bytes32",
583
+ "name": "relayerArgonAccountId",
584
+ "type": "bytes32"
585
+ },
586
+ {
587
+ "components": [
588
+ {
589
+ "internalType": "uint64",
590
+ "name": "gatewayActivityNonce",
591
+ "type": "uint64"
592
+ },
593
+ {
594
+ "internalType": "uint64",
595
+ "name": "argonApprovalsNonce",
596
+ "type": "uint64"
597
+ },
598
+ {
599
+ "internalType": "uint128",
600
+ "name": "argonCirculation",
601
+ "type": "uint128"
602
+ },
603
+ {
604
+ "internalType": "uint128",
605
+ "name": "argonotCirculation",
606
+ "type": "uint128"
607
+ }
608
+ ],
609
+ "indexed": false,
610
+ "internalType": "struct MintingGateway.GatewayActivityState",
611
+ "name": "gatewayState",
612
+ "type": "tuple"
613
+ }
614
+ ],
615
+ "name": "MintingAuthorityActivated",
616
+ "type": "event"
617
+ },
618
+ {
619
+ "anonymous": false,
620
+ "inputs": [
621
+ {
622
+ "indexed": true,
623
+ "internalType": "address",
624
+ "name": "signingKey",
625
+ "type": "address"
626
+ },
627
+ {
628
+ "indexed": false,
629
+ "internalType": "uint128",
630
+ "name": "microgonCollateral",
631
+ "type": "uint128"
632
+ },
633
+ {
634
+ "indexed": false,
635
+ "internalType": "uint128",
636
+ "name": "micronotCollateral",
637
+ "type": "uint128"
638
+ },
639
+ {
640
+ "indexed": false,
641
+ "internalType": "bytes32",
642
+ "name": "relayerArgonAccountId",
643
+ "type": "bytes32"
644
+ },
645
+ {
646
+ "components": [
647
+ {
648
+ "internalType": "uint64",
649
+ "name": "gatewayActivityNonce",
650
+ "type": "uint64"
651
+ },
652
+ {
653
+ "internalType": "uint64",
654
+ "name": "argonApprovalsNonce",
655
+ "type": "uint64"
656
+ },
657
+ {
658
+ "internalType": "uint128",
659
+ "name": "argonCirculation",
660
+ "type": "uint128"
661
+ },
662
+ {
663
+ "internalType": "uint128",
664
+ "name": "argonotCirculation",
665
+ "type": "uint128"
666
+ }
667
+ ],
668
+ "indexed": false,
669
+ "internalType": "struct MintingGateway.GatewayActivityState",
670
+ "name": "gatewayState",
671
+ "type": "tuple"
672
+ }
673
+ ],
674
+ "name": "MintingAuthorityDeactivated",
675
+ "type": "event"
676
+ },
677
+ {
678
+ "anonymous": false,
679
+ "inputs": [
680
+ {
681
+ "indexed": true,
682
+ "internalType": "address",
683
+ "name": "previousOwner",
684
+ "type": "address"
685
+ },
686
+ {
687
+ "indexed": true,
688
+ "internalType": "address",
689
+ "name": "newOwner",
690
+ "type": "address"
691
+ }
692
+ ],
693
+ "name": "OwnershipTransferred",
694
+ "type": "event"
695
+ },
696
+ {
697
+ "anonymous": false,
698
+ "inputs": [
699
+ {
700
+ "indexed": false,
701
+ "internalType": "address",
702
+ "name": "account",
703
+ "type": "address"
704
+ }
705
+ ],
706
+ "name": "Paused",
707
+ "type": "event"
708
+ },
709
+ {
710
+ "anonymous": false,
711
+ "inputs": [
712
+ {
713
+ "indexed": false,
714
+ "internalType": "bytes32",
715
+ "name": "transferId",
716
+ "type": "bytes32"
717
+ },
718
+ {
719
+ "components": [
720
+ {
721
+ "internalType": "uint64",
722
+ "name": "gatewayActivityNonce",
723
+ "type": "uint64"
724
+ },
725
+ {
726
+ "internalType": "uint64",
727
+ "name": "argonApprovalsNonce",
728
+ "type": "uint64"
729
+ },
730
+ {
731
+ "internalType": "uint128",
732
+ "name": "argonCirculation",
733
+ "type": "uint128"
734
+ },
735
+ {
736
+ "internalType": "uint128",
737
+ "name": "argonotCirculation",
738
+ "type": "uint128"
739
+ }
740
+ ],
741
+ "indexed": false,
742
+ "internalType": "struct MintingGateway.GatewayActivityState",
743
+ "name": "gatewayState",
744
+ "type": "tuple"
745
+ }
746
+ ],
747
+ "name": "TransferOutOfArgonCanceled",
748
+ "type": "event"
749
+ },
750
+ {
751
+ "anonymous": false,
752
+ "inputs": [
753
+ {
754
+ "indexed": false,
755
+ "internalType": "bytes32",
756
+ "name": "transferId",
757
+ "type": "bytes32"
758
+ },
759
+ {
760
+ "indexed": false,
761
+ "internalType": "address",
762
+ "name": "token",
763
+ "type": "address"
764
+ },
765
+ {
766
+ "indexed": false,
767
+ "internalType": "uint128",
768
+ "name": "amount",
769
+ "type": "uint128"
770
+ },
771
+ {
772
+ "components": [
773
+ {
774
+ "internalType": "address",
775
+ "name": "signingKey",
776
+ "type": "address"
777
+ },
778
+ {
779
+ "internalType": "uint128",
780
+ "name": "microgonCollateral",
781
+ "type": "uint128"
782
+ },
783
+ {
784
+ "internalType": "uint128",
785
+ "name": "micronotCollateral",
786
+ "type": "uint128"
787
+ }
788
+ ],
789
+ "indexed": false,
790
+ "internalType": "struct MintingGateway.MintingAuthorityCollateral[]",
791
+ "name": "mintingCollateral",
792
+ "type": "tuple[]"
793
+ },
794
+ {
795
+ "components": [
796
+ {
797
+ "internalType": "uint64",
798
+ "name": "gatewayActivityNonce",
799
+ "type": "uint64"
800
+ },
801
+ {
802
+ "internalType": "uint64",
803
+ "name": "argonApprovalsNonce",
804
+ "type": "uint64"
805
+ },
806
+ {
807
+ "internalType": "uint128",
808
+ "name": "argonCirculation",
809
+ "type": "uint128"
810
+ },
811
+ {
812
+ "internalType": "uint128",
813
+ "name": "argonotCirculation",
814
+ "type": "uint128"
815
+ }
816
+ ],
817
+ "indexed": false,
818
+ "internalType": "struct MintingGateway.GatewayActivityState",
819
+ "name": "gatewayState",
820
+ "type": "tuple"
821
+ }
822
+ ],
823
+ "name": "TransferOutOfArgonFinalized",
824
+ "type": "event"
825
+ },
826
+ {
827
+ "anonymous": false,
828
+ "inputs": [
829
+ {
830
+ "indexed": true,
831
+ "internalType": "address",
832
+ "name": "from",
833
+ "type": "address"
834
+ },
835
+ {
836
+ "indexed": true,
837
+ "internalType": "address",
838
+ "name": "token",
839
+ "type": "address"
840
+ },
841
+ {
842
+ "indexed": false,
843
+ "internalType": "uint128",
844
+ "name": "amount",
845
+ "type": "uint128"
846
+ },
847
+ {
848
+ "indexed": false,
849
+ "internalType": "bytes32",
850
+ "name": "argonAccountId",
851
+ "type": "bytes32"
852
+ },
853
+ {
854
+ "components": [
855
+ {
856
+ "internalType": "uint64",
857
+ "name": "gatewayActivityNonce",
858
+ "type": "uint64"
859
+ },
860
+ {
861
+ "internalType": "uint64",
862
+ "name": "argonApprovalsNonce",
863
+ "type": "uint64"
864
+ },
865
+ {
866
+ "internalType": "uint128",
867
+ "name": "argonCirculation",
868
+ "type": "uint128"
869
+ },
870
+ {
871
+ "internalType": "uint128",
872
+ "name": "argonotCirculation",
873
+ "type": "uint128"
874
+ }
875
+ ],
876
+ "indexed": false,
877
+ "internalType": "struct MintingGateway.GatewayActivityState",
878
+ "name": "gatewayState",
879
+ "type": "tuple"
880
+ }
881
+ ],
882
+ "name": "TransferToArgonStarted",
883
+ "type": "event"
884
+ },
885
+ {
886
+ "anonymous": false,
887
+ "inputs": [
888
+ {
889
+ "indexed": false,
890
+ "internalType": "address",
891
+ "name": "account",
892
+ "type": "address"
893
+ }
894
+ ],
895
+ "name": "Unpaused",
896
+ "type": "event"
897
+ },
898
+ {
899
+ "inputs": [],
900
+ "name": "RUNTIME_DECIMALS",
901
+ "outputs": [
902
+ {
903
+ "internalType": "uint8",
904
+ "name": "",
905
+ "type": "uint8"
906
+ }
907
+ ],
908
+ "stateMutability": "view",
909
+ "type": "function"
910
+ },
911
+ {
912
+ "inputs": [],
913
+ "name": "RUNTIME_TO_ERC20_SCALE",
914
+ "outputs": [
915
+ {
916
+ "internalType": "uint256",
917
+ "name": "",
918
+ "type": "uint256"
919
+ }
920
+ ],
921
+ "stateMutability": "view",
922
+ "type": "function"
923
+ },
924
+ {
925
+ "inputs": [],
926
+ "name": "TOKEN_DECIMALS",
927
+ "outputs": [
928
+ {
929
+ "internalType": "uint8",
930
+ "name": "",
931
+ "type": "uint8"
932
+ }
933
+ ],
934
+ "stateMutability": "view",
935
+ "type": "function"
936
+ },
937
+ {
938
+ "inputs": [
939
+ {
940
+ "internalType": "uint64",
941
+ "name": "locatorIndex",
942
+ "type": "uint64"
943
+ }
944
+ ],
945
+ "name": "activityBlockLocators",
946
+ "outputs": [
947
+ {
948
+ "internalType": "uint64",
949
+ "name": "blockNumber",
950
+ "type": "uint64"
951
+ },
952
+ {
953
+ "internalType": "uint64",
954
+ "name": "startGatewayActivityNonce",
955
+ "type": "uint64"
956
+ },
957
+ {
958
+ "internalType": "uint64",
959
+ "name": "endGatewayActivityNonce",
960
+ "type": "uint64"
961
+ }
962
+ ],
963
+ "stateMutability": "view",
964
+ "type": "function"
965
+ },
966
+ {
967
+ "inputs": [
968
+ {
969
+ "components": [
970
+ {
971
+ "internalType": "address[]",
972
+ "name": "signers",
973
+ "type": "address[]"
974
+ },
975
+ {
976
+ "internalType": "uint256[]",
977
+ "name": "weights",
978
+ "type": "uint256[]"
979
+ }
980
+ ],
981
+ "internalType": "struct MintingGateway.CouncilSnapshot",
982
+ "name": "currentCouncil",
983
+ "type": "tuple"
984
+ },
985
+ {
986
+ "components": [
987
+ {
988
+ "internalType": "uint64",
989
+ "name": "queueNonce",
990
+ "type": "uint64"
991
+ },
992
+ {
993
+ "internalType": "enum MintingGateway.GatewayUpdateKind",
994
+ "name": "kind",
995
+ "type": "uint8"
996
+ },
997
+ {
998
+ "internalType": "bytes",
999
+ "name": "payload",
1000
+ "type": "bytes"
1001
+ },
1002
+ {
1003
+ "internalType": "bytes[]",
1004
+ "name": "signatures",
1005
+ "type": "bytes[]"
1006
+ }
1007
+ ],
1008
+ "internalType": "struct MintingGateway.GatewayUpdate[]",
1009
+ "name": "updates",
1010
+ "type": "tuple[]"
1011
+ },
1012
+ {
1013
+ "internalType": "bytes32",
1014
+ "name": "relayerArgonAccountId",
1015
+ "type": "bytes32"
1016
+ }
1017
+ ],
1018
+ "name": "applyGatewayUpdates",
1019
+ "outputs": [],
1020
+ "stateMutability": "nonpayable",
1021
+ "type": "function"
1022
+ },
1023
+ {
1024
+ "inputs": [],
1025
+ "name": "argonApprovalsHash",
1026
+ "outputs": [
1027
+ {
1028
+ "internalType": "bytes32",
1029
+ "name": "",
1030
+ "type": "bytes32"
1031
+ }
1032
+ ],
1033
+ "stateMutability": "view",
1034
+ "type": "function"
1035
+ },
1036
+ {
1037
+ "inputs": [],
1038
+ "name": "argonApprovalsNonce",
1039
+ "outputs": [
1040
+ {
1041
+ "internalType": "uint64",
1042
+ "name": "",
1043
+ "type": "uint64"
1044
+ }
1045
+ ],
1046
+ "stateMutability": "view",
1047
+ "type": "function"
1048
+ },
1049
+ {
1050
+ "inputs": [],
1051
+ "name": "argonCirculation",
1052
+ "outputs": [
1053
+ {
1054
+ "internalType": "uint128",
1055
+ "name": "",
1056
+ "type": "uint128"
1057
+ }
1058
+ ],
1059
+ "stateMutability": "view",
1060
+ "type": "function"
1061
+ },
1062
+ {
1063
+ "inputs": [],
1064
+ "name": "argonToken",
1065
+ "outputs": [
1066
+ {
1067
+ "internalType": "address",
1068
+ "name": "",
1069
+ "type": "address"
1070
+ }
1071
+ ],
1072
+ "stateMutability": "view",
1073
+ "type": "function"
1074
+ },
1075
+ {
1076
+ "inputs": [],
1077
+ "name": "argonotCirculation",
1078
+ "outputs": [
1079
+ {
1080
+ "internalType": "uint128",
1081
+ "name": "",
1082
+ "type": "uint128"
1083
+ }
1084
+ ],
1085
+ "stateMutability": "view",
1086
+ "type": "function"
1087
+ },
1088
+ {
1089
+ "inputs": [],
1090
+ "name": "argonotToken",
1091
+ "outputs": [
1092
+ {
1093
+ "internalType": "address",
1094
+ "name": "",
1095
+ "type": "address"
1096
+ }
1097
+ ],
1098
+ "stateMutability": "view",
1099
+ "type": "function"
1100
+ },
1101
+ {
1102
+ "inputs": [
1103
+ {
1104
+ "components": [
1105
+ {
1106
+ "internalType": "bytes32",
1107
+ "name": "argonAccountId",
1108
+ "type": "bytes32"
1109
+ },
1110
+ {
1111
+ "internalType": "uint64",
1112
+ "name": "argonTransferNonce",
1113
+ "type": "uint64"
1114
+ },
1115
+ {
1116
+ "internalType": "uint64",
1117
+ "name": "chainId",
1118
+ "type": "uint64"
1119
+ },
1120
+ {
1121
+ "internalType": "uint128",
1122
+ "name": "microgonsPerArgonot",
1123
+ "type": "uint128"
1124
+ },
1125
+ {
1126
+ "internalType": "address",
1127
+ "name": "recipient",
1128
+ "type": "address"
1129
+ },
1130
+ {
1131
+ "internalType": "uint64",
1132
+ "name": "validUntilBlock",
1133
+ "type": "uint64"
1134
+ },
1135
+ {
1136
+ "internalType": "address",
1137
+ "name": "token",
1138
+ "type": "address"
1139
+ },
1140
+ {
1141
+ "internalType": "uint128",
1142
+ "name": "amount",
1143
+ "type": "uint128"
1144
+ },
1145
+ {
1146
+ "internalType": "uint128",
1147
+ "name": "mintingAuthorityTip",
1148
+ "type": "uint128"
1149
+ }
1150
+ ],
1151
+ "internalType": "struct MintingGateway.TransferOutOfArgonRequest",
1152
+ "name": "request",
1153
+ "type": "tuple"
1154
+ }
1155
+ ],
1156
+ "name": "cancelTransferOutOfArgon",
1157
+ "outputs": [],
1158
+ "stateMutability": "nonpayable",
1159
+ "type": "function"
1160
+ },
1161
+ {
1162
+ "inputs": [
1163
+ {
1164
+ "components": [
1165
+ {
1166
+ "internalType": "bytes32",
1167
+ "name": "argonAccountId",
1168
+ "type": "bytes32"
1169
+ },
1170
+ {
1171
+ "internalType": "uint64",
1172
+ "name": "argonTransferNonce",
1173
+ "type": "uint64"
1174
+ },
1175
+ {
1176
+ "internalType": "uint64",
1177
+ "name": "chainId",
1178
+ "type": "uint64"
1179
+ },
1180
+ {
1181
+ "internalType": "uint128",
1182
+ "name": "microgonsPerArgonot",
1183
+ "type": "uint128"
1184
+ },
1185
+ {
1186
+ "internalType": "address",
1187
+ "name": "recipient",
1188
+ "type": "address"
1189
+ },
1190
+ {
1191
+ "internalType": "uint64",
1192
+ "name": "validUntilBlock",
1193
+ "type": "uint64"
1194
+ },
1195
+ {
1196
+ "internalType": "address",
1197
+ "name": "token",
1198
+ "type": "address"
1199
+ },
1200
+ {
1201
+ "internalType": "uint128",
1202
+ "name": "amount",
1203
+ "type": "uint128"
1204
+ },
1205
+ {
1206
+ "internalType": "uint128",
1207
+ "name": "mintingAuthorityTip",
1208
+ "type": "uint128"
1209
+ }
1210
+ ],
1211
+ "internalType": "struct MintingGateway.TransferOutOfArgonRequest",
1212
+ "name": "request",
1213
+ "type": "tuple"
1214
+ },
1215
+ {
1216
+ "components": [
1217
+ {
1218
+ "components": [
1219
+ {
1220
+ "internalType": "uint128",
1221
+ "name": "microgonCollateral",
1222
+ "type": "uint128"
1223
+ },
1224
+ {
1225
+ "internalType": "uint128",
1226
+ "name": "micronotCollateral",
1227
+ "type": "uint128"
1228
+ },
1229
+ {
1230
+ "internalType": "bytes",
1231
+ "name": "signature",
1232
+ "type": "bytes"
1233
+ }
1234
+ ],
1235
+ "internalType": "struct MintingGateway.MintingAuthorization[]",
1236
+ "name": "authorizations",
1237
+ "type": "tuple[]"
1238
+ }
1239
+ ],
1240
+ "internalType": "struct MintingGateway.TransferOutOfArgonProof",
1241
+ "name": "proof",
1242
+ "type": "tuple"
1243
+ }
1244
+ ],
1245
+ "name": "finalizeTransferOutOfArgon",
1246
+ "outputs": [],
1247
+ "stateMutability": "nonpayable",
1248
+ "type": "function"
1249
+ },
1250
+ {
1251
+ "inputs": [
1252
+ {
1253
+ "internalType": "bytes32",
1254
+ "name": "transferId",
1255
+ "type": "bytes32"
1256
+ }
1257
+ ],
1258
+ "name": "finalizedTransferOutOfArgonIds",
1259
+ "outputs": [
1260
+ {
1261
+ "internalType": "bool",
1262
+ "name": "isFinalized",
1263
+ "type": "bool"
1264
+ }
1265
+ ],
1266
+ "stateMutability": "view",
1267
+ "type": "function"
1268
+ },
1269
+ {
1270
+ "inputs": [
1271
+ {
1272
+ "components": [
1273
+ {
1274
+ "internalType": "address[]",
1275
+ "name": "signers",
1276
+ "type": "address[]"
1277
+ },
1278
+ {
1279
+ "internalType": "uint256[]",
1280
+ "name": "weights",
1281
+ "type": "uint256[]"
1282
+ }
1283
+ ],
1284
+ "internalType": "struct MintingGateway.CouncilSnapshot",
1285
+ "name": "nextCouncil",
1286
+ "type": "tuple"
1287
+ },
1288
+ {
1289
+ "internalType": "uint128",
1290
+ "name": "nextMicrogonsPerArgonot",
1291
+ "type": "uint128"
1292
+ }
1293
+ ],
1294
+ "name": "forceUpdateActiveCouncil",
1295
+ "outputs": [],
1296
+ "stateMutability": "nonpayable",
1297
+ "type": "function"
1298
+ },
1299
+ {
1300
+ "inputs": [],
1301
+ "name": "gatewayActivityNonce",
1302
+ "outputs": [
1303
+ {
1304
+ "internalType": "uint64",
1305
+ "name": "",
1306
+ "type": "uint64"
1307
+ }
1308
+ ],
1309
+ "stateMutability": "view",
1310
+ "type": "function"
1311
+ },
1312
+ {
1313
+ "inputs": [],
1314
+ "name": "globalIssuanceCouncil",
1315
+ "outputs": [
1316
+ {
1317
+ "internalType": "uint256",
1318
+ "name": "totalWeight",
1319
+ "type": "uint256"
1320
+ },
1321
+ {
1322
+ "internalType": "uint256",
1323
+ "name": "memberCount",
1324
+ "type": "uint256"
1325
+ },
1326
+ {
1327
+ "internalType": "bytes32",
1328
+ "name": "councilHash",
1329
+ "type": "bytes32"
1330
+ },
1331
+ {
1332
+ "internalType": "uint128",
1333
+ "name": "epochMicrogonsPerArgonot",
1334
+ "type": "uint128"
1335
+ }
1336
+ ],
1337
+ "stateMutability": "view",
1338
+ "type": "function"
1339
+ },
1340
+ {
1341
+ "inputs": [],
1342
+ "name": "guardian",
1343
+ "outputs": [
1344
+ {
1345
+ "internalType": "address",
1346
+ "name": "",
1347
+ "type": "address"
1348
+ }
1349
+ ],
1350
+ "stateMutability": "view",
1351
+ "type": "function"
1352
+ },
1353
+ {
1354
+ "inputs": [
1355
+ {
1356
+ "internalType": "address",
1357
+ "name": "adminSafe",
1358
+ "type": "address"
1359
+ },
1360
+ {
1361
+ "internalType": "address",
1362
+ "name": "guardianAddress",
1363
+ "type": "address"
1364
+ },
1365
+ {
1366
+ "internalType": "bytes32",
1367
+ "name": "councilHash",
1368
+ "type": "bytes32"
1369
+ },
1370
+ {
1371
+ "internalType": "uint256",
1372
+ "name": "councilMemberCount",
1373
+ "type": "uint256"
1374
+ },
1375
+ {
1376
+ "internalType": "uint256",
1377
+ "name": "councilTotalWeight",
1378
+ "type": "uint256"
1379
+ },
1380
+ {
1381
+ "internalType": "uint128",
1382
+ "name": "initialMicrogonsPerArgonot",
1383
+ "type": "uint128"
1384
+ }
1385
+ ],
1386
+ "name": "initialize",
1387
+ "outputs": [],
1388
+ "stateMutability": "nonpayable",
1389
+ "type": "function"
1390
+ },
1391
+ {
1392
+ "inputs": [],
1393
+ "name": "latestActivityBlockLocatorIndex",
1394
+ "outputs": [
1395
+ {
1396
+ "internalType": "uint64",
1397
+ "name": "",
1398
+ "type": "uint64"
1399
+ }
1400
+ ],
1401
+ "stateMutability": "view",
1402
+ "type": "function"
1403
+ },
1404
+ {
1405
+ "inputs": [],
1406
+ "name": "maxTransferOutMicrogonsPerArgonot",
1407
+ "outputs": [
1408
+ {
1409
+ "internalType": "uint128",
1410
+ "name": "",
1411
+ "type": "uint128"
1412
+ }
1413
+ ],
1414
+ "stateMutability": "view",
1415
+ "type": "function"
1416
+ },
1417
+ {
1418
+ "inputs": [
1419
+ {
1420
+ "components": [
1421
+ {
1422
+ "internalType": "address[]",
1423
+ "name": "recipients",
1424
+ "type": "address[]"
1425
+ },
1426
+ {
1427
+ "internalType": "uint256[]",
1428
+ "name": "amounts",
1429
+ "type": "uint256[]"
1430
+ }
1431
+ ],
1432
+ "internalType": "struct MintingGateway.MigrationAssetDistribution",
1433
+ "name": "argonMigration",
1434
+ "type": "tuple"
1435
+ },
1436
+ {
1437
+ "components": [
1438
+ {
1439
+ "internalType": "address[]",
1440
+ "name": "recipients",
1441
+ "type": "address[]"
1442
+ },
1443
+ {
1444
+ "internalType": "uint256[]",
1445
+ "name": "amounts",
1446
+ "type": "uint256[]"
1447
+ }
1448
+ ],
1449
+ "internalType": "struct MintingGateway.MigrationAssetDistribution",
1450
+ "name": "argonotMigration",
1451
+ "type": "tuple"
1452
+ }
1453
+ ],
1454
+ "name": "migrate",
1455
+ "outputs": [],
1456
+ "stateMutability": "nonpayable",
1457
+ "type": "function"
1458
+ },
1459
+ {
1460
+ "inputs": [],
1461
+ "name": "migrationCompleted",
1462
+ "outputs": [
1463
+ {
1464
+ "internalType": "bool",
1465
+ "name": "",
1466
+ "type": "bool"
1467
+ }
1468
+ ],
1469
+ "stateMutability": "view",
1470
+ "type": "function"
1471
+ },
1472
+ {
1473
+ "inputs": [
1474
+ {
1475
+ "internalType": "address",
1476
+ "name": "signingKey",
1477
+ "type": "address"
1478
+ }
1479
+ ],
1480
+ "name": "mintingAuthorityCollateralRemaining",
1481
+ "outputs": [
1482
+ {
1483
+ "internalType": "uint128",
1484
+ "name": "microgonCollateral",
1485
+ "type": "uint128"
1486
+ },
1487
+ {
1488
+ "internalType": "uint128",
1489
+ "name": "micronotCollateral",
1490
+ "type": "uint128"
1491
+ }
1492
+ ],
1493
+ "stateMutability": "view",
1494
+ "type": "function"
1495
+ },
1496
+ {
1497
+ "inputs": [],
1498
+ "name": "owner",
1499
+ "outputs": [
1500
+ {
1501
+ "internalType": "address",
1502
+ "name": "",
1503
+ "type": "address"
1504
+ }
1505
+ ],
1506
+ "stateMutability": "view",
1507
+ "type": "function"
1508
+ },
1509
+ {
1510
+ "inputs": [],
1511
+ "name": "pause",
1512
+ "outputs": [],
1513
+ "stateMutability": "nonpayable",
1514
+ "type": "function"
1515
+ },
1516
+ {
1517
+ "inputs": [],
1518
+ "name": "paused",
1519
+ "outputs": [
1520
+ {
1521
+ "internalType": "bool",
1522
+ "name": "",
1523
+ "type": "bool"
1524
+ }
1525
+ ],
1526
+ "stateMutability": "view",
1527
+ "type": "function"
1528
+ },
1529
+ {
1530
+ "inputs": [],
1531
+ "name": "renounceOwnership",
1532
+ "outputs": [],
1533
+ "stateMutability": "nonpayable",
1534
+ "type": "function"
1535
+ },
1536
+ {
1537
+ "inputs": [
1538
+ {
1539
+ "internalType": "address",
1540
+ "name": "guardianAddress",
1541
+ "type": "address"
1542
+ }
1543
+ ],
1544
+ "name": "setGuardian",
1545
+ "outputs": [],
1546
+ "stateMutability": "nonpayable",
1547
+ "type": "function"
1548
+ },
1549
+ {
1550
+ "inputs": [
1551
+ {
1552
+ "internalType": "address",
1553
+ "name": "token",
1554
+ "type": "address"
1555
+ },
1556
+ {
1557
+ "internalType": "uint128",
1558
+ "name": "amount",
1559
+ "type": "uint128"
1560
+ },
1561
+ {
1562
+ "internalType": "bytes32",
1563
+ "name": "argonAccountId",
1564
+ "type": "bytes32"
1565
+ },
1566
+ {
1567
+ "internalType": "uint256",
1568
+ "name": "deadline",
1569
+ "type": "uint256"
1570
+ },
1571
+ {
1572
+ "internalType": "uint8",
1573
+ "name": "v",
1574
+ "type": "uint8"
1575
+ },
1576
+ {
1577
+ "internalType": "bytes32",
1578
+ "name": "r",
1579
+ "type": "bytes32"
1580
+ },
1581
+ {
1582
+ "internalType": "bytes32",
1583
+ "name": "s",
1584
+ "type": "bytes32"
1585
+ }
1586
+ ],
1587
+ "name": "startTransferToArgon",
1588
+ "outputs": [],
1589
+ "stateMutability": "nonpayable",
1590
+ "type": "function"
1591
+ },
1592
+ {
1593
+ "inputs": [
1594
+ {
1595
+ "internalType": "uint128",
1596
+ "name": "amount",
1597
+ "type": "uint128"
1598
+ }
1599
+ ],
1600
+ "name": "toTokenAmount",
1601
+ "outputs": [
1602
+ {
1603
+ "internalType": "uint256",
1604
+ "name": "",
1605
+ "type": "uint256"
1606
+ }
1607
+ ],
1608
+ "stateMutability": "pure",
1609
+ "type": "function"
1610
+ },
1611
+ {
1612
+ "inputs": [
1613
+ {
1614
+ "internalType": "address",
1615
+ "name": "newOwner",
1616
+ "type": "address"
1617
+ }
1618
+ ],
1619
+ "name": "transferOwnership",
1620
+ "outputs": [],
1621
+ "stateMutability": "nonpayable",
1622
+ "type": "function"
1623
+ },
1624
+ {
1625
+ "inputs": [],
1626
+ "name": "unpause",
1627
+ "outputs": [],
1628
+ "stateMutability": "nonpayable",
1629
+ "type": "function"
1630
+ }
1631
+ ],
1632
+ "bytecode": "0x60c060405234801562000010575f80fd5b506040516200458638038062004586833981016040819052620000339162000128565b6001600160a01b03808316608052811660a0526200005062000058565b50506200015e565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000a95760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001095780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b80516001600160a01b038116811462000123575f80fd5b919050565b5f80604083850312156200013a575f80fd5b62000145836200010c565b915062000155602084016200010c565b90509250929050565b60805160a0516143c7620001bf5f395f81816102df015281816112520152818161131401528181611c9f0152611d3101525f818161042901528181610b6001528181610fad0152818161120f01528181611c6e0152611cf401526143c75ff3fe608060405234801561000f575f80fd5b50600436106101f2575f3560e01c80636e2c7769116101145780638da5cb5b116100a9578063c017c90211610079578063c017c902146104d2578063d68d6311146104e5578063e52580a6146104f8578063ecec10a414610560578063f2fde38b14610573575f80fd5b80638da5cb5b14610466578063905d031f1461046e578063a3eb8961146104c1578063beabb591146104ca575f80fd5b80637c9afa67116100e45780637c9afa671461040257806383a4d591146104245780638456cb591461044b5780638a0dac4a14610453575f80fd5b80636e2c7769146103cc5780636e888c46146103df578063715018a6146103f257806378d350e0146103fa575f80fd5b80632ef29f3b1161018a578063452a93201161015a578063452a93201461038157806359b23872146103935780635b7f415c1461039b5780635c975abb146103b5575f80fd5b80632ef29f3b1461032157806331677980146103425780633f4ba83a14610366578063422ad8f61461036e575f80fd5b80631a5d93fd116101c55780631a5d93fd146102615780631c1eeae1146102a95780631e07f89e146102da5780632ceeddf514610319575f80fd5b8063014c72f6146101f657806309af0e3c1461020b578063138f87811461023b57806318a8f1f01461024e575b5f80fd5b610209610204366004613745565b610586565b005b60085461021e906001600160801b031681565b6040516001600160801b0390911681526020015b60405180910390f35b6102096102493660046137a0565b6106bd565b61020961025c366004613809565b610e22565b600454600554600654600754610280939291906001600160801b031684565b604080519485526020850193909352918301526001600160801b03166060820152608001610232565b5f546102c290600160a01b90046001600160401b031681565b6040516001600160401b039091168152602001610232565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610232565b61021e610fa7565b61033461032f366004613876565b611035565b604051908152602001610232565b60035461035690600160401b900460ff1681565b6040519015158152602001610232565b610209611066565b61020961037c36600461388f565b611078565b5f54610301906001600160a01b031681565b6103346111b4565b6103a3601281565b60405160ff9091168152602001610232565b5f805160206143728339815191525460ff16610356565b6001546102c2906001600160401b031681565b6102096103ed3660046138aa565b6111ce565b6102096112fd565b61021e61130e565b610356610410366004613909565b600a6020525f908152604090205460ff1681565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b61020961136e565b610209610461366004613920565b6113c9565b610301611447565b6104a161047c366004613920565b60096020525f90815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610232565b61033460025481565b6103a3600681565b6102096104e0366004613939565b611475565b6003546102c2906001600160401b031681565b610536610506366004613994565b600b6020525f90815260409020546001600160401b0380821691600160401b8104821691600160801b9091041683565b604080516001600160401b0394851681529284166020840152921691810191909152606001610232565b61020961056e3660046139ba565b61168f565b610209610581366004613920565b6119c2565b61058e6119ff565b806001600160801b03165f036105b757604051632440a7dd60e01b815260040160405180910390fd5b5f808061063d6105c78680613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250610605925050506020880188613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250899250611a31915050565b6040805160808101825260045481526005546020820152600654918101919091526007546001600160801b03166060820152929550909350915061068384848488611b4f565b8381604001517f33e53e90d61fdc868629a6234670f92c4445196f3f98ebd71935bbc76c7d915360405160405180910390a3505050505050565b6106c5611ba0565b6106ce82611bd0565b6106e66106e160e0840160c08501613920565b611c3a565b6106f7610100830160e08401613876565b6001600160801b03165f0361071f57604051631f2a200560e01b815260040160405180910390fd5b61072f60c0830160a08401613994565b6001600160401b0316431115610780574361075060c0840160a08501613994565b604051635728c7dd60e11b815260048101929092526001600160401b031660248201526044015b60405180910390fd5b5f61078a83611d8f565b905061079581611e98565b6107a56080840160608501613876565b6001600160801b03165f036107cd57604051632440a7dd60e01b815260040160405180910390fd5b6008546001600160801b0316806107ea6080860160608701613876565b6001600160801b03161115610836578061080a6080860160608701613876565b6040516343082d3360e01b81526001600160801b03928316600482015291166024820152604401610777565b5f8080806108448780613a51565b90506001600160401b0381111561085d5761085d613a9d565b6040519080825280602002602001820160405280156108a657816020015b604080516060810182525f80825260208083018290529282015282525f1990920191018161087b5790505b5090505f5b6108b58880613a51565b9050811015610b5557366108c98980613a51565b838181106108d9576108d9613ab1565b90506020028101906108eb9190613ac5565b90505f61093161091f61091a8d6109056020870187613876565b6109156040880160208901613876565b611eca565b611f57565b61092c6040850185613ae3565b611f89565b9050846001600160a01b0316816001600160a01b031611610965576040516309cf9e4960e11b815260040160405180910390fd5b6001600160a01b0381165f9081526009602090815260409091209061098c90840184613876565b81546001600160801b03918216911610806109cc57506109b26040840160208501613876565b81546001600160801b03918216600160801b909104909116105b156109f5576040516364fc3cd160e11b81526001600160a01b0383166004820152602401610777565b610a026020840184613876565b815482905f90610a1c9084906001600160801b0316613b39565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550826020016020810190610a539190613876565b81548290601090610a75908490600160801b90046001600160801b0316613b39565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550825f016020810190610aab9190613876565b610ab59089613b60565b9750610ac76040840160208501613876565b610ad19088613b60565b96506040518060600160405280836001600160a01b03168152602001845f016020810190610aff9190613876565b6001600160801b03168152602001846020016020810190610b209190613876565b6001600160801b0316815250858581518110610b3e57610b3e613ab1565b6020908102919091010152509350506001016108ab565b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610b9060e08a0160c08b01613920565b6001600160a01b031603610c5e575f610bab6006600a613c60565b610bbb60808b0160608c01613876565b6001600160801b0316856001600160801b0316610bd89190613c6e565b610be29190613c85565b90505f610bf8826001600160801b038816613ca4565b9050610c0b6101008b0160e08c01613876565b6001600160801b0316811015610c575780610c2d6101008c0160e08d01613876565b60405162f9825560e61b815260048101929092526001600160801b03166024820152604401610777565b5050610ced565b6001600160801b03841615610c8657604051630994a0f360e11b815260040160405180910390fd5b610c97610100890160e08a01613876565b6001600160801b0316836001600160801b03161015610ced5782610cc26101008a0160e08b01613876565b60405162f9825560e61b81526001600160801b03928316600482015291166024820152604401610777565b610d0b865f908152600a60205260409020805460ff19166001179055565b610d1b60e0890160c08a01613920565b6001600160a01b03166340c10f19610d3960a08b0160808c01613920565b610d4d61032f6101008d0160e08e01613876565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b158015610d90575f80fd5b505af1158015610da2573d5f803e3d5ffd5b505050505f610daf611fb3565b90507f64d79900ed82270f744ae62db527f4e328e336d8b51e77bc72601391fe779d0687610de360e08c0160c08d01613920565b610df46101008d0160e08e01613876565b85610dfe86612003565b604051610e0f959493929190613cf9565b60405180910390a1505050505050505050565b610e2a611ba0565b610e3387611c3a565b856001600160801b03165f03610e5c57604051631f2a200560e01b815260040160405180910390fd5b5f610e6687611035565b60405163d505accf60e01b8152336004820152306024820152604481018290526064810187905260ff8616608482015260a4810185905260c481018490529091506001600160a01b0389169063d505accf9060e4015f604051808303815f87803b158015610ed2575f80fd5b505af1158015610ee4573d5f803e3d5ffd5b505060405163079cc67960e41b8152336004820152602481018490526001600160a01b038b1692506379cc679091506044015f604051808303815f87803b158015610f2d575f80fd5b505af1158015610f3f573d5f803e3d5ffd5b505050505f610f4c611fb3565b90506001600160a01b038916337f3ab970a848f33363427e47cfbd7a627af0c6e72757f150137e38cef3cee24d938a8a610f8586612003565b604051610f9493929190613d91565b60405180910390a3505050505050505050565b5f6110307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611007573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102b9190613db5565b612078565b905090565b5f61104260066012613dcc565b61104d90600a613c60565b611060906001600160801b038416613c6e565b92915050565b61106e6119ff565b6110766120c8565b565b611080611ba0565b61108981611bd0565b61109c6106e160e0830160c08401613920565b6110ad610100820160e08301613876565b6001600160801b03165f036110d557604051631f2a200560e01b815260040160405180910390fd5b6110e560c0820160a08301613994565b6001600160401b03164311611130574361110560c0830160a08401613994565b6040516374276dcf60e11b815260048101929092526001600160401b03166024820152604401610777565b5f61113a82611d8f565b905061114581611e98565b611163815f908152600a60205260409020805460ff19166001179055565b5f61116c611fb3565b90507f3cb8789e9bf6f532eec2bc8ffee9b622fc0d6e6daefb7fb6bb2e2f7b2d62e4528261119983612003565b6040516111a7929190613de5565b60405180910390a1505050565b6111c060066012613dcc565b6111cb90600a613c60565b81565b6111d66119ff565b6111de611ba0565b600354600160401b900460ff161561120957604051633dbff3b560e01b815260040160405180910390fd5b5f61124a7f00000000000000000000000000000000000000000000000000000000000000006112388580613a51565b6112456020880188613a51565b612127565b90505f61127b7f00000000000000000000000000000000000000000000000000000000000000006112388580613a51565b6003805460ff60401b1916600160401b17905590507fc255ddc45163282f24909556f7475ab4ec8eb1d51763b25a4560cee9f43d06456112bb8580613a51565b9050836112c88680613a51565b6040516112ef94939250869093845260208401929092526040830152606082015260800190565b60405180910390a150505050565b6113056119ff565b6110765f612266565b5f6110307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611007573d5f803e3d5ffd5b5f546001600160a01b031633148015906113a1575061138b611447565b6001600160a01b0316336001600160a01b031614155b156113c15760405163354de03160e21b8152336004820152602401610777565b6110766122d6565b6113d16119ff565b6001600160a01b0381166113f85760405163a91f6a8960e01b815260040160405180910390fd5b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f064d28d3d3071c5cbc271a261c10c2f0f0d9e319390397101aa0eb23c6bad9099190a35050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b5f61147e61231e565b805490915060ff600160401b82041615906001600160401b03165f811580156114a45750825b90505f826001600160401b031660011480156114bf5750303b155b9050811580156114cd575080155b156114eb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561151557845460ff60401b1916600160401b1785555b6001600160a01b038b1661153c576040516314030c0360e11b815260040160405180910390fd5b6001600160a01b038a166115635760405163a91f6a8960e01b815260040160405180910390fd5b88158061156e575087155b80611577575086155b156115975760405163665c282b60e01b81525f6004820152602401610777565b856001600160801b03165f036115c057604051632440a7dd60e01b815260040160405180910390fd5b6115c98b612346565b6115d1612357565b5f80546001600160a01b0319166001600160a01b038c161790556115f789888a89611b4f565b600880546001600160801b0319166001600160801b03881617905560405189907fac3566d46c25f65b48d269870da4b9349704c79de13ad49b115532834d7e7ed1905f90a2831561168257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050565b611697611ba0565b81158015906116f55750600283836116b0600182613e0d565b8181106116bf576116bf613ab1565b90506020028101906116d19190613e20565b6116e2906040810190602001613e34565b60028111156116f3576116f3613df9565b145b156117135760405163bf3d210b60e01b815260040160405180910390fd5b60065461173357604051632c1dfd4f60e11b815260040160405180910390fd5b5f61173d8561235f565b6002549091505f846001600160401b0381111561175c5761175c613a9d565b604051908082528060200260200182016040528015611785578160200160208202803683370190505b5090505f856001600160401b038111156117a1576117a1613a9d565b6040519080825280602002602001820160405280156117ca578160200160208202803683370190505b5090505f6117da88888585612524565b90505f5b878110156119b657368989838181106117f9576117f9613ab1565b905060200281019061180b9190613e20565b600180549192505f91611829916001600160401b0390911690613e52565b90506001600160401b0381166118426020840184613994565b6001600160401b03161461188a578061185e6020840184613994565b604051635efa452960e11b81526001600160401b03928316600482015291166024820152604401610777565b600261189c6040840160208501613e34565b60028111156118ad576118ad613df9565b036118c4576118bd82888b61278b565b96506119ac565b5f6118d56040840160208501613e34565b60028111156118e6576118e6613df9565b03611901576118f78289898c612974565b90985096506119ac565b60016119136040840160208501613e34565b600281111561192457611924613df9565b0361196c576118bd8289898787148a888151811061194457611944613ab1565b60200260200101518a898151811061195e5761195e613ab1565b60200260200101518f612b61565b61197c6040830160208401613e34565b600281111561198d5761198d613df9565b60405163b99607f960e01b815260ff9091166004820152602401610777565b50506001016117de565b50505050505050505050565b6119ca6119ff565b6001600160a01b0381166119f357604051631e4fbdf760e01b81525f6004820152602401610777565b6119fc81612266565b50565b33611a08611447565b6001600160a01b0316146110765760405163118cdaa760e01b8152336004820152602401610777565b5f805f85515f03611a575760405163665c282b60e01b81525f6004820152602401610777565b8451865114611a795760405163512509d360e11b815260040160405180910390fd5b5f805b8751811015611b33575f888281518110611a9857611a98613ab1565b602002602001015190505f888381518110611ab557611ab5613ab1565b602002602001015190505f6001600160a01b0316826001600160a01b03161480611add575080155b80611afa5750836001600160a01b0316826001600160a01b031611155b15611b1b5760405163665c282b60e01b815260048101849052602401610777565b611b258187613ca4565b955090925050600101611a7c565b5086519150611b43878787612df3565b93505093509350939050565b60408051608081018252848152602081018490529081018590526001600160801b039091166060909101819052600492909255600555600691909155600780546001600160801b0319169091179055565b5f805160206143728339815191525460ff16156110765760405163d93c066560e01b815260040160405180910390fd5b466001600160401b038116611beb6060840160408501613994565b6001600160401b031614611c365780611c0a6060840160408501613994565b6040516332e3634d60e21b81526001600160401b03928316600482015291166024820152604401610777565b5050565b6001600160a01b038116611c6c57604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580611cc957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316155b15611cf257604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015611d6657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b156119fc57604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b5f8135611da26040840160208501613994565b611db26060850160408601613994565b611dc26080860160608701613876565b611dd260a0870160808801613920565b611de260c0880160a08901613994565b611df260e0890160c08a01613920565b611e036101008a0160e08b01613876565b611e156101208b016101008c01613876565b60408051602081019a909a526001600160401b03988916908a015295871660608901526001600160801b0394851660808901526001600160a01b0393841660a08901529590911660c08701521660e08501529182166101008401521661012082015261014001604051602081830303815290604052805190602001209050919050565b5f818152600a602052604090205460ff16156119fc57604051632910aca360e01b815260048101829052602401610777565b5f7f28bf99522b0d2f26a76cdeda71578156383bbae91175ca503165cfdbbd1ff34a4630611ef787611d8f565b6040805160208101959095528401929092526001600160a01b0316606083015260808201526001600160801b0380851660a0830152831660c082015260e0015b6040516020818303038152906040528051906020012090505b9392505050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b5f805f80611f98878787612e09565b925092509250611fa88282612e50565b509095945050505050565b5f8054611fd190600160a01b90046001600160401b03166001613e52565b5f805467ffffffffffffffff60a01b1916600160a01b6001600160401b03841602179055905061200081612f08565b90565b604080516080810182525f808252602082018190529181018290526060810191909152604080516080810182526001600160401b038085168252600154166020820152908101612051610fa7565b6001600160801b0316815260200161206761130e565b6001600160801b0316905292915050565b5f8061208660066012613dcc565b61209190600a613c60565b61209b9084613c85565b90506001600160801b0381111561106057604051639940a77560e01b815260048101829052602401610777565b6120d06130d1565b5f80516020614372833981519152805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b5f8382146121485760405163512509d360e11b815260040160405180910390fd5b5f5b8481101561225c575f86868381811061216557612165613ab1565b905060200201602081019061217a9190613920565b90505f85858481811061218f5761218f613ab1565b60200291909101359150506001600160a01b0382166121c457604051633bca2f5160e21b815260048101849052602401610777565b805f036121e457604051631f2a200560e01b815260040160405180910390fd5b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390528a16906340c10f19906044015f604051808303815f87803b15801561222b575f80fd5b505af115801561223d573d5f803e3d5ffd5b50505050808461224d9190613ca4565b9350505080600101905061214a565b5095945050505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6122de611ba0565b5f80516020614372833981519152805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612109565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00611060565b61234e613100565b6119fc81613125565b611076613100565b6123916040518060a0016040528060608152602001606081526020015f80191681526020015f81526020015f81525090565b5f80806124226123a18680613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506123df925050506020880188613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250506007546001600160801b03169150611a319050565b9250925092506004600201548314158061243e57506004548214155b8061244b57506005548114155b1561247757600654604051633b21437560e21b8152600481019190915260248101849052604401610777565b6040805160a081019091528061248d8780613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506020908101906124d290880188613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506020810194909452604084019290925260609092019190915292915050565b825f816001600160401b0381111561253e5761253e613a9d565b604051908082528060200260200182016040528015612567578160200160208202803683370190505b5090505f80865b80156125d95761257d81613e72565b9050600289898381811061259357612593613ab1565b90506020028101906125a59190613e20565b6125b6906040810190602001613e34565b60028111156125c7576125c7613df9565b146125d4578094506125d9565b61256e565b505f5b8781101561277f575f8989838181106125f7576125f7613ab1565b90506020028101906126099190613e20565b61261a906040810190602001613e34565b9050600181600281111561263057612630613df9565b0361266f5781858563ffffffff168151811061264e5761264e613ab1565b63ffffffff9092166020928302919091019091015261266c84613e87565b93505b5f81600281111561268257612682613df9565b148061268d57508582145b15612776578989838181106126a4576126a4613ab1565b90506020028101906126b69190613e20565b6126c4906060810190613a51565b6126cf915084613ea9565b925063ffffffff841615612776575f5b8463ffffffff1681101561276e575f86828151811061270057612700613ab1565b602002602001015163ffffffff169050858a828151811061272357612723613ab1565b602002602001019063ffffffff16908163ffffffff16815250508489828151811061275057612750613ab1565b63ffffffff90921660209283029190910190910152506001016126df565b505f93505f92505b506001016125dc565b50505050949350505050565b5f8061279a6040860186613ae3565b8101906127a79190613f1e565b90506127b66060860186613a51565b90506001146127f15760016127ce6060870187613a51565b604051636b01174760e11b81526004810193909352602483015250604401610777565b6128096128016020870187613994565b82518661312d565b91505f61284761281884611f57565b6128256060890189613a51565b5f81811061283557612835613ab1565b905060200281019061092c9190613ae3565b9050815f01516001600160a01b0316816001600160a01b031614612894578151604051630be4b0e160e01b81526001600160a01b0391821660048201529082166024820152604401610777565b81516001600160a01b039081165f9081526009602090815260408083208054875190951684529083209290925590916001600160801b0380821692600160801b90920416906128e5908a018a613994565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028690555f612914611fb3565b86519091506001600160a01b03167ff92f117a698345a1b681cf04280fb5da65a05a9ac88aaacad3e9ee273ce570fd84848b61294f86612003565b60405161295f9493929190613f65565b60405180910390a25050505050509392505050565b6129a66040518060a0016040528060608152602001606081526020015f80191681526020015f81526020015f81525090565b5f806129b56040880188613ae3565b8101906129c29190614028565b905080602001516001600160801b03165f036129f157604051632440a7dd60e01b815260040160405180910390fd5b5f805f612a10845f01515f0151855f0151602001518660200151611a31565b91945092509050612a43612a2760208c018c613994565b60408b015186518051602091820151918901519091908d613194565b9450612a7585612a5660608d018d613a51565b612a5f91614145565b8b5160208d015160608e015160808f01516131c9565b612a858383838760200151611b4f565b602084810151600880546001600160801b0319166001600160801b03909216919091179055612ab6908b018b613994565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028590555f612ae5611fb3565b90507fb3dbfeab9c5013403dc2f2300318b92643b1cb9323077d549b4f93bbddded9638489612b1384612003565b604051612b2293929190614204565b60405180910390a1506040805160a081018252855151815294516020908101519086015284019290925260608301526080820152915094509492505050565b5f80612b7060408a018a613ae3565b810190612b7d919061421f565b60408101519091506001600160a01b0316612bab5760405163611b32ab60e01b815260040160405180910390fd5b80516001600160801b0316158015612bce575060208101516001600160801b0316155b15612bfd576040808201519051632edcd91760e21b81526001600160a01b039091166004820152602401610777565b63ffffffff85161580612c14575063ffffffff8416155b15612c43576040808201519051632edcd91760e21b81526001600160a01b039091166004820152602401610777565b6040808201516001600160a01b03165f90815260096020522080546001600160801b0316151580612c8457508054600160801b90046001600160801b031615155b15612cb357604080830151905163cb96603760e01b81526001600160a01b039091166004820152602401610777565b612cdc612cc360208c018c613994565b8a60400151845f0151856020015186604001518d61320e565b92508615612cf557612cf583612a5660608d018d613a51565b60408051808201825283516001600160801b0390811682526020808601518216818401908152868501516001600160a01b03165f9081526009835294909420925193518216600160801b0293909116929092179055612d56908b018b613994565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028390555f612d85611fb3565b905082604001516001600160a01b03167fc0f81072946eba75f62302dad0fe56dd420d0b9d311e15b61bbe6e056c29908d845f015185602001518a8a8a612dcb88612003565b604051612ddd96959493929190614288565b60405180910390a2505050979650505050505050565b5f838383604051602001611f37939291906142c9565b5f80806041849003612e3d578435602086013560408701355f1a612e2f8982858561323c565b955095509550505050612e47565b505f915060029050825b93509350939050565b5f826003811115612e6357612e63613df9565b03612e6c575050565b6001826003811115612e8057612e80613df9565b03612e9e5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612eb257612eb2613df9565b03612ed35760405163fce698f760e01b815260048101829052602401610777565b6003826003811115612ee757612ee7613df9565b03611c36576040516335e2f38360e21b815260048101829052602401610777565b60035443906001600160401b03165f03612fca576003805467ffffffffffffffff19166001908117909155604080516060810182526001600160401b03938416815293831660208086018281529286019182525f93909352600b90925292517f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf8054945192518416600160801b0267ffffffffffffffff60801b19938516600160401b026001600160801b031990961692909416919091179390931716179055565b6003546001600160401b039081165f908152600b60205260409020805490918381169116036130205780546001600160401b03909316600160801b0267ffffffffffffffff60801b199093169290921790915550565b6003545f90613039906001600160401b03166001613e52565b600380546001600160401b0392831667ffffffffffffffff19909116811790915560408051606081018252958316865295821660208087018281528789019283525f938452600b9091529690912094518554965191518316600160801b0267ffffffffffffffff60801b19928416600160401b026001600160801b031990981691909316179590951794909416939093179091555050565b5f805160206143728339815191525460ff1661107657604051638dfc202b60e01b815260040160405180910390fd5b613108613304565b61107657604051631afcd79f60e31b815260040160405180910390fd5b6119ca613100565b604080517fad7e1df8fff16b907a93b4116c7590060dfa3b9c396a8b815e8290b0dff45cba602082015246918101919091523060608201526001600160401b03841660808201526001600160a01b03831660a082015260c081018290525f9060e001611f37565b5f806131a1868686612df3565b90506131bb88885f846131b58b8b8b61331d565b88613388565b9150505b9695505050505050565b5f806131d78888888861343a565b915091506131e7828286866135ad565b6132045760405163079842ab60e41b815260040160405180910390fd5b5050505050505050565b5f613231878760016001600160a01b03871661322b8a8a8a613611565b87613388565b979650505050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561327557505f915060039050826132fa565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156132c6573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166132f157505f9250600191508290506132fa565b92505f91508190505b9450945094915050565b5f61330d61231e565b54600160401b900460ff16919050565b5f7f82ce6440aa5dde11f3613892819b630b62342bacf93e16a292d5c8783aafa4c3463061334c878787612df3565b6040805160208101959095528401929092526001600160a01b0316606083015260808201526001600160801b03831660a082015260c001611f37565b5f7f41936771719a172aa959076ca6aafb826eaf332dd0c9e7860901c398ef42da05463089898960028111156133c0576133c0613df9565b6040805160208101979097528601949094526001600160a01b0390921660608501526001600160401b0316608084015260a083015260ff1660c082015260e0810185905261010081018490526101208101839052610140016040516020818303038152906040528051906020012090509695505050505050565b5f805f8061344788611f57565b90505f805b88518110156135a0575f613479848b848151811061346c5761346c613ab1565b602002602001015161366d565b9050846001600160a01b0316816001600160a01b0316116134ad576040516309cf9e4960e11b815260040160405180910390fd5b8851831080156134e75750806001600160a01b03168984815181106134d4576134d4613ab1565b60200260200101516001600160a01b0316105b156134fc576134f583614359565b92506134ad565b88518314806135365750806001600160a01b031689848151811061352257613522613ab1565b60200260200101516001600160a01b031614155b156135575760405163665c282b60e01b815260048101839052602401610777565b61356087614359565b965087838151811061357457613574613ab1565b6020026020010151866135879190613ca4565b955093508361359583614359565b92505060010161344c565b5050505094509492505050565b5f806135b98684613e0d565b90506135c684605a613c6e565b6135d1866064613c6e565b106135e0576001915050613609565b6002811115801561360557506135f7846050613c6e565b613602866064613c6e565b10155b9150505b949350505050565b5f7f1cd7f89e34f6154d6f8387a08ffafc689e347b8d5809913b07c58a42995dff664630613640878787613695565b6040805160208101959095528401929092526001600160a01b03166060830152608082015260a001611f37565b5f805f8061367b86866136cb565b92509250925061368b8282612e50565b5090949350505050565b604080516001600160801b0380861660208301528416918101919091526001600160a01b03821660608201525f90608001611f37565b5f805f8351604103613702576020840151604085015160608601515f1a6136f48882858561323c565b95509550955050505061370d565b505081515f91506002905b9250925092565b5f60408284031215613724575f80fd5b50919050565b80356001600160801b0381168114613740575f80fd5b919050565b5f8060408385031215613756575f80fd5b82356001600160401b0381111561376b575f80fd5b61377785828601613714565b9250506137866020840161372a565b90509250929050565b5f6101208284031215613724575f80fd5b5f8061014083850312156137b2575f80fd5b6137bc848461378f565b91506101208301356001600160401b038111156137d7575f80fd5b8301602081860312156137e8575f80fd5b809150509250929050565b80356001600160a01b0381168114613740575f80fd5b5f805f805f805f60e0888a03121561381f575f80fd5b613828886137f3565b96506138366020890161372a565b95506040880135945060608801359350608088013560ff81168114613859575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f60208284031215613886575f80fd5b611f508261372a565b5f61012082840312156138a0575f80fd5b611f50838361378f565b5f80604083850312156138bb575f80fd5b82356001600160401b03808211156138d1575f80fd5b6138dd86838701613714565b935060208501359150808211156138f2575f80fd5b506138ff85828601613714565b9150509250929050565b5f60208284031215613919575f80fd5b5035919050565b5f60208284031215613930575f80fd5b611f50826137f3565b5f805f805f8060c0878903121561394e575f80fd5b613957876137f3565b9550613965602088016137f3565b945060408701359350606087013592506080870135915061398860a0880161372a565b90509295509295509295565b5f602082840312156139a4575f80fd5b81356001600160401b0381168114611f50575f80fd5b5f805f80606085870312156139cd575f80fd5b84356001600160401b03808211156139e3575f80fd5b6139ef88838901613714565b95506020870135915080821115613a04575f80fd5b818701915087601f830112613a17575f80fd5b813581811115613a25575f80fd5b8860208260051b8501011115613a39575f80fd5b95986020929092019750949560400135945092505050565b5f808335601e19843603018112613a66575f80fd5b8301803591506001600160401b03821115613a7f575f80fd5b6020019150600581901b3603821315613a96575f80fd5b9250929050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f8235605e19833603018112613ad9575f80fd5b9190910192915050565b5f808335601e19843603018112613af8575f80fd5b8301803591506001600160401b03821115613b11575f80fd5b602001915036819003821315613a96575f80fd5b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03828116828216039080821115613b5957613b59613b25565b5092915050565b6001600160801b03818116838216019080821115613b5957613b59613b25565b600181815b80851115613bba57815f1904821115613ba057613ba0613b25565b80851615613bad57918102915b93841c9390800290613b85565b509250929050565b5f82613bd057506001611060565b81613bdc57505f611060565b8160018114613bf25760028114613bfc57613c18565b6001915050611060565b60ff841115613c0d57613c0d613b25565b50506001821b611060565b5060208310610133831016604e8410600b8410161715613c3b575081810a611060565b613c458383613b80565b805f1904821115613c5857613c58613b25565b029392505050565b5f611f5060ff841683613bc2565b808202811582820484141761106057611060613b25565b5f82613c9f57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561106057611060613b25565b6001600160401b038082511683528060208301511660208401525060408101516001600160801b03808216604085015280606084015116606085015250505050565b5f610100808301888452602060018060a01b03808a16602087015260406001600160801b03808b16604089015260608660608a01528596508a518087526101208a01975060208c0196505f5b81811015613d78578751805187168a52878101518516888b01528501518416858a01529782019796860196600101613d45565b5050505050505050809150506131bf6080830184613cb7565b6001600160801b03841681526020810183905260c081016136096040830184613cb7565b5f60208284031215613dc5575f80fd5b5051919050565b60ff828116828216039081111561106057611060613b25565b82815260a08101611f506020830184613cb7565b634e487b7160e01b5f52602160045260245ffd5b8181038181111561106057611060613b25565b5f8235607e19833603018112613ad9575f80fd5b5f60208284031215613e44575f80fd5b813560038110611f50575f80fd5b6001600160401b03818116838216019080821115613b5957613b59613b25565b5f81613e8057613e80613b25565b505f190190565b5f63ffffffff808316818103613e9f57613e9f613b25565b6001019392505050565b63ffffffff818116838216019080821115613b5957613b59613b25565b604080519081016001600160401b0381118282101715613ee857613ee8613a9d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613f1657613f16613a9d565b604052919050565b5f60208284031215613f2e575f80fd5b604051602081018181106001600160401b0382111715613f5057613f50613a9d565b604052613f5c836137f3565b81529392505050565b6001600160801b038581168252841660208201526040810183905260e08101613f916060830184613cb7565b95945050505050565b5f6001600160401b03821115613fb257613fb2613a9d565b5060051b60200190565b5f82601f830112613fcb575f80fd5b81356020613fe0613fdb83613f9a565b613eee565b8083825260208201915060208460051b870101935086841115614001575f80fd5b602086015b8481101561401d5780358352918301918301614006565b509695505050505050565b5f6020808385031215614039575f80fd5b82356001600160401b038082111561404f575f80fd5b9084019060408287031215614062575f80fd5b61406a613ec6565b823582811115614078575f80fd5b830160408189031215614089575f80fd5b614091613ec6565b81358481111561409f575f80fd5b8201601f81018a136140af575f80fd5b80356140bd613fdb82613f9a565b81815260059190911b8201880190888101908c8311156140db575f80fd5b928901925b82841015614100576140f1846137f3565b825292890192908901906140e0565b84525050508186013584811115614115575f80fd5b6141218a828501613fbc565b828801525082525061413483850161372a565b848201528094505050505092915050565b5f614152613fdb84613f9a565b80848252602080830192508560051b85013681111561416f575f80fd5b855b818110156141f85780356001600160401b038082111561418f575f80fd5b90880190601f36818401126141a2575f80fd5b8235828111156141b4576141b4613a9d565b6141c5818301601f19168801613eee565b925080835236878286010111156141da575f80fd5b80878501888501375f90830187015250865250938201938201614171565b50919695505050505050565b8381526020810183905260c081016136096040830184613cb7565b5f6060828403121561422f575f80fd5b604051606081018181106001600160401b038211171561425157614251613a9d565b60405261425d8361372a565b815261426b6020840161372a565b602082015261427c604084016137f3565b60408201529392505050565b6001600160801b0387811682528616602082015263ffffffff85811660408301528416606082015260808101839052610120810161323160a0830184613cb7565b606080825284519082018190525f906020906080840190828801845b8281101561430a5781516001600160a01b0316845292840192908401906001016142e5565b505050838103828501528551808252868301918301905f5b8181101561433e57835183529284019291840191600101614322565b50506001600160801b03861660408601529250613609915050565b5f6001820161436a5761436a613b25565b506001019056fecd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a26469706673582212203a214c965eb3956ff07c645a3f97f11e09a50d6ac5d1cd5276785c6492dc75a964736f6c63430008180033",
1633
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106101f2575f3560e01c80636e2c7769116101145780638da5cb5b116100a9578063c017c90211610079578063c017c902146104d2578063d68d6311146104e5578063e52580a6146104f8578063ecec10a414610560578063f2fde38b14610573575f80fd5b80638da5cb5b14610466578063905d031f1461046e578063a3eb8961146104c1578063beabb591146104ca575f80fd5b80637c9afa67116100e45780637c9afa671461040257806383a4d591146104245780638456cb591461044b5780638a0dac4a14610453575f80fd5b80636e2c7769146103cc5780636e888c46146103df578063715018a6146103f257806378d350e0146103fa575f80fd5b80632ef29f3b1161018a578063452a93201161015a578063452a93201461038157806359b23872146103935780635b7f415c1461039b5780635c975abb146103b5575f80fd5b80632ef29f3b1461032157806331677980146103425780633f4ba83a14610366578063422ad8f61461036e575f80fd5b80631a5d93fd116101c55780631a5d93fd146102615780631c1eeae1146102a95780631e07f89e146102da5780632ceeddf514610319575f80fd5b8063014c72f6146101f657806309af0e3c1461020b578063138f87811461023b57806318a8f1f01461024e575b5f80fd5b610209610204366004613745565b610586565b005b60085461021e906001600160801b031681565b6040516001600160801b0390911681526020015b60405180910390f35b6102096102493660046137a0565b6106bd565b61020961025c366004613809565b610e22565b600454600554600654600754610280939291906001600160801b031684565b604080519485526020850193909352918301526001600160801b03166060820152608001610232565b5f546102c290600160a01b90046001600160401b031681565b6040516001600160401b039091168152602001610232565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610232565b61021e610fa7565b61033461032f366004613876565b611035565b604051908152602001610232565b60035461035690600160401b900460ff1681565b6040519015158152602001610232565b610209611066565b61020961037c36600461388f565b611078565b5f54610301906001600160a01b031681565b6103346111b4565b6103a3601281565b60405160ff9091168152602001610232565b5f805160206143728339815191525460ff16610356565b6001546102c2906001600160401b031681565b6102096103ed3660046138aa565b6111ce565b6102096112fd565b61021e61130e565b610356610410366004613909565b600a6020525f908152604090205460ff1681565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b61020961136e565b610209610461366004613920565b6113c9565b610301611447565b6104a161047c366004613920565b60096020525f90815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610232565b61033460025481565b6103a3600681565b6102096104e0366004613939565b611475565b6003546102c2906001600160401b031681565b610536610506366004613994565b600b6020525f90815260409020546001600160401b0380821691600160401b8104821691600160801b9091041683565b604080516001600160401b0394851681529284166020840152921691810191909152606001610232565b61020961056e3660046139ba565b61168f565b610209610581366004613920565b6119c2565b61058e6119ff565b806001600160801b03165f036105b757604051632440a7dd60e01b815260040160405180910390fd5b5f808061063d6105c78680613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250610605925050506020880188613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250899250611a31915050565b6040805160808101825260045481526005546020820152600654918101919091526007546001600160801b03166060820152929550909350915061068384848488611b4f565b8381604001517f33e53e90d61fdc868629a6234670f92c4445196f3f98ebd71935bbc76c7d915360405160405180910390a3505050505050565b6106c5611ba0565b6106ce82611bd0565b6106e66106e160e0840160c08501613920565b611c3a565b6106f7610100830160e08401613876565b6001600160801b03165f0361071f57604051631f2a200560e01b815260040160405180910390fd5b61072f60c0830160a08401613994565b6001600160401b0316431115610780574361075060c0840160a08501613994565b604051635728c7dd60e11b815260048101929092526001600160401b031660248201526044015b60405180910390fd5b5f61078a83611d8f565b905061079581611e98565b6107a56080840160608501613876565b6001600160801b03165f036107cd57604051632440a7dd60e01b815260040160405180910390fd5b6008546001600160801b0316806107ea6080860160608701613876565b6001600160801b03161115610836578061080a6080860160608701613876565b6040516343082d3360e01b81526001600160801b03928316600482015291166024820152604401610777565b5f8080806108448780613a51565b90506001600160401b0381111561085d5761085d613a9d565b6040519080825280602002602001820160405280156108a657816020015b604080516060810182525f80825260208083018290529282015282525f1990920191018161087b5790505b5090505f5b6108b58880613a51565b9050811015610b5557366108c98980613a51565b838181106108d9576108d9613ab1565b90506020028101906108eb9190613ac5565b90505f61093161091f61091a8d6109056020870187613876565b6109156040880160208901613876565b611eca565b611f57565b61092c6040850185613ae3565b611f89565b9050846001600160a01b0316816001600160a01b031611610965576040516309cf9e4960e11b815260040160405180910390fd5b6001600160a01b0381165f9081526009602090815260409091209061098c90840184613876565b81546001600160801b03918216911610806109cc57506109b26040840160208501613876565b81546001600160801b03918216600160801b909104909116105b156109f5576040516364fc3cd160e11b81526001600160a01b0383166004820152602401610777565b610a026020840184613876565b815482905f90610a1c9084906001600160801b0316613b39565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550826020016020810190610a539190613876565b81548290601090610a75908490600160801b90046001600160801b0316613b39565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550825f016020810190610aab9190613876565b610ab59089613b60565b9750610ac76040840160208501613876565b610ad19088613b60565b96506040518060600160405280836001600160a01b03168152602001845f016020810190610aff9190613876565b6001600160801b03168152602001846020016020810190610b209190613876565b6001600160801b0316815250858581518110610b3e57610b3e613ab1565b6020908102919091010152509350506001016108ab565b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016610b9060e08a0160c08b01613920565b6001600160a01b031603610c5e575f610bab6006600a613c60565b610bbb60808b0160608c01613876565b6001600160801b0316856001600160801b0316610bd89190613c6e565b610be29190613c85565b90505f610bf8826001600160801b038816613ca4565b9050610c0b6101008b0160e08c01613876565b6001600160801b0316811015610c575780610c2d6101008c0160e08d01613876565b60405162f9825560e61b815260048101929092526001600160801b03166024820152604401610777565b5050610ced565b6001600160801b03841615610c8657604051630994a0f360e11b815260040160405180910390fd5b610c97610100890160e08a01613876565b6001600160801b0316836001600160801b03161015610ced5782610cc26101008a0160e08b01613876565b60405162f9825560e61b81526001600160801b03928316600482015291166024820152604401610777565b610d0b865f908152600a60205260409020805460ff19166001179055565b610d1b60e0890160c08a01613920565b6001600160a01b03166340c10f19610d3960a08b0160808c01613920565b610d4d61032f6101008d0160e08e01613876565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b158015610d90575f80fd5b505af1158015610da2573d5f803e3d5ffd5b505050505f610daf611fb3565b90507f64d79900ed82270f744ae62db527f4e328e336d8b51e77bc72601391fe779d0687610de360e08c0160c08d01613920565b610df46101008d0160e08e01613876565b85610dfe86612003565b604051610e0f959493929190613cf9565b60405180910390a1505050505050505050565b610e2a611ba0565b610e3387611c3a565b856001600160801b03165f03610e5c57604051631f2a200560e01b815260040160405180910390fd5b5f610e6687611035565b60405163d505accf60e01b8152336004820152306024820152604481018290526064810187905260ff8616608482015260a4810185905260c481018490529091506001600160a01b0389169063d505accf9060e4015f604051808303815f87803b158015610ed2575f80fd5b505af1158015610ee4573d5f803e3d5ffd5b505060405163079cc67960e41b8152336004820152602481018490526001600160a01b038b1692506379cc679091506044015f604051808303815f87803b158015610f2d575f80fd5b505af1158015610f3f573d5f803e3d5ffd5b505050505f610f4c611fb3565b90506001600160a01b038916337f3ab970a848f33363427e47cfbd7a627af0c6e72757f150137e38cef3cee24d938a8a610f8586612003565b604051610f9493929190613d91565b60405180910390a3505050505050505050565b5f6110307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611007573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102b9190613db5565b612078565b905090565b5f61104260066012613dcc565b61104d90600a613c60565b611060906001600160801b038416613c6e565b92915050565b61106e6119ff565b6110766120c8565b565b611080611ba0565b61108981611bd0565b61109c6106e160e0830160c08401613920565b6110ad610100820160e08301613876565b6001600160801b03165f036110d557604051631f2a200560e01b815260040160405180910390fd5b6110e560c0820160a08301613994565b6001600160401b03164311611130574361110560c0830160a08401613994565b6040516374276dcf60e11b815260048101929092526001600160401b03166024820152604401610777565b5f61113a82611d8f565b905061114581611e98565b611163815f908152600a60205260409020805460ff19166001179055565b5f61116c611fb3565b90507f3cb8789e9bf6f532eec2bc8ffee9b622fc0d6e6daefb7fb6bb2e2f7b2d62e4528261119983612003565b6040516111a7929190613de5565b60405180910390a1505050565b6111c060066012613dcc565b6111cb90600a613c60565b81565b6111d66119ff565b6111de611ba0565b600354600160401b900460ff161561120957604051633dbff3b560e01b815260040160405180910390fd5b5f61124a7f00000000000000000000000000000000000000000000000000000000000000006112388580613a51565b6112456020880188613a51565b612127565b90505f61127b7f00000000000000000000000000000000000000000000000000000000000000006112388580613a51565b6003805460ff60401b1916600160401b17905590507fc255ddc45163282f24909556f7475ab4ec8eb1d51763b25a4560cee9f43d06456112bb8580613a51565b9050836112c88680613a51565b6040516112ef94939250869093845260208401929092526040830152606082015260800190565b60405180910390a150505050565b6113056119ff565b6110765f612266565b5f6110307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611007573d5f803e3d5ffd5b5f546001600160a01b031633148015906113a1575061138b611447565b6001600160a01b0316336001600160a01b031614155b156113c15760405163354de03160e21b8152336004820152602401610777565b6110766122d6565b6113d16119ff565b6001600160a01b0381166113f85760405163a91f6a8960e01b815260040160405180910390fd5b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f064d28d3d3071c5cbc271a261c10c2f0f0d9e319390397101aa0eb23c6bad9099190a35050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b5f61147e61231e565b805490915060ff600160401b82041615906001600160401b03165f811580156114a45750825b90505f826001600160401b031660011480156114bf5750303b155b9050811580156114cd575080155b156114eb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561151557845460ff60401b1916600160401b1785555b6001600160a01b038b1661153c576040516314030c0360e11b815260040160405180910390fd5b6001600160a01b038a166115635760405163a91f6a8960e01b815260040160405180910390fd5b88158061156e575087155b80611577575086155b156115975760405163665c282b60e01b81525f6004820152602401610777565b856001600160801b03165f036115c057604051632440a7dd60e01b815260040160405180910390fd5b6115c98b612346565b6115d1612357565b5f80546001600160a01b0319166001600160a01b038c161790556115f789888a89611b4f565b600880546001600160801b0319166001600160801b03881617905560405189907fac3566d46c25f65b48d269870da4b9349704c79de13ad49b115532834d7e7ed1905f90a2831561168257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050565b611697611ba0565b81158015906116f55750600283836116b0600182613e0d565b8181106116bf576116bf613ab1565b90506020028101906116d19190613e20565b6116e2906040810190602001613e34565b60028111156116f3576116f3613df9565b145b156117135760405163bf3d210b60e01b815260040160405180910390fd5b60065461173357604051632c1dfd4f60e11b815260040160405180910390fd5b5f61173d8561235f565b6002549091505f846001600160401b0381111561175c5761175c613a9d565b604051908082528060200260200182016040528015611785578160200160208202803683370190505b5090505f856001600160401b038111156117a1576117a1613a9d565b6040519080825280602002602001820160405280156117ca578160200160208202803683370190505b5090505f6117da88888585612524565b90505f5b878110156119b657368989838181106117f9576117f9613ab1565b905060200281019061180b9190613e20565b600180549192505f91611829916001600160401b0390911690613e52565b90506001600160401b0381166118426020840184613994565b6001600160401b03161461188a578061185e6020840184613994565b604051635efa452960e11b81526001600160401b03928316600482015291166024820152604401610777565b600261189c6040840160208501613e34565b60028111156118ad576118ad613df9565b036118c4576118bd82888b61278b565b96506119ac565b5f6118d56040840160208501613e34565b60028111156118e6576118e6613df9565b03611901576118f78289898c612974565b90985096506119ac565b60016119136040840160208501613e34565b600281111561192457611924613df9565b0361196c576118bd8289898787148a888151811061194457611944613ab1565b60200260200101518a898151811061195e5761195e613ab1565b60200260200101518f612b61565b61197c6040830160208401613e34565b600281111561198d5761198d613df9565b60405163b99607f960e01b815260ff9091166004820152602401610777565b50506001016117de565b50505050505050505050565b6119ca6119ff565b6001600160a01b0381166119f357604051631e4fbdf760e01b81525f6004820152602401610777565b6119fc81612266565b50565b33611a08611447565b6001600160a01b0316146110765760405163118cdaa760e01b8152336004820152602401610777565b5f805f85515f03611a575760405163665c282b60e01b81525f6004820152602401610777565b8451865114611a795760405163512509d360e11b815260040160405180910390fd5b5f805b8751811015611b33575f888281518110611a9857611a98613ab1565b602002602001015190505f888381518110611ab557611ab5613ab1565b602002602001015190505f6001600160a01b0316826001600160a01b03161480611add575080155b80611afa5750836001600160a01b0316826001600160a01b031611155b15611b1b5760405163665c282b60e01b815260048101849052602401610777565b611b258187613ca4565b955090925050600101611a7c565b5086519150611b43878787612df3565b93505093509350939050565b60408051608081018252848152602081018490529081018590526001600160801b039091166060909101819052600492909255600555600691909155600780546001600160801b0319169091179055565b5f805160206143728339815191525460ff16156110765760405163d93c066560e01b815260040160405180910390fd5b466001600160401b038116611beb6060840160408501613994565b6001600160401b031614611c365780611c0a6060840160408501613994565b6040516332e3634d60e21b81526001600160401b03928316600482015291166024820152604401610777565b5050565b6001600160a01b038116611c6c57604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580611cc957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316155b15611cf257604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614158015611d6657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b156119fc57604051635f8b555b60e11b81526001600160a01b0382166004820152602401610777565b5f8135611da26040840160208501613994565b611db26060850160408601613994565b611dc26080860160608701613876565b611dd260a0870160808801613920565b611de260c0880160a08901613994565b611df260e0890160c08a01613920565b611e036101008a0160e08b01613876565b611e156101208b016101008c01613876565b60408051602081019a909a526001600160401b03988916908a015295871660608901526001600160801b0394851660808901526001600160a01b0393841660a08901529590911660c08701521660e08501529182166101008401521661012082015261014001604051602081830303815290604052805190602001209050919050565b5f818152600a602052604090205460ff16156119fc57604051632910aca360e01b815260048101829052602401610777565b5f7f28bf99522b0d2f26a76cdeda71578156383bbae91175ca503165cfdbbd1ff34a4630611ef787611d8f565b6040805160208101959095528401929092526001600160a01b0316606083015260808201526001600160801b0380851660a0830152831660c082015260e0015b6040516020818303038152906040528051906020012090505b9392505050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b5f805f80611f98878787612e09565b925092509250611fa88282612e50565b509095945050505050565b5f8054611fd190600160a01b90046001600160401b03166001613e52565b5f805467ffffffffffffffff60a01b1916600160a01b6001600160401b03841602179055905061200081612f08565b90565b604080516080810182525f808252602082018190529181018290526060810191909152604080516080810182526001600160401b038085168252600154166020820152908101612051610fa7565b6001600160801b0316815260200161206761130e565b6001600160801b0316905292915050565b5f8061208660066012613dcc565b61209190600a613c60565b61209b9084613c85565b90506001600160801b0381111561106057604051639940a77560e01b815260048101829052602401610777565b6120d06130d1565b5f80516020614372833981519152805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b5f8382146121485760405163512509d360e11b815260040160405180910390fd5b5f5b8481101561225c575f86868381811061216557612165613ab1565b905060200201602081019061217a9190613920565b90505f85858481811061218f5761218f613ab1565b60200291909101359150506001600160a01b0382166121c457604051633bca2f5160e21b815260048101849052602401610777565b805f036121e457604051631f2a200560e01b815260040160405180910390fd5b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390528a16906340c10f19906044015f604051808303815f87803b15801561222b575f80fd5b505af115801561223d573d5f803e3d5ffd5b50505050808461224d9190613ca4565b9350505080600101905061214a565b5095945050505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6122de611ba0565b5f80516020614372833981519152805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612109565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00611060565b61234e613100565b6119fc81613125565b611076613100565b6123916040518060a0016040528060608152602001606081526020015f80191681526020015f81526020015f81525090565b5f80806124226123a18680613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506123df925050506020880188613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250506007546001600160801b03169150611a319050565b9250925092506004600201548314158061243e57506004548214155b8061244b57506005548114155b1561247757600654604051633b21437560e21b8152600481019190915260248101849052604401610777565b6040805160a081019091528061248d8780613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506020908101906124d290880188613a51565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050908252506020810194909452604084019290925260609092019190915292915050565b825f816001600160401b0381111561253e5761253e613a9d565b604051908082528060200260200182016040528015612567578160200160208202803683370190505b5090505f80865b80156125d95761257d81613e72565b9050600289898381811061259357612593613ab1565b90506020028101906125a59190613e20565b6125b6906040810190602001613e34565b60028111156125c7576125c7613df9565b146125d4578094506125d9565b61256e565b505f5b8781101561277f575f8989838181106125f7576125f7613ab1565b90506020028101906126099190613e20565b61261a906040810190602001613e34565b9050600181600281111561263057612630613df9565b0361266f5781858563ffffffff168151811061264e5761264e613ab1565b63ffffffff9092166020928302919091019091015261266c84613e87565b93505b5f81600281111561268257612682613df9565b148061268d57508582145b15612776578989838181106126a4576126a4613ab1565b90506020028101906126b69190613e20565b6126c4906060810190613a51565b6126cf915084613ea9565b925063ffffffff841615612776575f5b8463ffffffff1681101561276e575f86828151811061270057612700613ab1565b602002602001015163ffffffff169050858a828151811061272357612723613ab1565b602002602001019063ffffffff16908163ffffffff16815250508489828151811061275057612750613ab1565b63ffffffff90921660209283029190910190910152506001016126df565b505f93505f92505b506001016125dc565b50505050949350505050565b5f8061279a6040860186613ae3565b8101906127a79190613f1e565b90506127b66060860186613a51565b90506001146127f15760016127ce6060870187613a51565b604051636b01174760e11b81526004810193909352602483015250604401610777565b6128096128016020870187613994565b82518661312d565b91505f61284761281884611f57565b6128256060890189613a51565b5f81811061283557612835613ab1565b905060200281019061092c9190613ae3565b9050815f01516001600160a01b0316816001600160a01b031614612894578151604051630be4b0e160e01b81526001600160a01b0391821660048201529082166024820152604401610777565b81516001600160a01b039081165f9081526009602090815260408083208054875190951684529083209290925590916001600160801b0380821692600160801b90920416906128e5908a018a613994565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028690555f612914611fb3565b86519091506001600160a01b03167ff92f117a698345a1b681cf04280fb5da65a05a9ac88aaacad3e9ee273ce570fd84848b61294f86612003565b60405161295f9493929190613f65565b60405180910390a25050505050509392505050565b6129a66040518060a0016040528060608152602001606081526020015f80191681526020015f81526020015f81525090565b5f806129b56040880188613ae3565b8101906129c29190614028565b905080602001516001600160801b03165f036129f157604051632440a7dd60e01b815260040160405180910390fd5b5f805f612a10845f01515f0151855f0151602001518660200151611a31565b91945092509050612a43612a2760208c018c613994565b60408b015186518051602091820151918901519091908d613194565b9450612a7585612a5660608d018d613a51565b612a5f91614145565b8b5160208d015160608e015160808f01516131c9565b612a858383838760200151611b4f565b602084810151600880546001600160801b0319166001600160801b03909216919091179055612ab6908b018b613994565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028590555f612ae5611fb3565b90507fb3dbfeab9c5013403dc2f2300318b92643b1cb9323077d549b4f93bbddded9638489612b1384612003565b604051612b2293929190614204565b60405180910390a1506040805160a081018252855151815294516020908101519086015284019290925260608301526080820152915094509492505050565b5f80612b7060408a018a613ae3565b810190612b7d919061421f565b60408101519091506001600160a01b0316612bab5760405163611b32ab60e01b815260040160405180910390fd5b80516001600160801b0316158015612bce575060208101516001600160801b0316155b15612bfd576040808201519051632edcd91760e21b81526001600160a01b039091166004820152602401610777565b63ffffffff85161580612c14575063ffffffff8416155b15612c43576040808201519051632edcd91760e21b81526001600160a01b039091166004820152602401610777565b6040808201516001600160a01b03165f90815260096020522080546001600160801b0316151580612c8457508054600160801b90046001600160801b031615155b15612cb357604080830151905163cb96603760e01b81526001600160a01b039091166004820152602401610777565b612cdc612cc360208c018c613994565b8a60400151845f0151856020015186604001518d61320e565b92508615612cf557612cf583612a5660608d018d613a51565b60408051808201825283516001600160801b0390811682526020808601518216818401908152868501516001600160a01b03165f9081526009835294909420925193518216600160801b0293909116929092179055612d56908b018b613994565b6001805467ffffffffffffffff19166001600160401b039290921691909117905560028390555f612d85611fb3565b905082604001516001600160a01b03167fc0f81072946eba75f62302dad0fe56dd420d0b9d311e15b61bbe6e056c29908d845f015185602001518a8a8a612dcb88612003565b604051612ddd96959493929190614288565b60405180910390a2505050979650505050505050565b5f838383604051602001611f37939291906142c9565b5f80806041849003612e3d578435602086013560408701355f1a612e2f8982858561323c565b955095509550505050612e47565b505f915060029050825b93509350939050565b5f826003811115612e6357612e63613df9565b03612e6c575050565b6001826003811115612e8057612e80613df9565b03612e9e5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612eb257612eb2613df9565b03612ed35760405163fce698f760e01b815260048101829052602401610777565b6003826003811115612ee757612ee7613df9565b03611c36576040516335e2f38360e21b815260048101829052602401610777565b60035443906001600160401b03165f03612fca576003805467ffffffffffffffff19166001908117909155604080516060810182526001600160401b03938416815293831660208086018281529286019182525f93909352600b90925292517f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf8054945192518416600160801b0267ffffffffffffffff60801b19938516600160401b026001600160801b031990961692909416919091179390931716179055565b6003546001600160401b039081165f908152600b60205260409020805490918381169116036130205780546001600160401b03909316600160801b0267ffffffffffffffff60801b199093169290921790915550565b6003545f90613039906001600160401b03166001613e52565b600380546001600160401b0392831667ffffffffffffffff19909116811790915560408051606081018252958316865295821660208087018281528789019283525f938452600b9091529690912094518554965191518316600160801b0267ffffffffffffffff60801b19928416600160401b026001600160801b031990981691909316179590951794909416939093179091555050565b5f805160206143728339815191525460ff1661107657604051638dfc202b60e01b815260040160405180910390fd5b613108613304565b61107657604051631afcd79f60e31b815260040160405180910390fd5b6119ca613100565b604080517fad7e1df8fff16b907a93b4116c7590060dfa3b9c396a8b815e8290b0dff45cba602082015246918101919091523060608201526001600160401b03841660808201526001600160a01b03831660a082015260c081018290525f9060e001611f37565b5f806131a1868686612df3565b90506131bb88885f846131b58b8b8b61331d565b88613388565b9150505b9695505050505050565b5f806131d78888888861343a565b915091506131e7828286866135ad565b6132045760405163079842ab60e41b815260040160405180910390fd5b5050505050505050565b5f613231878760016001600160a01b03871661322b8a8a8a613611565b87613388565b979650505050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561327557505f915060039050826132fa565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156132c6573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166132f157505f9250600191508290506132fa565b92505f91508190505b9450945094915050565b5f61330d61231e565b54600160401b900460ff16919050565b5f7f82ce6440aa5dde11f3613892819b630b62342bacf93e16a292d5c8783aafa4c3463061334c878787612df3565b6040805160208101959095528401929092526001600160a01b0316606083015260808201526001600160801b03831660a082015260c001611f37565b5f7f41936771719a172aa959076ca6aafb826eaf332dd0c9e7860901c398ef42da05463089898960028111156133c0576133c0613df9565b6040805160208101979097528601949094526001600160a01b0390921660608501526001600160401b0316608084015260a083015260ff1660c082015260e0810185905261010081018490526101208101839052610140016040516020818303038152906040528051906020012090509695505050505050565b5f805f8061344788611f57565b90505f805b88518110156135a0575f613479848b848151811061346c5761346c613ab1565b602002602001015161366d565b9050846001600160a01b0316816001600160a01b0316116134ad576040516309cf9e4960e11b815260040160405180910390fd5b8851831080156134e75750806001600160a01b03168984815181106134d4576134d4613ab1565b60200260200101516001600160a01b0316105b156134fc576134f583614359565b92506134ad565b88518314806135365750806001600160a01b031689848151811061352257613522613ab1565b60200260200101516001600160a01b031614155b156135575760405163665c282b60e01b815260048101839052602401610777565b61356087614359565b965087838151811061357457613574613ab1565b6020026020010151866135879190613ca4565b955093508361359583614359565b92505060010161344c565b5050505094509492505050565b5f806135b98684613e0d565b90506135c684605a613c6e565b6135d1866064613c6e565b106135e0576001915050613609565b6002811115801561360557506135f7846050613c6e565b613602866064613c6e565b10155b9150505b949350505050565b5f7f1cd7f89e34f6154d6f8387a08ffafc689e347b8d5809913b07c58a42995dff664630613640878787613695565b6040805160208101959095528401929092526001600160a01b03166060830152608082015260a001611f37565b5f805f8061367b86866136cb565b92509250925061368b8282612e50565b5090949350505050565b604080516001600160801b0380861660208301528416918101919091526001600160a01b03821660608201525f90608001611f37565b5f805f8351604103613702576020840151604085015160608601515f1a6136f48882858561323c565b95509550955050505061370d565b505081515f91506002905b9250925092565b5f60408284031215613724575f80fd5b50919050565b80356001600160801b0381168114613740575f80fd5b919050565b5f8060408385031215613756575f80fd5b82356001600160401b0381111561376b575f80fd5b61377785828601613714565b9250506137866020840161372a565b90509250929050565b5f6101208284031215613724575f80fd5b5f8061014083850312156137b2575f80fd5b6137bc848461378f565b91506101208301356001600160401b038111156137d7575f80fd5b8301602081860312156137e8575f80fd5b809150509250929050565b80356001600160a01b0381168114613740575f80fd5b5f805f805f805f60e0888a03121561381f575f80fd5b613828886137f3565b96506138366020890161372a565b95506040880135945060608801359350608088013560ff81168114613859575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f60208284031215613886575f80fd5b611f508261372a565b5f61012082840312156138a0575f80fd5b611f50838361378f565b5f80604083850312156138bb575f80fd5b82356001600160401b03808211156138d1575f80fd5b6138dd86838701613714565b935060208501359150808211156138f2575f80fd5b506138ff85828601613714565b9150509250929050565b5f60208284031215613919575f80fd5b5035919050565b5f60208284031215613930575f80fd5b611f50826137f3565b5f805f805f8060c0878903121561394e575f80fd5b613957876137f3565b9550613965602088016137f3565b945060408701359350606087013592506080870135915061398860a0880161372a565b90509295509295509295565b5f602082840312156139a4575f80fd5b81356001600160401b0381168114611f50575f80fd5b5f805f80606085870312156139cd575f80fd5b84356001600160401b03808211156139e3575f80fd5b6139ef88838901613714565b95506020870135915080821115613a04575f80fd5b818701915087601f830112613a17575f80fd5b813581811115613a25575f80fd5b8860208260051b8501011115613a39575f80fd5b95986020929092019750949560400135945092505050565b5f808335601e19843603018112613a66575f80fd5b8301803591506001600160401b03821115613a7f575f80fd5b6020019150600581901b3603821315613a96575f80fd5b9250929050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f8235605e19833603018112613ad9575f80fd5b9190910192915050565b5f808335601e19843603018112613af8575f80fd5b8301803591506001600160401b03821115613b11575f80fd5b602001915036819003821315613a96575f80fd5b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03828116828216039080821115613b5957613b59613b25565b5092915050565b6001600160801b03818116838216019080821115613b5957613b59613b25565b600181815b80851115613bba57815f1904821115613ba057613ba0613b25565b80851615613bad57918102915b93841c9390800290613b85565b509250929050565b5f82613bd057506001611060565b81613bdc57505f611060565b8160018114613bf25760028114613bfc57613c18565b6001915050611060565b60ff841115613c0d57613c0d613b25565b50506001821b611060565b5060208310610133831016604e8410600b8410161715613c3b575081810a611060565b613c458383613b80565b805f1904821115613c5857613c58613b25565b029392505050565b5f611f5060ff841683613bc2565b808202811582820484141761106057611060613b25565b5f82613c9f57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561106057611060613b25565b6001600160401b038082511683528060208301511660208401525060408101516001600160801b03808216604085015280606084015116606085015250505050565b5f610100808301888452602060018060a01b03808a16602087015260406001600160801b03808b16604089015260608660608a01528596508a518087526101208a01975060208c0196505f5b81811015613d78578751805187168a52878101518516888b01528501518416858a01529782019796860196600101613d45565b5050505050505050809150506131bf6080830184613cb7565b6001600160801b03841681526020810183905260c081016136096040830184613cb7565b5f60208284031215613dc5575f80fd5b5051919050565b60ff828116828216039081111561106057611060613b25565b82815260a08101611f506020830184613cb7565b634e487b7160e01b5f52602160045260245ffd5b8181038181111561106057611060613b25565b5f8235607e19833603018112613ad9575f80fd5b5f60208284031215613e44575f80fd5b813560038110611f50575f80fd5b6001600160401b03818116838216019080821115613b5957613b59613b25565b5f81613e8057613e80613b25565b505f190190565b5f63ffffffff808316818103613e9f57613e9f613b25565b6001019392505050565b63ffffffff818116838216019080821115613b5957613b59613b25565b604080519081016001600160401b0381118282101715613ee857613ee8613a9d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613f1657613f16613a9d565b604052919050565b5f60208284031215613f2e575f80fd5b604051602081018181106001600160401b0382111715613f5057613f50613a9d565b604052613f5c836137f3565b81529392505050565b6001600160801b038581168252841660208201526040810183905260e08101613f916060830184613cb7565b95945050505050565b5f6001600160401b03821115613fb257613fb2613a9d565b5060051b60200190565b5f82601f830112613fcb575f80fd5b81356020613fe0613fdb83613f9a565b613eee565b8083825260208201915060208460051b870101935086841115614001575f80fd5b602086015b8481101561401d5780358352918301918301614006565b509695505050505050565b5f6020808385031215614039575f80fd5b82356001600160401b038082111561404f575f80fd5b9084019060408287031215614062575f80fd5b61406a613ec6565b823582811115614078575f80fd5b830160408189031215614089575f80fd5b614091613ec6565b81358481111561409f575f80fd5b8201601f81018a136140af575f80fd5b80356140bd613fdb82613f9a565b81815260059190911b8201880190888101908c8311156140db575f80fd5b928901925b82841015614100576140f1846137f3565b825292890192908901906140e0565b84525050508186013584811115614115575f80fd5b6141218a828501613fbc565b828801525082525061413483850161372a565b848201528094505050505092915050565b5f614152613fdb84613f9a565b80848252602080830192508560051b85013681111561416f575f80fd5b855b818110156141f85780356001600160401b038082111561418f575f80fd5b90880190601f36818401126141a2575f80fd5b8235828111156141b4576141b4613a9d565b6141c5818301601f19168801613eee565b925080835236878286010111156141da575f80fd5b80878501888501375f90830187015250865250938201938201614171565b50919695505050505050565b8381526020810183905260c081016136096040830184613cb7565b5f6060828403121561422f575f80fd5b604051606081018181106001600160401b038211171561425157614251613a9d565b60405261425d8361372a565b815261426b6020840161372a565b602082015261427c604084016137f3565b60408201529392505050565b6001600160801b0387811682528616602082015263ffffffff85811660408301528416606082015260808101839052610120810161323160a0830184613cb7565b606080825284519082018190525f906020906080840190828801845b8281101561430a5781516001600160a01b0316845292840192908401906001016142e5565b505050838103828501528551808252868301918301905f5b8181101561433e57835183529284019291840191600101614322565b50506001600160801b03861660408601529250613609915050565b5f6001820161436a5761436a613b25565b506001019056fecd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a26469706673582212203a214c965eb3956ff07c645a3f97f11e09a50d6ac5d1cd5276785c6492dc75a964736f6c63430008180033",
1634
+ "linkReferences": {},
1635
+ "deployedLinkReferences": {},
1636
+ "immutableReferences": {
1637
+ "10415": [
1638
+ {
1639
+ "length": 32,
1640
+ "start": 1065
1641
+ },
1642
+ {
1643
+ "length": 32,
1644
+ "start": 2912
1645
+ },
1646
+ {
1647
+ "length": 32,
1648
+ "start": 4013
1649
+ },
1650
+ {
1651
+ "length": 32,
1652
+ "start": 4623
1653
+ },
1654
+ {
1655
+ "length": 32,
1656
+ "start": 7278
1657
+ },
1658
+ {
1659
+ "length": 32,
1660
+ "start": 7412
1661
+ }
1662
+ ],
1663
+ "10418": [
1664
+ {
1665
+ "length": 32,
1666
+ "start": 735
1667
+ },
1668
+ {
1669
+ "length": 32,
1670
+ "start": 4690
1671
+ },
1672
+ {
1673
+ "length": 32,
1674
+ "start": 4884
1675
+ },
1676
+ {
1677
+ "length": 32,
1678
+ "start": 7327
1679
+ },
1680
+ {
1681
+ "length": 32,
1682
+ "start": 7473
1683
+ }
1684
+ ]
1685
+ },
1686
+ "inputSourceName": "project/contracts/MintingGateway.sol",
1687
+ "buildInfoId": "solc-0_8_24-0b1aeb87b938c690e17cb94e6c60ba6e2ad7e4c9"
1688
+ }