@towns-protocol/generated 0.0.336 → 0.0.338

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,1000 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type { PromiseOrValue } from "../common";
7
+ import type {
8
+ SubscriptionModuleFacet,
9
+ SubscriptionModuleFacetInterface,
10
+ } from "../SubscriptionModuleFacet";
11
+
12
+ const _abi = [
13
+ {
14
+ type: "function",
15
+ name: "GRACE_PERIOD",
16
+ inputs: [],
17
+ outputs: [
18
+ {
19
+ name: "",
20
+ type: "uint256",
21
+ internalType: "uint256",
22
+ },
23
+ ],
24
+ stateMutability: "view",
25
+ },
26
+ {
27
+ type: "function",
28
+ name: "MAX_BATCH_SIZE",
29
+ inputs: [],
30
+ outputs: [
31
+ {
32
+ name: "",
33
+ type: "uint256",
34
+ internalType: "uint256",
35
+ },
36
+ ],
37
+ stateMutability: "view",
38
+ },
39
+ {
40
+ type: "function",
41
+ name: "RENEWAL_BUFFER",
42
+ inputs: [],
43
+ outputs: [
44
+ {
45
+ name: "",
46
+ type: "uint256",
47
+ internalType: "uint256",
48
+ },
49
+ ],
50
+ stateMutability: "view",
51
+ },
52
+ {
53
+ type: "function",
54
+ name: "__SubscriptionModule_init",
55
+ inputs: [],
56
+ outputs: [],
57
+ stateMutability: "nonpayable",
58
+ },
59
+ {
60
+ type: "function",
61
+ name: "batchProcessRenewals",
62
+ inputs: [
63
+ {
64
+ name: "params",
65
+ type: "tuple[]",
66
+ internalType: "struct ISubscriptionModuleBase.RenewalParams[]",
67
+ components: [
68
+ {
69
+ name: "account",
70
+ type: "address",
71
+ internalType: "address",
72
+ },
73
+ {
74
+ name: "entityId",
75
+ type: "uint32",
76
+ internalType: "uint32",
77
+ },
78
+ ],
79
+ },
80
+ ],
81
+ outputs: [],
82
+ stateMutability: "nonpayable",
83
+ },
84
+ {
85
+ type: "function",
86
+ name: "getEntityIds",
87
+ inputs: [
88
+ {
89
+ name: "account",
90
+ type: "address",
91
+ internalType: "address",
92
+ },
93
+ ],
94
+ outputs: [
95
+ {
96
+ name: "",
97
+ type: "uint256[]",
98
+ internalType: "uint256[]",
99
+ },
100
+ ],
101
+ stateMutability: "view",
102
+ },
103
+ {
104
+ type: "function",
105
+ name: "getSubscription",
106
+ inputs: [
107
+ {
108
+ name: "account",
109
+ type: "address",
110
+ internalType: "address",
111
+ },
112
+ {
113
+ name: "entityId",
114
+ type: "uint32",
115
+ internalType: "uint32",
116
+ },
117
+ ],
118
+ outputs: [
119
+ {
120
+ name: "",
121
+ type: "tuple",
122
+ internalType: "struct Subscription",
123
+ components: [
124
+ {
125
+ name: "tokenId",
126
+ type: "uint256",
127
+ internalType: "uint256",
128
+ },
129
+ {
130
+ name: "spent",
131
+ type: "uint256",
132
+ internalType: "uint256",
133
+ },
134
+ {
135
+ name: "space",
136
+ type: "address",
137
+ internalType: "address",
138
+ },
139
+ {
140
+ name: "lastRenewalTime",
141
+ type: "uint40",
142
+ internalType: "uint40",
143
+ },
144
+ {
145
+ name: "nextRenewalTime",
146
+ type: "uint40",
147
+ internalType: "uint40",
148
+ },
149
+ {
150
+ name: "active",
151
+ type: "bool",
152
+ internalType: "bool",
153
+ },
154
+ ],
155
+ },
156
+ ],
157
+ stateMutability: "view",
158
+ },
159
+ {
160
+ type: "function",
161
+ name: "grantOperator",
162
+ inputs: [
163
+ {
164
+ name: "operator",
165
+ type: "address",
166
+ internalType: "address",
167
+ },
168
+ ],
169
+ outputs: [],
170
+ stateMutability: "nonpayable",
171
+ },
172
+ {
173
+ type: "function",
174
+ name: "isOperator",
175
+ inputs: [
176
+ {
177
+ name: "operator",
178
+ type: "address",
179
+ internalType: "address",
180
+ },
181
+ ],
182
+ outputs: [
183
+ {
184
+ name: "",
185
+ type: "bool",
186
+ internalType: "bool",
187
+ },
188
+ ],
189
+ stateMutability: "view",
190
+ },
191
+ {
192
+ type: "function",
193
+ name: "moduleId",
194
+ inputs: [],
195
+ outputs: [
196
+ {
197
+ name: "",
198
+ type: "string",
199
+ internalType: "string",
200
+ },
201
+ ],
202
+ stateMutability: "pure",
203
+ },
204
+ {
205
+ type: "function",
206
+ name: "onInstall",
207
+ inputs: [
208
+ {
209
+ name: "data",
210
+ type: "bytes",
211
+ internalType: "bytes",
212
+ },
213
+ ],
214
+ outputs: [],
215
+ stateMutability: "nonpayable",
216
+ },
217
+ {
218
+ type: "function",
219
+ name: "onUninstall",
220
+ inputs: [
221
+ {
222
+ name: "data",
223
+ type: "bytes",
224
+ internalType: "bytes",
225
+ },
226
+ ],
227
+ outputs: [],
228
+ stateMutability: "nonpayable",
229
+ },
230
+ {
231
+ type: "function",
232
+ name: "pauseSubscription",
233
+ inputs: [
234
+ {
235
+ name: "entityId",
236
+ type: "uint32",
237
+ internalType: "uint32",
238
+ },
239
+ ],
240
+ outputs: [],
241
+ stateMutability: "nonpayable",
242
+ },
243
+ {
244
+ type: "function",
245
+ name: "preRuntimeValidationHook",
246
+ inputs: [
247
+ {
248
+ name: "",
249
+ type: "uint32",
250
+ internalType: "uint32",
251
+ },
252
+ {
253
+ name: "",
254
+ type: "address",
255
+ internalType: "address",
256
+ },
257
+ {
258
+ name: "",
259
+ type: "uint256",
260
+ internalType: "uint256",
261
+ },
262
+ {
263
+ name: "",
264
+ type: "bytes",
265
+ internalType: "bytes",
266
+ },
267
+ {
268
+ name: "",
269
+ type: "bytes",
270
+ internalType: "bytes",
271
+ },
272
+ ],
273
+ outputs: [],
274
+ stateMutability: "pure",
275
+ },
276
+ {
277
+ type: "function",
278
+ name: "preSignatureValidationHook",
279
+ inputs: [
280
+ {
281
+ name: "",
282
+ type: "uint32",
283
+ internalType: "uint32",
284
+ },
285
+ {
286
+ name: "",
287
+ type: "address",
288
+ internalType: "address",
289
+ },
290
+ {
291
+ name: "",
292
+ type: "bytes32",
293
+ internalType: "bytes32",
294
+ },
295
+ {
296
+ name: "",
297
+ type: "bytes",
298
+ internalType: "bytes",
299
+ },
300
+ ],
301
+ outputs: [],
302
+ stateMutability: "pure",
303
+ },
304
+ {
305
+ type: "function",
306
+ name: "preUserOpValidationHook",
307
+ inputs: [
308
+ {
309
+ name: "",
310
+ type: "uint32",
311
+ internalType: "uint32",
312
+ },
313
+ {
314
+ name: "",
315
+ type: "tuple",
316
+ internalType: "struct PackedUserOperation",
317
+ components: [
318
+ {
319
+ name: "sender",
320
+ type: "address",
321
+ internalType: "address",
322
+ },
323
+ {
324
+ name: "nonce",
325
+ type: "uint256",
326
+ internalType: "uint256",
327
+ },
328
+ {
329
+ name: "initCode",
330
+ type: "bytes",
331
+ internalType: "bytes",
332
+ },
333
+ {
334
+ name: "callData",
335
+ type: "bytes",
336
+ internalType: "bytes",
337
+ },
338
+ {
339
+ name: "accountGasLimits",
340
+ type: "bytes32",
341
+ internalType: "bytes32",
342
+ },
343
+ {
344
+ name: "preVerificationGas",
345
+ type: "uint256",
346
+ internalType: "uint256",
347
+ },
348
+ {
349
+ name: "gasFees",
350
+ type: "bytes32",
351
+ internalType: "bytes32",
352
+ },
353
+ {
354
+ name: "paymasterAndData",
355
+ type: "bytes",
356
+ internalType: "bytes",
357
+ },
358
+ {
359
+ name: "signature",
360
+ type: "bytes",
361
+ internalType: "bytes",
362
+ },
363
+ ],
364
+ },
365
+ {
366
+ name: "",
367
+ type: "bytes32",
368
+ internalType: "bytes32",
369
+ },
370
+ ],
371
+ outputs: [
372
+ {
373
+ name: "",
374
+ type: "uint256",
375
+ internalType: "uint256",
376
+ },
377
+ ],
378
+ stateMutability: "pure",
379
+ },
380
+ {
381
+ type: "function",
382
+ name: "processRenewal",
383
+ inputs: [
384
+ {
385
+ name: "renewalParams",
386
+ type: "tuple",
387
+ internalType: "struct ISubscriptionModuleBase.RenewalParams",
388
+ components: [
389
+ {
390
+ name: "account",
391
+ type: "address",
392
+ internalType: "address",
393
+ },
394
+ {
395
+ name: "entityId",
396
+ type: "uint32",
397
+ internalType: "uint32",
398
+ },
399
+ ],
400
+ },
401
+ ],
402
+ outputs: [],
403
+ stateMutability: "nonpayable",
404
+ },
405
+ {
406
+ type: "function",
407
+ name: "revokeOperator",
408
+ inputs: [
409
+ {
410
+ name: "operator",
411
+ type: "address",
412
+ internalType: "address",
413
+ },
414
+ ],
415
+ outputs: [],
416
+ stateMutability: "nonpayable",
417
+ },
418
+ {
419
+ type: "function",
420
+ name: "supportsInterface",
421
+ inputs: [
422
+ {
423
+ name: "interfaceId",
424
+ type: "bytes4",
425
+ internalType: "bytes4",
426
+ },
427
+ ],
428
+ outputs: [
429
+ {
430
+ name: "",
431
+ type: "bool",
432
+ internalType: "bool",
433
+ },
434
+ ],
435
+ stateMutability: "view",
436
+ },
437
+ {
438
+ type: "function",
439
+ name: "validateRuntime",
440
+ inputs: [
441
+ {
442
+ name: "account",
443
+ type: "address",
444
+ internalType: "address",
445
+ },
446
+ {
447
+ name: "entityId",
448
+ type: "uint32",
449
+ internalType: "uint32",
450
+ },
451
+ {
452
+ name: "sender",
453
+ type: "address",
454
+ internalType: "address",
455
+ },
456
+ {
457
+ name: "",
458
+ type: "uint256",
459
+ internalType: "uint256",
460
+ },
461
+ {
462
+ name: "",
463
+ type: "bytes",
464
+ internalType: "bytes",
465
+ },
466
+ {
467
+ name: "",
468
+ type: "bytes",
469
+ internalType: "bytes",
470
+ },
471
+ ],
472
+ outputs: [],
473
+ stateMutability: "view",
474
+ },
475
+ {
476
+ type: "function",
477
+ name: "validateSignature",
478
+ inputs: [
479
+ {
480
+ name: "",
481
+ type: "address",
482
+ internalType: "address",
483
+ },
484
+ {
485
+ name: "",
486
+ type: "uint32",
487
+ internalType: "uint32",
488
+ },
489
+ {
490
+ name: "",
491
+ type: "address",
492
+ internalType: "address",
493
+ },
494
+ {
495
+ name: "",
496
+ type: "bytes32",
497
+ internalType: "bytes32",
498
+ },
499
+ {
500
+ name: "",
501
+ type: "bytes",
502
+ internalType: "bytes",
503
+ },
504
+ ],
505
+ outputs: [
506
+ {
507
+ name: "",
508
+ type: "bytes4",
509
+ internalType: "bytes4",
510
+ },
511
+ ],
512
+ stateMutability: "pure",
513
+ },
514
+ {
515
+ type: "function",
516
+ name: "validateUserOp",
517
+ inputs: [
518
+ {
519
+ name: "",
520
+ type: "uint32",
521
+ internalType: "uint32",
522
+ },
523
+ {
524
+ name: "",
525
+ type: "tuple",
526
+ internalType: "struct PackedUserOperation",
527
+ components: [
528
+ {
529
+ name: "sender",
530
+ type: "address",
531
+ internalType: "address",
532
+ },
533
+ {
534
+ name: "nonce",
535
+ type: "uint256",
536
+ internalType: "uint256",
537
+ },
538
+ {
539
+ name: "initCode",
540
+ type: "bytes",
541
+ internalType: "bytes",
542
+ },
543
+ {
544
+ name: "callData",
545
+ type: "bytes",
546
+ internalType: "bytes",
547
+ },
548
+ {
549
+ name: "accountGasLimits",
550
+ type: "bytes32",
551
+ internalType: "bytes32",
552
+ },
553
+ {
554
+ name: "preVerificationGas",
555
+ type: "uint256",
556
+ internalType: "uint256",
557
+ },
558
+ {
559
+ name: "gasFees",
560
+ type: "bytes32",
561
+ internalType: "bytes32",
562
+ },
563
+ {
564
+ name: "paymasterAndData",
565
+ type: "bytes",
566
+ internalType: "bytes",
567
+ },
568
+ {
569
+ name: "signature",
570
+ type: "bytes",
571
+ internalType: "bytes",
572
+ },
573
+ ],
574
+ },
575
+ {
576
+ name: "",
577
+ type: "bytes32",
578
+ internalType: "bytes32",
579
+ },
580
+ ],
581
+ outputs: [
582
+ {
583
+ name: "",
584
+ type: "uint256",
585
+ internalType: "uint256",
586
+ },
587
+ ],
588
+ stateMutability: "pure",
589
+ },
590
+ {
591
+ type: "event",
592
+ name: "BatchRenewalSkipped",
593
+ inputs: [
594
+ {
595
+ name: "account",
596
+ type: "address",
597
+ indexed: true,
598
+ internalType: "address",
599
+ },
600
+ {
601
+ name: "entityId",
602
+ type: "uint32",
603
+ indexed: true,
604
+ internalType: "uint32",
605
+ },
606
+ {
607
+ name: "reason",
608
+ type: "string",
609
+ indexed: false,
610
+ internalType: "string",
611
+ },
612
+ ],
613
+ anonymous: false,
614
+ },
615
+ {
616
+ type: "event",
617
+ name: "Initialized",
618
+ inputs: [
619
+ {
620
+ name: "version",
621
+ type: "uint32",
622
+ indexed: false,
623
+ internalType: "uint32",
624
+ },
625
+ ],
626
+ anonymous: false,
627
+ },
628
+ {
629
+ type: "event",
630
+ name: "InterfaceAdded",
631
+ inputs: [
632
+ {
633
+ name: "interfaceId",
634
+ type: "bytes4",
635
+ indexed: true,
636
+ internalType: "bytes4",
637
+ },
638
+ ],
639
+ anonymous: false,
640
+ },
641
+ {
642
+ type: "event",
643
+ name: "InterfaceRemoved",
644
+ inputs: [
645
+ {
646
+ name: "interfaceId",
647
+ type: "bytes4",
648
+ indexed: true,
649
+ internalType: "bytes4",
650
+ },
651
+ ],
652
+ anonymous: false,
653
+ },
654
+ {
655
+ type: "event",
656
+ name: "OperatorGranted",
657
+ inputs: [
658
+ {
659
+ name: "operator",
660
+ type: "address",
661
+ indexed: true,
662
+ internalType: "address",
663
+ },
664
+ ],
665
+ anonymous: false,
666
+ },
667
+ {
668
+ type: "event",
669
+ name: "OperatorRevoked",
670
+ inputs: [
671
+ {
672
+ name: "operator",
673
+ type: "address",
674
+ indexed: true,
675
+ internalType: "address",
676
+ },
677
+ ],
678
+ anonymous: false,
679
+ },
680
+ {
681
+ type: "event",
682
+ name: "OwnershipTransferred",
683
+ inputs: [
684
+ {
685
+ name: "previousOwner",
686
+ type: "address",
687
+ indexed: true,
688
+ internalType: "address",
689
+ },
690
+ {
691
+ name: "newOwner",
692
+ type: "address",
693
+ indexed: true,
694
+ internalType: "address",
695
+ },
696
+ ],
697
+ anonymous: false,
698
+ },
699
+ {
700
+ type: "event",
701
+ name: "SubscriptionConfigured",
702
+ inputs: [
703
+ {
704
+ name: "account",
705
+ type: "address",
706
+ indexed: true,
707
+ internalType: "address",
708
+ },
709
+ {
710
+ name: "entityId",
711
+ type: "uint32",
712
+ indexed: true,
713
+ internalType: "uint32",
714
+ },
715
+ {
716
+ name: "space",
717
+ type: "address",
718
+ indexed: true,
719
+ internalType: "address",
720
+ },
721
+ {
722
+ name: "tokenId",
723
+ type: "uint256",
724
+ indexed: false,
725
+ internalType: "uint256",
726
+ },
727
+ {
728
+ name: "nextRenewalTime",
729
+ type: "uint64",
730
+ indexed: false,
731
+ internalType: "uint64",
732
+ },
733
+ ],
734
+ anonymous: false,
735
+ },
736
+ {
737
+ type: "event",
738
+ name: "SubscriptionDeactivated",
739
+ inputs: [
740
+ {
741
+ name: "account",
742
+ type: "address",
743
+ indexed: true,
744
+ internalType: "address",
745
+ },
746
+ {
747
+ name: "entityId",
748
+ type: "uint32",
749
+ indexed: true,
750
+ internalType: "uint32",
751
+ },
752
+ ],
753
+ anonymous: false,
754
+ },
755
+ {
756
+ type: "event",
757
+ name: "SubscriptionPaused",
758
+ inputs: [
759
+ {
760
+ name: "account",
761
+ type: "address",
762
+ indexed: true,
763
+ internalType: "address",
764
+ },
765
+ {
766
+ name: "entityId",
767
+ type: "uint32",
768
+ indexed: true,
769
+ internalType: "uint32",
770
+ },
771
+ ],
772
+ anonymous: false,
773
+ },
774
+ {
775
+ type: "event",
776
+ name: "SubscriptionRenewed",
777
+ inputs: [
778
+ {
779
+ name: "account",
780
+ type: "address",
781
+ indexed: true,
782
+ internalType: "address",
783
+ },
784
+ {
785
+ name: "entityId",
786
+ type: "uint32",
787
+ indexed: true,
788
+ internalType: "uint32",
789
+ },
790
+ {
791
+ name: "nextRenewalTime",
792
+ type: "uint256",
793
+ indexed: false,
794
+ internalType: "uint256",
795
+ },
796
+ ],
797
+ anonymous: false,
798
+ },
799
+ {
800
+ type: "event",
801
+ name: "SubscriptionSpent",
802
+ inputs: [
803
+ {
804
+ name: "account",
805
+ type: "address",
806
+ indexed: true,
807
+ internalType: "address",
808
+ },
809
+ {
810
+ name: "entityId",
811
+ type: "uint32",
812
+ indexed: true,
813
+ internalType: "uint32",
814
+ },
815
+ {
816
+ name: "amount",
817
+ type: "uint256",
818
+ indexed: false,
819
+ internalType: "uint256",
820
+ },
821
+ {
822
+ name: "totalSpent",
823
+ type: "uint256",
824
+ indexed: false,
825
+ internalType: "uint256",
826
+ },
827
+ ],
828
+ anonymous: false,
829
+ },
830
+ {
831
+ type: "error",
832
+ name: "Initializable_InInitializingState",
833
+ inputs: [],
834
+ },
835
+ {
836
+ type: "error",
837
+ name: "Initializable_NotInInitializingState",
838
+ inputs: [],
839
+ },
840
+ {
841
+ type: "error",
842
+ name: "Introspection_AlreadySupported",
843
+ inputs: [],
844
+ },
845
+ {
846
+ type: "error",
847
+ name: "Introspection_NotSupported",
848
+ inputs: [],
849
+ },
850
+ {
851
+ type: "error",
852
+ name: "NotImplemented",
853
+ inputs: [],
854
+ },
855
+ {
856
+ type: "error",
857
+ name: "Ownable__NotOwner",
858
+ inputs: [
859
+ {
860
+ name: "account",
861
+ type: "address",
862
+ internalType: "address",
863
+ },
864
+ ],
865
+ },
866
+ {
867
+ type: "error",
868
+ name: "Ownable__ZeroAddress",
869
+ inputs: [],
870
+ },
871
+ {
872
+ type: "error",
873
+ name: "Reentrancy",
874
+ inputs: [],
875
+ },
876
+ {
877
+ type: "error",
878
+ name: "SubscriptionModule__EmptyBatch",
879
+ inputs: [],
880
+ },
881
+ {
882
+ type: "error",
883
+ name: "SubscriptionModule__ExceedsMaxBatchSize",
884
+ inputs: [],
885
+ },
886
+ {
887
+ type: "error",
888
+ name: "SubscriptionModule__InactiveSubscription",
889
+ inputs: [],
890
+ },
891
+ {
892
+ type: "error",
893
+ name: "SubscriptionModule__InsufficientBalance",
894
+ inputs: [],
895
+ },
896
+ {
897
+ type: "error",
898
+ name: "SubscriptionModule__InvalidAddress",
899
+ inputs: [],
900
+ },
901
+ {
902
+ type: "error",
903
+ name: "SubscriptionModule__InvalidCaller",
904
+ inputs: [],
905
+ },
906
+ {
907
+ type: "error",
908
+ name: "SubscriptionModule__InvalidEntityId",
909
+ inputs: [],
910
+ },
911
+ {
912
+ type: "error",
913
+ name: "SubscriptionModule__InvalidSender",
914
+ inputs: [],
915
+ },
916
+ {
917
+ type: "error",
918
+ name: "SubscriptionModule__InvalidSpace",
919
+ inputs: [],
920
+ },
921
+ {
922
+ type: "error",
923
+ name: "SubscriptionModule__InvalidTokenOwner",
924
+ inputs: [],
925
+ },
926
+ {
927
+ type: "error",
928
+ name: "SubscriptionModule__NotSupported",
929
+ inputs: [],
930
+ },
931
+ {
932
+ type: "error",
933
+ name: "SubscriptionModule__RenewalFailed",
934
+ inputs: [],
935
+ },
936
+ {
937
+ type: "error",
938
+ name: "SubscriptionModule__RenewalNotDue",
939
+ inputs: [],
940
+ },
941
+ {
942
+ type: "error",
943
+ name: "UnexpectedDataPassed",
944
+ inputs: [],
945
+ },
946
+ ] as const;
947
+
948
+ const _bytecode =
949
+ "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b612e05806100ca5f395ff3fe608060405234801561000f575f5ffd5b5060043610610179575f3560e01c8063885c1d09116100d2578063c1a287e211610088578063e7db7f7e11610063578063e7db7f7e146104ad578063eca8ad6614610517578063fad8b32a14610521575f5ffd5b8063c1a287e214610488578063cfdbf25414610492578063e348da131461049a575f5ffd5b80639e94f3ab116100b85780639e94f3ab1461028c578063a07da64714610436578063a1308f2714610449575f5ffd5b8063885c1d09146102665780638a91b0e314610279575f5ffd5b80633d6bda3211610132578063465d33e01161010d578063465d33e01461022d5780636d61fe70146102405780636d70f7ae14610253575f5ffd5b80633d6bda32146101e75780633e5f6091146101fa5780633f41826e1461021a575f5ffd5b80630ab8785f116101625780630ab8785f146101ba5780631313f410146101df5780632a3d428c146101ba575f5ffd5b806301ffc9a71461017d57806309264088146101a5575b5f5ffd5b61019061018b36600461274b565b610534565b60405190151581526020015b60405180910390f35b6101b86101b336600461278a565b6105cc565b005b6101d16101c83660046127bb565b60019392505050565b60405190815260200161019c565b6101b8610713565b6101b86101f536600461287a565b6107f3565b61020d610208366004612915565b610825565b60405161019c9190612930565b6101b8610228366004612972565b610874565b6101b861023b3660046129de565b6108a4565b6101b861024e366004612a8b565b6109a0565b610190610261366004612915565b610d5f565b6101b8610274366004612aca565b610d8a565b6101b8610287366004612a8b565b6112a2565b6103c561029a366004612b3b565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101919091527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb860073ffffffffffffffffffffffffffffffffffffffff8085165f90815260019283016020908152604080832063ffffffff88168452825291829020825160c081018452815481529481015491850191909152600201549182169083015264ffffffffff74010000000000000000000000000000000000000000820481166060840152790100000000000000000000000000000000000000000000000000820416608083015260ff7e0100000000000000000000000000000000000000000000000000000000000090910416151560a0820152905092915050565b60405161019c91905f60c082019050825182526020830151602083015273ffffffffffffffffffffffffffffffffffffffff604084015116604083015264ffffffffff606084015116606083015264ffffffffff608084015116608083015260a0830151151560a083015292915050565b6101b8610444366004612b6e565b61140a565b604080518082018252601f81527f746f776e732e737562736372697074696f6e2d6d6f64756c652e312e302e30006020820152905161019c9190612bd3565b6101d16203f48081565b6101d1603281565b6101b86104a8366004612915565b6114ff565b6104e66104bb366004612be5565b7fffffffff000000000000000000000000000000000000000000000000000000009695505050505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161019c565b6101d16201518081565b6101b861052f366004612915565b6115ed565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f46c0c1b40000000000000000000000000000000000000000000000000000000014806105c657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b688000000000ab143c06466001036105f657805c156105ee57805f526004601cfd5b30815d61060b565b3081540361060757805f526004601cfd5b3081555b507fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb86006106438161063e6020850185612915565b6116d6565b610670576106707f59530ce90000000000000000000000000000000000000000000000000000000061170d565b6106f1600182015f6106856020860186612915565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8460200160208101906106d29190612b6e565b63ffffffff1663ffffffff1681526020019081526020015f2083611715565b50688000000000ab143c064660010361070b575f815d5050565b805550565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610776576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61079f7ff52cf66b00000000000000000000000000000000000000000000000000000000611dbf565b6107c87fab3e34c100000000000000000000000000000000000000000000000000000000611dbf565b6107f17f28171ad000000000000000000000000000000000000000000000000000000000611dbf565b565b61081c7fabbbbc730000000000000000000000000000000000000000000000000000000061170d565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8602602052604090206060906105c690611f14565b61089d7fabbbbc730000000000000000000000000000000000000000000000000000000061170d565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff861630146108ea576108ea7f90467bf50000000000000000000000000000000000000000000000000000000061170d565b73ffffffffffffffffffffffffffffffffffffffff88165f9081527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb86016020908152604080832063ffffffff8b1684529091529020600201547e01000000000000000000000000000000000000000000000000000000000000900460ff1680610995576109957fe01d33200000000000000000000000000000000000000000000000000000000061170d565b505050505050505050565b688000000000ab143c06466001036109ca57805c156109c257805f526004601cfd5b30815d6109df565b308154036109db57805f526004601cfd5b3081555b505f80806109ef84860186612c63565b9250925092506109fe82611f25565b6040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101829052339073ffffffffffffffffffffffffffffffffffffffff841690636352211e90602401602060405180830381865afa158015610a69573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8d9190612c8e565b73ffffffffffffffffffffffffffffffffffffffff1614610ad157610ad17ff107dccb0000000000000000000000000000000000000000000000000000000061170d565b6040517f17c957090000000000000000000000000000000000000000000000000000000081526004810182905282905f9073ffffffffffffffffffffffffffffffffffffffff8316906317c9570990602401602060405180830381865afa158015610b3e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b629190612ca9565b90505f7fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8600335f908152600182016020908152604080832063ffffffff8b16845290915290206002810180547fff00ffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916177e01000000000000000000000000000000000000000000000000000000000000179055858155909150610c1d6201518084612ced565b6002808301805464ffffffffff93909316790100000000000000000000000000000000000000000000000000027fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff90931692909217909155335f90815290830160205260409020610c979063ffffffff808a1690611f6916565b5060028101546040805187815279010000000000000000000000000000000000000000000000000090920464ffffffffff16602083015273ffffffffffffffffffffffffffffffffffffffff88169163ffffffff8a169133917f08720d091868d49076b0e5ce78e90cebcfc6eee115bcd31ebe88c341793075bf910160405180910390a450505050505050610d2a600190565b15610d4f57688000000000ab143c0646600103610d49575f815d505050565b80555050565b5f688000000000ab143c065d5050565b5f6105c67fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb860083611f74565b688000000000ab143c0646600103610db457805c15610dac57805f526004601cfd5b30815d610dc9565b30815403610dc557805f526004601cfd5b3081555b50806032811115610dfd57610dfd7f2efeb7010000000000000000000000000000000000000000000000000000000061170d565b805f03610e2d57610e2d7f8ac7f0550000000000000000000000000000000000000000000000000000000061170d565b7fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb86005f5b8281101561129757610e8482868684818110610e6e57610e6e612d00565b61063e9260206040909202019081019150612915565b610eb157610eb17f59530ce90000000000000000000000000000000000000000000000000000000061170d565b5f826001015f878785818110610ec957610ec9612d00565b610edf9260206040909202019081019150612915565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f878785818110610f2b57610f2b612d00565b9050604002016020016020810190610f439190612b6e565b63ffffffff16815260208101919091526040015f2060028101549091507e01000000000000000000000000000000000000000000000000000000000000900460ff1661106457858583818110610f9b57610f9b612d00565b9050604002016020016020810190610fb39190612b6e565b63ffffffff16868684818110610fcb57610fcb612d00565b610fe19260206040909202019081019150612915565b73ffffffffffffffffffffffffffffffffffffffff167f5db17eb6b69c9f0cf51e3b1f2c90a067a24697d427ba54c65f211120d3da7c056040516110569060208082526008908201527f494e414354495645000000000000000000000000000000000000000000000000604082015260600190565b60405180910390a35061128f565b6002810154790100000000000000000000000000000000000000000000000000900464ffffffffff16421015611161578585838181106110a6576110a6612d00565b90506040020160200160208101906110be9190612b6e565b63ffffffff168686848181106110d6576110d6612d00565b6110ec9260206040909202019081019150612915565b73ffffffffffffffffffffffffffffffffffffffff167f5db17eb6b69c9f0cf51e3b1f2c90a067a24697d427ba54c65f211120d3da7c056040516110569060208082526007908201527f4e4f545f44554500000000000000000000000000000000000000000000000000604082015260600190565b6002810154611198906203f48090790100000000000000000000000000000000000000000000000000900464ffffffffff16612d2d565b42111561126c578585838181106111b1576111b1612d00565b90506040020160200160208101906111c99190612b6e565b63ffffffff168686848181106111e1576111e1612d00565b6111f79260206040909202019081019150612915565b73ffffffffffffffffffffffffffffffffffffffff167f5db17eb6b69c9f0cf51e3b1f2c90a067a24697d427ba54c65f211120d3da7c05604051611056906020808252600a908201527f504153545f475241434500000000000000000000000000000000000000000000604082015260600190565b61128d8187878581811061128257611282612d00565b905060400201611715565b505b600101610e50565b505050610d2a600190565b688000000000ab143c06466001036112cc57805c156112c457805f526004601cfd5b30815d6112e1565b308154036112dd57805f526004601cfd5b3081555b505f6112ef82840184612b6e565b335f9081527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8602602052604090209091507fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8600906113549063ffffffff8085169061204616565b611381576113817faacf701b0000000000000000000000000000000000000000000000000000000061170d565b335f81815260018084016020908152604080842063ffffffff88168086529252808420848155928301849055600290920180547fff0000000000000000000000000000000000000000000000000000000000000016905590519092917f48c4a5a219af3d077894cac7e6b26c5cdb83cf91d718428985a3f4a85e9ed45d91a35050610d2a600190565b335f9081527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb86016020908152604080832063ffffffff85168452909152902060028101547e01000000000000000000000000000000000000000000000000000000000000900460ff1661149f5761149f7fe01d33200000000000000000000000000000000000000000000000000000000061170d565b6002810180547fff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905560405163ffffffff83169033907fd01480b28a9baefd1cd771d8109d1abf2380614146253e17b61774b7b3fb77f1905f90a35050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314611576576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b61157f81611f25565b6115a97fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb860082612051565b5060405173ffffffffffffffffffffffffffffffffffffffff8216907f5b6a420b639feabfb011a07742a6ae14ef72f35d1a330ed65f42216c95bc6c2e905f90a250565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff16331461165f576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161156d565b61166881611f25565b6116927fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8600826121d5565b5060405173ffffffffffffffffffffffffffffffffffffffff8216907fa5f3b7626fd86ff989f1d22cf3d41d74591ea6eb99241079400b0c332a9a8f11905f90a250565b5f3373ffffffffffffffffffffffffffffffffffffffff8316036116fc575060016105c6565b6117068333611f74565b9392505050565b805f5260045ffd5b60028201547e01000000000000000000000000000000000000000000000000000000000000900460ff1661176c5761176c7fe01d33200000000000000000000000000000000000000000000000000000000061170d565b6002820154790100000000000000000000000000000000000000000000000000900464ffffffffff164210156117c5576117c57fd1cf008c0000000000000000000000000000000000000000000000000000000061170d565b60028201546117fc906203f48090790100000000000000000000000000000000000000000000000000900464ffffffffff16612d2d565b421115611896576002820180547fff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905561183d6040820160208301612b6e565b63ffffffff166118506020830183612915565b73ffffffffffffffffffffffffffffffffffffffff167fd01480b28a9baefd1cd771d8109d1abf2380614146253e17b61774b7b3fb77f160405160405180910390a35050565b600282015482546040517f5803909f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216915f918391635803909f916118f69160040190815260200190565b602060405180830381865afa158015611911573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119359190612ca9565b9050806119456020850185612915565b73ffffffffffffffffffffffffffffffffffffffff1631101561198b5761198b7fc357cf730000000000000000000000000000000000000000000000000000000061170d565b83546040515f916119a29160240190815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c9669ac00000000000000000000000000000000000000000000000000000000179052600287015490519192505f91611a4b9173ffffffffffffffffffffffffffffffffffffffff169085908590602401612d40565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb61d27f6000000000000000000000000000000000000000000000000000000001790529192505f91611b1c91611ada91908901908901612b6e565b600289015489546040805173ffffffffffffffffffffffffffffffffffffffff9093166020840152820152606001604051602081830303815290604052612349565b90505f8282604051602401611b32929190612d7d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff2680c0f00000000000000000000000000000000000000000000000000000000179052909150611bc390611bbc90890189612915565b5f83612375565b5087546040517f17c957090000000000000000000000000000000000000000000000000000000081525f9173ffffffffffffffffffffffffffffffffffffffff8916916317c9570991611c1c9160040190815260200190565b602060405180830381865afa158015611c37573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5b9190612ca9565b9050611c6a6201518082612ced565b60028a0180547fffff00000000000000000000ffffffffffffffffffffffffffffffffffffffff1679010000000000000000000000000000000000000000000000000064ffffffffff938416027fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff1617740100000000000000000000000000000000000000004293909316929092029190911790556001890180548791905f90611d15908490612d2d565b90915550611d2b90506040890160208a01612b6e565b63ffffffff16611d3e60208a018a612915565b60028b015460405179010000000000000000000000000000000000000000000000000090910464ffffffffff16815273ffffffffffffffffffffffffffffffffffffffff91909116907f9303e8c36264aec4db05a9f75307a7936b625c753189351a713ff8559cf0f4fd9060200160405180910390a3505050505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16611e93577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611ec5565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b60606105c6611f22836123c1565b90565b73ffffffffffffffffffffffffffffffffffffffff8116610710576107107fe6c4247b0000000000000000000000000000000000000000000000000000000061170d565b5f611706838361247a565b63978aab926004525f8281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b4047418301611fd25763f5a267f15f526004601cfd5b82611fe45768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811661202d5760019250838160601c031561203e57600182015460601c841461203e57600282015460601c841461203e575b5f925061203e565b81602052835f5260405f2054151592505b505092915050565b5f611706838361258c565b63978aab926004525f8281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b40474183016120af5763f5a267f15f526004601cfd5b826120c15768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff81168260205280612188578160601c806120f4578560601b845560019450506121cc565b85810361210157506121cc565b600184015460601c80612122578660601b60018601556001955050506121cc565b8681036121305750506121cc565b600285015460601c80612152578760601b6002870155600196505050506121cc565b878103612161575050506121cc565b5f928352604080842060019055918352818320600290558252902060039055506007908117905b845f5260405f2080546121ca57600191821c8083018255919450816121b6578560601b6003178455506121cc565b8560601b82850155826002018455506121cc565b505b50505092915050565b63978aab926004525f8281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b40474183016122335763f5a267f15f526004601cfd5b826122455768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff8116806122c45760019350848260601c036122825760018301805484556002840180549091555f90556121cc565b84600184015460601c036122a35760028301805460018501555f90556121cc565b84600284015460601c036122bc575f60028401556121cc565b5f93506121cc565b82602052845f5260405f208054806122dd5750506121cc565b60018360011c03925082600182031461230d578285015460601c8060601b60018303870155805f52508060405f20555b5083547fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016600192831b1782179093555f909255509392505050565b6060611706835f846040516020016123619190612db8565b60405160208183030381529060405261268a565b60405181515f9038906020850186885af1612392573d5f823e3d81fd5b3d6123aa57833b6123aa57635a836a5f5f526004601cfd5b3d8152602081013d5f823e3d016040529392505050565b6318fb58646004525f81815260249020801954604051919068fbb67fda52d4bfb8bf90602084018161243a57835480156124345780841415028152600184810154909250801561243457808414150260208201526002848101549092508015612434576003925083811415810260408301525b50612465565b8160011c91505f5b8281101561246357848101548481141502600582901b830152600101612442565b505b8185528160051b810160405250505050919050565b6318fb58646004525f8281526024812068fbb67fda52d4bfb8bf83036124a75763f5a267f15f526004601cfd5b826124b95768fbb67fda52d4bfb8bf92505b801954816020528061255d578154806124d957848355600193505061203e565b8481036124e6575061203e565b6001830154806125015785600185015560019450505061203e565b85810361250f57505061203e565b60028401548061252b578660028601556001955050505061203e565b86810361253a5750505061203e565b5f9283526040808420600190559183528183206002905582529020600390555060075b835f5260405f2080546121cc57600191821c8381018690558083019182905590821b821783195590925061203e565b6318fb58646004525f8281526024812068fbb67fda52d4bfb8bf83036125b95763f5a267f15f526004601cfd5b826125cb5768fbb67fda52d4bfb8bf92505b8019548061262c5760019250838254036125f85760018201805483556002830180549091555f905561203e565b836001830154036126165760028201805460018401555f905561203e565b83600283015403612025575f600283015561203e565b81602052835f5260405f2080548061264557505061203e565b60018360011c03925082600182031461266f57828401548060018303860155805f52508060405f20555b5060018260011b178319555f81555060019250505092915050565b60605f8315612697576001175b6040517fff0000000000000000000000000000000000000000000000000000000000000060f883901b1660208201527fffffffff0000000000000000000000000000000000000000000000000000000060e087901b166021820152602501604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052612732918590602001612de9565b6040516020818303038152906040529150509392505050565b5f6020828403121561275b575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611706575f5ffd5b5f604082840312801561279b575f5ffd5b509092915050565b803563ffffffff811681146127b6575f5ffd5b919050565b5f5f5f606084860312156127cd575f5ffd5b6127d6846127a3565b9250602084013567ffffffffffffffff8111156127f1575f5ffd5b84016101208187031215612803575f5ffd5b929592945050506040919091013590565b73ffffffffffffffffffffffffffffffffffffffff81168114610710575f5ffd5b5f5f83601f840112612845575f5ffd5b50813567ffffffffffffffff81111561285c575f5ffd5b602083019150836020828501011115612873575f5ffd5b9250929050565b5f5f5f5f5f5f5f60a0888a031215612890575f5ffd5b612899886127a3565b965060208801356128a981612814565b955060408801359450606088013567ffffffffffffffff8111156128cb575f5ffd5b6128d78a828b01612835565b909550935050608088013567ffffffffffffffff8111156128f6575f5ffd5b6129028a828b01612835565b989b979a50959850939692959293505050565b5f60208284031215612925575f5ffd5b813561170681612814565b602080825282518282018190525f918401906040840190835b81811015612967578351835260209384019390920191600101612949565b509095945050505050565b5f5f5f5f5f60808688031215612986575f5ffd5b61298f866127a3565b9450602086013561299f81612814565b935060408601359250606086013567ffffffffffffffff8111156129c1575f5ffd5b6129cd88828901612835565b969995985093965092949392505050565b5f5f5f5f5f5f5f5f60c0898b0312156129f5575f5ffd5b8835612a0081612814565b9750612a0e60208a016127a3565b96506040890135612a1e81612814565b955060608901359450608089013567ffffffffffffffff811115612a40575f5ffd5b612a4c8b828c01612835565b90955093505060a089013567ffffffffffffffff811115612a6b575f5ffd5b612a778b828c01612835565b999c989b5096995094979396929594505050565b5f5f60208385031215612a9c575f5ffd5b823567ffffffffffffffff811115612ab2575f5ffd5b612abe85828601612835565b90969095509350505050565b5f5f60208385031215612adb575f5ffd5b823567ffffffffffffffff811115612af1575f5ffd5b8301601f81018513612b01575f5ffd5b803567ffffffffffffffff811115612b17575f5ffd5b8560208260061b8401011115612b2b575f5ffd5b6020919091019590945092505050565b5f5f60408385031215612b4c575f5ffd5b8235612b5781612814565b9150612b65602084016127a3565b90509250929050565b5f60208284031215612b7e575f5ffd5b611706826127a3565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6117066020830184612b87565b5f5f5f5f5f5f60a08789031215612bfa575f5ffd5b8635612c0581612814565b9550612c13602088016127a3565b94506040870135612c2381612814565b935060608701359250608087013567ffffffffffffffff811115612c45575f5ffd5b612c5189828a01612835565b979a9699509497509295939492505050565b5f5f5f60608486031215612c75575f5ffd5b612c7e846127a3565b9250602084013561280381612814565b5f60208284031215612c9e575f5ffd5b815161170681612814565b5f60208284031215612cb9575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103818111156105c6576105c6612cc0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b808201808211156105c6576105c6612cc0565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201525f612d746060830184612b87565b95945050505050565b604081525f612d8f6040830185612b87565b8281036020840152612d748185612b87565b5f81518060208401855e5f93019283525090919050565b7fff0000000000000000000000000000000000000000000000000000000000000081525f6117066001830184612da1565b5f612dfd612df78386612da1565b84612da1565b94935050505056";
950
+
951
+ type SubscriptionModuleFacetConstructorParams =
952
+ | [signer?: Signer]
953
+ | ConstructorParameters<typeof ContractFactory>;
954
+
955
+ const isSuperArgs = (
956
+ xs: SubscriptionModuleFacetConstructorParams
957
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
958
+
959
+ export class SubscriptionModuleFacet__factory extends ContractFactory {
960
+ constructor(...args: SubscriptionModuleFacetConstructorParams) {
961
+ if (isSuperArgs(args)) {
962
+ super(...args);
963
+ } else {
964
+ super(_abi, _bytecode, args[0]);
965
+ }
966
+ }
967
+
968
+ override deploy(
969
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
970
+ ): Promise<SubscriptionModuleFacet> {
971
+ return super.deploy(overrides || {}) as Promise<SubscriptionModuleFacet>;
972
+ }
973
+ override getDeployTransaction(
974
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
975
+ ): TransactionRequest {
976
+ return super.getDeployTransaction(overrides || {});
977
+ }
978
+ override attach(address: string): SubscriptionModuleFacet {
979
+ return super.attach(address) as SubscriptionModuleFacet;
980
+ }
981
+ override connect(signer: Signer): SubscriptionModuleFacet__factory {
982
+ return super.connect(signer) as SubscriptionModuleFacet__factory;
983
+ }
984
+
985
+ static readonly bytecode = _bytecode;
986
+ static readonly abi = _abi;
987
+ static createInterface(): SubscriptionModuleFacetInterface {
988
+ return new utils.Interface(_abi) as SubscriptionModuleFacetInterface;
989
+ }
990
+ static connect(
991
+ address: string,
992
+ signerOrProvider: Signer | Provider
993
+ ): SubscriptionModuleFacet {
994
+ return new Contract(
995
+ address,
996
+ _abi,
997
+ signerOrProvider
998
+ ) as SubscriptionModuleFacet;
999
+ }
1000
+ }