@imtbl/sdk 0.12.0-alpha → 0.13.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1559 @@
1
+ import { ContractFactory, utils, Contract } from 'ethers';
2
+
3
+ /* Autogenerated file. Do not edit manually. */
4
+ /* tslint:disable */
5
+ /* eslint-disable */
6
+ const _abi$2 = [
7
+ {
8
+ inputs: [
9
+ {
10
+ internalType: "address",
11
+ name: "owner_",
12
+ type: "address",
13
+ },
14
+ {
15
+ internalType: "string",
16
+ name: "name_",
17
+ type: "string",
18
+ },
19
+ {
20
+ internalType: "string",
21
+ name: "symbol_",
22
+ type: "string",
23
+ },
24
+ {
25
+ internalType: "string",
26
+ name: "baseURI_",
27
+ type: "string",
28
+ },
29
+ {
30
+ internalType: "string",
31
+ name: "contractURI_",
32
+ type: "string",
33
+ },
34
+ {
35
+ internalType: "address",
36
+ name: "royaltyAllowlist_",
37
+ type: "address",
38
+ },
39
+ {
40
+ internalType: "address",
41
+ name: "royaltyReceiver_",
42
+ type: "address",
43
+ },
44
+ {
45
+ internalType: "uint96",
46
+ name: "feeNumerator_",
47
+ type: "uint96",
48
+ },
49
+ ],
50
+ stateMutability: "nonpayable",
51
+ type: "constructor",
52
+ },
53
+ {
54
+ inputs: [
55
+ {
56
+ internalType: "address",
57
+ name: "target",
58
+ type: "address",
59
+ },
60
+ ],
61
+ name: "ApproveTargetNotInAllowlist",
62
+ type: "error",
63
+ },
64
+ {
65
+ inputs: [
66
+ {
67
+ internalType: "address",
68
+ name: "approver",
69
+ type: "address",
70
+ },
71
+ ],
72
+ name: "ApproverNotInAllowlist",
73
+ type: "error",
74
+ },
75
+ {
76
+ inputs: [
77
+ {
78
+ internalType: "address",
79
+ name: "caller",
80
+ type: "address",
81
+ },
82
+ ],
83
+ name: "CallerNotInAllowlist",
84
+ type: "error",
85
+ },
86
+ {
87
+ inputs: [
88
+ {
89
+ internalType: "uint256",
90
+ name: "tokenId",
91
+ type: "uint256",
92
+ },
93
+ ],
94
+ name: "IImmutableERC721IDAboveThreshold",
95
+ type: "error",
96
+ },
97
+ {
98
+ inputs: [],
99
+ name: "IImmutableERC721MismatchedTransferLengths",
100
+ type: "error",
101
+ },
102
+ {
103
+ inputs: [
104
+ {
105
+ internalType: "uint256",
106
+ name: "tokenId",
107
+ type: "uint256",
108
+ },
109
+ ],
110
+ name: "IImmutableERC721NotOwnerOrOperator",
111
+ type: "error",
112
+ },
113
+ {
114
+ inputs: [],
115
+ name: "IImmutableERC721SendingToZerothAddress",
116
+ type: "error",
117
+ },
118
+ {
119
+ inputs: [
120
+ {
121
+ internalType: "uint256",
122
+ name: "tokenId",
123
+ type: "uint256",
124
+ },
125
+ ],
126
+ name: "IImmutableERC721TokenAlreadyBurned",
127
+ type: "error",
128
+ },
129
+ {
130
+ inputs: [],
131
+ name: "RoyaltyEnforcementDoesNotImplementRequiredInterface",
132
+ type: "error",
133
+ },
134
+ {
135
+ inputs: [
136
+ {
137
+ internalType: "address",
138
+ name: "from",
139
+ type: "address",
140
+ },
141
+ ],
142
+ name: "TransferFromNotInAllowlist",
143
+ type: "error",
144
+ },
145
+ {
146
+ inputs: [
147
+ {
148
+ internalType: "address",
149
+ name: "to",
150
+ type: "address",
151
+ },
152
+ ],
153
+ name: "TransferToNotInAllowlist",
154
+ type: "error",
155
+ },
156
+ {
157
+ anonymous: false,
158
+ inputs: [
159
+ {
160
+ indexed: true,
161
+ internalType: "address",
162
+ name: "owner",
163
+ type: "address",
164
+ },
165
+ {
166
+ indexed: true,
167
+ internalType: "address",
168
+ name: "approved",
169
+ type: "address",
170
+ },
171
+ {
172
+ indexed: true,
173
+ internalType: "uint256",
174
+ name: "tokenId",
175
+ type: "uint256",
176
+ },
177
+ ],
178
+ name: "Approval",
179
+ type: "event",
180
+ },
181
+ {
182
+ anonymous: false,
183
+ inputs: [
184
+ {
185
+ indexed: true,
186
+ internalType: "address",
187
+ name: "owner",
188
+ type: "address",
189
+ },
190
+ {
191
+ indexed: true,
192
+ internalType: "address",
193
+ name: "operator",
194
+ type: "address",
195
+ },
196
+ {
197
+ indexed: false,
198
+ internalType: "bool",
199
+ name: "approved",
200
+ type: "bool",
201
+ },
202
+ ],
203
+ name: "ApprovalForAll",
204
+ type: "event",
205
+ },
206
+ {
207
+ anonymous: false,
208
+ inputs: [
209
+ {
210
+ indexed: true,
211
+ internalType: "bytes32",
212
+ name: "role",
213
+ type: "bytes32",
214
+ },
215
+ {
216
+ indexed: true,
217
+ internalType: "bytes32",
218
+ name: "previousAdminRole",
219
+ type: "bytes32",
220
+ },
221
+ {
222
+ indexed: true,
223
+ internalType: "bytes32",
224
+ name: "newAdminRole",
225
+ type: "bytes32",
226
+ },
227
+ ],
228
+ name: "RoleAdminChanged",
229
+ type: "event",
230
+ },
231
+ {
232
+ anonymous: false,
233
+ inputs: [
234
+ {
235
+ indexed: true,
236
+ internalType: "bytes32",
237
+ name: "role",
238
+ type: "bytes32",
239
+ },
240
+ {
241
+ indexed: true,
242
+ internalType: "address",
243
+ name: "account",
244
+ type: "address",
245
+ },
246
+ {
247
+ indexed: true,
248
+ internalType: "address",
249
+ name: "sender",
250
+ type: "address",
251
+ },
252
+ ],
253
+ name: "RoleGranted",
254
+ type: "event",
255
+ },
256
+ {
257
+ anonymous: false,
258
+ inputs: [
259
+ {
260
+ indexed: true,
261
+ internalType: "bytes32",
262
+ name: "role",
263
+ type: "bytes32",
264
+ },
265
+ {
266
+ indexed: true,
267
+ internalType: "address",
268
+ name: "account",
269
+ type: "address",
270
+ },
271
+ {
272
+ indexed: true,
273
+ internalType: "address",
274
+ name: "sender",
275
+ type: "address",
276
+ },
277
+ ],
278
+ name: "RoleRevoked",
279
+ type: "event",
280
+ },
281
+ {
282
+ anonymous: false,
283
+ inputs: [
284
+ {
285
+ indexed: false,
286
+ internalType: "address",
287
+ name: "oldRegistry",
288
+ type: "address",
289
+ },
290
+ {
291
+ indexed: false,
292
+ internalType: "address",
293
+ name: "newRegistry",
294
+ type: "address",
295
+ },
296
+ ],
297
+ name: "RoyaltyAllowlistRegistryUpdated",
298
+ type: "event",
299
+ },
300
+ {
301
+ anonymous: false,
302
+ inputs: [
303
+ {
304
+ indexed: true,
305
+ internalType: "address",
306
+ name: "from",
307
+ type: "address",
308
+ },
309
+ {
310
+ indexed: true,
311
+ internalType: "address",
312
+ name: "to",
313
+ type: "address",
314
+ },
315
+ {
316
+ indexed: true,
317
+ internalType: "uint256",
318
+ name: "tokenId",
319
+ type: "uint256",
320
+ },
321
+ ],
322
+ name: "Transfer",
323
+ type: "event",
324
+ },
325
+ {
326
+ inputs: [],
327
+ name: "DEFAULT_ADMIN_ROLE",
328
+ outputs: [
329
+ {
330
+ internalType: "bytes32",
331
+ name: "",
332
+ type: "bytes32",
333
+ },
334
+ ],
335
+ stateMutability: "view",
336
+ type: "function",
337
+ },
338
+ {
339
+ inputs: [],
340
+ name: "MINTER_ROLE",
341
+ outputs: [
342
+ {
343
+ internalType: "bytes32",
344
+ name: "",
345
+ type: "bytes32",
346
+ },
347
+ ],
348
+ stateMutability: "view",
349
+ type: "function",
350
+ },
351
+ {
352
+ inputs: [
353
+ {
354
+ internalType: "address",
355
+ name: "to",
356
+ type: "address",
357
+ },
358
+ {
359
+ internalType: "uint256",
360
+ name: "tokenId",
361
+ type: "uint256",
362
+ },
363
+ ],
364
+ name: "approve",
365
+ outputs: [],
366
+ stateMutability: "nonpayable",
367
+ type: "function",
368
+ },
369
+ {
370
+ inputs: [
371
+ {
372
+ internalType: "address",
373
+ name: "owner",
374
+ type: "address",
375
+ },
376
+ ],
377
+ name: "balanceOf",
378
+ outputs: [
379
+ {
380
+ internalType: "uint256",
381
+ name: "",
382
+ type: "uint256",
383
+ },
384
+ ],
385
+ stateMutability: "view",
386
+ type: "function",
387
+ },
388
+ {
389
+ inputs: [],
390
+ name: "baseURI",
391
+ outputs: [
392
+ {
393
+ internalType: "string",
394
+ name: "",
395
+ type: "string",
396
+ },
397
+ ],
398
+ stateMutability: "view",
399
+ type: "function",
400
+ },
401
+ {
402
+ inputs: [
403
+ {
404
+ components: [
405
+ {
406
+ internalType: "address",
407
+ name: "to",
408
+ type: "address",
409
+ },
410
+ {
411
+ internalType: "uint256[]",
412
+ name: "tokenIds",
413
+ type: "uint256[]",
414
+ },
415
+ ],
416
+ internalType: "struct ERC721Hybrid.IDMint[]",
417
+ name: "mints",
418
+ type: "tuple[]",
419
+ },
420
+ ],
421
+ name: "batchMintByIDToMultiple",
422
+ outputs: [],
423
+ stateMutability: "nonpayable",
424
+ type: "function",
425
+ },
426
+ {
427
+ inputs: [
428
+ {
429
+ components: [
430
+ {
431
+ internalType: "address",
432
+ name: "to",
433
+ type: "address",
434
+ },
435
+ {
436
+ internalType: "uint256",
437
+ name: "quantity",
438
+ type: "uint256",
439
+ },
440
+ ],
441
+ internalType: "struct ERC721Hybrid.Mint[]",
442
+ name: "mints",
443
+ type: "tuple[]",
444
+ },
445
+ ],
446
+ name: "batchMintByQuantity",
447
+ outputs: [],
448
+ stateMutability: "nonpayable",
449
+ type: "function",
450
+ },
451
+ {
452
+ inputs: [
453
+ {
454
+ components: [
455
+ {
456
+ internalType: "address",
457
+ name: "to",
458
+ type: "address",
459
+ },
460
+ {
461
+ internalType: "uint256[]",
462
+ name: "tokenIds",
463
+ type: "uint256[]",
464
+ },
465
+ ],
466
+ internalType: "struct ERC721Hybrid.IDMint[]",
467
+ name: "mints",
468
+ type: "tuple[]",
469
+ },
470
+ ],
471
+ name: "batchSafeMintByIDToMultiple",
472
+ outputs: [],
473
+ stateMutability: "nonpayable",
474
+ type: "function",
475
+ },
476
+ {
477
+ inputs: [
478
+ {
479
+ components: [
480
+ {
481
+ internalType: "address",
482
+ name: "to",
483
+ type: "address",
484
+ },
485
+ {
486
+ internalType: "uint256",
487
+ name: "quantity",
488
+ type: "uint256",
489
+ },
490
+ ],
491
+ internalType: "struct ERC721Hybrid.Mint[]",
492
+ name: "mints",
493
+ type: "tuple[]",
494
+ },
495
+ ],
496
+ name: "batchSafeMintByQuantity",
497
+ outputs: [],
498
+ stateMutability: "nonpayable",
499
+ type: "function",
500
+ },
501
+ {
502
+ inputs: [],
503
+ name: "bulkMintThreshold",
504
+ outputs: [
505
+ {
506
+ internalType: "uint256",
507
+ name: "",
508
+ type: "uint256",
509
+ },
510
+ ],
511
+ stateMutability: "pure",
512
+ type: "function",
513
+ },
514
+ {
515
+ inputs: [
516
+ {
517
+ internalType: "uint256",
518
+ name: "tokenId",
519
+ type: "uint256",
520
+ },
521
+ ],
522
+ name: "burn",
523
+ outputs: [],
524
+ stateMutability: "nonpayable",
525
+ type: "function",
526
+ },
527
+ {
528
+ inputs: [
529
+ {
530
+ internalType: "uint256[]",
531
+ name: "tokenIDs",
532
+ type: "uint256[]",
533
+ },
534
+ ],
535
+ name: "burnBatch",
536
+ outputs: [],
537
+ stateMutability: "nonpayable",
538
+ type: "function",
539
+ },
540
+ {
541
+ inputs: [],
542
+ name: "contractURI",
543
+ outputs: [
544
+ {
545
+ internalType: "string",
546
+ name: "",
547
+ type: "string",
548
+ },
549
+ ],
550
+ stateMutability: "view",
551
+ type: "function",
552
+ },
553
+ {
554
+ inputs: [
555
+ {
556
+ internalType: "uint256",
557
+ name: "tokenId",
558
+ type: "uint256",
559
+ },
560
+ ],
561
+ name: "exists",
562
+ outputs: [
563
+ {
564
+ internalType: "bool",
565
+ name: "",
566
+ type: "bool",
567
+ },
568
+ ],
569
+ stateMutability: "view",
570
+ type: "function",
571
+ },
572
+ {
573
+ inputs: [],
574
+ name: "getAdmins",
575
+ outputs: [
576
+ {
577
+ internalType: "address[]",
578
+ name: "",
579
+ type: "address[]",
580
+ },
581
+ ],
582
+ stateMutability: "view",
583
+ type: "function",
584
+ },
585
+ {
586
+ inputs: [
587
+ {
588
+ internalType: "uint256",
589
+ name: "tokenId",
590
+ type: "uint256",
591
+ },
592
+ ],
593
+ name: "getApproved",
594
+ outputs: [
595
+ {
596
+ internalType: "address",
597
+ name: "",
598
+ type: "address",
599
+ },
600
+ ],
601
+ stateMutability: "view",
602
+ type: "function",
603
+ },
604
+ {
605
+ inputs: [
606
+ {
607
+ internalType: "bytes32",
608
+ name: "role",
609
+ type: "bytes32",
610
+ },
611
+ ],
612
+ name: "getRoleAdmin",
613
+ outputs: [
614
+ {
615
+ internalType: "bytes32",
616
+ name: "",
617
+ type: "bytes32",
618
+ },
619
+ ],
620
+ stateMutability: "view",
621
+ type: "function",
622
+ },
623
+ {
624
+ inputs: [
625
+ {
626
+ internalType: "bytes32",
627
+ name: "role",
628
+ type: "bytes32",
629
+ },
630
+ {
631
+ internalType: "uint256",
632
+ name: "index",
633
+ type: "uint256",
634
+ },
635
+ ],
636
+ name: "getRoleMember",
637
+ outputs: [
638
+ {
639
+ internalType: "address",
640
+ name: "",
641
+ type: "address",
642
+ },
643
+ ],
644
+ stateMutability: "view",
645
+ type: "function",
646
+ },
647
+ {
648
+ inputs: [
649
+ {
650
+ internalType: "bytes32",
651
+ name: "role",
652
+ type: "bytes32",
653
+ },
654
+ ],
655
+ name: "getRoleMemberCount",
656
+ outputs: [
657
+ {
658
+ internalType: "uint256",
659
+ name: "",
660
+ type: "uint256",
661
+ },
662
+ ],
663
+ stateMutability: "view",
664
+ type: "function",
665
+ },
666
+ {
667
+ inputs: [
668
+ {
669
+ internalType: "address",
670
+ name: "user",
671
+ type: "address",
672
+ },
673
+ ],
674
+ name: "grantMinterRole",
675
+ outputs: [],
676
+ stateMutability: "nonpayable",
677
+ type: "function",
678
+ },
679
+ {
680
+ inputs: [
681
+ {
682
+ internalType: "bytes32",
683
+ name: "role",
684
+ type: "bytes32",
685
+ },
686
+ {
687
+ internalType: "address",
688
+ name: "account",
689
+ type: "address",
690
+ },
691
+ ],
692
+ name: "grantRole",
693
+ outputs: [],
694
+ stateMutability: "nonpayable",
695
+ type: "function",
696
+ },
697
+ {
698
+ inputs: [
699
+ {
700
+ internalType: "bytes32",
701
+ name: "role",
702
+ type: "bytes32",
703
+ },
704
+ {
705
+ internalType: "address",
706
+ name: "account",
707
+ type: "address",
708
+ },
709
+ ],
710
+ name: "hasRole",
711
+ outputs: [
712
+ {
713
+ internalType: "bool",
714
+ name: "",
715
+ type: "bool",
716
+ },
717
+ ],
718
+ stateMutability: "view",
719
+ type: "function",
720
+ },
721
+ {
722
+ inputs: [
723
+ {
724
+ internalType: "address",
725
+ name: "owner",
726
+ type: "address",
727
+ },
728
+ {
729
+ internalType: "address",
730
+ name: "operator",
731
+ type: "address",
732
+ },
733
+ ],
734
+ name: "isApprovedForAll",
735
+ outputs: [
736
+ {
737
+ internalType: "bool",
738
+ name: "",
739
+ type: "bool",
740
+ },
741
+ ],
742
+ stateMutability: "view",
743
+ type: "function",
744
+ },
745
+ {
746
+ inputs: [
747
+ {
748
+ internalType: "address",
749
+ name: "to",
750
+ type: "address",
751
+ },
752
+ {
753
+ internalType: "uint256",
754
+ name: "tokenId",
755
+ type: "uint256",
756
+ },
757
+ ],
758
+ name: "mintByID",
759
+ outputs: [],
760
+ stateMutability: "nonpayable",
761
+ type: "function",
762
+ },
763
+ {
764
+ inputs: [
765
+ {
766
+ internalType: "address",
767
+ name: "to",
768
+ type: "address",
769
+ },
770
+ {
771
+ internalType: "uint256",
772
+ name: "quantity",
773
+ type: "uint256",
774
+ },
775
+ ],
776
+ name: "mintByQuantity",
777
+ outputs: [],
778
+ stateMutability: "nonpayable",
779
+ type: "function",
780
+ },
781
+ {
782
+ inputs: [],
783
+ name: "name",
784
+ outputs: [
785
+ {
786
+ internalType: "string",
787
+ name: "",
788
+ type: "string",
789
+ },
790
+ ],
791
+ stateMutability: "view",
792
+ type: "function",
793
+ },
794
+ {
795
+ inputs: [
796
+ {
797
+ internalType: "uint256",
798
+ name: "tokenId",
799
+ type: "uint256",
800
+ },
801
+ ],
802
+ name: "ownerOf",
803
+ outputs: [
804
+ {
805
+ internalType: "address",
806
+ name: "",
807
+ type: "address",
808
+ },
809
+ ],
810
+ stateMutability: "view",
811
+ type: "function",
812
+ },
813
+ {
814
+ inputs: [
815
+ {
816
+ internalType: "bytes32",
817
+ name: "role",
818
+ type: "bytes32",
819
+ },
820
+ {
821
+ internalType: "address",
822
+ name: "account",
823
+ type: "address",
824
+ },
825
+ ],
826
+ name: "renounceRole",
827
+ outputs: [],
828
+ stateMutability: "nonpayable",
829
+ type: "function",
830
+ },
831
+ {
832
+ inputs: [
833
+ {
834
+ internalType: "address",
835
+ name: "user",
836
+ type: "address",
837
+ },
838
+ ],
839
+ name: "revokeMinterRole",
840
+ outputs: [],
841
+ stateMutability: "nonpayable",
842
+ type: "function",
843
+ },
844
+ {
845
+ inputs: [
846
+ {
847
+ internalType: "bytes32",
848
+ name: "role",
849
+ type: "bytes32",
850
+ },
851
+ {
852
+ internalType: "address",
853
+ name: "account",
854
+ type: "address",
855
+ },
856
+ ],
857
+ name: "revokeRole",
858
+ outputs: [],
859
+ stateMutability: "nonpayable",
860
+ type: "function",
861
+ },
862
+ {
863
+ inputs: [],
864
+ name: "royaltyAllowlist",
865
+ outputs: [
866
+ {
867
+ internalType: "contract IRoyaltyAllowlist",
868
+ name: "",
869
+ type: "address",
870
+ },
871
+ ],
872
+ stateMutability: "view",
873
+ type: "function",
874
+ },
875
+ {
876
+ inputs: [
877
+ {
878
+ internalType: "uint256",
879
+ name: "tokenId",
880
+ type: "uint256",
881
+ },
882
+ {
883
+ internalType: "uint256",
884
+ name: "salePrice",
885
+ type: "uint256",
886
+ },
887
+ ],
888
+ name: "royaltyInfo",
889
+ outputs: [
890
+ {
891
+ internalType: "address",
892
+ name: "",
893
+ type: "address",
894
+ },
895
+ {
896
+ internalType: "uint256",
897
+ name: "",
898
+ type: "uint256",
899
+ },
900
+ ],
901
+ stateMutability: "view",
902
+ type: "function",
903
+ },
904
+ {
905
+ inputs: [
906
+ {
907
+ internalType: "address",
908
+ name: "to",
909
+ type: "address",
910
+ },
911
+ {
912
+ internalType: "uint256",
913
+ name: "tokenId",
914
+ type: "uint256",
915
+ },
916
+ ],
917
+ name: "safeMintByID",
918
+ outputs: [],
919
+ stateMutability: "nonpayable",
920
+ type: "function",
921
+ },
922
+ {
923
+ inputs: [
924
+ {
925
+ internalType: "address",
926
+ name: "to",
927
+ type: "address",
928
+ },
929
+ {
930
+ internalType: "uint256",
931
+ name: "quantity",
932
+ type: "uint256",
933
+ },
934
+ ],
935
+ name: "safeMintByQuantity",
936
+ outputs: [],
937
+ stateMutability: "nonpayable",
938
+ type: "function",
939
+ },
940
+ {
941
+ inputs: [
942
+ {
943
+ internalType: "address",
944
+ name: "from",
945
+ type: "address",
946
+ },
947
+ {
948
+ internalType: "address",
949
+ name: "to",
950
+ type: "address",
951
+ },
952
+ {
953
+ internalType: "uint256",
954
+ name: "tokenId",
955
+ type: "uint256",
956
+ },
957
+ ],
958
+ name: "safeTransferFrom",
959
+ outputs: [],
960
+ stateMutability: "nonpayable",
961
+ type: "function",
962
+ },
963
+ {
964
+ inputs: [
965
+ {
966
+ internalType: "address",
967
+ name: "from",
968
+ type: "address",
969
+ },
970
+ {
971
+ internalType: "address",
972
+ name: "to",
973
+ type: "address",
974
+ },
975
+ {
976
+ internalType: "uint256",
977
+ name: "tokenId",
978
+ type: "uint256",
979
+ },
980
+ {
981
+ internalType: "bytes",
982
+ name: "_data",
983
+ type: "bytes",
984
+ },
985
+ ],
986
+ name: "safeTransferFrom",
987
+ outputs: [],
988
+ stateMutability: "nonpayable",
989
+ type: "function",
990
+ },
991
+ {
992
+ inputs: [
993
+ {
994
+ components: [
995
+ {
996
+ internalType: "address",
997
+ name: "from",
998
+ type: "address",
999
+ },
1000
+ {
1001
+ internalType: "address[]",
1002
+ name: "tos",
1003
+ type: "address[]",
1004
+ },
1005
+ {
1006
+ internalType: "uint256[]",
1007
+ name: "tokenIds",
1008
+ type: "uint256[]",
1009
+ },
1010
+ ],
1011
+ internalType: "struct ERC721Hybrid.TransferRequest",
1012
+ name: "tr",
1013
+ type: "tuple",
1014
+ },
1015
+ ],
1016
+ name: "safeTransferFromBatch",
1017
+ outputs: [],
1018
+ stateMutability: "nonpayable",
1019
+ type: "function",
1020
+ },
1021
+ {
1022
+ inputs: [
1023
+ {
1024
+ internalType: "address",
1025
+ name: "operator",
1026
+ type: "address",
1027
+ },
1028
+ {
1029
+ internalType: "bool",
1030
+ name: "approved",
1031
+ type: "bool",
1032
+ },
1033
+ ],
1034
+ name: "setApprovalForAll",
1035
+ outputs: [],
1036
+ stateMutability: "nonpayable",
1037
+ type: "function",
1038
+ },
1039
+ {
1040
+ inputs: [
1041
+ {
1042
+ internalType: "string",
1043
+ name: "baseURI_",
1044
+ type: "string",
1045
+ },
1046
+ ],
1047
+ name: "setBaseURI",
1048
+ outputs: [],
1049
+ stateMutability: "nonpayable",
1050
+ type: "function",
1051
+ },
1052
+ {
1053
+ inputs: [
1054
+ {
1055
+ internalType: "string",
1056
+ name: "_contractURI",
1057
+ type: "string",
1058
+ },
1059
+ ],
1060
+ name: "setContractURI",
1061
+ outputs: [],
1062
+ stateMutability: "nonpayable",
1063
+ type: "function",
1064
+ },
1065
+ {
1066
+ inputs: [
1067
+ {
1068
+ internalType: "address",
1069
+ name: "receiver",
1070
+ type: "address",
1071
+ },
1072
+ {
1073
+ internalType: "uint96",
1074
+ name: "feeNumerator",
1075
+ type: "uint96",
1076
+ },
1077
+ ],
1078
+ name: "setDefaultRoyaltyReceiver",
1079
+ outputs: [],
1080
+ stateMutability: "nonpayable",
1081
+ type: "function",
1082
+ },
1083
+ {
1084
+ inputs: [
1085
+ {
1086
+ internalType: "uint256",
1087
+ name: "tokenId",
1088
+ type: "uint256",
1089
+ },
1090
+ {
1091
+ internalType: "address",
1092
+ name: "receiver",
1093
+ type: "address",
1094
+ },
1095
+ {
1096
+ internalType: "uint96",
1097
+ name: "feeNumerator",
1098
+ type: "uint96",
1099
+ },
1100
+ ],
1101
+ name: "setNFTRoyaltyReceiver",
1102
+ outputs: [],
1103
+ stateMutability: "nonpayable",
1104
+ type: "function",
1105
+ },
1106
+ {
1107
+ inputs: [
1108
+ {
1109
+ internalType: "uint256[]",
1110
+ name: "tokenIds",
1111
+ type: "uint256[]",
1112
+ },
1113
+ {
1114
+ internalType: "address",
1115
+ name: "receiver",
1116
+ type: "address",
1117
+ },
1118
+ {
1119
+ internalType: "uint96",
1120
+ name: "feeNumerator",
1121
+ type: "uint96",
1122
+ },
1123
+ ],
1124
+ name: "setNFTRoyaltyReceiverBatch",
1125
+ outputs: [],
1126
+ stateMutability: "nonpayable",
1127
+ type: "function",
1128
+ },
1129
+ {
1130
+ inputs: [
1131
+ {
1132
+ internalType: "address",
1133
+ name: "_royaltyAllowlist",
1134
+ type: "address",
1135
+ },
1136
+ ],
1137
+ name: "setRoyaltyAllowlistRegistry",
1138
+ outputs: [],
1139
+ stateMutability: "nonpayable",
1140
+ type: "function",
1141
+ },
1142
+ {
1143
+ inputs: [
1144
+ {
1145
+ internalType: "bytes4",
1146
+ name: "interfaceId",
1147
+ type: "bytes4",
1148
+ },
1149
+ ],
1150
+ name: "supportsInterface",
1151
+ outputs: [
1152
+ {
1153
+ internalType: "bool",
1154
+ name: "",
1155
+ type: "bool",
1156
+ },
1157
+ ],
1158
+ stateMutability: "view",
1159
+ type: "function",
1160
+ },
1161
+ {
1162
+ inputs: [],
1163
+ name: "symbol",
1164
+ outputs: [
1165
+ {
1166
+ internalType: "string",
1167
+ name: "",
1168
+ type: "string",
1169
+ },
1170
+ ],
1171
+ stateMutability: "view",
1172
+ type: "function",
1173
+ },
1174
+ {
1175
+ inputs: [
1176
+ {
1177
+ internalType: "uint256",
1178
+ name: "tokenId",
1179
+ type: "uint256",
1180
+ },
1181
+ ],
1182
+ name: "tokenURI",
1183
+ outputs: [
1184
+ {
1185
+ internalType: "string",
1186
+ name: "",
1187
+ type: "string",
1188
+ },
1189
+ ],
1190
+ stateMutability: "view",
1191
+ type: "function",
1192
+ },
1193
+ {
1194
+ inputs: [],
1195
+ name: "totalSupply",
1196
+ outputs: [
1197
+ {
1198
+ internalType: "uint256",
1199
+ name: "",
1200
+ type: "uint256",
1201
+ },
1202
+ ],
1203
+ stateMutability: "view",
1204
+ type: "function",
1205
+ },
1206
+ {
1207
+ inputs: [
1208
+ {
1209
+ internalType: "address",
1210
+ name: "from",
1211
+ type: "address",
1212
+ },
1213
+ {
1214
+ internalType: "address",
1215
+ name: "to",
1216
+ type: "address",
1217
+ },
1218
+ {
1219
+ internalType: "uint256",
1220
+ name: "tokenId",
1221
+ type: "uint256",
1222
+ },
1223
+ ],
1224
+ name: "transferFrom",
1225
+ outputs: [],
1226
+ stateMutability: "nonpayable",
1227
+ type: "function",
1228
+ },
1229
+ ];
1230
+ const _bytecode$2 = "0x608060405260006013553480156200001657600080fd5b5060405162005189380380620051898339810160408190526200003991620007c0565b8787878787878787868681818181600662000055838262000953565b50600762000064828262000953565b50506801000000000000000060095550600d62000082838262000953565b50600e62000091828262000953565b50620000a69350600092508b915050620000f1565b620000b2828262000134565b620000bd8362000239565b6016620000cb868262000953565b506015620000da858262000953565b505050505050505050505050505050505062000b67565b6200010882826200034060201b6200120f1760201c565b60008281526001602090815260409091206200012f91839062001293620003e1821b17901c565b505050565b6127106001600160601b0382161115620001a85760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b60648201526084015b60405180910390fd5b6001600160a01b038216620002005760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c69642072656365697665720000000000000060448201526064016200019f565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600355565b6000620002468162000401565b6040516301ffc9a760e01b81526305a3b80960e01b60048201526001600160a01b038316906301ffc9a790602401602060405180830381865afa15801562000292573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b8919062000a1f565b620002d657604051631353be1160e11b815260040160405180910390fd5b600254604080516001600160a01b03928316815291841660208301527ff499b54d61d3fcb40299e3299af3ffe9ef1ee6e47194240f3cc5b6e09f7f6796910160405180910390a150600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620003dd576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556200039c3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000620003f8836001600160a01b03841662000410565b90505b92915050565b6200040d813362000462565b50565b60008181526001830160205260408120546200045957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620003fb565b506000620003fb565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620003dd57620004a181620004f260201b620012a81760201c565b620004b7836020620012ba62000505821b17811c565b604051602001620004ca92919062000a43565b60408051601f198184030181529082905262461bcd60e51b82526200019f9160040162000abc565b6060620003fb6001600160a01b03831660145b606060006200051683600262000b07565b6200052390600262000b21565b6001600160401b038111156200053d576200053d620006db565b6040519080825280601f01601f19166020018201604052801562000568576020820181803683370190505b509050600360fc1b8160008151811062000586576200058662000b37565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620005b857620005b862000b37565b60200101906001600160f81b031916908160001a9053506000620005de84600262000b07565b620005eb90600162000b21565b90505b60018111156200066d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062000623576200062362000b37565b1a60f81b8282815181106200063c576200063c62000b37565b60200101906001600160f81b031916908160001a90535060049490941c93620006658162000b4d565b9050620005ee565b508315620003f85760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200019f565b80516001600160a01b0381168114620006d657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200070e578181015183820152602001620006f4565b50506000910152565b600082601f8301126200072957600080fd5b81516001600160401b0380821115620007465762000746620006db565b604051601f8301601f19908116603f01168101908282118183101715620007715762000771620006db565b816040528381528660208588010111156200078b57600080fd5b6200079e846020830160208901620006f1565b9695505050505050565b80516001600160601b0381168114620006d657600080fd5b600080600080600080600080610100898b031215620007de57600080fd5b620007e989620006be565b60208a01519098506001600160401b03808211156200080757600080fd5b620008158c838d0162000717565b985060408b01519150808211156200082c57600080fd5b6200083a8c838d0162000717565b975060608b01519150808211156200085157600080fd5b6200085f8c838d0162000717565b965060808b01519150808211156200087657600080fd5b50620008858b828c0162000717565b9450506200089660a08a01620006be565b9250620008a660c08a01620006be565b9150620008b660e08a01620007a8565b90509295985092959890939650565b600181811c90821680620008da57607f821691505b602082108103620008fb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012f57600081815260208120601f850160051c810160208610156200092a5750805b601f850160051c820191505b818110156200094b5782815560010162000936565b505050505050565b81516001600160401b038111156200096f576200096f620006db565b6200098781620009808454620008c5565b8462000901565b602080601f831160018114620009bf5760008415620009a65750858301515b600019600386901b1c1916600185901b1785556200094b565b600085815260208120601f198616915b82811015620009f057888601518255948401946001909101908401620009cf565b508582101562000a0f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562000a3257600080fd5b81518015158114620003f857600080fd5b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162000a7d816017850160208801620006f1565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162000ab0816028840160208801620006f1565b01602801949350505050565b602081526000825180602084015262000add816040850160208701620006f1565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620003fb57620003fb62000af1565b80820180821115620003fb57620003fb62000af1565b634e487b7160e01b600052603260045260246000fd5b60008162000b5f5762000b5f62000af1565b506000190190565b6146128062000b776000396000f3fe608060405234801561001057600080fd5b50600436106102ba5760003560e01c80636588962a11610182578063a7012816116100e9578063e4623c1b116100a2578063eea987681161007c578063eea9876814610648578063f5e0d8911461065b578063fa52ceec1461066e578063ff6250831461068157600080fd5b8063e4623c1b1461061a578063e8a3d4851461062d578063e985e9c51461063557600080fd5b8063a7012816146105a6578063b88d4fde146105b9578063c87b56dd146105cc578063ca15c873146105df578063d5391393146105f2578063d547741f1461060757600080fd5b80639010d07c1161013b5780639010d07c1461054a57806391d148541461055d578063938e3d7b1461057057806395d89b4114610583578063a217fddf1461058b578063a22cb4651461059357600080fd5b80636588962a146104e357806369e2f0fb146104f65780636b3a0632146105095780636c0360eb1461051c57806370a0823114610524578063885e7a081461053757600080fd5b806331ae450b116102265780634f558e79116101df5780634f558e791461047157806355f804b314610484578063567e4075146104975780635b32f935146104aa578063608a0b9d146104bd5780636352211e146104d057600080fd5b806331ae450b146103fd57806336568abe146104125780633dd1eb611461042557806342842e0e1461043857806342966c681461044b578063439aed341461045e57600080fd5b806318160ddd1161027857806318160ddd146103625780631f8ebbd11461037857806323b872dd14610382578063248a9ca3146103955780632a55205a146103b85780632f2ff15d146103ea57600080fd5b80628ad946146102bf57806301ffc9a7146102d45780630656b536146102fc57806306fdde031461030f578063081812fc14610324578063095ea7b31461034f575b600080fd5b6102d26102cd3660046137c8565b610694565b005b6102e76102e2366004613818565b61076a565b60405190151581526020015b60405180910390f35b6102d261030a3660046138dd565b61077b565b61031761079c565b6040516102f391906139ee565b610337610332366004613a01565b6107ab565b6040516001600160a01b0390911681526020016102f3565b6102d261035d366004613a1a565b6107cb565b61036a610926565b6040519081526020016102f3565b600160401b61036a565b6102d2610390366004613a44565b61093d565b61036a6103a3366004613a01565b60009081526020819052604090206001015490565b6103cb6103c6366004613a80565b61095f565b604080516001600160a01b0390931683526020830191909152016102f3565b6102d26103f8366004613aa2565b610a0d565b610405610a32565b6040516102f39190613ace565b6102d2610420366004613aa2565b610ae0565b6102d2610433366004613b1b565b610b5a565b6102d2610446366004613a44565b610b7d565b6102d2610459366004613a01565b610b98565b6102d261046c366004613b4d565b610bcf565b6102e761047f366004613a01565b610bf8565b6102d2610492366004613be0565b610c03565b6102d26104a5366004613a1a565b610c1a565b6102d26104b8366004613a1a565b610c3c565b6102d26104cb3660046138dd565b610c5e565b6103376104de366004613a01565b610c7f565b6102d26104f1366004613b1b565b610c9f565b6102d2610504366004613b1b565b610da0565b600254610337906001600160a01b031681565b610317610dc3565b61036a610532366004613b1b565b610e51565b6102d2610545366004613c28565b610e6f565b610337610558366004613a80565b610e84565b6102e761056b366004613aa2565b610ea3565b6102d261057e366004613be0565b610ecc565b610317610ee3565b61036a600081565b6102d26105a1366004613c60565b610eed565b6102d26105b4366004613cdb565b61103e565b6102d26105c7366004613d3f565b61109e565b6103176105da366004613a01565b6110c7565b61036a6105ed366004613a01565b6110d2565b61036a6a4d494e5445525f524f4c4560a81b81565b6102d2610615366004613aa2565b6110e9565b6102d2610628366004613dba565b61110e565b61031761114c565b6102e7610643366004613dfb565b611159565b6102d2610656366004613a1a565b611189565b6102d2610669366004613e25565b6111ab565b6102d261067c366004613e25565b6111cc565b6102d261068f366004613a1a565b6111ed565b6106a16020820182613f71565b90506106b06040830183613f71565b9050146106d05760405163359a1bc360e01b815260040160405180910390fd5b60005b6106e06040830183613f71565b9050811015610766576107546106f96020840184613b1b565b6107066020850185613f71565b8481811061071657610716613fba565b905060200201602081019061072b9190613b1b565b6107386040860186613f71565b8581811061074857610748613fba565b90506020020135610b7d565b8061075e81613fe6565b9150506106d3565b5050565b600061077582611455565b92915050565b6a4d494e5445525f524f4c4560a81b61079381611460565b6107668261146a565b60606107a66114b9565b905090565b6000600160401b8210156107c2576107758261154b565b61077582611572565b81333b1580159061084557506002546040516305a3b80960e01b81523360048201526001600160a01b03909116906305a3b80990602401602060405180830381865afa15801561081f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108439190613fff565b155b1561086a5760405163f6fa4cbd60e01b81523360048201526024015b60405180910390fd5b6001600160a01b0381163b158015906108ee57506002546040516305a3b80960e01b81526001600160a01b038381166004830152909116906305a3b80990602401602060405180830381865afa1580156108c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ec9190613fff565b155b15610917576040516341b8d58160e11b81526001600160a01b0382166004820152602401610861565b61092183836115fd565b505050565b600060135461093361161d565b6107a6919061401c565b600160401b81101561095457610921838383611639565b610921838383611669565b60008281526004602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b03169282019290925282916109d45750604080518082019091526003546001600160a01b0381168252600160a01b90046001600160601b031660208201525b6020810151600090612710906109f3906001600160601b03168761402f565b6109fd9190614046565b91519350909150505b9250929050565b600082815260208190526040902060010154610a2881611460565b610921838361168e565b60606000610a3f816110d2565b90506000816001600160401b03811115610a5b57610a5b613835565b604051908082528060200260200182016040528015610a84578160200160208202803683370190505b50905060005b82811015610ad957610a9d600082610e84565b828281518110610aaf57610aaf613fba565b6001600160a01b039092166020928302919091019091015280610ad181613fe6565b915050610a8a565b5092915050565b6001600160a01b0381163314610b505760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610861565b61076682826116b0565b6000610b6581611460565b6107666a4d494e5445525f524f4c4560a81b83610a0d565b6109218383836040518060200160405280600081525061109e565b610ba3335b826116d2565b610bc357604051630247e3a960e01b815260048101829052602401610861565b610bcc816116fb565b50565b6a4d494e5445525f524f4c4560a81b610be781611460565b610bf284848461174e565b50505050565b600061077582611819565b6000610c0e81611460565b601661092183826140e8565b6a4d494e5445525f524f4c4560a81b610c3281611460565b6109218383611876565b6a4d494e5445525f524f4c4560a81b610c5481611460565b6109218383611880565b6a4d494e5445525f524f4c4560a81b610c7681611460565b61076682611907565b6000600160401b821015610c965761077582611956565b610775826119b6565b6000610caa81611460565b6040516301ffc9a760e01b81526305a3b80960e01b60048201526001600160a01b038316906301ffc9a790602401602060405180830381865afa158015610cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d199190613fff565b610d3657604051631353be1160e11b815260040160405180910390fd5b600254604080516001600160a01b03928316815291841660208301527ff499b54d61d3fcb40299e3299af3ffe9ef1ee6e47194240f3cc5b6e09f7f6796910160405180910390a150600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000610dab81611460565b6107666a4d494e5445525f524f4c4560a81b836110e9565b60168054610dd090614068565b80601f0160208091040260200160405190810160405280929190818152602001828054610dfc90614068565b8015610e495780601f10610e1e57610100808354040283529160200191610e49565b820191906000526020600020905b815481529060010190602001808311610e2c57829003601f168201915b505050505081565b6000610e5c826119ca565b610e6583611a95565b610775919061401c565b6000610e7a81611460565b6109218383611b1b565b6000828152600160205260408120610e9c9083611bd5565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610ed781611460565b601561092183826140e8565b60606107a6611be1565b81333b15801590610f6757506002546040516305a3b80960e01b81523360048201526001600160a01b03909116906305a3b80990602401602060405180830381865afa158015610f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f659190613fff565b155b15610f875760405163f6fa4cbd60e01b8152336004820152602401610861565b6001600160a01b0381163b1580159061100b57506002546040516305a3b80960e01b81526001600160a01b038381166004830152909116906305a3b80990602401602060405180830381865afa158015610fe5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110099190613fff565b155b15611034576040516341b8d58160e11b81526001600160a01b0382166004820152602401610861565b6109218383611bf0565b6a4d494e5445525f524f4c4560a81b61105681611460565b60005b848110156110965761108486868381811061107657611076613fba565b90506020020135858561174e565b8061108e81613fe6565b915050611059565b505050505050565b600160401b8210156110bb576110b684848484611bfa565b610bf2565b610bf284848484611c2d565b606061077582611c52565b600081815260016020526040812061077590611cb8565b60008281526020819052604090206001015461110481611460565b61092183836116b0565b60005b818110156109215761113a83838381811061112e5761112e613fba565b90506020020135610b98565b8061114481613fe6565b915050611111565b60158054610dd090614068565b6001600160a01b03808316600090815260126020908152604080832093851683529290529081205460ff16610e9c565b6a4d494e5445525f524f4c4560a81b6111a181611460565b6109218383611cc2565b6a4d494e5445525f524f4c4560a81b6111c381611460565b61076682611ccc565b6a4d494e5445525f524f4c4560a81b6111e481611460565b61076682611d1b565b6a4d494e5445525f524f4c4560a81b61120581611460565b6109218383611d6a565b6112198282610ea3565b610766576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561124f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610e9c836001600160a01b038416611dd8565b60606107756001600160a01b03831660145b606060006112c983600261402f565b6112d490600261401c565b6001600160401b038111156112eb576112eb613835565b6040519080825280601f01601f191660200182016040528015611315576020820181803683370190505b509050600360fc1b8160008151811061133057611330613fba565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061135f5761135f613fba565b60200101906001600160f81b031916908160001a905350600061138384600261402f565b61138e90600161401c565b90505b6001811115611406576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106113c2576113c2613fba565b1a60f81b8282815181106113d8576113d8613fba565b60200101906001600160f81b031916908160001a90535060049490941c936113ff816141a7565b9050611391565b508315610e9c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610861565b600061077582611e27565b610bcc8133611e67565b60005b815181101561076657600082828151811061148a5761148a613fba565b602002602001015190506114a681600001518260200151611876565b50806114b181613fe6565b91505061146d565b6060600d80546114c890614068565b80601f01602080910402602001604051908101604052809291908181526020018280546114f490614068565b80156115415780601f1061151657610100808354040283529160200191611541565b820191906000526020600020905b81548152906001019060200180831161152457829003601f168201915b5050505050905090565b600061155682611ec0565b506000908152601160205260409020546001600160a01b031690565b600061157d82611819565b6115e15760405162461bcd60e51b815260206004820152602f60248201527f4552433732315073693a20617070726f76656420717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610861565b506000908152600a60205260409020546001600160a01b031690565b600160401b811015611613576107668282611f10565b6107668282612020565b6000611627612128565b61162f612192565b6107a691906141be565b61164233610b9d565b61165e5760405162461bcd60e51b8152600401610861906141d1565b6109218383836121a6565b61167233610b9d565b61165e5760405162461bcd60e51b81526004016108619061421e565b611698828261120f565b60008281526001602052604090206109219082611293565b6116ba82826123ad565b60008281526001602052604090206109219082612412565b6000600160401b8210156116f1576116ea8383612427565b9050610775565b610e9c8383612486565b600160401b811015611745576117108161254b565b600881901c60009081526014602052604081208054600160ff85161b179055601380549161173d836141a7565b919050555050565b610bcc816125ce565b6127106001600160601b03821611156117795760405162461bcd60e51b815260040161086190614272565b6001600160a01b0382166117cf5760405162461bcd60e51b815260206004820152601b60248201527f455243323938313a20496e76616c696420706172616d657465727300000000006044820152606401610861565b6040805180820182526001600160a01b0393841681526001600160601b0392831660208083019182526000968752600490529190942093519051909116600160a01b029116179055565b6000600160401b82101561186d576000828152600f60205260409020546001600160a01b0316158015906107755750600882901c600090815260146020526040902054600160ff84161b1615151592915050565b61077582612610565b6107668282612645565b600160401b81106118a75760405163b73c99f560e01b815260048101829052602401610861565b600881901c600090815260146020526040902054600160ff83161b16156118e4576040516305dcda1160e51b815260048101829052602401610861565b6118ee828261265f565b601380549060006118fe83613fe6565b91905055505050565b60005b815181101561076657600082828151811061192757611927613fba565b6020026020010151905061194381600001518260200151611cc2565b508061194e81613fe6565b91505061190a565b6000818152600f60205260408120546001600160a01b0316806107755760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610861565b6000806119c2836127ba565b509392505050565b60006001600160a01b038216611a385760405162461bcd60e51b815260206004820152602d60248201527f4552433732315073693a2062616c616e636520717565727920666f722074686560448201526c207a65726f206164647265737360981b6064820152608401610861565b6000600160401b5b600954811015610ad957611a5381611819565b15611a8557611a6181610c7f565b6001600160a01b0316846001600160a01b031603611a8557611a8282613fe6565b91505b611a8e81613fe6565b9050611a40565b60006001600160a01b038216611aff5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610861565b506001600160a01b031660009081526010602052604090205490565b6127106001600160601b0382161115611b465760405162461bcd60e51b815260040161086190614272565b6001600160a01b038216611b9c5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610861565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600355565b6000610e9c8383612851565b6060600e80546114c890614068565b610766828261287b565b611c05335b836116d2565b611c215760405162461bcd60e51b8152600401610861906141d1565b610bf284848484612886565b611c3633611bff565b611c215760405162461bcd60e51b81526004016108619061421e565b6060611c5d82611ec0565b6000611c676128aa565b90506000815111611c875760405180602001604052806000815250610e9c565b80611c91846128b9565b604051602001611ca29291906142bc565b6040516020818303038152906040529392505050565b6000610775825490565b610766828261294b565b60005b8151811015610766576000828281518110611cec57611cec613fba565b60200260200101519050611d0881600001518260200151612ac4565b5080611d1381613fe6565b915050611ccf565b60005b8151811015610766576000828281518110611d3b57611d3b613fba565b60200260200101519050611d5781600001518260200151612b05565b5080611d6281613fe6565b915050611d1e565b600160401b8110611d915760405163b73c99f560e01b815260048101829052602401610861565b600881901c600090815260146020526040902054600160ff83161b1615611dce576040516305dcda1160e51b815260048101829052602401610861565b6118ee8282612b46565b6000818152600183016020526040812054611e1f57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610775565b506000610775565b60006001600160e01b031982166380ac58cd60e01b1480611e5857506001600160e01b03198216635b5e139f60e01b145b80610775575061077582612b60565b611e718282610ea3565b61076657611e7e816112a8565b611e898360206112ba565b604051602001611e9a9291906142eb565b60408051601f198184030181529082905262461bcd60e51b8252610861916004016139ee565b611ec981611819565b610bcc5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610861565b6000611f1b82611956565b9050806001600160a01b0316836001600160a01b031603611f885760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610861565b336001600160a01b0382161480611fa45750611fa48133611159565b6120165760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610861565b6109218383612ba0565b600061202b82610c7f565b9050806001600160a01b0316836001600160a01b03160361209a5760405162461bcd60e51b8152602060048201526024808201527f4552433732315073693a20617070726f76616c20746f2063757272656e74206f6044820152633bb732b960e11b6064820152608401610861565b336001600160a01b03821614806120b657506120b68133611159565b6120165760405162461bcd60e51b815260206004820152603b60248201527f4552433732315073693a20617070726f76652063616c6c6572206973206e6f7460448201527f206f776e6572206e6f7220617070726f76656420666f7220616c6c00000000006064820152608401610861565b6009546000906701000000000000009082906121489060081c600161401c565b9050815b8181101561218c576000818152600c602052604090205461216c81612bc0565b612176908661401c565b945050808061218490613fe6565b91505061214c565b50505090565b6000600160401b6009546107a691906141be565b828233321480159061222157506002546040516305a3b80960e01b81523360048201526001600160a01b03909116906305a3b80990602401602060405180830381865afa1580156121fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061221f9190613fff565b155b156122415760405163937db65f60e01b8152336004820152602401610861565b6001600160a01b0382163b158015906122c557506002546040516305a3b80960e01b81526001600160a01b038481166004830152909116906305a3b80990602401602060405180830381865afa15801561229f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c39190613fff565b155b156122ee5760405163f934453160e01b81526001600160a01b0383166004820152602401610861565b6001600160a01b0381163b1580159061237257506002546040516305a3b80960e01b81526001600160a01b038381166004830152909116906305a3b80990602401602060405180830381865afa15801561234c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123709190613fff565b155b1561239b57604051632a67242160e11b81526001600160a01b0382166004820152602401610861565b6123a6858585612bdf565b5050505050565b6123b78282610ea3565b15610766576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610e9c836001600160a01b038416612c01565b60008061243383611956565b9050806001600160a01b0316846001600160a01b0316148061245a575061245a8185611159565b8061247e5750836001600160a01b0316612473846107ab565b6001600160a01b0316145b949350505050565b600061249182611819565b6124f55760405162461bcd60e51b815260206004820152602f60248201527f4552433732315073693a206f70657261746f7220717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610861565b600061250083610c7f565b9050806001600160a01b0316846001600160a01b0316148061253b5750836001600160a01b0316612530846107ab565b6001600160a01b0316145b8061247e575061247e8185611159565b600061255682611956565b905061256182611956565b600083815260116020908152604080832080546001600160a01b03199081169091556001600160a01b038516808552601084528285208054600019019055878552600f909352818420805490911690555192935084926000805160206144bd833981519152908390a45050565b60006125d982610c7f565b90506125e6600c83612cf4565b60405182906000906001600160a01b038416906000805160206144bd833981519152908390a45050565b600881901c6000908152600c6020526040812054600160ff1b60ff84161c161561263c57506000919050565b61077582612d20565b610766828260405180602001604052806000815250612d3f565b6001600160a01b0382166126b55760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610861565b6126be81611819565b1561270b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610861565b61271481611819565b156127615760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610861565b6001600160a01b038216600081815260106020908152604080832080546001019055848352600f90915280822080546001600160a01b0319168417905551839291906000805160206144bd833981519152908290a45050565b6000806127c683611819565b6128275760405162461bcd60e51b815260206004820152602c60248201527f4552433732315073693a206f776e657220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610861565b61283083612d80565b6000818152600860205260409020546001600160a01b031694909350915050565b600082600001828154811061286857612868613fba565b9060005260206000200154905092915050565b610766338383612d8d565b600160401b82101561289e576110b684848484612e5b565b610bf284848484612e8e565b6060601680546114c890614068565b606060006128c683612ea7565b60010190506000816001600160401b038111156128e5576128e5613835565b6040519080825280601f01601f19166020018201604052801561290f576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461291957509392505050565b600061295660095490565b9050600082116129b65760405162461bcd60e51b815260206004820152602560248201527f4552433732315073693a207175616e74697479206d7573742062652067726561604482015264074657220360dc1b6064820152608401610861565b6001600160a01b038316612a185760405162461bcd60e51b815260206004820152602360248201527f4552433732315073693a206d696e7420746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610861565b8160096000828254612a2a919061401c565b9091555050600081815260086020526040902080546001600160a01b0319166001600160a01b038516179055612a61600582612cf4565b600080612a6e848461401c565b90506001600160a01b0385169150828260006000805160206144bd833981519152600080a4600183015b818114612abe57808360006000805160206144bd833981519152600080a4600101612a98565b506123a6565b60005b815181101561092157612af383838381518110612ae657612ae6613fba565b6020026020010151611d6a565b80612afd81613fe6565b915050612ac7565b60005b815181101561092157612b3483838381518110612b2757612b27613fba565b6020026020010151611880565b80612b3e81613fe6565b915050612b08565b610766828260405180602001604052806000815250612f7f565b60006001600160e01b031982166380ac58cd60e01b1480612b9157506001600160e01b03198216635b5e139f60e01b145b80610775575061077582612f8a565b600160401b811015612bb6576107668282612faf565b610766828261301d565b60005b8115612bda57600019820190911690600101612bc3565b919050565b600160401b811015612bf657610921838383613052565b6109218383836131a4565b60008181526001830160205260408120548015612cea576000612c256001836141be565b8554909150600090612c39906001906141be565b9050818114612c9e576000866000018281548110612c5957612c59613fba565b9060005260206000200154905080876000018481548110612c7c57612c7c613fba565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612caf57612caf614360565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610775565b6000915050610775565b600881901c600090815260209290925260409091208054600160ff1b60ff9093169290921c9091179055565b6000612d2b60095490565b82108015610775575050600160401b111590565b6000612d4a60095490565b9050612d56848461294b565b612d6460008583868661337c565b610bf25760405162461bcd60e51b815260040161086190614376565b60006107756005836134b3565b816001600160a01b0316836001600160a01b031603612dee5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610861565b6001600160a01b03838116600081815260126020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612e668484846121a6565b612e72848484846135ab565b610bf25760405162461bcd60e51b8152600401610861906143cb565b612e998484846121a6565b612d6484848460018561337c565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612ee65772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612f12576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612f3057662386f26fc10000830492506010015b6305f5e1008310612f48576305f5e100830492506008015b6127108310612f5c57612710830492506004015b60648310612f6e576064830492506002015b600a83106107755760010192915050565b6109218383836136a4565b60006001600160e01b0319821663152a902d60e11b14806107755750610775826136d7565b600081815260116020526040902080546001600160a01b0319166001600160a01b0384169081179091558190612fe482611956565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600a6020526040902080546001600160a01b0319166001600160a01b0384169081179091558190612fe482610c7f565b826001600160a01b031661306582611956565b6001600160a01b03161461308b5760405162461bcd60e51b81526004016108619061441d565b6001600160a01b0382166130ed5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610861565b826001600160a01b031661310082611956565b6001600160a01b0316146131265760405162461bcd60e51b81526004016108619061441d565b600081815260116020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260108552838620805460001901905590871680865283862080546001019055868652600f90945282852080549092168417909155905184936000805160206144bd83398151915291a4505050565b6000806131b0836127ba565b91509150846001600160a01b0316826001600160a01b03161461322a5760405162461bcd60e51b815260206004820152602c60248201527f4552433732315073693a207472616e73666572206f6620746f6b656e2074686160448201526b3a1034b9903737ba1037bbb760a11b6064820152608401610861565b6001600160a01b0384166132905760405162461bcd60e51b815260206004820152602760248201527f4552433732315073693a207472616e7366657220746f20746865207a65726f206044820152666164647265737360c81b6064820152608401610861565b61329b600084612ba0565b60006132a884600161401c565b600881901c600090815260056020526040902054909150600160ff1b60ff83161c161580156132d8575060095481105b1561330f57600081815260086020526040902080546001600160a01b0319166001600160a01b03881617905561330f600582612cf4565b600084815260086020526040902080546001600160a01b0319166001600160a01b03871617905581841461334857613348600585612cf4565b83856001600160a01b0316876001600160a01b03166000805160206144bd83398151915260405160405180910390a4611096565b60006001600160a01b0385163b156134a657506001835b61339d848661401c565b8110156134a057604051630a85bd0160e11b81526001600160a01b0387169063150b7a02906133d69033908b9086908990600401614462565b6020604051808303816000875af1925050508015613411575060408051601f3d908101601f1916820190925261340e9181019061449f565b60015b61346e573d80801561343f576040519150601f19603f3d011682016040523d82523d6000602084013e613444565b606091505b5080516000036134665760405162461bcd60e51b815260040161086190614376565b805181602001fd5b82801561348b57506001600160e01b03198116630a85bd0160e11b145b9250508061349881613fe6565b915050613393565b506134aa565b5060015b95945050505050565b600881901c60008181526020849052604081205490919060ff808516919082181c80156134f5576134e3816136e2565b60ff168203600884901b1793506135a2565b600083116135625760405162461bcd60e51b815260206004820152603460248201527f4269744d6170733a205468652073657420626974206265666f7265207468652060448201527334b73232bc103237b2b9b713ba1032bc34b9ba1760611b6064820152608401610861565b50600019909101600081815260208690526040902054909190801561359d5761358a816136e2565b60ff0360ff16600884901b1793506135a2565b6134f5565b50505092915050565b60006001600160a01b0384163b1561369957604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906135ef903390899088908890600401614462565b6020604051808303816000875af192505050801561362a575060408051601f3d908101601f191682019092526136279181019061449f565b60015b61367f573d808015613658576040519150601f19603f3d011682016040523d82523d6000602084013e61365d565b606091505b5080516000036134665760405162461bcd60e51b8152600401610861906143cb565b6001600160e01b031916630a85bd0160e11b14905061247e565b506001949350505050565b6136ae838361374c565b6136bb60008484846135ab565b6109215760405162461bcd60e51b8152600401610861906143cb565b600061077582613756565b600060405180610120016040528061010081526020016144dd610100913960f87e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff61372b8561377b565b02901c8151811061373e5761373e613fba565b016020015160f81c92915050565b610766828261265f565b60006001600160e01b03198216635a05180f60e01b1480610775575061077582613793565b600080821161378957600080fd5b5060008190031690565b60006001600160e01b03198216637965db0b60e01b148061077557506301ffc9a760e01b6001600160e01b0319831614610775565b6000602082840312156137da57600080fd5b81356001600160401b038111156137f057600080fd5b820160608185031215610e9c57600080fd5b6001600160e01b031981168114610bcc57600080fd5b60006020828403121561382a57600080fd5b8135610e9c81613802565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561386d5761386d613835565b60405290565b604051601f8201601f191681016001600160401b038111828210171561389b5761389b613835565b604052919050565b60006001600160401b038211156138bc576138bc613835565b5060051b60200190565b80356001600160a01b0381168114612bda57600080fd5b600060208083850312156138f057600080fd5b82356001600160401b0381111561390657600080fd5b8301601f8101851361391757600080fd5b803561392a613925826138a3565b613873565b81815260069190911b8201830190838101908783111561394957600080fd5b928401925b8284101561399357604084890312156139675760008081fd5b61396f61384b565b613978856138c6565b8152848601358682015282526040909301929084019061394e565b979650505050505050565b60005b838110156139b95781810151838201526020016139a1565b50506000910152565b600081518084526139da81602086016020860161399e565b601f01601f19169290920160200192915050565b602081526000610e9c60208301846139c2565b600060208284031215613a1357600080fd5b5035919050565b60008060408385031215613a2d57600080fd5b613a36836138c6565b946020939093013593505050565b600080600060608486031215613a5957600080fd5b613a62846138c6565b9250613a70602085016138c6565b9150604084013590509250925092565b60008060408385031215613a9357600080fd5b50508035926020909101359150565b60008060408385031215613ab557600080fd5b82359150613ac5602084016138c6565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015613b0f5783516001600160a01b031683529284019291840191600101613aea565b50909695505050505050565b600060208284031215613b2d57600080fd5b610e9c826138c6565b80356001600160601b0381168114612bda57600080fd5b600080600060608486031215613b6257600080fd5b83359250613b72602085016138c6565b9150613b8060408501613b36565b90509250925092565b60006001600160401b03831115613ba257613ba2613835565b613bb5601f8401601f1916602001613873565b9050828152838383011115613bc957600080fd5b828260208301376000602084830101529392505050565b600060208284031215613bf257600080fd5b81356001600160401b03811115613c0857600080fd5b8201601f81018413613c1957600080fd5b61247e84823560208401613b89565b60008060408385031215613c3b57600080fd5b613c44836138c6565b9150613ac560208401613b36565b8015158114610bcc57600080fd5b60008060408385031215613c7357600080fd5b613c7c836138c6565b91506020830135613c8c81613c52565b809150509250929050565b60008083601f840112613ca957600080fd5b5081356001600160401b03811115613cc057600080fd5b6020830191508360208260051b8501011115610a0657600080fd5b60008060008060608587031215613cf157600080fd5b84356001600160401b03811115613d0757600080fd5b613d1387828801613c97565b9095509350613d269050602086016138c6565b9150613d3460408601613b36565b905092959194509250565b60008060008060808587031215613d5557600080fd5b613d5e856138c6565b9350613d6c602086016138c6565b92506040850135915060608501356001600160401b03811115613d8e57600080fd5b8501601f81018713613d9f57600080fd5b613dae87823560208401613b89565b91505092959194509250565b60008060208385031215613dcd57600080fd5b82356001600160401b03811115613de357600080fd5b613def85828601613c97565b90969095509350505050565b60008060408385031215613e0e57600080fd5b613e17836138c6565b9150613ac5602084016138c6565b60006020808385031215613e3857600080fd5b82356001600160401b0380821115613e4f57600080fd5b818501915085601f830112613e6357600080fd5b8135613e71613925826138a3565b81815260059190911b83018401908481019088831115613e9057600080fd5b8585015b83811015613f6457803585811115613eac5760008081fd5b86016040818c03601f1901811315613ec45760008081fd5b613ecc61384b565b613ed78a84016138c6565b81528183013588811115613eeb5760008081fd5b8084019350508c603f840112613f015760008081fd5b89830135613f11613925826138a3565b81815260059190911b84018301908b8101908f831115613f315760008081fd5b948401945b82861015613f4f5785358252948c0194908c0190613f36565b838d0152505085525050918601918601613e94565b5098975050505050505050565b6000808335601e19843603018112613f8857600080fd5b8301803591506001600160401b03821115613fa257600080fd5b6020019150600581901b3603821315610a0657600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201613ff857613ff8613fd0565b5060010190565b60006020828403121561401157600080fd5b8151610e9c81613c52565b8082018082111561077557610775613fd0565b808202811582820484141761077557610775613fd0565b60008261406357634e487b7160e01b600052601260045260246000fd5b500490565b600181811c9082168061407c57607f821691505b60208210810361409c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561092157600081815260208120601f850160051c810160208610156140c95750805b601f850160051c820191505b81811015611096578281556001016140d5565b81516001600160401b0381111561410157614101613835565b6141158161410f8454614068565b846140a2565b602080601f83116001811461414a57600084156141325750858301515b600019600386901b1c1916600185901b178555611096565b600085815260208120601f198616915b828110156141795788860151825594840194600190910190840161415a565b50858210156141975787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000816141b6576141b6613fd0565b506000190190565b8181038181111561077557610775613fd0565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526034908201527f4552433732315073693a207472616e736665722063616c6c6572206973206e6f6040820152731d081bdddb995c881b9bdc88185c1c1c9bdd995960621b606082015260800190565b6020808252602a908201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646040820152692073616c65507269636560b01b606082015260800190565b600083516142ce81846020880161399e565b8351908301906142e281836020880161399e565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161432381601785016020880161399e565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161435481602884016020880161399e565b01602801949350505050565b634e487b7160e01b600052603160045260246000fd5b60208082526035908201527f4552433732315073693a207472616e7366657220746f206e6f6e20455243373260408201527418a932b1b2b4bb32b91034b6b83632b6b2b73a32b960591b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090614495908301846139c2565b9695505050505050565b6000602082840312156144b157600080fd5b8151610e9c8161380256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef0001020903110a19042112290b311a3905412245134d2a550c5d32651b6d3a7506264262237d468514804e8d2b95569d0d495ea533a966b11c886eb93bc176c9071727374353637324837e9b47af86c7155181ad4fd18ed32c9096db57d59ee30e2e4a6a5f92a6be3498aae067ddb2eb1d5989b56fd7baf33ca0c2ee77e5caf7ff0810182028303840444c545c646c7425617c847f8c949c48a4a8b087b8c0c816365272829aaec650acd0d28fdad4e22d6991bd97dfdcea58b4d6f29fede4f6fe0f1f2f3f4b5b6b607b8b93a3a7b7bf357199c5abcfd9e168bcdee9b3f1ecf5fd1e3e5a7a8aa2b670c4ced8bbe8f0f4fc3d79a1c3cde7effb78cce6facbf9f8a2646970667358221220216dd955505e933a17e6f45acb29b390eaf7241d0e86fad51fe9b9e3417836e264736f6c63430008110033";
1231
+ const isSuperArgs$2 = (xs) => xs.length > 1;
1232
+ class ImmutableERC721HybridPermissionedMintable__factory extends ContractFactory {
1233
+ constructor(...args) {
1234
+ if (isSuperArgs$2(args)) {
1235
+ super(...args);
1236
+ }
1237
+ else {
1238
+ super(_abi$2, _bytecode$2, args[0]);
1239
+ }
1240
+ }
1241
+ deploy(owner_, name_, symbol_, baseURI_, contractURI_, royaltyAllowlist_, royaltyReceiver_, feeNumerator_, overrides) {
1242
+ return super.deploy(owner_, name_, symbol_, baseURI_, contractURI_, royaltyAllowlist_, royaltyReceiver_, feeNumerator_, overrides || {});
1243
+ }
1244
+ getDeployTransaction(owner_, name_, symbol_, baseURI_, contractURI_, royaltyAllowlist_, royaltyReceiver_, feeNumerator_, overrides) {
1245
+ return super.getDeployTransaction(owner_, name_, symbol_, baseURI_, contractURI_, royaltyAllowlist_, royaltyReceiver_, feeNumerator_, overrides || {});
1246
+ }
1247
+ attach(address) {
1248
+ return super.attach(address);
1249
+ }
1250
+ connect(signer) {
1251
+ return super.connect(signer);
1252
+ }
1253
+ static bytecode = _bytecode$2;
1254
+ static abi = _abi$2;
1255
+ static createInterface() {
1256
+ return new utils.Interface(_abi$2);
1257
+ }
1258
+ static connect(address, signerOrProvider) {
1259
+ return new Contract(address, _abi$2, signerOrProvider);
1260
+ }
1261
+ }
1262
+
1263
+ class ERC721HybridPermissionedMintable {
1264
+ contract;
1265
+ constructor(contractAddress) {
1266
+ const factory = new ImmutableERC721HybridPermissionedMintable__factory();
1267
+ this.contract = factory.attach(contractAddress);
1268
+ }
1269
+ /**
1270
+ * Read functions
1271
+ */
1272
+ /**
1273
+ * @returns the DEFAULT_ADMIN_ROLE as a string.
1274
+ */
1275
+ async DEFAULT_ADMIN_ROLE(provider, overrides = {}) {
1276
+ return await this.contract.connect(provider).DEFAULT_ADMIN_ROLE(overrides);
1277
+ }
1278
+ /**
1279
+ * @returns the MINTER_ROLE as a string.
1280
+ */
1281
+ async MINTER_ROLE(provider, overrides = {}) {
1282
+ return await this.contract.connect(provider).MINTER_ROLE(overrides);
1283
+ }
1284
+ /**
1285
+ * @returns the balance of an address as a BigNumber.
1286
+ */
1287
+ async balanceOf(provider, owner, overrides = {}) {
1288
+ return await this.contract.connect(provider).balanceOf(owner, overrides);
1289
+ }
1290
+ /**
1291
+ * @returns the baseURI as a string.
1292
+ */
1293
+ async baseURI(provider, overrides = {}) {
1294
+ return await this.contract.connect(provider).baseURI(overrides);
1295
+ }
1296
+ /**
1297
+ * @returns the contractURI as a string.
1298
+ */
1299
+ async contractURI(provider, overrides = {}) {
1300
+ return await this.contract.connect(provider).contractURI(overrides);
1301
+ }
1302
+ /**
1303
+ * @returns admin addresses as an array of strings.
1304
+ */
1305
+ async getAdmins(provider, overrides = {}) {
1306
+ return await this.contract.connect(provider).getAdmins(overrides);
1307
+ }
1308
+ /**
1309
+ * @returns the approved address for a token ID, or zero if no address set.
1310
+ */
1311
+ async getApproved(provider, tokenId, overrides = {}) {
1312
+ return await this.contract
1313
+ .connect(provider)
1314
+ .getApproved(tokenId, overrides);
1315
+ }
1316
+ /**
1317
+ * @returns the role admin address.
1318
+ */
1319
+ async getRoleAdmin(provider, role, overrides = {}) {
1320
+ return await this.contract.connect(provider).getRoleAdmin(role, overrides);
1321
+ }
1322
+ /**
1323
+ * @returns the role member address at a particular index.
1324
+ */
1325
+ async getRoleMember(provider, role, index, overrides = {}) {
1326
+ return await this.contract
1327
+ .connect(provider)
1328
+ .getRoleMember(role, index, overrides);
1329
+ }
1330
+ /**
1331
+ * @returns the role member count as a BigNumber.
1332
+ */
1333
+ async getRoleMemberCount(provider, role, overrides = {}) {
1334
+ return await this.contract
1335
+ .connect(provider)
1336
+ .getRoleMemberCount(role, overrides);
1337
+ }
1338
+ /**
1339
+ * @returns a boolean for whether an account has a particular role.
1340
+ */
1341
+ async hasRole(provider, role, account, overrides = {}) {
1342
+ return await this.contract
1343
+ .connect(provider)
1344
+ .hasRole(role, account, overrides);
1345
+ }
1346
+ /**
1347
+ * @returns a booolean that tells whether an operator is approved by a given owner.
1348
+ */
1349
+ async isApprovedForAll(provider, owner, operator, overrides = {}) {
1350
+ return await this.contract
1351
+ .connect(provider)
1352
+ .isApprovedForAll(owner, operator, overrides);
1353
+ }
1354
+ /**
1355
+ * @returns the name of the contract as a string.
1356
+ */
1357
+ async name(provider, overrides = {}) {
1358
+ return await this.contract.connect(provider).name(overrides);
1359
+ }
1360
+ /**
1361
+ * @returns the owner address of a particular tokenId.
1362
+ */
1363
+ async ownerOf(provider, tokenId, overrides = {}) {
1364
+ return await this.contract.connect(provider).ownerOf(tokenId, overrides);
1365
+ }
1366
+ /**
1367
+ * @returns the royalty allowlist as a string.
1368
+ */
1369
+ async royaltyAllowlist(provider, overrides = {}) {
1370
+ return await this.contract.connect(provider).royaltyAllowlist(overrides);
1371
+ }
1372
+ /**
1373
+ * @returns the royalty information for a particular tokenId.
1374
+ */
1375
+ async royaltyInfo(provider, _tokenId, _salePrice, overrides = {}) {
1376
+ return await this.contract
1377
+ .connect(provider)
1378
+ .royaltyInfo(_tokenId, _salePrice, overrides);
1379
+ }
1380
+ /**
1381
+ * @returns the symbol of the contract as a string.
1382
+ */
1383
+ async symbol(provider, overrides = {}) {
1384
+ return await this.contract.connect(provider).symbol(overrides);
1385
+ }
1386
+ /**
1387
+ * @returns the Uniform Resource Identifier (URI) for tokenId token.
1388
+ */
1389
+ async tokenURI(provider, tokenId, overrides = {}) {
1390
+ return await this.contract.connect(provider).tokenURI(tokenId, overrides);
1391
+ }
1392
+ /**
1393
+ * @returns returns the total amount of tokens stored by the contract.
1394
+ */
1395
+ async totalSupply(provider, overrides = {}) {
1396
+ return await this.contract.connect(provider).totalSupply(overrides);
1397
+ }
1398
+ /**
1399
+ * Write functions
1400
+ */
1401
+ /**
1402
+ * @returns a populated transaction for the approve contract function
1403
+ */
1404
+ async populateApprove(to, tokenId, overrides = {}) {
1405
+ return await this.contract.populateTransaction.approve(to, tokenId, overrides);
1406
+ }
1407
+ /**
1408
+ * @returns a populated transaction for the burn contract function
1409
+ */
1410
+ async populateBurn(tokenId, overrides = {}) {
1411
+ return await this.contract.populateTransaction.burn(tokenId, overrides);
1412
+ }
1413
+ /**
1414
+ * @returns a populated transaction for the batch burn contract function
1415
+ */
1416
+ async populateBurnBatch(tokenIds, overrides = {}) {
1417
+ return await this.contract.populateTransaction.burnBatch(tokenIds, overrides);
1418
+ }
1419
+ /**
1420
+ * @returns a populated transaction for the grantMinterRole contract function
1421
+ */
1422
+ async populateGrantMinterRole(user, overrides = {}) {
1423
+ return await this.contract.populateTransaction.grantMinterRole(user, overrides);
1424
+ }
1425
+ /**
1426
+ * @returns a populated transaction for the grantRole contract function
1427
+ */
1428
+ async populateGrantRole(role, account, overrides = {}) {
1429
+ return await this.contract.populateTransaction.grantRole(role, account, overrides);
1430
+ }
1431
+ /**
1432
+ * @returns a populated transaction for the mint by ID contract function
1433
+ */
1434
+ async populateMintByID(to, tokenId, overrides = {}) {
1435
+ return await this.contract.populateTransaction.mintByID(to, tokenId, overrides);
1436
+ }
1437
+ /**
1438
+ * @returns a populated transaction for the safe mint by ID contract function
1439
+ */
1440
+ async populateSafeMintByID(to, tokenId, overrides = {}) {
1441
+ return await this.contract.populateTransaction.safeMintByID(to, tokenId, overrides);
1442
+ }
1443
+ /**
1444
+ * @returns a populated transaction for the mint by quantity contract function
1445
+ */
1446
+ async populateMintByQuantity(to, quantity, overrides = {}) {
1447
+ return await this.contract.populateTransaction.mintByQuantity(to, quantity, overrides);
1448
+ }
1449
+ /**
1450
+ * @returns a populated transaction for the safe mint by quantity contract function
1451
+ */
1452
+ async populateSafeMintByQuantity(to, quantity, overrides = {}) {
1453
+ return await this.contract.populateTransaction.safeMintByQuantity(to, quantity, overrides);
1454
+ }
1455
+ /**
1456
+ * @returns a populated transaction for the batch mint by quantity contract function
1457
+ */
1458
+ async populateBatchMintByQuantity(mints, overrides = {}) {
1459
+ return await this.contract.populateTransaction.batchMintByQuantity(mints, overrides);
1460
+ }
1461
+ /**
1462
+ * @returns a populated transaction for the batch safe mint by quantity contract function
1463
+ */
1464
+ async populateBatchSafeMintByQuantity(mints, overrides = {}) {
1465
+ return await this.contract.populateTransaction.batchSafeMintByQuantity(mints, overrides);
1466
+ }
1467
+ /**
1468
+ * @returns a populated transaction for the batch mint by ID to multiple recipients contract function
1469
+ */
1470
+ async populateBatchMintByIDToMultiple(mints, overrides = {}) {
1471
+ return await this.contract.populateTransaction.batchMintByIDToMultiple(mints, overrides);
1472
+ }
1473
+ /**
1474
+ * @returns a populated transaction for the batch safe mint by ID to multiple recipients contract function
1475
+ */
1476
+ async populateBatchSafeMintByIDToMultiple(mints, overrides = {}) {
1477
+ return await this.contract.populateTransaction.batchSafeMintByIDToMultiple(mints, overrides);
1478
+ }
1479
+ /**
1480
+ * @returns a populated transaction for the renounceRole contract function
1481
+ */
1482
+ async populateRenounceRole(role, account, overrides = {}) {
1483
+ return await this.contract.populateTransaction.renounceRole(role, account, overrides);
1484
+ }
1485
+ /**
1486
+ * @returns a populated transaction for the revokeMinterRole contract function
1487
+ */
1488
+ async populateRevokeMinterRole(user, overrides = {}) {
1489
+ return await this.contract.populateTransaction.revokeMinterRole(user, overrides);
1490
+ }
1491
+ /**
1492
+ * @returns a populated transaction for the revokeRole contract function
1493
+ */
1494
+ async populateRevokeRole(role, account, overrides = {}) {
1495
+ return await this.contract.populateTransaction.revokeRole(role, account, overrides);
1496
+ }
1497
+ /**
1498
+ * @returns a populated transaction for the batch save transfer from function
1499
+ */
1500
+ async populateSafeTransferFromBatch(transfers, overrides = {}) {
1501
+ return await this.contract.populateTransaction.safeTransferFromBatch(transfers, overrides);
1502
+ }
1503
+ /**
1504
+ * @returns a populated transaction for the safeTransferFrom(address,address,uint256) contract function
1505
+ */
1506
+ async 'populateSafeTransferFrom(address,address,uint256)'(from, to, tokenId, overrides = {}) {
1507
+ return await this.contract.populateTransaction['safeTransferFrom(address,address,uint256)'](from, to, tokenId, overrides);
1508
+ }
1509
+ /**
1510
+ * @returns a populated transaction for the safeTransferFrom(address,address,uint256,bytes) contract function
1511
+ */
1512
+ async 'populateSafeTransferFrom(address,address,uint256,bytes)'(from, to, tokenId, data, overrides = {}) {
1513
+ return await this.contract.populateTransaction['safeTransferFrom(address,address,uint256,bytes)'](from, to, tokenId, data, overrides);
1514
+ }
1515
+ /**
1516
+ * @returns a populated transaction for the setApprovalForAll contract function
1517
+ */
1518
+ async populateSetApprovalForAll(operator, approved, overrides = {}) {
1519
+ return await this.contract.populateTransaction.setApprovalForAll(operator, approved, overrides);
1520
+ }
1521
+ /**
1522
+ * @returns a populated transaction for the setBaseURI contract function
1523
+ */
1524
+ async populateSetBaseURI(baseURI_, overrides = {}) {
1525
+ return await this.contract.populateTransaction.setBaseURI(baseURI_, overrides);
1526
+ }
1527
+ /**
1528
+ * @returns a populated transaction for the setContractURI contract function
1529
+ */
1530
+ async populateSetContractURI(_contractURI, overrides = {}) {
1531
+ return await this.contract.populateTransaction.setContractURI(_contractURI, overrides);
1532
+ }
1533
+ /**
1534
+ * @returns a populated transaction for the setDefaultRoyaltyReceiver contract function
1535
+ */
1536
+ async populateSetDefaultRoyaltyReceiver(receiver, feeNumerator, overrides = {}) {
1537
+ return await this.contract.populateTransaction.setDefaultRoyaltyReceiver(receiver, feeNumerator, overrides);
1538
+ }
1539
+ /**
1540
+ * @returns a populated transaction for the setNFTRoyaltyReceiver contract function
1541
+ */
1542
+ async populateSetNFTRoyaltyReceiver(tokenId, receiver, feeNumerator, overrides = {}) {
1543
+ return await this.contract.populateTransaction.setNFTRoyaltyReceiver(tokenId, receiver, feeNumerator, overrides);
1544
+ }
1545
+ /**
1546
+ * @returns a populated transaction for the setNFTRoyaltyReceiverBatch contract function
1547
+ */
1548
+ async populateSetNFTRoyaltyReceiverBatch(tokenIds, receiver, feeNumerator, overrides = {}) {
1549
+ return await this.contract.populateTransaction.setNFTRoyaltyReceiverBatch(tokenIds, receiver, feeNumerator, overrides);
1550
+ }
1551
+ /**
1552
+ * @returns a populated transaction for the setRoyaltyAllowlistRegistry contract function
1553
+ */
1554
+ async populateSetRoyaltyAllowlistRegistry(_royaltyAllowlist, overrides = {}) {
1555
+ return await this.contract.populateTransaction.setRoyaltyAllowlistRegistry(_royaltyAllowlist, overrides);
1556
+ }
1557
+ }
1558
+
1559
+ export { ERC721HybridPermissionedMintable };