@iexec-nox/nox-protocol-contracts 0.2.0 → 0.2.2

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.
@@ -0,0 +1,2101 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "NoxCompute",
4
+ "sourceName": "contracts/NoxCompute.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "address",
15
+ "name": "target",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "name": "AddressEmptyCode",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "ECDSAInvalidSignature",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "uint256",
31
+ "name": "length",
32
+ "type": "uint256"
33
+ }
34
+ ],
35
+ "name": "ECDSAInvalidSignatureLength",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [
40
+ {
41
+ "internalType": "bytes32",
42
+ "name": "s",
43
+ "type": "bytes32"
44
+ }
45
+ ],
46
+ "name": "ECDSAInvalidSignatureS",
47
+ "type": "error"
48
+ },
49
+ {
50
+ "inputs": [
51
+ {
52
+ "internalType": "address",
53
+ "name": "implementation",
54
+ "type": "address"
55
+ }
56
+ ],
57
+ "name": "ERC1967InvalidImplementation",
58
+ "type": "error"
59
+ },
60
+ {
61
+ "inputs": [],
62
+ "name": "ERC1967NonPayable",
63
+ "type": "error"
64
+ },
65
+ {
66
+ "inputs": [],
67
+ "name": "FailedCall",
68
+ "type": "error"
69
+ },
70
+ {
71
+ "inputs": [],
72
+ "name": "IncompatibleTypes",
73
+ "type": "error"
74
+ },
75
+ {
76
+ "inputs": [],
77
+ "name": "InvalidEmptyBytes",
78
+ "type": "error"
79
+ },
80
+ {
81
+ "inputs": [],
82
+ "name": "InvalidInitialization",
83
+ "type": "error"
84
+ },
85
+ {
86
+ "inputs": [
87
+ {
88
+ "internalType": "bytes",
89
+ "name": "proof",
90
+ "type": "bytes"
91
+ },
92
+ {
93
+ "internalType": "string",
94
+ "name": "reason",
95
+ "type": "string"
96
+ }
97
+ ],
98
+ "name": "InvalidProof",
99
+ "type": "error"
100
+ },
101
+ {
102
+ "inputs": [],
103
+ "name": "InvalidShortString",
104
+ "type": "error"
105
+ },
106
+ {
107
+ "inputs": [],
108
+ "name": "InvalidZeroAddress",
109
+ "type": "error"
110
+ },
111
+ {
112
+ "inputs": [],
113
+ "name": "NonArithmeticType",
114
+ "type": "error"
115
+ },
116
+ {
117
+ "inputs": [
118
+ {
119
+ "internalType": "bytes32",
120
+ "name": "handle",
121
+ "type": "bytes32"
122
+ },
123
+ {
124
+ "internalType": "address",
125
+ "name": "account",
126
+ "type": "address"
127
+ }
128
+ ],
129
+ "name": "NotAllowed",
130
+ "type": "error"
131
+ },
132
+ {
133
+ "inputs": [],
134
+ "name": "NotInitializing",
135
+ "type": "error"
136
+ },
137
+ {
138
+ "inputs": [
139
+ {
140
+ "internalType": "bytes32",
141
+ "name": "handle",
142
+ "type": "bytes32"
143
+ }
144
+ ],
145
+ "name": "NotPubliclyDecryptable",
146
+ "type": "error"
147
+ },
148
+ {
149
+ "inputs": [
150
+ {
151
+ "internalType": "address",
152
+ "name": "owner",
153
+ "type": "address"
154
+ }
155
+ ],
156
+ "name": "OwnableInvalidOwner",
157
+ "type": "error"
158
+ },
159
+ {
160
+ "inputs": [
161
+ {
162
+ "internalType": "address",
163
+ "name": "account",
164
+ "type": "address"
165
+ }
166
+ ],
167
+ "name": "OwnableUnauthorizedAccount",
168
+ "type": "error"
169
+ },
170
+ {
171
+ "inputs": [],
172
+ "name": "PublicHandleACLForbidden",
173
+ "type": "error"
174
+ },
175
+ {
176
+ "inputs": [
177
+ {
178
+ "internalType": "string",
179
+ "name": "str",
180
+ "type": "string"
181
+ }
182
+ ],
183
+ "name": "StringTooLong",
184
+ "type": "error"
185
+ },
186
+ {
187
+ "inputs": [],
188
+ "name": "UUPSUnauthorizedCallContext",
189
+ "type": "error"
190
+ },
191
+ {
192
+ "inputs": [
193
+ {
194
+ "internalType": "bytes32",
195
+ "name": "slot",
196
+ "type": "bytes32"
197
+ }
198
+ ],
199
+ "name": "UUPSUnsupportedProxiableUUID",
200
+ "type": "error"
201
+ },
202
+ {
203
+ "inputs": [
204
+ {
205
+ "internalType": "address",
206
+ "name": "sender",
207
+ "type": "address"
208
+ }
209
+ ],
210
+ "name": "UnauthorizedSender",
211
+ "type": "error"
212
+ },
213
+ {
214
+ "inputs": [],
215
+ "name": "UnsupportedType",
216
+ "type": "error"
217
+ },
218
+ {
219
+ "anonymous": false,
220
+ "inputs": [
221
+ {
222
+ "indexed": true,
223
+ "internalType": "address",
224
+ "name": "caller",
225
+ "type": "address"
226
+ },
227
+ {
228
+ "indexed": false,
229
+ "internalType": "bytes32",
230
+ "name": "leftHandOperand",
231
+ "type": "bytes32"
232
+ },
233
+ {
234
+ "indexed": false,
235
+ "internalType": "bytes32",
236
+ "name": "rightHandOperand",
237
+ "type": "bytes32"
238
+ },
239
+ {
240
+ "indexed": false,
241
+ "internalType": "bytes32",
242
+ "name": "result",
243
+ "type": "bytes32"
244
+ }
245
+ ],
246
+ "name": "Add",
247
+ "type": "event"
248
+ },
249
+ {
250
+ "anonymous": false,
251
+ "inputs": [
252
+ {
253
+ "indexed": true,
254
+ "internalType": "address",
255
+ "name": "sender",
256
+ "type": "address"
257
+ },
258
+ {
259
+ "indexed": true,
260
+ "internalType": "address",
261
+ "name": "account",
262
+ "type": "address"
263
+ },
264
+ {
265
+ "indexed": true,
266
+ "internalType": "bytes32",
267
+ "name": "handle",
268
+ "type": "bytes32"
269
+ }
270
+ ],
271
+ "name": "Allowed",
272
+ "type": "event"
273
+ },
274
+ {
275
+ "anonymous": false,
276
+ "inputs": [
277
+ {
278
+ "indexed": true,
279
+ "internalType": "address",
280
+ "name": "caller",
281
+ "type": "address"
282
+ },
283
+ {
284
+ "indexed": false,
285
+ "internalType": "bytes32",
286
+ "name": "balanceFrom",
287
+ "type": "bytes32"
288
+ },
289
+ {
290
+ "indexed": false,
291
+ "internalType": "bytes32",
292
+ "name": "amount",
293
+ "type": "bytes32"
294
+ },
295
+ {
296
+ "indexed": false,
297
+ "internalType": "bytes32",
298
+ "name": "totalSupply",
299
+ "type": "bytes32"
300
+ },
301
+ {
302
+ "indexed": false,
303
+ "internalType": "bytes32",
304
+ "name": "success",
305
+ "type": "bytes32"
306
+ },
307
+ {
308
+ "indexed": false,
309
+ "internalType": "bytes32",
310
+ "name": "newBalanceFrom",
311
+ "type": "bytes32"
312
+ },
313
+ {
314
+ "indexed": false,
315
+ "internalType": "bytes32",
316
+ "name": "newTotalSupply",
317
+ "type": "bytes32"
318
+ }
319
+ ],
320
+ "name": "Burn",
321
+ "type": "event"
322
+ },
323
+ {
324
+ "anonymous": false,
325
+ "inputs": [
326
+ {
327
+ "indexed": true,
328
+ "internalType": "address",
329
+ "name": "caller",
330
+ "type": "address"
331
+ },
332
+ {
333
+ "indexed": false,
334
+ "internalType": "bytes32",
335
+ "name": "leftHandOperand",
336
+ "type": "bytes32"
337
+ },
338
+ {
339
+ "indexed": false,
340
+ "internalType": "bytes32",
341
+ "name": "rightHandOperand",
342
+ "type": "bytes32"
343
+ },
344
+ {
345
+ "indexed": false,
346
+ "internalType": "bytes32",
347
+ "name": "result",
348
+ "type": "bytes32"
349
+ }
350
+ ],
351
+ "name": "Div",
352
+ "type": "event"
353
+ },
354
+ {
355
+ "anonymous": false,
356
+ "inputs": [],
357
+ "name": "EIP712DomainChanged",
358
+ "type": "event"
359
+ },
360
+ {
361
+ "anonymous": false,
362
+ "inputs": [
363
+ {
364
+ "indexed": true,
365
+ "internalType": "address",
366
+ "name": "caller",
367
+ "type": "address"
368
+ },
369
+ {
370
+ "indexed": false,
371
+ "internalType": "bytes32",
372
+ "name": "leftHandOperand",
373
+ "type": "bytes32"
374
+ },
375
+ {
376
+ "indexed": false,
377
+ "internalType": "bytes32",
378
+ "name": "rightHandOperand",
379
+ "type": "bytes32"
380
+ },
381
+ {
382
+ "indexed": false,
383
+ "internalType": "bytes32",
384
+ "name": "result",
385
+ "type": "bytes32"
386
+ }
387
+ ],
388
+ "name": "Eq",
389
+ "type": "event"
390
+ },
391
+ {
392
+ "anonymous": false,
393
+ "inputs": [
394
+ {
395
+ "indexed": true,
396
+ "internalType": "address",
397
+ "name": "newGateway",
398
+ "type": "address"
399
+ }
400
+ ],
401
+ "name": "GatewayUpdated",
402
+ "type": "event"
403
+ },
404
+ {
405
+ "anonymous": false,
406
+ "inputs": [
407
+ {
408
+ "indexed": true,
409
+ "internalType": "address",
410
+ "name": "caller",
411
+ "type": "address"
412
+ },
413
+ {
414
+ "indexed": false,
415
+ "internalType": "bytes32",
416
+ "name": "leftHandOperand",
417
+ "type": "bytes32"
418
+ },
419
+ {
420
+ "indexed": false,
421
+ "internalType": "bytes32",
422
+ "name": "rightHandOperand",
423
+ "type": "bytes32"
424
+ },
425
+ {
426
+ "indexed": false,
427
+ "internalType": "bytes32",
428
+ "name": "result",
429
+ "type": "bytes32"
430
+ }
431
+ ],
432
+ "name": "Ge",
433
+ "type": "event"
434
+ },
435
+ {
436
+ "anonymous": false,
437
+ "inputs": [
438
+ {
439
+ "indexed": true,
440
+ "internalType": "address",
441
+ "name": "caller",
442
+ "type": "address"
443
+ },
444
+ {
445
+ "indexed": false,
446
+ "internalType": "bytes32",
447
+ "name": "leftHandOperand",
448
+ "type": "bytes32"
449
+ },
450
+ {
451
+ "indexed": false,
452
+ "internalType": "bytes32",
453
+ "name": "rightHandOperand",
454
+ "type": "bytes32"
455
+ },
456
+ {
457
+ "indexed": false,
458
+ "internalType": "bytes32",
459
+ "name": "result",
460
+ "type": "bytes32"
461
+ }
462
+ ],
463
+ "name": "Gt",
464
+ "type": "event"
465
+ },
466
+ {
467
+ "anonymous": false,
468
+ "inputs": [
469
+ {
470
+ "indexed": false,
471
+ "internalType": "uint64",
472
+ "name": "version",
473
+ "type": "uint64"
474
+ }
475
+ ],
476
+ "name": "Initialized",
477
+ "type": "event"
478
+ },
479
+ {
480
+ "anonymous": false,
481
+ "inputs": [
482
+ {
483
+ "indexed": false,
484
+ "internalType": "bytes",
485
+ "name": "newKmsPublicKey",
486
+ "type": "bytes"
487
+ }
488
+ ],
489
+ "name": "KmsPublicKeyUpdated",
490
+ "type": "event"
491
+ },
492
+ {
493
+ "anonymous": false,
494
+ "inputs": [
495
+ {
496
+ "indexed": true,
497
+ "internalType": "address",
498
+ "name": "caller",
499
+ "type": "address"
500
+ },
501
+ {
502
+ "indexed": false,
503
+ "internalType": "bytes32",
504
+ "name": "leftHandOperand",
505
+ "type": "bytes32"
506
+ },
507
+ {
508
+ "indexed": false,
509
+ "internalType": "bytes32",
510
+ "name": "rightHandOperand",
511
+ "type": "bytes32"
512
+ },
513
+ {
514
+ "indexed": false,
515
+ "internalType": "bytes32",
516
+ "name": "result",
517
+ "type": "bytes32"
518
+ }
519
+ ],
520
+ "name": "Le",
521
+ "type": "event"
522
+ },
523
+ {
524
+ "anonymous": false,
525
+ "inputs": [
526
+ {
527
+ "indexed": true,
528
+ "internalType": "address",
529
+ "name": "caller",
530
+ "type": "address"
531
+ },
532
+ {
533
+ "indexed": false,
534
+ "internalType": "bytes32",
535
+ "name": "leftHandOperand",
536
+ "type": "bytes32"
537
+ },
538
+ {
539
+ "indexed": false,
540
+ "internalType": "bytes32",
541
+ "name": "rightHandOperand",
542
+ "type": "bytes32"
543
+ },
544
+ {
545
+ "indexed": false,
546
+ "internalType": "bytes32",
547
+ "name": "result",
548
+ "type": "bytes32"
549
+ }
550
+ ],
551
+ "name": "Lt",
552
+ "type": "event"
553
+ },
554
+ {
555
+ "anonymous": false,
556
+ "inputs": [
557
+ {
558
+ "indexed": true,
559
+ "internalType": "address",
560
+ "name": "sender",
561
+ "type": "address"
562
+ },
563
+ {
564
+ "indexed": true,
565
+ "internalType": "bytes32",
566
+ "name": "handle",
567
+ "type": "bytes32"
568
+ }
569
+ ],
570
+ "name": "MarkedAsPubliclyDecryptable",
571
+ "type": "event"
572
+ },
573
+ {
574
+ "anonymous": false,
575
+ "inputs": [
576
+ {
577
+ "indexed": true,
578
+ "internalType": "address",
579
+ "name": "caller",
580
+ "type": "address"
581
+ },
582
+ {
583
+ "indexed": false,
584
+ "internalType": "bytes32",
585
+ "name": "balanceTo",
586
+ "type": "bytes32"
587
+ },
588
+ {
589
+ "indexed": false,
590
+ "internalType": "bytes32",
591
+ "name": "amount",
592
+ "type": "bytes32"
593
+ },
594
+ {
595
+ "indexed": false,
596
+ "internalType": "bytes32",
597
+ "name": "totalSupply",
598
+ "type": "bytes32"
599
+ },
600
+ {
601
+ "indexed": false,
602
+ "internalType": "bytes32",
603
+ "name": "success",
604
+ "type": "bytes32"
605
+ },
606
+ {
607
+ "indexed": false,
608
+ "internalType": "bytes32",
609
+ "name": "newBalanceTo",
610
+ "type": "bytes32"
611
+ },
612
+ {
613
+ "indexed": false,
614
+ "internalType": "bytes32",
615
+ "name": "newTotalSupply",
616
+ "type": "bytes32"
617
+ }
618
+ ],
619
+ "name": "Mint",
620
+ "type": "event"
621
+ },
622
+ {
623
+ "anonymous": false,
624
+ "inputs": [
625
+ {
626
+ "indexed": true,
627
+ "internalType": "address",
628
+ "name": "caller",
629
+ "type": "address"
630
+ },
631
+ {
632
+ "indexed": false,
633
+ "internalType": "bytes32",
634
+ "name": "leftHandOperand",
635
+ "type": "bytes32"
636
+ },
637
+ {
638
+ "indexed": false,
639
+ "internalType": "bytes32",
640
+ "name": "rightHandOperand",
641
+ "type": "bytes32"
642
+ },
643
+ {
644
+ "indexed": false,
645
+ "internalType": "bytes32",
646
+ "name": "result",
647
+ "type": "bytes32"
648
+ }
649
+ ],
650
+ "name": "Mul",
651
+ "type": "event"
652
+ },
653
+ {
654
+ "anonymous": false,
655
+ "inputs": [
656
+ {
657
+ "indexed": true,
658
+ "internalType": "address",
659
+ "name": "caller",
660
+ "type": "address"
661
+ },
662
+ {
663
+ "indexed": false,
664
+ "internalType": "bytes32",
665
+ "name": "leftHandOperand",
666
+ "type": "bytes32"
667
+ },
668
+ {
669
+ "indexed": false,
670
+ "internalType": "bytes32",
671
+ "name": "rightHandOperand",
672
+ "type": "bytes32"
673
+ },
674
+ {
675
+ "indexed": false,
676
+ "internalType": "bytes32",
677
+ "name": "result",
678
+ "type": "bytes32"
679
+ }
680
+ ],
681
+ "name": "Ne",
682
+ "type": "event"
683
+ },
684
+ {
685
+ "anonymous": false,
686
+ "inputs": [
687
+ {
688
+ "indexed": true,
689
+ "internalType": "address",
690
+ "name": "previousOwner",
691
+ "type": "address"
692
+ },
693
+ {
694
+ "indexed": true,
695
+ "internalType": "address",
696
+ "name": "newOwner",
697
+ "type": "address"
698
+ }
699
+ ],
700
+ "name": "OwnershipTransferred",
701
+ "type": "event"
702
+ },
703
+ {
704
+ "anonymous": false,
705
+ "inputs": [
706
+ {
707
+ "indexed": false,
708
+ "internalType": "uint256",
709
+ "name": "newDuration",
710
+ "type": "uint256"
711
+ }
712
+ ],
713
+ "name": "ProofExpirationDurationUpdated",
714
+ "type": "event"
715
+ },
716
+ {
717
+ "anonymous": false,
718
+ "inputs": [
719
+ {
720
+ "indexed": true,
721
+ "internalType": "address",
722
+ "name": "caller",
723
+ "type": "address"
724
+ },
725
+ {
726
+ "indexed": false,
727
+ "internalType": "bytes32",
728
+ "name": "leftHandOperand",
729
+ "type": "bytes32"
730
+ },
731
+ {
732
+ "indexed": false,
733
+ "internalType": "bytes32",
734
+ "name": "rightHandOperand",
735
+ "type": "bytes32"
736
+ },
737
+ {
738
+ "indexed": false,
739
+ "internalType": "bytes32",
740
+ "name": "success",
741
+ "type": "bytes32"
742
+ },
743
+ {
744
+ "indexed": false,
745
+ "internalType": "bytes32",
746
+ "name": "result",
747
+ "type": "bytes32"
748
+ }
749
+ ],
750
+ "name": "SafeAdd",
751
+ "type": "event"
752
+ },
753
+ {
754
+ "anonymous": false,
755
+ "inputs": [
756
+ {
757
+ "indexed": true,
758
+ "internalType": "address",
759
+ "name": "caller",
760
+ "type": "address"
761
+ },
762
+ {
763
+ "indexed": false,
764
+ "internalType": "bytes32",
765
+ "name": "numerator",
766
+ "type": "bytes32"
767
+ },
768
+ {
769
+ "indexed": false,
770
+ "internalType": "bytes32",
771
+ "name": "denominator",
772
+ "type": "bytes32"
773
+ },
774
+ {
775
+ "indexed": false,
776
+ "internalType": "bytes32",
777
+ "name": "success",
778
+ "type": "bytes32"
779
+ },
780
+ {
781
+ "indexed": false,
782
+ "internalType": "bytes32",
783
+ "name": "result",
784
+ "type": "bytes32"
785
+ }
786
+ ],
787
+ "name": "SafeDiv",
788
+ "type": "event"
789
+ },
790
+ {
791
+ "anonymous": false,
792
+ "inputs": [
793
+ {
794
+ "indexed": true,
795
+ "internalType": "address",
796
+ "name": "caller",
797
+ "type": "address"
798
+ },
799
+ {
800
+ "indexed": false,
801
+ "internalType": "bytes32",
802
+ "name": "leftHandOperand",
803
+ "type": "bytes32"
804
+ },
805
+ {
806
+ "indexed": false,
807
+ "internalType": "bytes32",
808
+ "name": "rightHandOperand",
809
+ "type": "bytes32"
810
+ },
811
+ {
812
+ "indexed": false,
813
+ "internalType": "bytes32",
814
+ "name": "success",
815
+ "type": "bytes32"
816
+ },
817
+ {
818
+ "indexed": false,
819
+ "internalType": "bytes32",
820
+ "name": "result",
821
+ "type": "bytes32"
822
+ }
823
+ ],
824
+ "name": "SafeMul",
825
+ "type": "event"
826
+ },
827
+ {
828
+ "anonymous": false,
829
+ "inputs": [
830
+ {
831
+ "indexed": true,
832
+ "internalType": "address",
833
+ "name": "caller",
834
+ "type": "address"
835
+ },
836
+ {
837
+ "indexed": false,
838
+ "internalType": "bytes32",
839
+ "name": "leftHandOperand",
840
+ "type": "bytes32"
841
+ },
842
+ {
843
+ "indexed": false,
844
+ "internalType": "bytes32",
845
+ "name": "rightHandOperand",
846
+ "type": "bytes32"
847
+ },
848
+ {
849
+ "indexed": false,
850
+ "internalType": "bytes32",
851
+ "name": "success",
852
+ "type": "bytes32"
853
+ },
854
+ {
855
+ "indexed": false,
856
+ "internalType": "bytes32",
857
+ "name": "result",
858
+ "type": "bytes32"
859
+ }
860
+ ],
861
+ "name": "SafeSub",
862
+ "type": "event"
863
+ },
864
+ {
865
+ "anonymous": false,
866
+ "inputs": [
867
+ {
868
+ "indexed": true,
869
+ "internalType": "address",
870
+ "name": "caller",
871
+ "type": "address"
872
+ },
873
+ {
874
+ "indexed": false,
875
+ "internalType": "bytes32",
876
+ "name": "condition",
877
+ "type": "bytes32"
878
+ },
879
+ {
880
+ "indexed": false,
881
+ "internalType": "bytes32",
882
+ "name": "ifTrue",
883
+ "type": "bytes32"
884
+ },
885
+ {
886
+ "indexed": false,
887
+ "internalType": "bytes32",
888
+ "name": "ifFalse",
889
+ "type": "bytes32"
890
+ },
891
+ {
892
+ "indexed": false,
893
+ "internalType": "bytes32",
894
+ "name": "result",
895
+ "type": "bytes32"
896
+ }
897
+ ],
898
+ "name": "Select",
899
+ "type": "event"
900
+ },
901
+ {
902
+ "anonymous": false,
903
+ "inputs": [
904
+ {
905
+ "indexed": true,
906
+ "internalType": "address",
907
+ "name": "caller",
908
+ "type": "address"
909
+ },
910
+ {
911
+ "indexed": false,
912
+ "internalType": "bytes32",
913
+ "name": "leftHandOperand",
914
+ "type": "bytes32"
915
+ },
916
+ {
917
+ "indexed": false,
918
+ "internalType": "bytes32",
919
+ "name": "rightHandOperand",
920
+ "type": "bytes32"
921
+ },
922
+ {
923
+ "indexed": false,
924
+ "internalType": "bytes32",
925
+ "name": "result",
926
+ "type": "bytes32"
927
+ }
928
+ ],
929
+ "name": "Sub",
930
+ "type": "event"
931
+ },
932
+ {
933
+ "anonymous": false,
934
+ "inputs": [
935
+ {
936
+ "indexed": true,
937
+ "internalType": "address",
938
+ "name": "caller",
939
+ "type": "address"
940
+ },
941
+ {
942
+ "indexed": false,
943
+ "internalType": "bytes32",
944
+ "name": "balanceFrom",
945
+ "type": "bytes32"
946
+ },
947
+ {
948
+ "indexed": false,
949
+ "internalType": "bytes32",
950
+ "name": "balanceTo",
951
+ "type": "bytes32"
952
+ },
953
+ {
954
+ "indexed": false,
955
+ "internalType": "bytes32",
956
+ "name": "amount",
957
+ "type": "bytes32"
958
+ },
959
+ {
960
+ "indexed": false,
961
+ "internalType": "bytes32",
962
+ "name": "success",
963
+ "type": "bytes32"
964
+ },
965
+ {
966
+ "indexed": false,
967
+ "internalType": "bytes32",
968
+ "name": "newBalanceFrom",
969
+ "type": "bytes32"
970
+ },
971
+ {
972
+ "indexed": false,
973
+ "internalType": "bytes32",
974
+ "name": "newBalanceTo",
975
+ "type": "bytes32"
976
+ }
977
+ ],
978
+ "name": "Transfer",
979
+ "type": "event"
980
+ },
981
+ {
982
+ "anonymous": false,
983
+ "inputs": [
984
+ {
985
+ "indexed": true,
986
+ "internalType": "address",
987
+ "name": "implementation",
988
+ "type": "address"
989
+ }
990
+ ],
991
+ "name": "Upgraded",
992
+ "type": "event"
993
+ },
994
+ {
995
+ "anonymous": false,
996
+ "inputs": [
997
+ {
998
+ "indexed": true,
999
+ "internalType": "address",
1000
+ "name": "sender",
1001
+ "type": "address"
1002
+ },
1003
+ {
1004
+ "indexed": true,
1005
+ "internalType": "address",
1006
+ "name": "viewer",
1007
+ "type": "address"
1008
+ },
1009
+ {
1010
+ "indexed": true,
1011
+ "internalType": "bytes32",
1012
+ "name": "handle",
1013
+ "type": "bytes32"
1014
+ }
1015
+ ],
1016
+ "name": "ViewerAdded",
1017
+ "type": "event"
1018
+ },
1019
+ {
1020
+ "anonymous": false,
1021
+ "inputs": [
1022
+ {
1023
+ "indexed": true,
1024
+ "internalType": "address",
1025
+ "name": "caller",
1026
+ "type": "address"
1027
+ },
1028
+ {
1029
+ "indexed": false,
1030
+ "internalType": "bytes32",
1031
+ "name": "plaintext",
1032
+ "type": "bytes32"
1033
+ },
1034
+ {
1035
+ "indexed": false,
1036
+ "internalType": "enum TEEType",
1037
+ "name": "toType",
1038
+ "type": "uint8"
1039
+ },
1040
+ {
1041
+ "indexed": false,
1042
+ "internalType": "bytes32",
1043
+ "name": "result",
1044
+ "type": "bytes32"
1045
+ }
1046
+ ],
1047
+ "name": "WrapAsPublicHandle",
1048
+ "type": "event"
1049
+ },
1050
+ {
1051
+ "inputs": [],
1052
+ "name": "DECRYPTION_PROOF_TYPEHASH",
1053
+ "outputs": [
1054
+ {
1055
+ "internalType": "bytes32",
1056
+ "name": "",
1057
+ "type": "bytes32"
1058
+ }
1059
+ ],
1060
+ "stateMutability": "view",
1061
+ "type": "function"
1062
+ },
1063
+ {
1064
+ "inputs": [],
1065
+ "name": "HANDLE_PROOF_TYPEHASH",
1066
+ "outputs": [
1067
+ {
1068
+ "internalType": "bytes32",
1069
+ "name": "",
1070
+ "type": "bytes32"
1071
+ }
1072
+ ],
1073
+ "stateMutability": "view",
1074
+ "type": "function"
1075
+ },
1076
+ {
1077
+ "inputs": [],
1078
+ "name": "UPGRADE_INTERFACE_VERSION",
1079
+ "outputs": [
1080
+ {
1081
+ "internalType": "string",
1082
+ "name": "",
1083
+ "type": "string"
1084
+ }
1085
+ ],
1086
+ "stateMutability": "view",
1087
+ "type": "function"
1088
+ },
1089
+ {
1090
+ "inputs": [
1091
+ {
1092
+ "internalType": "bytes32",
1093
+ "name": "leftHandOperand",
1094
+ "type": "bytes32"
1095
+ },
1096
+ {
1097
+ "internalType": "bytes32",
1098
+ "name": "rightHandOperand",
1099
+ "type": "bytes32"
1100
+ }
1101
+ ],
1102
+ "name": "add",
1103
+ "outputs": [
1104
+ {
1105
+ "internalType": "bytes32",
1106
+ "name": "result",
1107
+ "type": "bytes32"
1108
+ }
1109
+ ],
1110
+ "stateMutability": "nonpayable",
1111
+ "type": "function"
1112
+ },
1113
+ {
1114
+ "inputs": [
1115
+ {
1116
+ "internalType": "bytes32",
1117
+ "name": "handle",
1118
+ "type": "bytes32"
1119
+ },
1120
+ {
1121
+ "internalType": "address",
1122
+ "name": "viewer",
1123
+ "type": "address"
1124
+ }
1125
+ ],
1126
+ "name": "addViewer",
1127
+ "outputs": [],
1128
+ "stateMutability": "nonpayable",
1129
+ "type": "function"
1130
+ },
1131
+ {
1132
+ "inputs": [
1133
+ {
1134
+ "internalType": "bytes32",
1135
+ "name": "handle",
1136
+ "type": "bytes32"
1137
+ },
1138
+ {
1139
+ "internalType": "address",
1140
+ "name": "account",
1141
+ "type": "address"
1142
+ }
1143
+ ],
1144
+ "name": "allow",
1145
+ "outputs": [],
1146
+ "stateMutability": "nonpayable",
1147
+ "type": "function"
1148
+ },
1149
+ {
1150
+ "inputs": [
1151
+ {
1152
+ "internalType": "bytes32",
1153
+ "name": "handle",
1154
+ "type": "bytes32"
1155
+ }
1156
+ ],
1157
+ "name": "allowPublicDecryption",
1158
+ "outputs": [],
1159
+ "stateMutability": "nonpayable",
1160
+ "type": "function"
1161
+ },
1162
+ {
1163
+ "inputs": [
1164
+ {
1165
+ "internalType": "bytes32",
1166
+ "name": "handle",
1167
+ "type": "bytes32"
1168
+ },
1169
+ {
1170
+ "internalType": "address",
1171
+ "name": "account",
1172
+ "type": "address"
1173
+ }
1174
+ ],
1175
+ "name": "allowTransient",
1176
+ "outputs": [],
1177
+ "stateMutability": "nonpayable",
1178
+ "type": "function"
1179
+ },
1180
+ {
1181
+ "inputs": [
1182
+ {
1183
+ "internalType": "bytes32",
1184
+ "name": "balanceFrom",
1185
+ "type": "bytes32"
1186
+ },
1187
+ {
1188
+ "internalType": "bytes32",
1189
+ "name": "amount",
1190
+ "type": "bytes32"
1191
+ },
1192
+ {
1193
+ "internalType": "bytes32",
1194
+ "name": "totalSupply",
1195
+ "type": "bytes32"
1196
+ }
1197
+ ],
1198
+ "name": "burn",
1199
+ "outputs": [
1200
+ {
1201
+ "internalType": "bytes32",
1202
+ "name": "success",
1203
+ "type": "bytes32"
1204
+ },
1205
+ {
1206
+ "internalType": "bytes32",
1207
+ "name": "newBalanceFrom",
1208
+ "type": "bytes32"
1209
+ },
1210
+ {
1211
+ "internalType": "bytes32",
1212
+ "name": "newTotalSupply",
1213
+ "type": "bytes32"
1214
+ }
1215
+ ],
1216
+ "stateMutability": "nonpayable",
1217
+ "type": "function"
1218
+ },
1219
+ {
1220
+ "inputs": [
1221
+ {
1222
+ "internalType": "bytes32",
1223
+ "name": "handle",
1224
+ "type": "bytes32"
1225
+ },
1226
+ {
1227
+ "internalType": "address",
1228
+ "name": "account",
1229
+ "type": "address"
1230
+ }
1231
+ ],
1232
+ "name": "disallowTransient",
1233
+ "outputs": [],
1234
+ "stateMutability": "nonpayable",
1235
+ "type": "function"
1236
+ },
1237
+ {
1238
+ "inputs": [
1239
+ {
1240
+ "internalType": "bytes32",
1241
+ "name": "numerator",
1242
+ "type": "bytes32"
1243
+ },
1244
+ {
1245
+ "internalType": "bytes32",
1246
+ "name": "denominator",
1247
+ "type": "bytes32"
1248
+ }
1249
+ ],
1250
+ "name": "div",
1251
+ "outputs": [
1252
+ {
1253
+ "internalType": "bytes32",
1254
+ "name": "result",
1255
+ "type": "bytes32"
1256
+ }
1257
+ ],
1258
+ "stateMutability": "nonpayable",
1259
+ "type": "function"
1260
+ },
1261
+ {
1262
+ "inputs": [],
1263
+ "name": "eip712Domain",
1264
+ "outputs": [
1265
+ {
1266
+ "internalType": "bytes1",
1267
+ "name": "fields",
1268
+ "type": "bytes1"
1269
+ },
1270
+ {
1271
+ "internalType": "string",
1272
+ "name": "name",
1273
+ "type": "string"
1274
+ },
1275
+ {
1276
+ "internalType": "string",
1277
+ "name": "version",
1278
+ "type": "string"
1279
+ },
1280
+ {
1281
+ "internalType": "uint256",
1282
+ "name": "chainId",
1283
+ "type": "uint256"
1284
+ },
1285
+ {
1286
+ "internalType": "address",
1287
+ "name": "verifyingContract",
1288
+ "type": "address"
1289
+ },
1290
+ {
1291
+ "internalType": "bytes32",
1292
+ "name": "salt",
1293
+ "type": "bytes32"
1294
+ },
1295
+ {
1296
+ "internalType": "uint256[]",
1297
+ "name": "extensions",
1298
+ "type": "uint256[]"
1299
+ }
1300
+ ],
1301
+ "stateMutability": "view",
1302
+ "type": "function"
1303
+ },
1304
+ {
1305
+ "inputs": [
1306
+ {
1307
+ "internalType": "bytes32",
1308
+ "name": "leftHandOperand",
1309
+ "type": "bytes32"
1310
+ },
1311
+ {
1312
+ "internalType": "bytes32",
1313
+ "name": "rightHandOperand",
1314
+ "type": "bytes32"
1315
+ }
1316
+ ],
1317
+ "name": "eq",
1318
+ "outputs": [
1319
+ {
1320
+ "internalType": "bytes32",
1321
+ "name": "result",
1322
+ "type": "bytes32"
1323
+ }
1324
+ ],
1325
+ "stateMutability": "nonpayable",
1326
+ "type": "function"
1327
+ },
1328
+ {
1329
+ "inputs": [],
1330
+ "name": "gateway",
1331
+ "outputs": [
1332
+ {
1333
+ "internalType": "address",
1334
+ "name": "",
1335
+ "type": "address"
1336
+ }
1337
+ ],
1338
+ "stateMutability": "view",
1339
+ "type": "function"
1340
+ },
1341
+ {
1342
+ "inputs": [
1343
+ {
1344
+ "internalType": "bytes32",
1345
+ "name": "leftHandOperand",
1346
+ "type": "bytes32"
1347
+ },
1348
+ {
1349
+ "internalType": "bytes32",
1350
+ "name": "rightHandOperand",
1351
+ "type": "bytes32"
1352
+ }
1353
+ ],
1354
+ "name": "ge",
1355
+ "outputs": [
1356
+ {
1357
+ "internalType": "bytes32",
1358
+ "name": "result",
1359
+ "type": "bytes32"
1360
+ }
1361
+ ],
1362
+ "stateMutability": "nonpayable",
1363
+ "type": "function"
1364
+ },
1365
+ {
1366
+ "inputs": [
1367
+ {
1368
+ "internalType": "bytes32",
1369
+ "name": "leftHandOperand",
1370
+ "type": "bytes32"
1371
+ },
1372
+ {
1373
+ "internalType": "bytes32",
1374
+ "name": "rightHandOperand",
1375
+ "type": "bytes32"
1376
+ }
1377
+ ],
1378
+ "name": "gt",
1379
+ "outputs": [
1380
+ {
1381
+ "internalType": "bytes32",
1382
+ "name": "result",
1383
+ "type": "bytes32"
1384
+ }
1385
+ ],
1386
+ "stateMutability": "nonpayable",
1387
+ "type": "function"
1388
+ },
1389
+ {
1390
+ "inputs": [
1391
+ {
1392
+ "internalType": "address",
1393
+ "name": "initialOwner",
1394
+ "type": "address"
1395
+ },
1396
+ {
1397
+ "internalType": "bytes",
1398
+ "name": "kmsPublicKey_",
1399
+ "type": "bytes"
1400
+ }
1401
+ ],
1402
+ "name": "initialize",
1403
+ "outputs": [],
1404
+ "stateMutability": "nonpayable",
1405
+ "type": "function"
1406
+ },
1407
+ {
1408
+ "inputs": [
1409
+ {
1410
+ "internalType": "bytes32",
1411
+ "name": "handle",
1412
+ "type": "bytes32"
1413
+ },
1414
+ {
1415
+ "internalType": "address",
1416
+ "name": "account",
1417
+ "type": "address"
1418
+ }
1419
+ ],
1420
+ "name": "isAllowed",
1421
+ "outputs": [
1422
+ {
1423
+ "internalType": "bool",
1424
+ "name": "",
1425
+ "type": "bool"
1426
+ }
1427
+ ],
1428
+ "stateMutability": "view",
1429
+ "type": "function"
1430
+ },
1431
+ {
1432
+ "inputs": [
1433
+ {
1434
+ "internalType": "bytes32",
1435
+ "name": "handle",
1436
+ "type": "bytes32"
1437
+ }
1438
+ ],
1439
+ "name": "isPubliclyDecryptable",
1440
+ "outputs": [
1441
+ {
1442
+ "internalType": "bool",
1443
+ "name": "",
1444
+ "type": "bool"
1445
+ }
1446
+ ],
1447
+ "stateMutability": "view",
1448
+ "type": "function"
1449
+ },
1450
+ {
1451
+ "inputs": [
1452
+ {
1453
+ "internalType": "bytes32",
1454
+ "name": "handle",
1455
+ "type": "bytes32"
1456
+ },
1457
+ {
1458
+ "internalType": "address",
1459
+ "name": "viewer",
1460
+ "type": "address"
1461
+ }
1462
+ ],
1463
+ "name": "isViewer",
1464
+ "outputs": [
1465
+ {
1466
+ "internalType": "bool",
1467
+ "name": "",
1468
+ "type": "bool"
1469
+ }
1470
+ ],
1471
+ "stateMutability": "view",
1472
+ "type": "function"
1473
+ },
1474
+ {
1475
+ "inputs": [],
1476
+ "name": "kmsPublicKey",
1477
+ "outputs": [
1478
+ {
1479
+ "internalType": "bytes",
1480
+ "name": "",
1481
+ "type": "bytes"
1482
+ }
1483
+ ],
1484
+ "stateMutability": "view",
1485
+ "type": "function"
1486
+ },
1487
+ {
1488
+ "inputs": [
1489
+ {
1490
+ "internalType": "bytes32",
1491
+ "name": "leftHandOperand",
1492
+ "type": "bytes32"
1493
+ },
1494
+ {
1495
+ "internalType": "bytes32",
1496
+ "name": "rightHandOperand",
1497
+ "type": "bytes32"
1498
+ }
1499
+ ],
1500
+ "name": "le",
1501
+ "outputs": [
1502
+ {
1503
+ "internalType": "bytes32",
1504
+ "name": "result",
1505
+ "type": "bytes32"
1506
+ }
1507
+ ],
1508
+ "stateMutability": "nonpayable",
1509
+ "type": "function"
1510
+ },
1511
+ {
1512
+ "inputs": [
1513
+ {
1514
+ "internalType": "bytes32",
1515
+ "name": "leftHandOperand",
1516
+ "type": "bytes32"
1517
+ },
1518
+ {
1519
+ "internalType": "bytes32",
1520
+ "name": "rightHandOperand",
1521
+ "type": "bytes32"
1522
+ }
1523
+ ],
1524
+ "name": "lt",
1525
+ "outputs": [
1526
+ {
1527
+ "internalType": "bytes32",
1528
+ "name": "result",
1529
+ "type": "bytes32"
1530
+ }
1531
+ ],
1532
+ "stateMutability": "nonpayable",
1533
+ "type": "function"
1534
+ },
1535
+ {
1536
+ "inputs": [
1537
+ {
1538
+ "internalType": "bytes32",
1539
+ "name": "balanceTo",
1540
+ "type": "bytes32"
1541
+ },
1542
+ {
1543
+ "internalType": "bytes32",
1544
+ "name": "amount",
1545
+ "type": "bytes32"
1546
+ },
1547
+ {
1548
+ "internalType": "bytes32",
1549
+ "name": "totalSupply",
1550
+ "type": "bytes32"
1551
+ }
1552
+ ],
1553
+ "name": "mint",
1554
+ "outputs": [
1555
+ {
1556
+ "internalType": "bytes32",
1557
+ "name": "success",
1558
+ "type": "bytes32"
1559
+ },
1560
+ {
1561
+ "internalType": "bytes32",
1562
+ "name": "newBalanceTo",
1563
+ "type": "bytes32"
1564
+ },
1565
+ {
1566
+ "internalType": "bytes32",
1567
+ "name": "newTotalSupply",
1568
+ "type": "bytes32"
1569
+ }
1570
+ ],
1571
+ "stateMutability": "nonpayable",
1572
+ "type": "function"
1573
+ },
1574
+ {
1575
+ "inputs": [
1576
+ {
1577
+ "internalType": "bytes32",
1578
+ "name": "leftHandOperand",
1579
+ "type": "bytes32"
1580
+ },
1581
+ {
1582
+ "internalType": "bytes32",
1583
+ "name": "rightHandOperand",
1584
+ "type": "bytes32"
1585
+ }
1586
+ ],
1587
+ "name": "mul",
1588
+ "outputs": [
1589
+ {
1590
+ "internalType": "bytes32",
1591
+ "name": "result",
1592
+ "type": "bytes32"
1593
+ }
1594
+ ],
1595
+ "stateMutability": "nonpayable",
1596
+ "type": "function"
1597
+ },
1598
+ {
1599
+ "inputs": [
1600
+ {
1601
+ "internalType": "bytes32",
1602
+ "name": "leftHandOperand",
1603
+ "type": "bytes32"
1604
+ },
1605
+ {
1606
+ "internalType": "bytes32",
1607
+ "name": "rightHandOperand",
1608
+ "type": "bytes32"
1609
+ }
1610
+ ],
1611
+ "name": "ne",
1612
+ "outputs": [
1613
+ {
1614
+ "internalType": "bytes32",
1615
+ "name": "result",
1616
+ "type": "bytes32"
1617
+ }
1618
+ ],
1619
+ "stateMutability": "nonpayable",
1620
+ "type": "function"
1621
+ },
1622
+ {
1623
+ "inputs": [],
1624
+ "name": "owner",
1625
+ "outputs": [
1626
+ {
1627
+ "internalType": "address",
1628
+ "name": "",
1629
+ "type": "address"
1630
+ }
1631
+ ],
1632
+ "stateMutability": "view",
1633
+ "type": "function"
1634
+ },
1635
+ {
1636
+ "inputs": [],
1637
+ "name": "proofExpirationDuration",
1638
+ "outputs": [
1639
+ {
1640
+ "internalType": "uint256",
1641
+ "name": "",
1642
+ "type": "uint256"
1643
+ }
1644
+ ],
1645
+ "stateMutability": "view",
1646
+ "type": "function"
1647
+ },
1648
+ {
1649
+ "inputs": [],
1650
+ "name": "proxiableUUID",
1651
+ "outputs": [
1652
+ {
1653
+ "internalType": "bytes32",
1654
+ "name": "",
1655
+ "type": "bytes32"
1656
+ }
1657
+ ],
1658
+ "stateMutability": "view",
1659
+ "type": "function"
1660
+ },
1661
+ {
1662
+ "inputs": [],
1663
+ "name": "renounceOwnership",
1664
+ "outputs": [],
1665
+ "stateMutability": "nonpayable",
1666
+ "type": "function"
1667
+ },
1668
+ {
1669
+ "inputs": [
1670
+ {
1671
+ "internalType": "bytes32",
1672
+ "name": "leftHandOperand",
1673
+ "type": "bytes32"
1674
+ },
1675
+ {
1676
+ "internalType": "bytes32",
1677
+ "name": "rightHandOperand",
1678
+ "type": "bytes32"
1679
+ }
1680
+ ],
1681
+ "name": "safeAdd",
1682
+ "outputs": [
1683
+ {
1684
+ "internalType": "bytes32",
1685
+ "name": "success",
1686
+ "type": "bytes32"
1687
+ },
1688
+ {
1689
+ "internalType": "bytes32",
1690
+ "name": "result",
1691
+ "type": "bytes32"
1692
+ }
1693
+ ],
1694
+ "stateMutability": "nonpayable",
1695
+ "type": "function"
1696
+ },
1697
+ {
1698
+ "inputs": [
1699
+ {
1700
+ "internalType": "bytes32",
1701
+ "name": "numerator",
1702
+ "type": "bytes32"
1703
+ },
1704
+ {
1705
+ "internalType": "bytes32",
1706
+ "name": "denominator",
1707
+ "type": "bytes32"
1708
+ }
1709
+ ],
1710
+ "name": "safeDiv",
1711
+ "outputs": [
1712
+ {
1713
+ "internalType": "bytes32",
1714
+ "name": "success",
1715
+ "type": "bytes32"
1716
+ },
1717
+ {
1718
+ "internalType": "bytes32",
1719
+ "name": "result",
1720
+ "type": "bytes32"
1721
+ }
1722
+ ],
1723
+ "stateMutability": "nonpayable",
1724
+ "type": "function"
1725
+ },
1726
+ {
1727
+ "inputs": [
1728
+ {
1729
+ "internalType": "bytes32",
1730
+ "name": "leftHandOperand",
1731
+ "type": "bytes32"
1732
+ },
1733
+ {
1734
+ "internalType": "bytes32",
1735
+ "name": "rightHandOperand",
1736
+ "type": "bytes32"
1737
+ }
1738
+ ],
1739
+ "name": "safeMul",
1740
+ "outputs": [
1741
+ {
1742
+ "internalType": "bytes32",
1743
+ "name": "success",
1744
+ "type": "bytes32"
1745
+ },
1746
+ {
1747
+ "internalType": "bytes32",
1748
+ "name": "result",
1749
+ "type": "bytes32"
1750
+ }
1751
+ ],
1752
+ "stateMutability": "nonpayable",
1753
+ "type": "function"
1754
+ },
1755
+ {
1756
+ "inputs": [
1757
+ {
1758
+ "internalType": "bytes32",
1759
+ "name": "leftHandOperand",
1760
+ "type": "bytes32"
1761
+ },
1762
+ {
1763
+ "internalType": "bytes32",
1764
+ "name": "rightHandOperand",
1765
+ "type": "bytes32"
1766
+ }
1767
+ ],
1768
+ "name": "safeSub",
1769
+ "outputs": [
1770
+ {
1771
+ "internalType": "bytes32",
1772
+ "name": "success",
1773
+ "type": "bytes32"
1774
+ },
1775
+ {
1776
+ "internalType": "bytes32",
1777
+ "name": "result",
1778
+ "type": "bytes32"
1779
+ }
1780
+ ],
1781
+ "stateMutability": "nonpayable",
1782
+ "type": "function"
1783
+ },
1784
+ {
1785
+ "inputs": [
1786
+ {
1787
+ "internalType": "bytes32",
1788
+ "name": "condition",
1789
+ "type": "bytes32"
1790
+ },
1791
+ {
1792
+ "internalType": "bytes32",
1793
+ "name": "ifTrue",
1794
+ "type": "bytes32"
1795
+ },
1796
+ {
1797
+ "internalType": "bytes32",
1798
+ "name": "ifFalse",
1799
+ "type": "bytes32"
1800
+ }
1801
+ ],
1802
+ "name": "select",
1803
+ "outputs": [
1804
+ {
1805
+ "internalType": "bytes32",
1806
+ "name": "result",
1807
+ "type": "bytes32"
1808
+ }
1809
+ ],
1810
+ "stateMutability": "nonpayable",
1811
+ "type": "function"
1812
+ },
1813
+ {
1814
+ "inputs": [
1815
+ {
1816
+ "internalType": "address",
1817
+ "name": "gatewayAddress",
1818
+ "type": "address"
1819
+ }
1820
+ ],
1821
+ "name": "setGateway",
1822
+ "outputs": [],
1823
+ "stateMutability": "nonpayable",
1824
+ "type": "function"
1825
+ },
1826
+ {
1827
+ "inputs": [
1828
+ {
1829
+ "internalType": "bytes",
1830
+ "name": "newKmsPublicKey",
1831
+ "type": "bytes"
1832
+ }
1833
+ ],
1834
+ "name": "setKmsPublicKey",
1835
+ "outputs": [],
1836
+ "stateMutability": "nonpayable",
1837
+ "type": "function"
1838
+ },
1839
+ {
1840
+ "inputs": [
1841
+ {
1842
+ "internalType": "uint256",
1843
+ "name": "newDuration",
1844
+ "type": "uint256"
1845
+ }
1846
+ ],
1847
+ "name": "setProofExpirationDuration",
1848
+ "outputs": [],
1849
+ "stateMutability": "nonpayable",
1850
+ "type": "function"
1851
+ },
1852
+ {
1853
+ "inputs": [
1854
+ {
1855
+ "internalType": "bytes32",
1856
+ "name": "leftHandOperand",
1857
+ "type": "bytes32"
1858
+ },
1859
+ {
1860
+ "internalType": "bytes32",
1861
+ "name": "rightHandOperand",
1862
+ "type": "bytes32"
1863
+ }
1864
+ ],
1865
+ "name": "sub",
1866
+ "outputs": [
1867
+ {
1868
+ "internalType": "bytes32",
1869
+ "name": "result",
1870
+ "type": "bytes32"
1871
+ }
1872
+ ],
1873
+ "stateMutability": "nonpayable",
1874
+ "type": "function"
1875
+ },
1876
+ {
1877
+ "inputs": [
1878
+ {
1879
+ "internalType": "bytes32",
1880
+ "name": "balanceFrom",
1881
+ "type": "bytes32"
1882
+ },
1883
+ {
1884
+ "internalType": "bytes32",
1885
+ "name": "balanceTo",
1886
+ "type": "bytes32"
1887
+ },
1888
+ {
1889
+ "internalType": "bytes32",
1890
+ "name": "amount",
1891
+ "type": "bytes32"
1892
+ }
1893
+ ],
1894
+ "name": "transfer",
1895
+ "outputs": [
1896
+ {
1897
+ "internalType": "bytes32",
1898
+ "name": "success",
1899
+ "type": "bytes32"
1900
+ },
1901
+ {
1902
+ "internalType": "bytes32",
1903
+ "name": "newBalanceFrom",
1904
+ "type": "bytes32"
1905
+ },
1906
+ {
1907
+ "internalType": "bytes32",
1908
+ "name": "newBalanceTo",
1909
+ "type": "bytes32"
1910
+ }
1911
+ ],
1912
+ "stateMutability": "nonpayable",
1913
+ "type": "function"
1914
+ },
1915
+ {
1916
+ "inputs": [
1917
+ {
1918
+ "internalType": "address",
1919
+ "name": "newOwner",
1920
+ "type": "address"
1921
+ }
1922
+ ],
1923
+ "name": "transferOwnership",
1924
+ "outputs": [],
1925
+ "stateMutability": "nonpayable",
1926
+ "type": "function"
1927
+ },
1928
+ {
1929
+ "inputs": [
1930
+ {
1931
+ "internalType": "address",
1932
+ "name": "newImplementation",
1933
+ "type": "address"
1934
+ },
1935
+ {
1936
+ "internalType": "bytes",
1937
+ "name": "data",
1938
+ "type": "bytes"
1939
+ }
1940
+ ],
1941
+ "name": "upgradeToAndCall",
1942
+ "outputs": [],
1943
+ "stateMutability": "payable",
1944
+ "type": "function"
1945
+ },
1946
+ {
1947
+ "inputs": [
1948
+ {
1949
+ "internalType": "address",
1950
+ "name": "account",
1951
+ "type": "address"
1952
+ },
1953
+ {
1954
+ "internalType": "bytes32[]",
1955
+ "name": "handles",
1956
+ "type": "bytes32[]"
1957
+ }
1958
+ ],
1959
+ "name": "validateAllowedForAll",
1960
+ "outputs": [],
1961
+ "stateMutability": "view",
1962
+ "type": "function"
1963
+ },
1964
+ {
1965
+ "inputs": [
1966
+ {
1967
+ "internalType": "bytes32",
1968
+ "name": "handle",
1969
+ "type": "bytes32"
1970
+ },
1971
+ {
1972
+ "internalType": "bytes",
1973
+ "name": "decryptionProof",
1974
+ "type": "bytes"
1975
+ }
1976
+ ],
1977
+ "name": "validateDecryptionProof",
1978
+ "outputs": [
1979
+ {
1980
+ "internalType": "bytes",
1981
+ "name": "",
1982
+ "type": "bytes"
1983
+ }
1984
+ ],
1985
+ "stateMutability": "view",
1986
+ "type": "function"
1987
+ },
1988
+ {
1989
+ "inputs": [
1990
+ {
1991
+ "internalType": "bytes32",
1992
+ "name": "handle",
1993
+ "type": "bytes32"
1994
+ },
1995
+ {
1996
+ "internalType": "address",
1997
+ "name": "owner",
1998
+ "type": "address"
1999
+ },
2000
+ {
2001
+ "internalType": "bytes",
2002
+ "name": "proof",
2003
+ "type": "bytes"
2004
+ },
2005
+ {
2006
+ "internalType": "enum TEEType",
2007
+ "name": "teeType",
2008
+ "type": "uint8"
2009
+ }
2010
+ ],
2011
+ "name": "validateInputProof",
2012
+ "outputs": [],
2013
+ "stateMutability": "nonpayable",
2014
+ "type": "function"
2015
+ },
2016
+ {
2017
+ "inputs": [
2018
+ {
2019
+ "internalType": "bytes32",
2020
+ "name": "value",
2021
+ "type": "bytes32"
2022
+ },
2023
+ {
2024
+ "internalType": "enum TEEType",
2025
+ "name": "teeType",
2026
+ "type": "uint8"
2027
+ }
2028
+ ],
2029
+ "name": "wrapAsPublicHandle",
2030
+ "outputs": [
2031
+ {
2032
+ "internalType": "bytes32",
2033
+ "name": "result",
2034
+ "type": "bytes32"
2035
+ }
2036
+ ],
2037
+ "stateMutability": "nonpayable",
2038
+ "type": "function"
2039
+ }
2040
+ ],
2041
+ "bytecode": "0x610180604052346101d8576040516100186040826101dc565b600a81526020810190694e6f78436f6d7075746560b01b8252604051916100406040846101dc565b600183526020830191603160f81b83523060805261005d81610213565b6101405261006a846103b5565b6101605251902091826101005251902080610120524660c0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100d460c0826101dc565b51902060a0523060e0525f516020613bf15f395f51905f525460ff8160401c166101c9576002600160401b03196001600160401b03821601610173575b6040516136f790816104fa82396080518181816120a20152612145015260a051816132d0015260c0518161338d015260e0518161329a0152610100518161331f01526101205181613345015261014051816119440152610160518161196d0152f35b6001600160401b0319166001600160401b039081175f516020613bf15f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f610111565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b038211908210176101ff57604052565b634e487b7160e01b5f52604160045260245ffd5b908151602081105f1461028d575090601f81511161024d57602081519101516020821061023e571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116101ff575f54600181811c911680156103ab575b602082101461039757601f8111610359575b50602092601f82116001146102fa57928192935f926102ef575b50508160011b915f199060031b1c1916175f5560ff90565b015190505f806102d7565b601f198216935f8052805f20915f5b8681106103415750836001959610610329575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f808061031c565b91926020600181928685015181550194019201610309565b818111156102bd575f805260205f20601f80840160051c809201920160051c03905f5b82811061038a5750506102bd565b5f8282015560010161037c565b634e487b7160e01b5f52602260045260245ffd5b90607f16906102ab565b908151602081105f146103e0575090601f81511161024d57602081519101516020821061023e571790565b6001600160401b0381116101ff57600154600181811c911680156104ef575b602082101461039757601f81116104b0575b50602092601f821160011461044f57928192935f92610444575b50508160011b915f199060031b1c19161760015560ff90565b015190505f8061042b565b601f1982169360015f52805f20915f5b8681106104985750836001959610610480575b505050811b0160015560ff90565b01515f1960f88460031b161c191690555f8080610472565b9192602060018192868501518155019401920161045f565b818111156104115760015f5260205f20601f80840160051c809201920160051c03905f5b8281106104e2575050610411565b5f828201556001016104d4565b90607f16906103ff56fe60806040526004361015610011575f80fd5b5f3560e01c806302d0e66e146128ed57806310ff39ca1461283a578063116191b6146127f3578063302974001461271f5780633447c0301461266e578063374e204e146126165780633e395cec146125c157806341aa0080146124ed5780634dc752ec146123be5780634eeb381e146122c15780634f1ef286146120f657806352d1902d1461209057806354fe3eb714611fdf578063574e888d14611ef457806369c39d9014611e625780636bf532ac14611db1578063715018a614611d4a578063785d690814611b5157806380c15e1114611a5457806382027b6d14611a2457806384b0196e1461192c57806386fc3bc3146118415780638da5cb5b1461180d5780638dc298071461175c57806390646b4a146116d557806396ce1ec714611601578063973ab10b1461146657806398c38455146113f957806398cb4dc0146112935780639a4b48be1461126a5780639dd9b336146111b9578063ac6c544f146110d6578063ad3cb1cc1461108b578063b3127a4b14611051578063b9496b6214610f9e578063bdd022be14610eb3578063bee03f0a14610df9578063c29799dc14610dbf578063cfc3f0ff14610d24578063d0571e4214610951578063d102b4d3146108a0578063d1de592a1461079b578063d1f57894146104a4578063d56497c31461038a578063f2fde38b1461035f5763f30c426014610213575f80fd5b3461035b5761022136612a34565b60405161022f606082612ab5565b6002815260403660208301378261024582612b4f565b528161025082612b70565b5261026361025d82612b4f565b51612efa565b9061026d82612f09565b60648210159260015b82518110156102cb5761028c61025d8285612b90565b60648110156102b757856102b75784036102a857600101610276565b631f3158c760e01b5f5260045ffd5b634e487b7160e01b5f52602160045260245ffd5b5090847fa3f1e3dc067c6ea13ee29fa088eacd4be5fdf42a000e0ce06b084117479fbf826103276040956102ff8533612d82565b61031561030b86612f44565b8092876005612fcd565b946103203387612e83565b600561307e565b80946103333383612e83565b865193845260208401526040830152606082018390523391608090a282519182526020820152f35b5f80fd5b3461035b57602036600319011261035b5761038861037b612a1e565b610383612e50565b612ddf565b005b3461035b57604036600319011261035b57600435602435606481101561035b5760408051926103b98285612ab5565b600184526020840193601f198301368637816103d482612b4f565b5282515f6020820181815260a083870152925160c0830181905260e0830197915b81811061048e57505050610426816020973060608301525f60808301525f60a083015203601f198101835282612ab5565b5190204660d81b63ffffffff60d81b1660389190911c1760d084901b60ff60d01b1617926104543385612e83565b82519182528482015282828201527f1370d6672cb4a1914b5298673259e17877c7ebf58dc47c47efccb757187c1f4d60603392a251908152f35b82518952602098890198909201916001016103f5565b3461035b57604036600319011261035b576104bd612a1e565b6024356001600160401b03811161035b576104dc903690600401612a4a565b5f5160206136cb5f395f51905f52549192604083901c60ff1615926001600160401b03811680159081610793575b6001149081610789575b159081610780575b506107715767ffffffffffffffff1981166001175f5160206136cb5f395f51905f525583610745575b50811561073657610560906105586134e6565b6103836134e6565b610e105f51602061368b5f395f51905f52556001600160401b038111610722576105975f51602061362b5f395f51905f5254612c1f565b601f81116106bb575b505f601f8211600114610640578192935f92610635575b50508160011b915f199060031b1c1916175f51602061362b5f395f51905f52555b6105de57005b68ff0000000000000000195f5160206136cb5f395f51905f5254165f5160206136cb5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b0135905083806105b7565b601f198216935f51602061362b5f395f51905f525f5260205f20915f5b8681106106a3575083600195961061068a575b505050811b015f51602061362b5f395f51905f52556105d8565b01355f19600384901b60f8161c19169055838080610670565b9092602060018192868601358155019401910161065d565b818111156105a0575f51602061362b5f395f51905f525f52601f820160051c5f5160206136ab5f395f51905f526020841061071a575b81601f9101920160051c03905f5b82811061070d5750506105a0565b5f828201556001016106ff565b5f91506106f1565b634e487b7160e01b5f52604160045260245ffd5b636ca3013560e01b5f5260045ffd5b68ffffffffffffffffff191668010000000000000001175f5160206136cb5f395f51905f525584610545565b63f92ee8a960e01b5f5260045ffd5b9050158661051c565b303b159150610514565b85915061050a565b3461035b576107a936612a34565b6040516107b7606082612ab5565b600281526040366020830137826107cd82612b4f565b52816107d882612b70565b526107e561025d82612b4f565b906107ef82612f09565b60648210159260015b825181101561082a5761080e61025d8285612b90565b60648110156102b757856102b75784036102a8576001016107f8565b50847f39e9fe4ef5775b41f10d058c793455cec69e7f83b0f806228a43907cc979183961086f6020948661085e8233612d82565b61086782612f44565b916001612fcd565b809361087b3383612e83565b604080519485526020850191909152830152339180606081015b0390a2604051908152f35b3461035b576108ae36612a34565b6108b782612efa565b6108c081612f09565b6108c982612efa565b60648210156102b75760648110156102b757036102a8576020917f60e29c31d5acaf9537691eea9f08f22168cad76d3b854c099af8c840d13b19b161086f604051610915606082612ab5565b60028152604036878301378361092a82612b4f565b528461093582612b70565b526109408133612d82565b61094981612f44565b90600c61311c565b3461035b57608036600319011261035b5760043561096d612a08565b906044356001600160401b03811161035b5761098d903690600401612a4a565b9092606435606481101561035b5763ffffffff60e01b4660e01b1663ffffffff60e01b8560081b1603610cc5576109c384612efa565b60648110156102b75703610c6f5760898203610c1957833560601c90601485013560601c906028860135908460891161035b575f51602061368b5f395f51905f52548201808311610c05574211610bb657338303610b68576001600160a01b03168303610b185790610a8892916040519160208301937f2597adb2c310b2d50ad6e27bef4fe33de1a27945ba8d078d20d7c41d47010a0a85528760408501526060840152608083015260a082015260a08152610a8060c082612ab5565b519020612ed4565b90610a936041612ad6565b93610aa16040519586612ab5565b6041855236608982011161035b57610adc610ad361038896610b119560416048860160208401375f60618301526134ac565b909291926133b3565b7f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd04546001600160a01b03918216911614612bc4565b3390612e83565b604080516315c70be760e31b81526004810182905290610b3c60448301878a612ba4565b6d09eeedccae440dad2e6dac2e8c6d60931b60208483039260031984016024870152600e815201520190fd5b604080516315c70be760e31b81526004810182905290610b8c60448301888b612ba4565b6b082e0e040dad2e6dac2e8c6d60a31b60208483039260031984016024870152600c815201520190fd5b604080516315c70be760e31b81526004810182905290610bda60448301888b612ba4565b6c141c9bdbd988195e1c1a5c9959609a1b60208483039260031984016024870152600d815201520190fd5b634e487b7160e01b5f52601160045260245ffd5b506040610c3d848251936315c70be760e31b85528360048601526044850191612ba4565b73092dcecc2d8d2c840e0e4dedecc40d8cadccee8d60631b602084830392600319840160248701526014815201520190fd5b506040610c93848251936315c70be760e31b85528360048601526044850191612ba4565b73090c2dcc8d8ca40e8f2e0ca40dad2e6dac2e8c6d60631b602084830392600319840160248701526014815201520190fd5b604080516315c70be760e31b81526004810182905290610ce9604483018689612ba4565b7f48616e646c6520636861696e206964206d69736d617463680000000000000000602084830392600319840160248701526018815201520190fd5b3461035b57604036600319011261035b57610d3d612a1e565b602435906001600160401b03821161035b573660238301121561035b578160040135906001600160401b038211610722578160051b926020840192610d856040519485612ab5565b8352602460208401948201019036821161035b57602401935b818510610daf576103888484612d82565b8435815260209485019401610d9e565b3461035b575f36600319011261035b5760206040517f311950bdc0530af6f4aa4482fe9c8bc59fdf81725f7c1abdc36a1ce7f42ba3188152f35b3461035b57604036600319011261035b57600435610e15612a08565b906001600160a01b03821615610ea457600681901a60f81b600160f81b1615610e9557610e81610e8f5f93610e5333610e4e3387612c57565b612b27565b604080516020810195865260609290921b6bffffffffffffffffffffffff1916908201529182906054820190565b03601f198101835282612ab5565b5190205d005b6360822d7b60e11b5f5260045ffd5b63f6b2911f60e01b5f5260045ffd5b3461035b57610ec136612a34565b604051610ecf606082612ab5565b60028152604036602083013782610ee582612b4f565b5281610ef082612b70565b52610efd61025d82612b4f565b90610f0782612f09565b60648210159260015b8251811015610f4257610f2661025d8285612b90565b60648110156102b757856102b75784036102a857600101610f10565b5090847f2dabc4b37169e7fc65814699f7849bfdd0391ec641e4f53efbf2077428928ec5610327604095610f768533612d82565b610f8c610f8286612f44565b8092876008612fcd565b94610f973387612e83565b600861307e565b3461035b57604036600319011261035b576004356001600160a01b03610fc2612a08565b168015610ea457600682901a60f81b600160f81b1615610e9557610fea33610e4e3385612c57565b815f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0060205260405f20815f5260205260405f20600160ff19825416179055337fe2e1decee6e05ee246cd7c7f1337d25cdfd41dcbdcf8c57b61630be56cc7366a5f80a4005b3461035b575f36600319011261035b5760206040517f2597adb2c310b2d50ad6e27bef4fe33de1a27945ba8d078d20d7c41d47010a0a8152f35b3461035b575f36600319011261035b576110d26040516110ac604082612ab5565b60058152640352e302e360dc1b6020820152604051918291602083526020830190612a77565b0390f35b3461035b575f36600319011261035b576040515f5f51602061362b5f395f51905f525461110281612c1f565b8084529060018116908115611195575060011461113e575b6110d28361112a81850382612ab5565b604051918291602083526020830190612a77565b5f51602061362b5f395f51905f525f9081525f5160206136ab5f395f51905f52939250905b80821061117b5750909150810160200161112a61111a565b919260018160209254838588010152019101909291611163565b60ff191660208086019190915291151560051b8401909101915061112a905061111a565b3461035b576111c736612a34565b6111d082612efa565b6111d981612f09565b6111e282612efa565b60648210156102b75760648110156102b757036102a8576020917f46314c01be675ae168daf399eade5ec333ca96cd392fef4e77a2fbc7ca07a93561086f60405161122e606082612ab5565b60028152604036878301378361124382612b4f565b528461124e82612b70565b526112598133612d82565b61126281612f44565b90600d61311c565b3461035b575f36600319011261035b5760205f51602061368b5f395f51905f5254604051908152f35b3461035b576112a136612a9b565b91906040516112b1608082612ab5565b600381526060366020830137826112c782612b4f565b52816112d282612b70565b52836112dd82612b80565b526112ea61025d82612b4f565b916112f483612f09565b60648310159360015b835181101561132f5761131361025d8286612b90565b60648110156102b757866102b75785036102a8576001016112fd565b506110d29294507feb9e2cc624056c52e83ec40b1f663837d10a4b19b2ff6903313d317204b4e641866113628733612d82565b61139061136e88612f44565b61137a818a601261311c565b9761138882828c6012613199565b996012613218565b9361139b3388612e83565b6113a53389612e83565b6113af3386612e83565b604080519485526020850191909152830152606082018590526080820186905260a08201839052339160c090a2604051938493846040919493926060820195825260208201520152565b3461035b57602036600319011261035b57600435600681901a60f81b600160f81b16158015611430575b6020906040519015158152f35b505f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd02602052602060ff60405f205416611423565b3461035b5761147436612a9b565b9161147e81612efa565b60648110156102b7576115f25761149482612efa565b9261149e81612efa565b60648110156102b75760648510156102b75784036102a857604051936114c5608086612ab5565b6003855260208501946060368737836114dd82612b4f565b52846114e882612b70565b52826114f382612b80565b526114fe8133612d82565b61150781612f44565b60405190602082019260c08301906009855260a060408501525180915260e0830198905f5b8181106115dc5750505090611582816020997fa452dd2476c4fc88c32a757db9ee8a8c320b13c923775830798e75ff9e652b539796959430606084015260808301525f60a083015203601f198101835282612ab5565b5190204660d81b63ffffffff60d81b1660389190911c1760d09190911b60ff60d01b1617600160c81b17936115b73386612e83565b6040805194855260208501919091528301526060820183905233918060808101610895565b82518b5260209a8b019a9092019160010161152c565b63636f233560e11b5f5260045ffd5b3461035b5761160f36612a34565b60405161161d606082612ab5565b6002815260403660208301378261163382612b4f565b528161163e82612b70565b5261164b61025d82612b4f565b9061165582612f09565b60648210159260015b82518110156116905761167461025d8285612b90565b60648110156102b757856102b75784036102a85760010161165e565b50847ff58aa3915d4aa885128394d9f7f9c798291e8bb2120e5bffab9119dd8c7a38b661086f602094866116c48233612d82565b6116cd82612f44565b916003612fcd565b3461035b57602036600319011261035b576116ee612a1e565b6116f6612e50565b6001600160a01b03168015610ea4577f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0480546001600160a01b031916821790557ff01fde40131396fd2f417fae830fea338256f1ecc896f2fa4f0354fd4554712c5f80a2005b3461035b5761176a36612a34565b61177382612efa565b61177c81612f09565b61178582612efa565b60648210156102b75760648110156102b757036102a8576020917f914e0104956a1f6e65c562db56add7f3735e2badc127756e0531c0992ca57b0961086f6040516117d1606082612ab5565b6002815260403687830137836117e682612b4f565b52846117f182612b70565b526117fc8133612d82565b61180581612f44565b90600e61311c565b3461035b575f36600319011261035b575f51602061364b5f395f51905f52546040516001600160a01b039091168152602090f35b3461035b5761184f36612a34565b60405161185d606082612ab5565b6002815260403660208301378261187382612b4f565b528161187e82612b70565b5261188b61025d82612b4f565b9061189582612f09565b60648210159260015b82518110156118d0576118b461025d8285612b90565b60648110156102b757856102b75784036102a85760010161189e565b5090847f68ed827646a45b3b79650d59a3d988a3ca57d8c7d551bae8e93e114e9bc6be216103276040956119048533612d82565b61191a61191086612f44565b8092876006612fcd565b946119253387612e83565b600661307e565b3461035b575f36600319011261035b576119c86119687f0000000000000000000000000000000000000000000000000000000000000000613413565b6119917f0000000000000000000000000000000000000000000000000000000000000000613475565b60206119d6604051926119a48385612ab5565b5f84525f368137604051958695600f60f81b875260e08588015260e0870190612a77565b908582036040870152612a77565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b828110611a0d57505050500390f35b8351855286955093810193928101926001016119fe565b3461035b57604036600319011261035b576020611a4a611a42612a08565b600435612c57565b6040519015158152f35b3461035b57611a6236612a9b565b9190604051611a72608082612ab5565b60038152606036602083013782611a8882612b4f565b5281611a9382612b70565b5283611a9e82612b80565b52611aab61025d82612b4f565b91611ab583612f09565b60648310159360015b8351811015611af057611ad461025d8286612b90565b60648110156102b757866102b75785036102a857600101611abe565b506110d29294507fdd42b3f1048c79e541c02a9d330faae62f281c8d1230ff82bc9bcea240d318a386611b238733612d82565b611390611b2f88612f44565b611b3b818a601061311c565b97611b4982828c6010613199565b996010613218565b3461035b57602036600319011261035b576004356001600160401b03811161035b57611b81903690600401612a4a565b90611b8a612e50565b8115610736576001600160401b03821161072257611bb55f51602061362b5f395f51905f5254612c1f565b601f8111611ce3575b505f91601f8111600114611c3d57807f9739e13c0243f49303c302aa4bad4c4c80a0a3dc7cca586cea03c3936d518fb4935f91611c32575b508160011b905f198360031b1c1916175f51602061362b5f395f51905f52555b611c2d604051928392602084526020840191612ba4565b0390a1005b905082013584611bf6565b5f51602061362b5f395f51905f525f908152601f198216935f5160206136ab5f395f51905f52915b858110611ccb5750827f9739e13c0243f49303c302aa4bad4c4c80a0a3dc7cca586cea03c3936d518fb49510611cb2575b5050600181811b015f51602061362b5f395f51905f5255611c16565b8301355f19600384901b60f8161c191690558380611c96565b90916020600181928588013581550193019101611c65565b82811115611bbe575f51602061362b5f395f51905f525f52601f830160051c5f5160206136ab5f395f51905f5260208510611d42575b81601f9101920160051c03905f5b828110611d35575050611bbe565b5f82820155600101611d27565b5f9150611d19565b3461035b575f36600319011261035b57611d62612e50565b5f51602061364b5f395f51905f5280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461035b57611dbf36612a34565b611dc882612efa565b611dd181612f09565b611dda82612efa565b60648210156102b75760648110156102b757036102a8576020917fae2be09df15121983b1d41a2a7247643f0a0d25b3906e50827bfa10295e25b0161086f604051611e26606082612ab5565b600281526040368783013783611e3b82612b4f565b5284611e4682612b70565b52611e518133612d82565b611e5a81612f44565b90600f61311c565b3461035b57602036600319011261035b57600435600681901a60f81b600160f81b1615610e9557611e9733610e4e3384612c57565b805f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0260205260405f20600160ff19825416179055337fbdec18fc4c128fcccccd5752b56d64498a09cf8edb26aa782f6a3c30568b665c5f80a3005b3461035b57611f0236612a34565b604051611f10606082612ab5565b60028152604036602083013782611f2682612b4f565b5281611f3182612b70565b52611f3e61025d82612b4f565b90611f4882612f09565b60648210159260015b8251811015611f8357611f6761025d8285612b90565b60648110156102b757856102b75784036102a857600101611f51565b5090847f67db0d27549a04974c93723c0f1ade3480d305a8d3ed91b83d09b817bc27c2b9610327604095611fb78533612d82565b611fcd611fc386612f44565b8092876007612fcd565b94611fd83387612e83565b600761307e565b3461035b57611fed36612a34565b611ff682612efa565b611fff81612f09565b61200882612efa565b60648210156102b75760648110156102b757036102a8576020917f0f33343f234cd09065311262990a6019fa0c421f5242f60bc414e4583f01274961086f604051612054606082612ab5565b60028152604036878301378361206982612b4f565b528461207482612b70565b5261207f8133612d82565b61208881612f44565b90600b61311c565b3461035b575f36600319011261035b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036120e75760206040515f51602061366b5f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b604036600319011261035b5761210a612a1e565b6024356001600160401b03811161035b573660238201121561035b5761213a903690602481600401359101612af1565b906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630811490811561229f575b506120e75761217d612e50565b6040516352d1902d60e01b81526001600160a01b0382169290602081600481875afa5f918161226b575b506121bf5783634c9c8ce360e01b5f5260045260245ffd5b805f51602061366b5f395f51905f528592036122595750823b15612247575f51602061366b5f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a280511561222f576103889161359e565b50503461223857005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d602011612297575b8161228760209383612ab5565b8101031261035b575190856121a7565b3d915061227a565b5f51602061366b5f395f51905f52546001600160a01b03161415905083612170565b3461035b576122cf36612a9b565b91906040516122df608082612ab5565b600381526060366020830137826122f582612b4f565b528161230082612b70565b528361230b82612b80565b5261231861025d82612b4f565b9161232283612f09565b60648310159360015b835181101561235d5761234161025d8286612b90565b60648110156102b757866102b75785036102a85760010161232b565b506110d29294507f8ba8689392554435fc74f26295740e476b61a8ccc3932ab0a7ae20618336e3ce866123908733612d82565b61139061239c88612f44565b6123a8818a601161311c565b976123b682828c6011613199565b996011613218565b3461035b57604036600319011261035b576024356001600160401b03811161035b576123ee903690600401612a4a565b906061821061249d578160411161035b576110d29181612496604161112a940192604019810192610adc61248d61247761242936888a612af1565b6020815191012060405160208101917f311950bdc0530af6f4aa4482fe9c8bc59fdf81725f7c1abdc36a1ce7f42ba31883526004356040830152606082015260608152610a80608082612ab5565b60208401359084359060408601355f1a90613511565b919291906133b3565b3691612af1565b6124c06040918251936315c70be760e31b85528360048601526044850191612ba4565b6e141c9bdbd9881d1bdbc81cda1bdc9d608a1b60208483039260031984016024870152600f815201520190fd5b3461035b576124fb36612a34565b604051612509606082612ab5565b6002815260403660208301378261251f82612b4f565b528161252a82612b70565b5261253761025d82612b4f565b9061254182612f09565b60648210159260015b825181101561257c5761256061025d8285612b90565b60648110156102b757856102b75784036102a85760010161254a565b50847f07fac87f278e536872057346d5204a1ee81edcb56a4eab88f027bc354ba1234261086f602094866125b08233612d82565b6125b982612f44565b916002612fcd565b3461035b57604036600319011261035b576004356125dd612a08565b6001600160a01b03811615610ea457600682901a60f81b600160f81b1615610e95576103889161261133610e4e3384612c57565b612e83565b3461035b57602036600319011261035b577f30fa88894cebbc609ce2926bc97fdfd18392b0b2089edcac3131f55cbe8addbc6020600435612655612e50565b805f51602061368b5f395f51905f5255604051908152a1005b3461035b5761267c36612a34565b61268582612efa565b61268e81612f09565b61269782612efa565b60648210156102b75760648110156102b757036102a8576020917f6ee26563b43387f86c354e34301f94a23571ab1ace56b10d0f7d3ab64c5eafcd61086f6040516126e3606082612ab5565b6002815260403687830137836126f882612b4f565b528461270382612b70565b5261270e8133612d82565b61271781612f44565b90600a61311c565b3461035b5761272d36612a34565b60405161273b606082612ab5565b6002815260403660208301378261275182612b4f565b528161275c82612b70565b5261276961025d82612b4f565b9061277382612f09565b60648210159260015b82518110156127ae5761279261025d8285612b90565b60648110156102b757856102b75784036102a85760010161277c565b50847f11ca51c9cc5c2666d096fe216bc8ced70b95b29de7e023fe93b9e246d4f5bd5761086f602094866127e28233612d82565b6127eb82612f44565b916004612fcd565b3461035b575f36600319011261035b577f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd04546040516001600160a01b039091168152602090f35b3461035b57604036600319011261035b576004356001600160a01b0361285e612a08565b168015610ea457600682901a60f81b600160f81b1615610e955761288633610e4e3385612c57565b815f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0160205260405f20815f5260205260405f20600160ff19825416179055337f6462b576f61d0d0c438945cb34f6f4f39fa054c99b62da279bcecd5ac67d86195f80a4005b3461035b57604036600319011261035b57600435612909612a08565b90600681901a60f81b600160f81b16159081156129d1575b8115612986575b811561293c575b6020826040519015158152f35b90505f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0060205260405f209060018060a01b03165f52602052602060ff60405f2054168261292f565b5f8181527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd01602090815260408083206001600160a01b038716845290915290205460ff169150612928565b8091505f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0260205260ff60405f20541690612921565b602435906001600160a01b038216820361035b57565b600435906001600160a01b038216820361035b57565b604090600319011261035b576004359060243590565b9181601f8401121561035b578235916001600160401b03831161035b576020838186019501011161035b57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b606090600319011261035b57600435906024359060443590565b90601f801991011681019081106001600160401b0382111761072257604052565b6001600160401b03811161072257601f01601f191660200190565b929192612afd82612ad6565b91612b0b6040519384612ab5565b82948184528183011161035b578281602093845f960137010152565b15612b2f5750565b633fcc3f1760e01b5f9081526001600160a01b0391909116600452602490fd5b805115612b5c5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015612b5c5760400190565b805160021015612b5c5760600190565b8051821015612b5c5760209160051b010190565b908060209392818452848401375f828201840152601f01601f1916010190565b15612bcd575050565b612bf06040918251936315c70be760e31b85528360048601526044850191612ba4565b70496e76616c6964207369676e617475726560781b602084830392600319840160248701526011815201520190fd5b90600182811c92168015612c4d575b6020831014612c3957565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612c2e565b600681901a60f81b600160f81b161591908215612cc0575b8215612c7a57505090565b9091505f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0060205260405f209060018060a01b03165f5260205260ff60405f20541690565b91506040516020810190612cf781610e81858786909160349282526bffffffffffffffffffffffff199060601b1660208201520190565b5190205c91612c6f565b5f9291815491612d1083612c1f565b8083529260018116908115612d655750600114612d2c57505050565b5f9081526020812093945091925b838310612d4b575060209250010190565b600181602092949394548385870101520191019190612d3a565b915050602093945060ff929192191683830152151560051b010190565b91905f5b8151811015612dd957612da384612d9d8385612b90565b51612c57565b15612db057600101612d86565b90612dbb9250612b90565b5163b87a12a960e01b5f5260045260018060a01b031660245260445ffd5b50509050565b6001600160a01b03168015612e3d575f51602061364b5f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b5f51602061364b5f395f51905f52546001600160a01b03163303612e7057565b63118cdaa760e01b5f523360045260245ffd5b600681901a60f81b600160f81b1615612ed057604080516020810192835260609390931b6bffffffffffffffffffffffff191690830152600191612eca8160548101610e81565b5190205d565b5050565b604290612edf613297565b906040519161190160f01b8352600283015260228201522090565b60051a60648110156102b75790565b60648110156102b75760ff1660048110159081612f38575b5015612f2957565b6342539f9b60e11b5f5260045ffd5b6043915011155f612f21565b5f5b8151811015612f7857612f598183612b90565b5160061a60f81b600160f81b16612f7257600101612f46565b50505f90565b50507f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd06545f198114610c0557600101807f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd065590565b91929060405191602083019360c084019060138110156102b757855260a06040850152825190819052602090920191839160e08301915f5b81811061306557505030606084015260808301525f60a083015203601f1981018352613032915082612ab5565b51902060381c60648210156102b7574660d81b63ffffffff60d81b161760d09190911b60ff60d01b1617600160c81b1790565b8551845260209586019587955090930192600101613005565b919060405191602083019360c084019060138110156102b757855260a06040850152825190819052602090920191839160e08301915f5b8181106131035750503060608401526080830152600160a083015203601f19810183526130e3915082612ab5565b5190204660d81b63ffffffff60d81b1660389190911c17600160c81b1790565b85518452602095860195879550909301926001016130b5565b919060405191602083019360c084019060138110156102b757855260a06040850152825190819052602090920191839160e08301915f5b81811061318057505030606084015260808301525f60a083015203601f19810183526130e3915082612ab5565b8551845260209586019587955090930192600101613153565b91929060405191602083019360c084019060138110156102b757855260a06040850152825190819052602090920191839160e08301915f5b8181106131ff5750503060608401526080830152600160a083015203601f1981018352613032915082612ab5565b85518452602095860195879550909301926001016131d1565b91929060405191602083019360c084019060138110156102b757855260a06040850152825190819052602090920191839160e08301915f5b81811061327e5750503060608401526080830152600260a083015203601f1981018352613032915082612ab5565b8551845260209586019587955090930192600101613250565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316148061338a575b156132f2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261338460c082612ab5565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146132c9565b60048110156102b757806133c5575050565b600181036133dc5763f645eedf60e01b5f5260045ffd5b600281036133f7575063fce698f760e01b5f5260045260245ffd5b6003146134015750565b6335e2f38360e21b5f5260045260245ffd5b60ff81146134595760ff811690601f821161344a5760405191613437604084612ab5565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b506040516134728161346b815f612d01565b0382612ab5565b90565b60ff81146134995760ff811690601f821161344a5760405191613437604084612ab5565b506040516134728161346b816001612d01565b81519190604183036134dc576134d59250602082015190606060408401519301515f1a90613511565b9192909190565b50505f9160029190565b60ff5f5160206136cb5f395f51905f525460401c161561350257565b631afcd79f60e31b5f5260045ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411613593579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15613588575f516001600160a01b0381161561357e57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b905f8091602081519101845af48080613617575b156135d25750506040513d81523d5f602083013e60203d82010160405290565b156135f757639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d15613608576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d1515806135b25750813b15156135b256fe118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd039016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd053fabd66dda730e75470b1b4151a1a124d20d746472d96c7d1dbd5dc95c1a9ab7f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a164736f6c6343000822000af0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00",
2042
+ "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f3560e01c806302d0e66e146128ed57806310ff39ca1461283a578063116191b6146127f3578063302974001461271f5780633447c0301461266e578063374e204e146126165780633e395cec146125c157806341aa0080146124ed5780634dc752ec146123be5780634eeb381e146122c15780634f1ef286146120f657806352d1902d1461209057806354fe3eb714611fdf578063574e888d14611ef457806369c39d9014611e625780636bf532ac14611db1578063715018a614611d4a578063785d690814611b5157806380c15e1114611a5457806382027b6d14611a2457806384b0196e1461192c57806386fc3bc3146118415780638da5cb5b1461180d5780638dc298071461175c57806390646b4a146116d557806396ce1ec714611601578063973ab10b1461146657806398c38455146113f957806398cb4dc0146112935780639a4b48be1461126a5780639dd9b336146111b9578063ac6c544f146110d6578063ad3cb1cc1461108b578063b3127a4b14611051578063b9496b6214610f9e578063bdd022be14610eb3578063bee03f0a14610df9578063c29799dc14610dbf578063cfc3f0ff14610d24578063d0571e4214610951578063d102b4d3146108a0578063d1de592a1461079b578063d1f57894146104a4578063d56497c31461038a578063f2fde38b1461035f5763f30c426014610213575f80fd5b3461035b5761022136612a34565b60405161022f606082612ab5565b6002815260403660208301378261024582612b4f565b528161025082612b70565b5261026361025d82612b4f565b51612efa565b9061026d82612f09565b60648210159260015b82518110156102cb5761028c61025d8285612b90565b60648110156102b757856102b75784036102a857600101610276565b631f3158c760e01b5f5260045ffd5b634e487b7160e01b5f52602160045260245ffd5b5090847fa3f1e3dc067c6ea13ee29fa088eacd4be5fdf42a000e0ce06b084117479fbf826103276040956102ff8533612d82565b61031561030b86612f44565b8092876005612fcd565b946103203387612e83565b600561307e565b80946103333383612e83565b865193845260208401526040830152606082018390523391608090a282519182526020820152f35b5f80fd5b3461035b57602036600319011261035b5761038861037b612a1e565b610383612e50565b612ddf565b005b3461035b57604036600319011261035b57600435602435606481101561035b5760408051926103b98285612ab5565b600184526020840193601f198301368637816103d482612b4f565b5282515f6020820181815260a083870152925160c0830181905260e0830197915b81811061048e57505050610426816020973060608301525f60808301525f60a083015203601f198101835282612ab5565b5190204660d81b63ffffffff60d81b1660389190911c1760d084901b60ff60d01b1617926104543385612e83565b82519182528482015282828201527f1370d6672cb4a1914b5298673259e17877c7ebf58dc47c47efccb757187c1f4d60603392a251908152f35b82518952602098890198909201916001016103f5565b3461035b57604036600319011261035b576104bd612a1e565b6024356001600160401b03811161035b576104dc903690600401612a4a565b5f5160206136cb5f395f51905f52549192604083901c60ff1615926001600160401b03811680159081610793575b6001149081610789575b159081610780575b506107715767ffffffffffffffff1981166001175f5160206136cb5f395f51905f525583610745575b50811561073657610560906105586134e6565b6103836134e6565b610e105f51602061368b5f395f51905f52556001600160401b038111610722576105975f51602061362b5f395f51905f5254612c1f565b601f81116106bb575b505f601f8211600114610640578192935f92610635575b50508160011b915f199060031b1c1916175f51602061362b5f395f51905f52555b6105de57005b68ff0000000000000000195f5160206136cb5f395f51905f5254165f5160206136cb5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b0135905083806105b7565b601f198216935f51602061362b5f395f51905f525f5260205f20915f5b8681106106a3575083600195961061068a575b505050811b015f51602061362b5f395f51905f52556105d8565b01355f19600384901b60f8161c19169055838080610670565b9092602060018192868601358155019401910161065d565b818111156105a0575f51602061362b5f395f51905f525f52601f820160051c5f5160206136ab5f395f51905f526020841061071a575b81601f9101920160051c03905f5b82811061070d5750506105a0565b5f828201556001016106ff565b5f91506106f1565b634e487b7160e01b5f52604160045260245ffd5b636ca3013560e01b5f5260045ffd5b68ffffffffffffffffff191668010000000000000001175f5160206136cb5f395f51905f525584610545565b63f92ee8a960e01b5f5260045ffd5b9050158661051c565b303b159150610514565b85915061050a565b3461035b576107a936612a34565b6040516107b7606082612ab5565b600281526040366020830137826107cd82612b4f565b52816107d882612b70565b526107e561025d82612b4f565b906107ef82612f09565b60648210159260015b825181101561082a5761080e61025d8285612b90565b60648110156102b757856102b75784036102a8576001016107f8565b50847f39e9fe4ef5775b41f10d058c793455cec69e7f83b0f806228a43907cc979183961086f6020948661085e8233612d82565b61086782612f44565b916001612fcd565b809361087b3383612e83565b604080519485526020850191909152830152339180606081015b0390a2604051908152f35b3461035b576108ae36612a34565b6108b782612efa565b6108c081612f09565b6108c982612efa565b60648210156102b75760648110156102b757036102a8576020917f60e29c31d5acaf9537691eea9f08f22168cad76d3b854c099af8c840d13b19b161086f604051610915606082612ab5565b60028152604036878301378361092a82612b4f565b528461093582612b70565b526109408133612d82565b61094981612f44565b90600c61311c565b3461035b57608036600319011261035b5760043561096d612a08565b906044356001600160401b03811161035b5761098d903690600401612a4a565b9092606435606481101561035b5763ffffffff60e01b4660e01b1663ffffffff60e01b8560081b1603610cc5576109c384612efa565b60648110156102b75703610c6f5760898203610c1957833560601c90601485013560601c906028860135908460891161035b575f51602061368b5f395f51905f52548201808311610c05574211610bb657338303610b68576001600160a01b03168303610b185790610a8892916040519160208301937f2597adb2c310b2d50ad6e27bef4fe33de1a27945ba8d078d20d7c41d47010a0a85528760408501526060840152608083015260a082015260a08152610a8060c082612ab5565b519020612ed4565b90610a936041612ad6565b93610aa16040519586612ab5565b6041855236608982011161035b57610adc610ad361038896610b119560416048860160208401375f60618301526134ac565b909291926133b3565b7f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd04546001600160a01b03918216911614612bc4565b3390612e83565b604080516315c70be760e31b81526004810182905290610b3c60448301878a612ba4565b6d09eeedccae440dad2e6dac2e8c6d60931b60208483039260031984016024870152600e815201520190fd5b604080516315c70be760e31b81526004810182905290610b8c60448301888b612ba4565b6b082e0e040dad2e6dac2e8c6d60a31b60208483039260031984016024870152600c815201520190fd5b604080516315c70be760e31b81526004810182905290610bda60448301888b612ba4565b6c141c9bdbd988195e1c1a5c9959609a1b60208483039260031984016024870152600d815201520190fd5b634e487b7160e01b5f52601160045260245ffd5b506040610c3d848251936315c70be760e31b85528360048601526044850191612ba4565b73092dcecc2d8d2c840e0e4dedecc40d8cadccee8d60631b602084830392600319840160248701526014815201520190fd5b506040610c93848251936315c70be760e31b85528360048601526044850191612ba4565b73090c2dcc8d8ca40e8f2e0ca40dad2e6dac2e8c6d60631b602084830392600319840160248701526014815201520190fd5b604080516315c70be760e31b81526004810182905290610ce9604483018689612ba4565b7f48616e646c6520636861696e206964206d69736d617463680000000000000000602084830392600319840160248701526018815201520190fd5b3461035b57604036600319011261035b57610d3d612a1e565b602435906001600160401b03821161035b573660238301121561035b578160040135906001600160401b038211610722578160051b926020840192610d856040519485612ab5565b8352602460208401948201019036821161035b57602401935b818510610daf576103888484612d82565b8435815260209485019401610d9e565b3461035b575f36600319011261035b5760206040517f311950bdc0530af6f4aa4482fe9c8bc59fdf81725f7c1abdc36a1ce7f42ba3188152f35b3461035b57604036600319011261035b57600435610e15612a08565b906001600160a01b03821615610ea457600681901a60f81b600160f81b1615610e9557610e81610e8f5f93610e5333610e4e3387612c57565b612b27565b604080516020810195865260609290921b6bffffffffffffffffffffffff1916908201529182906054820190565b03601f198101835282612ab5565b5190205d005b6360822d7b60e11b5f5260045ffd5b63f6b2911f60e01b5f5260045ffd5b3461035b57610ec136612a34565b604051610ecf606082612ab5565b60028152604036602083013782610ee582612b4f565b5281610ef082612b70565b52610efd61025d82612b4f565b90610f0782612f09565b60648210159260015b8251811015610f4257610f2661025d8285612b90565b60648110156102b757856102b75784036102a857600101610f10565b5090847f2dabc4b37169e7fc65814699f7849bfdd0391ec641e4f53efbf2077428928ec5610327604095610f768533612d82565b610f8c610f8286612f44565b8092876008612fcd565b94610f973387612e83565b600861307e565b3461035b57604036600319011261035b576004356001600160a01b03610fc2612a08565b168015610ea457600682901a60f81b600160f81b1615610e9557610fea33610e4e3385612c57565b815f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0060205260405f20815f5260205260405f20600160ff19825416179055337fe2e1decee6e05ee246cd7c7f1337d25cdfd41dcbdcf8c57b61630be56cc7366a5f80a4005b3461035b575f36600319011261035b5760206040517f2597adb2c310b2d50ad6e27bef4fe33de1a27945ba8d078d20d7c41d47010a0a8152f35b3461035b575f36600319011261035b576110d26040516110ac604082612ab5565b60058152640352e302e360dc1b6020820152604051918291602083526020830190612a77565b0390f35b3461035b575f36600319011261035b576040515f5f51602061362b5f395f51905f525461110281612c1f565b8084529060018116908115611195575060011461113e575b6110d28361112a81850382612ab5565b604051918291602083526020830190612a77565b5f51602061362b5f395f51905f525f9081525f5160206136ab5f395f51905f52939250905b80821061117b5750909150810160200161112a61111a565b919260018160209254838588010152019101909291611163565b60ff191660208086019190915291151560051b8401909101915061112a905061111a565b3461035b576111c736612a34565b6111d082612efa565b6111d981612f09565b6111e282612efa565b60648210156102b75760648110156102b757036102a8576020917f46314c01be675ae168daf399eade5ec333ca96cd392fef4e77a2fbc7ca07a93561086f60405161122e606082612ab5565b60028152604036878301378361124382612b4f565b528461124e82612b70565b526112598133612d82565b61126281612f44565b90600d61311c565b3461035b575f36600319011261035b5760205f51602061368b5f395f51905f5254604051908152f35b3461035b576112a136612a9b565b91906040516112b1608082612ab5565b600381526060366020830137826112c782612b4f565b52816112d282612b70565b52836112dd82612b80565b526112ea61025d82612b4f565b916112f483612f09565b60648310159360015b835181101561132f5761131361025d8286612b90565b60648110156102b757866102b75785036102a8576001016112fd565b506110d29294507feb9e2cc624056c52e83ec40b1f663837d10a4b19b2ff6903313d317204b4e641866113628733612d82565b61139061136e88612f44565b61137a818a601261311c565b9761138882828c6012613199565b996012613218565b9361139b3388612e83565b6113a53389612e83565b6113af3386612e83565b604080519485526020850191909152830152606082018590526080820186905260a08201839052339160c090a2604051938493846040919493926060820195825260208201520152565b3461035b57602036600319011261035b57600435600681901a60f81b600160f81b16158015611430575b6020906040519015158152f35b505f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd02602052602060ff60405f205416611423565b3461035b5761147436612a9b565b9161147e81612efa565b60648110156102b7576115f25761149482612efa565b9261149e81612efa565b60648110156102b75760648510156102b75784036102a857604051936114c5608086612ab5565b6003855260208501946060368737836114dd82612b4f565b52846114e882612b70565b52826114f382612b80565b526114fe8133612d82565b61150781612f44565b60405190602082019260c08301906009855260a060408501525180915260e0830198905f5b8181106115dc5750505090611582816020997fa452dd2476c4fc88c32a757db9ee8a8c320b13c923775830798e75ff9e652b539796959430606084015260808301525f60a083015203601f198101835282612ab5565b5190204660d81b63ffffffff60d81b1660389190911c1760d09190911b60ff60d01b1617600160c81b17936115b73386612e83565b6040805194855260208501919091528301526060820183905233918060808101610895565b82518b5260209a8b019a9092019160010161152c565b63636f233560e11b5f5260045ffd5b3461035b5761160f36612a34565b60405161161d606082612ab5565b6002815260403660208301378261163382612b4f565b528161163e82612b70565b5261164b61025d82612b4f565b9061165582612f09565b60648210159260015b82518110156116905761167461025d8285612b90565b60648110156102b757856102b75784036102a85760010161165e565b50847ff58aa3915d4aa885128394d9f7f9c798291e8bb2120e5bffab9119dd8c7a38b661086f602094866116c48233612d82565b6116cd82612f44565b916003612fcd565b3461035b57602036600319011261035b576116ee612a1e565b6116f6612e50565b6001600160a01b03168015610ea4577f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0480546001600160a01b031916821790557ff01fde40131396fd2f417fae830fea338256f1ecc896f2fa4f0354fd4554712c5f80a2005b3461035b5761176a36612a34565b61177382612efa565b61177c81612f09565b61178582612efa565b60648210156102b75760648110156102b757036102a8576020917f914e0104956a1f6e65c562db56add7f3735e2badc127756e0531c0992ca57b0961086f6040516117d1606082612ab5565b6002815260403687830137836117e682612b4f565b52846117f182612b70565b526117fc8133612d82565b61180581612f44565b90600e61311c565b3461035b575f36600319011261035b575f51602061364b5f395f51905f52546040516001600160a01b039091168152602090f35b3461035b5761184f36612a34565b60405161185d606082612ab5565b6002815260403660208301378261187382612b4f565b528161187e82612b70565b5261188b61025d82612b4f565b9061189582612f09565b60648210159260015b82518110156118d0576118b461025d8285612b90565b60648110156102b757856102b75784036102a85760010161189e565b5090847f68ed827646a45b3b79650d59a3d988a3ca57d8c7d551bae8e93e114e9bc6be216103276040956119048533612d82565b61191a61191086612f44565b8092876006612fcd565b946119253387612e83565b600661307e565b3461035b575f36600319011261035b576119c86119687f0000000000000000000000000000000000000000000000000000000000000000613413565b6119917f0000000000000000000000000000000000000000000000000000000000000000613475565b60206119d6604051926119a48385612ab5565b5f84525f368137604051958695600f60f81b875260e08588015260e0870190612a77565b908582036040870152612a77565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b828110611a0d57505050500390f35b8351855286955093810193928101926001016119fe565b3461035b57604036600319011261035b576020611a4a611a42612a08565b600435612c57565b6040519015158152f35b3461035b57611a6236612a9b565b9190604051611a72608082612ab5565b60038152606036602083013782611a8882612b4f565b5281611a9382612b70565b5283611a9e82612b80565b52611aab61025d82612b4f565b91611ab583612f09565b60648310159360015b8351811015611af057611ad461025d8286612b90565b60648110156102b757866102b75785036102a857600101611abe565b506110d29294507fdd42b3f1048c79e541c02a9d330faae62f281c8d1230ff82bc9bcea240d318a386611b238733612d82565b611390611b2f88612f44565b611b3b818a601061311c565b97611b4982828c6010613199565b996010613218565b3461035b57602036600319011261035b576004356001600160401b03811161035b57611b81903690600401612a4a565b90611b8a612e50565b8115610736576001600160401b03821161072257611bb55f51602061362b5f395f51905f5254612c1f565b601f8111611ce3575b505f91601f8111600114611c3d57807f9739e13c0243f49303c302aa4bad4c4c80a0a3dc7cca586cea03c3936d518fb4935f91611c32575b508160011b905f198360031b1c1916175f51602061362b5f395f51905f52555b611c2d604051928392602084526020840191612ba4565b0390a1005b905082013584611bf6565b5f51602061362b5f395f51905f525f908152601f198216935f5160206136ab5f395f51905f52915b858110611ccb5750827f9739e13c0243f49303c302aa4bad4c4c80a0a3dc7cca586cea03c3936d518fb49510611cb2575b5050600181811b015f51602061362b5f395f51905f5255611c16565b8301355f19600384901b60f8161c191690558380611c96565b90916020600181928588013581550193019101611c65565b82811115611bbe575f51602061362b5f395f51905f525f52601f830160051c5f5160206136ab5f395f51905f5260208510611d42575b81601f9101920160051c03905f5b828110611d35575050611bbe565b5f82820155600101611d27565b5f9150611d19565b3461035b575f36600319011261035b57611d62612e50565b5f51602061364b5f395f51905f5280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461035b57611dbf36612a34565b611dc882612efa565b611dd181612f09565b611dda82612efa565b60648210156102b75760648110156102b757036102a8576020917fae2be09df15121983b1d41a2a7247643f0a0d25b3906e50827bfa10295e25b0161086f604051611e26606082612ab5565b600281526040368783013783611e3b82612b4f565b5284611e4682612b70565b52611e518133612d82565b611e5a81612f44565b90600f61311c565b3461035b57602036600319011261035b57600435600681901a60f81b600160f81b1615610e9557611e9733610e4e3384612c57565b805f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0260205260405f20600160ff19825416179055337fbdec18fc4c128fcccccd5752b56d64498a09cf8edb26aa782f6a3c30568b665c5f80a3005b3461035b57611f0236612a34565b604051611f10606082612ab5565b60028152604036602083013782611f2682612b4f565b5281611f3182612b70565b52611f3e61025d82612b4f565b90611f4882612f09565b60648210159260015b8251811015611f8357611f6761025d8285612b90565b60648110156102b757856102b75784036102a857600101611f51565b5090847f67db0d27549a04974c93723c0f1ade3480d305a8d3ed91b83d09b817bc27c2b9610327604095611fb78533612d82565b611fcd611fc386612f44565b8092876007612fcd565b94611fd83387612e83565b600761307e565b3461035b57611fed36612a34565b611ff682612efa565b611fff81612f09565b61200882612efa565b60648210156102b75760648110156102b757036102a8576020917f0f33343f234cd09065311262990a6019fa0c421f5242f60bc414e4583f01274961086f604051612054606082612ab5565b60028152604036878301378361206982612b4f565b528461207482612b70565b5261207f8133612d82565b61208881612f44565b90600b61311c565b3461035b575f36600319011261035b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036120e75760206040515f51602061366b5f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b604036600319011261035b5761210a612a1e565b6024356001600160401b03811161035b573660238201121561035b5761213a903690602481600401359101612af1565b906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630811490811561229f575b506120e75761217d612e50565b6040516352d1902d60e01b81526001600160a01b0382169290602081600481875afa5f918161226b575b506121bf5783634c9c8ce360e01b5f5260045260245ffd5b805f51602061366b5f395f51905f528592036122595750823b15612247575f51602061366b5f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a280511561222f576103889161359e565b50503461223857005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d602011612297575b8161228760209383612ab5565b8101031261035b575190856121a7565b3d915061227a565b5f51602061366b5f395f51905f52546001600160a01b03161415905083612170565b3461035b576122cf36612a9b565b91906040516122df608082612ab5565b600381526060366020830137826122f582612b4f565b528161230082612b70565b528361230b82612b80565b5261231861025d82612b4f565b9161232283612f09565b60648310159360015b835181101561235d5761234161025d8286612b90565b60648110156102b757866102b75785036102a85760010161232b565b506110d29294507f8ba8689392554435fc74f26295740e476b61a8ccc3932ab0a7ae20618336e3ce866123908733612d82565b61139061239c88612f44565b6123a8818a601161311c565b976123b682828c6011613199565b996011613218565b3461035b57604036600319011261035b576024356001600160401b03811161035b576123ee903690600401612a4a565b906061821061249d578160411161035b576110d29181612496604161112a940192604019810192610adc61248d61247761242936888a612af1565b6020815191012060405160208101917f311950bdc0530af6f4aa4482fe9c8bc59fdf81725f7c1abdc36a1ce7f42ba31883526004356040830152606082015260608152610a80608082612ab5565b60208401359084359060408601355f1a90613511565b919291906133b3565b3691612af1565b6124c06040918251936315c70be760e31b85528360048601526044850191612ba4565b6e141c9bdbd9881d1bdbc81cda1bdc9d608a1b60208483039260031984016024870152600f815201520190fd5b3461035b576124fb36612a34565b604051612509606082612ab5565b6002815260403660208301378261251f82612b4f565b528161252a82612b70565b5261253761025d82612b4f565b9061254182612f09565b60648210159260015b825181101561257c5761256061025d8285612b90565b60648110156102b757856102b75784036102a85760010161254a565b50847f07fac87f278e536872057346d5204a1ee81edcb56a4eab88f027bc354ba1234261086f602094866125b08233612d82565b6125b982612f44565b916002612fcd565b3461035b57604036600319011261035b576004356125dd612a08565b6001600160a01b03811615610ea457600682901a60f81b600160f81b1615610e95576103889161261133610e4e3384612c57565b612e83565b3461035b57602036600319011261035b577f30fa88894cebbc609ce2926bc97fdfd18392b0b2089edcac3131f55cbe8addbc6020600435612655612e50565b805f51602061368b5f395f51905f5255604051908152a1005b3461035b5761267c36612a34565b61268582612efa565b61268e81612f09565b61269782612efa565b60648210156102b75760648110156102b757036102a8576020917f6ee26563b43387f86c354e34301f94a23571ab1ace56b10d0f7d3ab64c5eafcd61086f6040516126e3606082612ab5565b6002815260403687830137836126f882612b4f565b528461270382612b70565b5261270e8133612d82565b61271781612f44565b90600a61311c565b3461035b5761272d36612a34565b60405161273b606082612ab5565b6002815260403660208301378261275182612b4f565b528161275c82612b70565b5261276961025d82612b4f565b9061277382612f09565b60648210159260015b82518110156127ae5761279261025d8285612b90565b60648110156102b757856102b75784036102a85760010161277c565b50847f11ca51c9cc5c2666d096fe216bc8ced70b95b29de7e023fe93b9e246d4f5bd5761086f602094866127e28233612d82565b6127eb82612f44565b916004612fcd565b3461035b575f36600319011261035b577f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd04546040516001600160a01b039091168152602090f35b3461035b57604036600319011261035b576004356001600160a01b0361285e612a08565b168015610ea457600682901a60f81b600160f81b1615610e955761288633610e4e3385612c57565b815f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0160205260405f20815f5260205260405f20600160ff19825416179055337f6462b576f61d0d0c438945cb34f6f4f39fa054c99b62da279bcecd5ac67d86195f80a4005b3461035b57604036600319011261035b57600435612909612a08565b90600681901a60f81b600160f81b16159081156129d1575b8115612986575b811561293c575b6020826040519015158152f35b90505f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0060205260405f209060018060a01b03165f52602052602060ff60405f2054168261292f565b5f8181527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd01602090815260408083206001600160a01b038716845290915290205460ff169150612928565b8091505f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0260205260ff60405f20541690612921565b602435906001600160a01b038216820361035b57565b600435906001600160a01b038216820361035b57565b604090600319011261035b576004359060243590565b9181601f8401121561035b578235916001600160401b03831161035b576020838186019501011161035b57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b606090600319011261035b57600435906024359060443590565b90601f801991011681019081106001600160401b0382111761072257604052565b6001600160401b03811161072257601f01601f191660200190565b929192612afd82612ad6565b91612b0b6040519384612ab5565b82948184528183011161035b578281602093845f960137010152565b15612b2f5750565b633fcc3f1760e01b5f9081526001600160a01b0391909116600452602490fd5b805115612b5c5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015612b5c5760400190565b805160021015612b5c5760600190565b8051821015612b5c5760209160051b010190565b908060209392818452848401375f828201840152601f01601f1916010190565b15612bcd575050565b612bf06040918251936315c70be760e31b85528360048601526044850191612ba4565b70496e76616c6964207369676e617475726560781b602084830392600319840160248701526011815201520190fd5b90600182811c92168015612c4d575b6020831014612c3957565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612c2e565b600681901a60f81b600160f81b161591908215612cc0575b8215612c7a57505090565b9091505f527f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd0060205260405f209060018060a01b03165f5260205260ff60405f20541690565b91506040516020810190612cf781610e81858786909160349282526bffffffffffffffffffffffff199060601b1660208201520190565b5190205c91612c6f565b5f9291815491612d1083612c1f565b8083529260018116908115612d655750600114612d2c57505050565b5f9081526020812093945091925b838310612d4b575060209250010190565b600181602092949394548385870101520191019190612d3a565b915050602093945060ff929192191683830152151560051b010190565b91905f5b8151811015612dd957612da384612d9d8385612b90565b51612c57565b15612db057600101612d86565b90612dbb9250612b90565b5163b87a12a960e01b5f5260045260018060a01b031660245260445ffd5b50509050565b6001600160a01b03168015612e3d575f51602061364b5f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b5f51602061364b5f395f51905f52546001600160a01b03163303612e7057565b63118cdaa760e01b5f523360045260245ffd5b600681901a60f81b600160f81b1615612ed057604080516020810192835260609390931b6bffffffffffffffffffffffff191690830152600191612eca8160548101610e81565b5190205d565b5050565b604290612edf613297565b906040519161190160f01b8352600283015260228201522090565b60051a60648110156102b75790565b60648110156102b75760ff1660048110159081612f38575b5015612f2957565b6342539f9b60e11b5f5260045ffd5b6043915011155f612f21565b5f5b8151811015612f7857612f598183612b90565b5160061a60f81b600160f81b16612f7257600101612f46565b50505f90565b50507f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd06545f198114610c0557600101807f118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd065590565b91929060405191602083019360c084019060138110156102b757855260a06040850152825190819052602090920191839160e08301915f5b81811061306557505030606084015260808301525f60a083015203601f1981018352613032915082612ab5565b51902060381c60648210156102b7574660d81b63ffffffff60d81b161760d09190911b60ff60d01b1617600160c81b1790565b8551845260209586019587955090930192600101613005565b919060405191602083019360c084019060138110156102b757855260a06040850152825190819052602090920191839160e08301915f5b8181106131035750503060608401526080830152600160a083015203601f19810183526130e3915082612ab5565b5190204660d81b63ffffffff60d81b1660389190911c17600160c81b1790565b85518452602095860195879550909301926001016130b5565b919060405191602083019360c084019060138110156102b757855260a06040850152825190819052602090920191839160e08301915f5b81811061318057505030606084015260808301525f60a083015203601f19810183526130e3915082612ab5565b8551845260209586019587955090930192600101613153565b91929060405191602083019360c084019060138110156102b757855260a06040850152825190819052602090920191839160e08301915f5b8181106131ff5750503060608401526080830152600160a083015203601f1981018352613032915082612ab5565b85518452602095860195879550909301926001016131d1565b91929060405191602083019360c084019060138110156102b757855260a06040850152825190819052602090920191839160e08301915f5b81811061327e5750503060608401526080830152600260a083015203601f1981018352613032915082612ab5565b8551845260209586019587955090930192600101613250565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316148061338a575b156132f2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261338460c082612ab5565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146132c9565b60048110156102b757806133c5575050565b600181036133dc5763f645eedf60e01b5f5260045ffd5b600281036133f7575063fce698f760e01b5f5260045260245ffd5b6003146134015750565b6335e2f38360e21b5f5260045260245ffd5b60ff81146134595760ff811690601f821161344a5760405191613437604084612ab5565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b506040516134728161346b815f612d01565b0382612ab5565b90565b60ff81146134995760ff811690601f821161344a5760405191613437604084612ab5565b506040516134728161346b816001612d01565b81519190604183036134dc576134d59250602082015190606060408401519301515f1a90613511565b9192909190565b50505f9160029190565b60ff5f5160206136cb5f395f51905f525460401c161561350257565b631afcd79f60e31b5f5260045ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411613593579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15613588575f516001600160a01b0381161561357e57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b905f8091602081519101845af48080613617575b156135d25750506040513d81523d5f602083013e60203d82010160405290565b156135f757639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d15613608576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d1515806135b25750813b15156135b256fe118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd039016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc118a408ef9c0c38d6620cca4d300c2ce1c4f4cbcd93520940a6461e96acdcd053fabd66dda730e75470b1b4151a1a124d20d746472d96c7d1dbd5dc95c1a9ab7f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a164736f6c6343000822000a",
2043
+ "linkReferences": {},
2044
+ "deployedLinkReferences": {},
2045
+ "immutableReferences": {
2046
+ "884": [
2047
+ {
2048
+ "length": 32,
2049
+ "start": 8354
2050
+ },
2051
+ {
2052
+ "length": 32,
2053
+ "start": 8517
2054
+ }
2055
+ ],
2056
+ "4789": [
2057
+ {
2058
+ "length": 32,
2059
+ "start": 13008
2060
+ }
2061
+ ],
2062
+ "4791": [
2063
+ {
2064
+ "length": 32,
2065
+ "start": 13197
2066
+ }
2067
+ ],
2068
+ "4793": [
2069
+ {
2070
+ "length": 32,
2071
+ "start": 12954
2072
+ }
2073
+ ],
2074
+ "4795": [
2075
+ {
2076
+ "length": 32,
2077
+ "start": 13087
2078
+ }
2079
+ ],
2080
+ "4797": [
2081
+ {
2082
+ "length": 32,
2083
+ "start": 13125
2084
+ }
2085
+ ],
2086
+ "4800": [
2087
+ {
2088
+ "length": 32,
2089
+ "start": 6468
2090
+ }
2091
+ ],
2092
+ "4803": [
2093
+ {
2094
+ "length": 32,
2095
+ "start": 6509
2096
+ }
2097
+ ]
2098
+ },
2099
+ "inputSourceName": "project/contracts/NoxCompute.sol",
2100
+ "buildInfoId": "solc-0_8_34-52fd251ee5a1087a80fbfa3936a3e5049fec8429"
2101
+ }