@super-protocol/sdk-js 3.12.0-beta.1 → 3.12.0-beta.10

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.
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.abi = exports.ContentUpdated = exports.ContentAdded = void 0;
3
+ exports.abi = exports.ScoreUpdated = exports.RoleRevoked = exports.RoleGranted = exports.RoleAdminChanged = exports.ContentUpdated = exports.ContentAdded = exports.CompetitionToggled = void 0;
4
+ exports.CompetitionToggled = 'CompetitionToggled';
4
5
  exports.ContentAdded = 'ContentAdded';
5
6
  exports.ContentUpdated = 'ContentUpdated';
7
+ exports.RoleAdminChanged = 'RoleAdminChanged';
8
+ exports.RoleGranted = 'RoleGranted';
9
+ exports.RoleRevoked = 'RoleRevoked';
10
+ exports.ScoreUpdated = 'ScoreUpdated';
6
11
  exports.abi = [
7
12
  {
8
13
  inputs: [
@@ -16,15 +21,43 @@ exports.abi = [
16
21
  name: '_notValidAfter',
17
22
  type: 'uint32',
18
23
  },
24
+ {
25
+ internalType: 'uint32',
26
+ name: '_claimDateAfter',
27
+ type: 'uint32',
28
+ },
19
29
  {
20
30
  internalType: 'address',
21
31
  name: '_rewarder',
22
32
  type: 'address',
23
33
  },
34
+ {
35
+ internalType: 'address',
36
+ name: '_usdt',
37
+ type: 'address',
38
+ },
39
+ {
40
+ internalType: 'uint8',
41
+ name: '_maxDayAttempts',
42
+ type: 'uint8',
43
+ },
24
44
  ],
25
45
  stateMutability: 'nonpayable',
26
46
  type: 'constructor',
27
47
  },
48
+ {
49
+ anonymous: false,
50
+ inputs: [
51
+ {
52
+ indexed: false,
53
+ internalType: 'bool',
54
+ name: 'active',
55
+ type: 'bool',
56
+ },
57
+ ],
58
+ name: 'CompetitionToggled',
59
+ type: 'event',
60
+ },
28
61
  {
29
62
  anonymous: false,
30
63
  inputs: [
@@ -72,72 +105,562 @@ exports.abi = [
72
105
  type: 'uint8',
73
106
  },
74
107
  ],
75
- name: 'ContentUpdated',
76
- type: 'event',
108
+ name: 'ContentUpdated',
109
+ type: 'event',
110
+ },
111
+ {
112
+ anonymous: false,
113
+ inputs: [
114
+ {
115
+ indexed: true,
116
+ internalType: 'bytes32',
117
+ name: 'role',
118
+ type: 'bytes32',
119
+ },
120
+ {
121
+ indexed: true,
122
+ internalType: 'bytes32',
123
+ name: 'previousAdminRole',
124
+ type: 'bytes32',
125
+ },
126
+ {
127
+ indexed: true,
128
+ internalType: 'bytes32',
129
+ name: 'newAdminRole',
130
+ type: 'bytes32',
131
+ },
132
+ ],
133
+ name: 'RoleAdminChanged',
134
+ type: 'event',
135
+ },
136
+ {
137
+ anonymous: false,
138
+ inputs: [
139
+ {
140
+ indexed: true,
141
+ internalType: 'bytes32',
142
+ name: 'role',
143
+ type: 'bytes32',
144
+ },
145
+ {
146
+ indexed: true,
147
+ internalType: 'address',
148
+ name: 'account',
149
+ type: 'address',
150
+ },
151
+ {
152
+ indexed: true,
153
+ internalType: 'address',
154
+ name: 'sender',
155
+ type: 'address',
156
+ },
157
+ ],
158
+ name: 'RoleGranted',
159
+ type: 'event',
160
+ },
161
+ {
162
+ anonymous: false,
163
+ inputs: [
164
+ {
165
+ indexed: true,
166
+ internalType: 'bytes32',
167
+ name: 'role',
168
+ type: 'bytes32',
169
+ },
170
+ {
171
+ indexed: true,
172
+ internalType: 'address',
173
+ name: 'account',
174
+ type: 'address',
175
+ },
176
+ {
177
+ indexed: true,
178
+ internalType: 'address',
179
+ name: 'sender',
180
+ type: 'address',
181
+ },
182
+ ],
183
+ name: 'RoleRevoked',
184
+ type: 'event',
185
+ },
186
+ {
187
+ anonymous: false,
188
+ inputs: [
189
+ {
190
+ indexed: true,
191
+ internalType: 'address',
192
+ name: 'participant',
193
+ type: 'address',
194
+ },
195
+ {
196
+ indexed: false,
197
+ internalType: 'int256',
198
+ name: 'oldScore',
199
+ type: 'int256',
200
+ },
201
+ {
202
+ indexed: false,
203
+ internalType: 'int256',
204
+ name: 'newScore',
205
+ type: 'int256',
206
+ },
207
+ ],
208
+ name: 'ScoreUpdated',
209
+ type: 'event',
210
+ },
211
+ {
212
+ inputs: [],
213
+ name: 'DEFAULT_ADMIN_ROLE',
214
+ outputs: [
215
+ {
216
+ internalType: 'bytes32',
217
+ name: '',
218
+ type: 'bytes32',
219
+ },
220
+ ],
221
+ stateMutability: 'view',
222
+ type: 'function',
223
+ },
224
+ {
225
+ inputs: [
226
+ {
227
+ internalType: 'string',
228
+ name: 'link',
229
+ type: 'string',
230
+ },
231
+ {
232
+ internalType: 'address',
233
+ name: 'referrer',
234
+ type: 'address',
235
+ },
236
+ ],
237
+ name: 'addContent',
238
+ outputs: [],
239
+ stateMutability: 'nonpayable',
240
+ type: 'function',
241
+ },
242
+ {
243
+ inputs: [],
244
+ name: 'claimDateAfter',
245
+ outputs: [
246
+ {
247
+ internalType: 'uint32',
248
+ name: '',
249
+ type: 'uint32',
250
+ },
251
+ ],
252
+ stateMutability: 'view',
253
+ type: 'function',
254
+ },
255
+ {
256
+ inputs: [],
257
+ name: 'claimReward',
258
+ outputs: [],
259
+ stateMutability: 'nonpayable',
260
+ type: 'function',
261
+ },
262
+ {
263
+ inputs: [],
264
+ name: 'competitionActive',
265
+ outputs: [
266
+ {
267
+ internalType: 'bool',
268
+ name: '',
269
+ type: 'bool',
270
+ },
271
+ ],
272
+ stateMutability: 'view',
273
+ type: 'function',
274
+ },
275
+ {
276
+ inputs: [],
277
+ name: 'getContentCount',
278
+ outputs: [
279
+ {
280
+ internalType: 'uint256',
281
+ name: '',
282
+ type: 'uint256',
283
+ },
284
+ ],
285
+ stateMutability: 'view',
286
+ type: 'function',
287
+ },
288
+ {
289
+ inputs: [
290
+ {
291
+ internalType: 'uint256',
292
+ name: 'from',
293
+ type: 'uint256',
294
+ },
295
+ {
296
+ internalType: 'uint256',
297
+ name: 'to',
298
+ type: 'uint256',
299
+ },
300
+ {
301
+ internalType: 'enum Campaign.Status',
302
+ name: 'status',
303
+ type: 'uint8',
304
+ },
305
+ ],
306
+ name: 'getContentRange',
307
+ outputs: [
308
+ {
309
+ components: [
310
+ {
311
+ components: [
312
+ {
313
+ internalType: 'enum Campaign.Status',
314
+ name: 'status',
315
+ type: 'uint8',
316
+ },
317
+ {
318
+ internalType: 'address',
319
+ name: 'participant',
320
+ type: 'address',
321
+ },
322
+ {
323
+ internalType: 'string',
324
+ name: 'link',
325
+ type: 'string',
326
+ },
327
+ {
328
+ internalType: 'bytes32',
329
+ name: 'contentHash',
330
+ type: 'bytes32',
331
+ },
332
+ ],
333
+ internalType: 'struct Campaign.Content',
334
+ name: 'content',
335
+ type: 'tuple',
336
+ },
337
+ {
338
+ internalType: 'uint256',
339
+ name: 'index',
340
+ type: 'uint256',
341
+ },
342
+ ],
343
+ internalType: 'struct Campaign.ContentWithIndex[]',
344
+ name: 'result',
345
+ type: 'tuple[]',
346
+ },
347
+ ],
348
+ stateMutability: 'view',
349
+ type: 'function',
350
+ },
351
+ {
352
+ inputs: [],
353
+ name: 'getLinksStat',
354
+ outputs: [
355
+ {
356
+ components: [
357
+ {
358
+ internalType: 'uint256',
359
+ name: 'totalAddedLinks',
360
+ type: 'uint256',
361
+ },
362
+ {
363
+ internalType: 'uint256',
364
+ name: 'totalDuplicatedLinks',
365
+ type: 'uint256',
366
+ },
367
+ {
368
+ internalType: 'uint256',
369
+ name: 'totalValidatedLinks',
370
+ type: 'uint256',
371
+ },
372
+ {
373
+ internalType: 'uint256',
374
+ name: 'totalInvalidLinks',
375
+ type: 'uint256',
376
+ },
377
+ ],
378
+ internalType: 'struct Campaign.LinksStat',
379
+ name: 'output',
380
+ type: 'tuple',
381
+ },
382
+ ],
383
+ stateMutability: 'view',
384
+ type: 'function',
385
+ },
386
+ {
387
+ inputs: [
388
+ {
389
+ internalType: 'uint256',
390
+ name: 'rank',
391
+ type: 'uint256',
392
+ },
393
+ ],
394
+ name: 'getParticipantByRank',
395
+ outputs: [
396
+ {
397
+ components: [
398
+ {
399
+ internalType: 'address',
400
+ name: 'participant',
401
+ type: 'address',
402
+ },
403
+ {
404
+ internalType: 'int256',
405
+ name: 'score',
406
+ type: 'int256',
407
+ },
408
+ ],
409
+ internalType: 'struct AVLTreeLib.ParticipantScore',
410
+ name: '',
411
+ type: 'tuple',
412
+ },
413
+ ],
414
+ stateMutability: 'view',
415
+ type: 'function',
416
+ },
417
+ {
418
+ inputs: [
419
+ {
420
+ internalType: 'address',
421
+ name: 'participant',
422
+ type: 'address',
423
+ },
424
+ ],
425
+ name: 'getParticipantInfo',
426
+ outputs: [
427
+ {
428
+ components: [
429
+ {
430
+ components: [
431
+ {
432
+ internalType: 'uint32',
433
+ name: 'nextAttemptTs',
434
+ type: 'uint32',
435
+ },
436
+ {
437
+ internalType: 'uint8',
438
+ name: 'totalDayAttempts',
439
+ type: 'uint8',
440
+ },
441
+ {
442
+ internalType: 'bool',
443
+ name: 'isClaimed',
444
+ type: 'bool',
445
+ },
446
+ {
447
+ internalType: 'address',
448
+ name: 'referrer',
449
+ type: 'address',
450
+ },
451
+ {
452
+ internalType: 'uint256',
453
+ name: 'referralsCount',
454
+ type: 'uint256',
455
+ },
456
+ {
457
+ internalType: 'uint256',
458
+ name: 'totalAddedLinks',
459
+ type: 'uint256',
460
+ },
461
+ {
462
+ internalType: 'uint256',
463
+ name: 'totalDuplicatedLinks',
464
+ type: 'uint256',
465
+ },
466
+ {
467
+ internalType: 'uint256',
468
+ name: 'totalValidatedLinks',
469
+ type: 'uint256',
470
+ },
471
+ {
472
+ internalType: 'uint256',
473
+ name: 'totalInvalidLinks',
474
+ type: 'uint256',
475
+ },
476
+ ],
477
+ internalType: 'struct Campaign.ParticipantInfo',
478
+ name: 'storedInfo',
479
+ type: 'tuple',
480
+ },
481
+ {
482
+ components: [
483
+ {
484
+ internalType: 'address',
485
+ name: 'participant',
486
+ type: 'address',
487
+ },
488
+ {
489
+ internalType: 'uint256',
490
+ name: 'rank',
491
+ type: 'uint256',
492
+ },
493
+ {
494
+ internalType: 'int256',
495
+ name: 'score',
496
+ type: 'int256',
497
+ },
498
+ {
499
+ internalType: 'uint256',
500
+ name: 'reward',
501
+ type: 'uint256',
502
+ },
503
+ {
504
+ internalType: 'uint256',
505
+ name: 'points',
506
+ type: 'uint256',
507
+ },
508
+ ],
509
+ internalType: 'struct Campaign.ParticipantInfoViewed',
510
+ name: 'viewedInfo',
511
+ type: 'tuple',
512
+ },
513
+ ],
514
+ internalType: 'struct Campaign.TotalParticipantInfo',
515
+ name: 'data',
516
+ type: 'tuple',
517
+ },
518
+ ],
519
+ stateMutability: 'view',
520
+ type: 'function',
521
+ },
522
+ {
523
+ inputs: [
524
+ {
525
+ internalType: 'address',
526
+ name: 'participant',
527
+ type: 'address',
528
+ },
529
+ ],
530
+ name: 'getParticipantRank',
531
+ outputs: [
532
+ {
533
+ internalType: 'uint256',
534
+ name: 'rank',
535
+ type: 'uint256',
536
+ },
537
+ ],
538
+ stateMutability: 'view',
539
+ type: 'function',
540
+ },
541
+ {
542
+ inputs: [
543
+ {
544
+ internalType: 'address',
545
+ name: 'participant',
546
+ type: 'address',
547
+ },
548
+ ],
549
+ name: 'getParticipantRewardAndPoints',
550
+ outputs: [
551
+ {
552
+ internalType: 'uint256',
553
+ name: 'reward',
554
+ type: 'uint256',
555
+ },
556
+ {
557
+ internalType: 'uint256',
558
+ name: 'points',
559
+ type: 'uint256',
560
+ },
561
+ ],
562
+ stateMutability: 'view',
563
+ type: 'function',
564
+ },
565
+ {
566
+ inputs: [
567
+ {
568
+ internalType: 'address',
569
+ name: 'participant',
570
+ type: 'address',
571
+ },
572
+ ],
573
+ name: 'getParticipantScore',
574
+ outputs: [
575
+ {
576
+ internalType: 'int256',
577
+ name: 'score',
578
+ type: 'int256',
579
+ },
580
+ ],
581
+ stateMutability: 'view',
582
+ type: 'function',
583
+ },
584
+ {
585
+ inputs: [
586
+ {
587
+ internalType: 'uint256',
588
+ name: 'centerRank',
589
+ type: 'uint256',
590
+ },
591
+ {
592
+ internalType: 'uint256',
593
+ name: 'range',
594
+ type: 'uint256',
595
+ },
596
+ ],
597
+ name: 'getParticipantsAroundRank',
598
+ outputs: [
599
+ {
600
+ components: [
601
+ {
602
+ internalType: 'address',
603
+ name: 'participant',
604
+ type: 'address',
605
+ },
606
+ {
607
+ internalType: 'int256',
608
+ name: 'score',
609
+ type: 'int256',
610
+ },
611
+ ],
612
+ internalType: 'struct AVLTreeLib.ParticipantScore[]',
613
+ name: 'participants',
614
+ type: 'tuple[]',
615
+ },
616
+ ],
617
+ stateMutability: 'view',
618
+ type: 'function',
77
619
  },
78
620
  {
79
621
  inputs: [
80
622
  {
81
- internalType: 'string',
82
- name: 'link',
83
- type: 'string',
623
+ internalType: 'bytes32',
624
+ name: 'role',
625
+ type: 'bytes32',
84
626
  },
627
+ ],
628
+ name: 'getRoleAdmin',
629
+ outputs: [
85
630
  {
86
- internalType: 'address',
87
- name: 'referrer',
88
- type: 'address',
631
+ internalType: 'bytes32',
632
+ name: '',
633
+ type: 'bytes32',
89
634
  },
90
635
  ],
91
- name: 'addContent',
92
- outputs: [],
93
- stateMutability: 'nonpayable',
636
+ stateMutability: 'view',
94
637
  type: 'function',
95
638
  },
96
639
  {
97
640
  inputs: [
98
641
  {
99
642
  internalType: 'uint256',
100
- name: 'from',
101
- type: 'uint256',
102
- },
103
- {
104
- internalType: 'uint256',
105
- name: 'to',
643
+ name: 'count',
106
644
  type: 'uint256',
107
645
  },
108
- {
109
- internalType: 'enum Campaign.Status',
110
- name: 'status',
111
- type: 'uint8',
112
- },
113
646
  ],
114
- name: 'getContentRange',
647
+ name: 'getTopParticipants',
115
648
  outputs: [
116
649
  {
117
650
  components: [
118
- {
119
- internalType: 'enum Campaign.Status',
120
- name: 'status',
121
- type: 'uint8',
122
- },
123
651
  {
124
652
  internalType: 'address',
125
653
  name: 'participant',
126
654
  type: 'address',
127
655
  },
128
656
  {
129
- internalType: 'string',
130
- name: 'link',
131
- type: 'string',
132
- },
133
- {
134
- internalType: 'bytes32',
135
- name: 'contentHash',
136
- type: 'bytes32',
657
+ internalType: 'int256',
658
+ name: 'score',
659
+ type: 'int256',
137
660
  },
138
661
  ],
139
- internalType: 'struct Campaign.Content[]',
140
- name: 'result',
662
+ internalType: 'struct AVLTreeLib.ParticipantScore[]',
663
+ name: 'participants',
141
664
  type: 'tuple[]',
142
665
  },
143
666
  ],
@@ -147,41 +670,103 @@ exports.abi = [
147
670
  {
148
671
  inputs: [
149
672
  {
150
- internalType: 'address',
151
- name: 'participant',
152
- type: 'address',
673
+ internalType: 'uint256',
674
+ name: 'count',
675
+ type: 'uint256',
153
676
  },
154
677
  ],
155
- name: 'getParticipantData',
678
+ name: 'getTopParticipantsInfo',
156
679
  outputs: [
157
680
  {
158
681
  components: [
159
682
  {
160
683
  components: [
161
684
  {
162
- internalType: 'int256',
163
- name: 'points',
164
- type: 'int256',
685
+ internalType: 'uint32',
686
+ name: 'nextAttemptTs',
687
+ type: 'uint32',
688
+ },
689
+ {
690
+ internalType: 'uint8',
691
+ name: 'totalDayAttempts',
692
+ type: 'uint8',
693
+ },
694
+ {
695
+ internalType: 'bool',
696
+ name: 'isClaimed',
697
+ type: 'bool',
698
+ },
699
+ {
700
+ internalType: 'address',
701
+ name: 'referrer',
702
+ type: 'address',
703
+ },
704
+ {
705
+ internalType: 'uint256',
706
+ name: 'referralsCount',
707
+ type: 'uint256',
708
+ },
709
+ {
710
+ internalType: 'uint256',
711
+ name: 'totalAddedLinks',
712
+ type: 'uint256',
713
+ },
714
+ {
715
+ internalType: 'uint256',
716
+ name: 'totalDuplicatedLinks',
717
+ type: 'uint256',
718
+ },
719
+ {
720
+ internalType: 'uint256',
721
+ name: 'totalValidatedLinks',
722
+ type: 'uint256',
165
723
  },
166
724
  {
167
725
  internalType: 'uint256',
168
- name: 'index',
726
+ name: 'totalInvalidLinks',
169
727
  type: 'uint256',
170
728
  },
171
729
  ],
172
- internalType: 'struct Campaign.PointsData',
173
- name: 'pointsData',
730
+ internalType: 'struct Campaign.ParticipantInfo',
731
+ name: 'storedInfo',
174
732
  type: 'tuple',
175
733
  },
176
734
  {
177
- internalType: 'address',
178
- name: 'referrer',
179
- type: 'address',
735
+ components: [
736
+ {
737
+ internalType: 'address',
738
+ name: 'participant',
739
+ type: 'address',
740
+ },
741
+ {
742
+ internalType: 'uint256',
743
+ name: 'rank',
744
+ type: 'uint256',
745
+ },
746
+ {
747
+ internalType: 'int256',
748
+ name: 'score',
749
+ type: 'int256',
750
+ },
751
+ {
752
+ internalType: 'uint256',
753
+ name: 'reward',
754
+ type: 'uint256',
755
+ },
756
+ {
757
+ internalType: 'uint256',
758
+ name: 'points',
759
+ type: 'uint256',
760
+ },
761
+ ],
762
+ internalType: 'struct Campaign.ParticipantInfoViewed',
763
+ name: 'viewedInfo',
764
+ type: 'tuple',
180
765
  },
181
766
  ],
182
- internalType: 'struct Campaign.ParticipantData',
183
- name: '',
184
- type: 'tuple',
767
+ internalType: 'struct Campaign.TotalParticipantInfo[]',
768
+ name: 'datas',
769
+ type: 'tuple[]',
185
770
  },
186
771
  ],
187
772
  stateMutability: 'view',
@@ -189,39 +774,54 @@ exports.abi = [
189
774
  },
190
775
  {
191
776
  inputs: [],
192
- name: 'getStat',
777
+ name: 'getTotalParticipants',
193
778
  outputs: [
194
779
  {
195
- components: [
196
- {
197
- internalType: 'uint256',
198
- name: 'totalParticipants',
199
- type: 'uint256',
200
- },
201
- {
202
- internalType: 'int256',
203
- name: 'maxPoint',
204
- type: 'int256',
205
- },
206
- {
207
- internalType: 'int256',
208
- name: 'minPoint',
209
- type: 'int256',
210
- },
211
- {
212
- internalType: 'uint256',
213
- name: 'totalValidatedLink',
214
- type: 'uint256',
215
- },
216
- {
217
- internalType: 'uint256',
218
- name: 'totalNotValidatedLinks',
219
- type: 'uint256',
220
- },
221
- ],
222
- internalType: 'struct Campaign.Stat',
780
+ internalType: 'uint256',
781
+ name: 'count',
782
+ type: 'uint256',
783
+ },
784
+ ],
785
+ stateMutability: 'view',
786
+ type: 'function',
787
+ },
788
+ {
789
+ inputs: [
790
+ {
791
+ internalType: 'bytes32',
792
+ name: 'role',
793
+ type: 'bytes32',
794
+ },
795
+ {
796
+ internalType: 'address',
797
+ name: 'account',
798
+ type: 'address',
799
+ },
800
+ ],
801
+ name: 'grantRole',
802
+ outputs: [],
803
+ stateMutability: 'nonpayable',
804
+ type: 'function',
805
+ },
806
+ {
807
+ inputs: [
808
+ {
809
+ internalType: 'bytes32',
810
+ name: 'role',
811
+ type: 'bytes32',
812
+ },
813
+ {
814
+ internalType: 'address',
815
+ name: 'account',
816
+ type: 'address',
817
+ },
818
+ ],
819
+ name: 'hasRole',
820
+ outputs: [
821
+ {
822
+ internalType: 'bool',
223
823
  name: '',
224
- type: 'tuple',
824
+ type: 'bool',
225
825
  },
226
826
  ],
227
827
  stateMutability: 'view',
@@ -230,17 +830,35 @@ exports.abi = [
230
830
  {
231
831
  inputs: [
232
832
  {
233
- internalType: 'int256',
234
- name: 'pointCount',
235
- type: 'int256',
833
+ internalType: 'string',
834
+ name: 'link',
835
+ type: 'string',
836
+ },
837
+ ],
838
+ name: 'isLinkUnique',
839
+ outputs: [
840
+ {
841
+ internalType: 'string',
842
+ name: 'clearedLink',
843
+ type: 'string',
844
+ },
845
+ {
846
+ internalType: 'bool',
847
+ name: 'isUnique',
848
+ type: 'bool',
236
849
  },
237
850
  ],
238
- name: 'getStatsByPoints',
851
+ stateMutability: 'view',
852
+ type: 'function',
853
+ },
854
+ {
855
+ inputs: [],
856
+ name: 'maxDayAttempts',
239
857
  outputs: [
240
858
  {
241
- internalType: 'address[]',
859
+ internalType: 'uint8',
242
860
  name: '',
243
- type: 'address[]',
861
+ type: 'uint8',
244
862
  },
245
863
  ],
246
864
  stateMutability: 'view',
@@ -274,38 +892,51 @@ exports.abi = [
274
892
  },
275
893
  {
276
894
  inputs: [
895
+ {
896
+ internalType: 'bytes32',
897
+ name: 'role',
898
+ type: 'bytes32',
899
+ },
277
900
  {
278
901
  internalType: 'address',
279
- name: '',
902
+ name: 'account',
280
903
  type: 'address',
281
904
  },
282
905
  ],
283
- name: 'participantData',
284
- outputs: [
906
+ name: 'renounceRole',
907
+ outputs: [],
908
+ stateMutability: 'nonpayable',
909
+ type: 'function',
910
+ },
911
+ {
912
+ inputs: [
285
913
  {
286
- components: [
287
- {
288
- internalType: 'int256',
289
- name: 'points',
290
- type: 'int256',
291
- },
292
- {
293
- internalType: 'uint256',
294
- name: 'index',
295
- type: 'uint256',
296
- },
297
- ],
298
- internalType: 'struct Campaign.PointsData',
299
- name: 'pointsData',
300
- type: 'tuple',
914
+ internalType: 'bytes32',
915
+ name: 'role',
916
+ type: 'bytes32',
301
917
  },
302
918
  {
303
919
  internalType: 'address',
304
- name: 'referrer',
920
+ name: 'account',
305
921
  type: 'address',
306
922
  },
307
923
  ],
308
- stateMutability: 'view',
924
+ name: 'revokeRole',
925
+ outputs: [],
926
+ stateMutability: 'nonpayable',
927
+ type: 'function',
928
+ },
929
+ {
930
+ inputs: [
931
+ {
932
+ internalType: 'address',
933
+ name: 'participant',
934
+ type: 'address',
935
+ },
936
+ ],
937
+ name: 'revokeUser',
938
+ outputs: [],
939
+ stateMutability: 'nonpayable',
309
940
  type: 'function',
310
941
  },
311
942
  {
@@ -322,10 +953,22 @@ exports.abi = [
322
953
  type: 'function',
323
954
  },
324
955
  {
325
- inputs: [],
326
- name: 'sendRewards',
327
- outputs: [],
328
- stateMutability: 'nonpayable',
956
+ inputs: [
957
+ {
958
+ internalType: 'bytes4',
959
+ name: 'interfaceId',
960
+ type: 'bytes4',
961
+ },
962
+ ],
963
+ name: 'supportsInterface',
964
+ outputs: [
965
+ {
966
+ internalType: 'bool',
967
+ name: '',
968
+ type: 'bool',
969
+ },
970
+ ],
971
+ stateMutability: 'view',
329
972
  type: 'function',
330
973
  },
331
974
  {
@@ -351,6 +994,19 @@ exports.abi = [
351
994
  stateMutability: 'nonpayable',
352
995
  type: 'function',
353
996
  },
997
+ {
998
+ inputs: [],
999
+ name: 'usdt',
1000
+ outputs: [
1001
+ {
1002
+ internalType: 'address',
1003
+ name: '',
1004
+ type: 'address',
1005
+ },
1006
+ ],
1007
+ stateMutability: 'view',
1008
+ type: 'function',
1009
+ },
354
1010
  ];
355
1011
  exports.default = exports.abi;
356
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FtcGFpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RzL0NhbXBhaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsWUFBWSxHQUFHLGNBQXVCLENBQUM7QUFDdkMsUUFBQSxjQUFjLEdBQUcsZ0JBQXlCLENBQUM7QUFFM0MsUUFBQSxHQUFHLEdBQUc7SUFDakI7UUFDRSxNQUFNLEVBQUU7WUFDTjtnQkFDRSxZQUFZLEVBQUUsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsSUFBSSxFQUFFLFFBQVE7YUFDZjtZQUNEO2dCQUNFLFlBQVksRUFBRSxRQUFRO2dCQUN0QixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxXQUFXO2dCQUNqQixJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGO1FBQ0QsZUFBZSxFQUFFLFlBQVk7UUFDN0IsSUFBSSxFQUFFLGFBQWE7S0FDcEI7SUFDRDtRQUNFLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBRTtZQUNOO2dCQUNFLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsSUFBSTtnQkFDYixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxPQUFPO2dCQUNiLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLElB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
1012
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FtcGFpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RzL0NhbXBhaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsa0JBQWtCLEdBQUcsb0JBQTZCLENBQUM7QUFDbkQsUUFBQSxZQUFZLEdBQUcsY0FBdUIsQ0FBQztBQUN2QyxRQUFBLGNBQWMsR0FBRyxnQkFBeUIsQ0FBQztBQUMzQyxRQUFBLGdCQUFnQixHQUFHLGtCQUEyQixDQUFDO0FBQy9DLFFBQUEsV0FBVyxHQUFHLGFBQXNCLENBQUM7QUFDckMsUUFBQSxXQUFXLEdBQUcsYUFBc0IsQ0FBQztBQUNyQyxRQUFBLFlBQVksR0FBRyxjQUF1QixDQUFDO0FBU3ZDLFFBQUEsR0FBRyxHQUFHO0lBQ2pCO1FBQ0UsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLElBQUksRUFBRSxRQUFRO2FBQ2Y7WUFDRDtnQkFDRSxZQUFZLEVBQUUsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsSUFBSSxFQUFFLFFBQVE7YUFDZjtZQUNEO2dCQUNFLFlBQVksRUFBRSxRQUFRO2dCQUN0QixJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxXQUFXO2dCQUNqQixJQUFJLEVBQUUsU0FBUzthQUNoQjtZQUNEO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsT0FBTztnQkFDYixJQUFJLEVBQUUsU0FBUzthQUNoQjtZQUNEO2dCQUNFLFlBQVksRUFBRSxPQUFPO2dCQUNyQixJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixJQUFJLEVBQUUsT0FBTzthQUNkO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsWUFBWTtRQUM3QixJQUFJLEVBQUUsYUFBYTtLQUNwQjtJQUNEO1FBQ0UsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsWUFBWSxFQUFFLE1BQU07Z0JBQ3BCLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxNQUFNO2FBQ2I7U0FDRjtRQUNELElBQUksRUFBRSxvQkFBb0I7UUFDMUIsSUFBSSxFQUFFLE9BQU87S0FDZDtJQUNEO1FBQ0UsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxhQUFhO2dCQUNuQixJQUFJLEVBQUUsU0FBUzthQUNoQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsSUFBSTtnQkFDYixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsS0FBSztnQkFDZCxZQUFZLEVBQUUsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLGNBQWM7UUFDcEIsSUFBSSxFQUFFLE9BQU87S0FDZDtJQUNEO1FBQ0UsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxPQUFPO2dCQUNiLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsWUFBWSxFQUFFLHNCQUFzQjtnQkFDcEMsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLE9BQU87YUFDZDtTQUNGO1FBQ0QsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixJQUFJLEVBQUUsT0FBTztLQUNkO0lBQ0Q7UUFDRSxTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxPQUFPLEVBQUUsSUFBSTtnQkFDYixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsSUFBSTtnQkFDYixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsSUFBSTtnQkFDYixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLElBQUksRUFBRSxPQUFPO0tBQ2Q7SUFDRDtRQUNFLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBRTtZQUNOO2dCQUNFLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsU0FBUzthQUNoQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixJQUFJLEVBQUUsU0FBUzthQUNoQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGO1FBQ0QsSUFBSSxFQUFFLGFBQWE7UUFDbkIsSUFBSSxFQUFFLE9BQU87S0FDZDtJQUNEO1FBQ0UsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsYUFBYTtRQUNuQixJQUFJLEVBQUUsT0FBTztLQUNkO0lBQ0Q7UUFDRSxTQUFTLEVBQUUsS0FBSztRQUNoQixNQUFNLEVBQUU7WUFDTjtnQkFDRSxPQUFPLEVBQUUsSUFBSTtnQkFDYixZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLElBQUksRUFBRSxVQUFVO2dCQUNoQixJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLElBQUksRUFBRSxVQUFVO2dCQUNoQixJQUFJLEVBQUUsUUFBUTthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsY0FBYztRQUNwQixJQUFJLEVBQUUsT0FBTztLQUNkO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxFQUFFO2dCQUNSLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsTUFBTTtRQUN2QixJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxRQUFRO2FBQ2Y7WUFDRDtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsWUFBWTtRQUNsQixPQUFPLEVBQUUsRUFBRTtRQUNYLGVBQWUsRUFBRSxZQUFZO1FBQzdCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLElBQUksRUFBRSxFQUFFO2dCQUNSLElBQUksRUFBRSxRQUFRO2FBQ2Y7U0FDRjtRQUNELGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxhQUFhO1FBQ25CLE9BQU8sRUFBRSxFQUFFO1FBQ1gsZUFBZSxFQUFFLFlBQVk7UUFDN0IsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixPQUFPLEVBQUU7WUFDUDtnQkFDRSxZQUFZLEVBQUUsTUFBTTtnQkFDcEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLE1BQU07YUFDYjtTQUNGO1FBQ0QsZUFBZSxFQUFFLE1BQU07UUFDdkIsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixPQUFPLEVBQUU7WUFDUDtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUU7WUFDTjtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxZQUFZLEVBQUUsc0JBQXNCO2dCQUNwQyxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsT0FBTzthQUNkO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLE9BQU8sRUFBRTtZQUNQO2dCQUNFLFVBQVUsRUFBRTtvQkFDVjt3QkFDRSxVQUFVLEVBQUU7NEJBQ1Y7Z0NBQ0UsWUFBWSxFQUFFLHNCQUFzQjtnQ0FDcEMsSUFBSSxFQUFFLFFBQVE7Z0NBQ2QsSUFBSSxFQUFFLE9BQU87NkJBQ2Q7NEJBQ0Q7Z0NBQ0UsWUFBWSxFQUFFLFNBQVM7Z0NBQ3ZCLElBQUksRUFBRSxhQUFhO2dDQUNuQixJQUFJLEVBQUUsU0FBUzs2QkFDaEI7NEJBQ0Q7Z0NBQ0UsWUFBWSxFQUFFLFFBQVE7Z0NBQ3RCLElBQUksRUFBRSxNQUFNO2dDQUNaLElBQUksRUFBRSxRQUFROzZCQUNmOzRCQUNEO2dDQUNFLFlBQVksRUFBRSxTQUFTO2dDQUN2QixJQUFJLEVBQUUsYUFBYTtnQ0FDbkIsSUFBSSxFQUFFLFNBQVM7NkJBQ2hCO3lCQUNGO3dCQUNELFlBQVksRUFBRSx5QkFBeUI7d0JBQ3ZDLElBQUksRUFBRSxTQUFTO3dCQUNmLElBQUksRUFBRSxPQUFPO3FCQUNkO29CQUNEO3dCQUNFLFlBQVksRUFBRSxTQUFTO3dCQUN2QixJQUFJLEVBQUUsT0FBTzt3QkFDYixJQUFJLEVBQUUsU0FBUztxQkFDaEI7aUJBQ0Y7Z0JBQ0QsWUFBWSxFQUFFLG9DQUFvQztnQkFDbEQsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxjQUFjO1FBQ3BCLE9BQU8sRUFBRTtZQUNQO2dCQUNFLFVBQVUsRUFBRTtvQkFDVjt3QkFDRSxZQUFZLEVBQUUsU0FBUzt3QkFDdkIsSUFBSSxFQUFFLGlCQUFpQjt3QkFDdkIsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCO29CQUNEO3dCQUNFLFlBQVksRUFBRSxTQUFTO3dCQUN2QixJQUFJLEVBQUUsc0JBQXNCO3dCQUM1QixJQUFJLEVBQUUsU0FBUztxQkFDaEI7b0JBQ0Q7d0JBQ0UsWUFBWSxFQUFFLFNBQVM7d0JBQ3ZCLElBQUksRUFBRSxxQkFBcUI7d0JBQzNCLElBQUksRUFBRSxTQUFTO3FCQUNoQjtvQkFDRDt3QkFDRSxZQUFZLEVBQUUsU0FBUzt3QkFDdkIsSUFBSSxFQUFFLG1CQUFtQjt3QkFDekIsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCO2lCQUNGO2dCQUNELFlBQVksRUFBRSwyQkFBMkI7Z0JBQ3pDLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxPQUFPO2FBQ2Q7U0FDRjtRQUNELGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUU7WUFDTjtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELElBQUksRUFBRSxzQkFBc0I7UUFDNUIsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsVUFBVSxFQUFFO29CQUNWO3dCQUNFLFlBQVksRUFBRSxTQUFTO3dCQUN2QixJQUFJLEVBQUUsYUFBYTt3QkFDbkIsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCO29CQUNEO3dCQUNFLFlBQVksRUFBRSxRQUFRO3dCQUN0QixJQUFJLEVBQUUsT0FBTzt3QkFDYixJQUFJLEVBQUUsUUFBUTtxQkFDZjtpQkFDRjtnQkFDRCxZQUFZLEVBQUUsb0NBQW9DO2dCQUNsRCxJQUFJLEVBQUUsRUFBRTtnQkFDUixJQUFJLEVBQUUsT0FBTzthQUNkO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsTUFBTTtRQUN2QixJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxhQUFhO2dCQUNuQixJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGO1FBQ0QsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixPQUFPLEVBQUU7WUFDUDtnQkFDRSxVQUFVLEVBQUU7b0JBQ1Y7d0JBQ0UsVUFBVSxFQUFFOzRCQUNWO2dDQUNFLFlBQVksRUFBRSxRQUFRO2dDQUN0QixJQUFJLEVBQUUsZUFBZTtnQ0FDckIsSUFBSSxFQUFFLFFBQVE7NkJBQ2Y7NEJBQ0Q7Z0NBQ0UsWUFBWSxFQUFFLE9BQU87Z0NBQ3JCLElBQUksRUFBRSxrQkFBa0I7Z0NBQ3hCLElBQUksRUFBRSxPQUFPOzZCQUNkOzRCQUNEO2dDQUNFLFlBQVksRUFBRSxNQUFNO2dDQUNwQixJQUFJLEVBQUUsV0FBVztnQ0FDakIsSUFBSSxFQUFFLE1BQU07NkJBQ2I7NEJBQ0Q7Z0NBQ0UsWUFBWSxFQUFFLFNBQVM7Z0NBQ3ZCLElBQUksRUFBRSxVQUFVO2dDQUNoQixJQUFJLEVBQUUsU0FBUzs2QkFDaEI7NEJBQ0Q7Z0NBQ0UsWUFBWSxFQUFFLFNBQVM7Z0NBQ3ZCLElBQUksRUFBRSxnQkFBZ0I7Z0NBQ3RCLElBQUksRUFBRSxTQUFTOzZCQUNoQjs0QkFDRDtnQ0FDRSxZQUFZLEVBQUUsU0FBUztnQ0FDdkIsSUFBSSxFQUFFLGlCQUFpQjtnQ0FDdkIsSUFBSSxFQUFFLFNBQVM7NkJBQ2hCOzRCQUNEO2dDQUNFLFlBQVksRUFBRSxTQUFTO2dDQUN2QixJQUFJLEVBQUUsc0JBQXNCO2dDQUM1QixJQUFJLEVBQUUsU0FBUzs2QkFDaEI7NEJBQ0Q7Z0NBQ0UsWUFBWSxFQUFFLFNBQVM7Z0NBQ3ZCLElBQUksRUFBRSxxQkFBcUI7Z0NBQzNCLElBQUksRUFBRSxTQUFTOzZCQUNoQjs0QkFDRDtnQ0FDRSxZQUFZLEVBQUUsU0FBUztnQ0FDdkIsSUFBSSxFQUFFLG1CQUFtQjtnQ0FDekIsSUFBSSxFQUFFLFNBQVM7NkJBQ2hCO3lCQUNGO3dCQUNELFlBQVksRUFBRSxpQ0FBaUM7d0JBQy9DLElBQUksRUFBRSxZQUFZO3dCQUNsQixJQUFJLEVBQUUsT0FBTztxQkFDZDtvQkFDRDt3QkFDRSxVQUFVLEVBQUU7NEJBQ1Y7Z0NBQ0UsWUFBWSxFQUFFLFNBQVM7Z0NBQ3ZCLElBQUksRUFBRSxhQUFhO2dDQUNuQixJQUFJLEVBQUUsU0FBUzs2QkFDaEI7NEJBQ0Q7Z0NBQ0UsWUFBWSxFQUFFLFNBQVM7Z0NBQ3ZCLElBQUksRUFBRSxNQUFNO2dDQUNaLElBQUksRUFBRSxTQUFTOzZCQUNoQjs0QkFDRDtnQ0FDRSxZQUFZLEVBQUUsUUFBUTtnQ0FDdEIsSUFBSSxFQUFFLE9BQU87Z0NBQ2IsSUFBSSxFQUFFLFFBQVE7NkJBQ2Y7NEJBQ0Q7Z0NBQ0UsWUFBWSxFQUFFLFNBQVM7Z0NBQ3ZCLElBQUksRUFBRSxRQUFRO2dDQUNkLElBQUksRUFBRSxTQUFTOzZCQUNoQjs0QkFDRDtnQ0FDRSxZQUFZLEVBQUUsU0FBUztnQ0FDdkIsSUFBSSxFQUFFLFFBQVE7Z0NBQ2QsSUFBSSxFQUFFLFNBQVM7NkJBQ2hCO3lCQUNGO3dCQUNELFlBQVksRUFBRSx1Q0FBdUM7d0JBQ3JELElBQUksRUFBRSxZQUFZO3dCQUNsQixJQUFJLEVBQUUsT0FBTztxQkFDZDtpQkFDRjtnQkFDRCxZQUFZLEVBQUUsc0NBQXNDO2dCQUNwRCxJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsT0FBTzthQUNkO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsTUFBTTtRQUN2QixJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxhQUFhO2dCQUNuQixJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGO1FBQ0QsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixPQUFPLEVBQUU7WUFDUDtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUU7WUFDTjtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsK0JBQStCO1FBQ3JDLE9BQU8sRUFBRTtZQUNQO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsU0FBUzthQUNoQjtZQUNEO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGO1FBQ0QsZUFBZSxFQUFFLE1BQU07UUFDdkIsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLE1BQU0sRUFBRTtZQUNOO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELElBQUksRUFBRSxxQkFBcUI7UUFDM0IsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLElBQUksRUFBRSxPQUFPO2dCQUNiLElBQUksRUFBRSxRQUFRO2FBQ2Y7U0FDRjtRQUNELGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUU7WUFDTjtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxPQUFPO2dCQUNiLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLE9BQU8sRUFBRTtZQUNQO2dCQUNFLFVBQVUsRUFBRTtvQkFDVjt3QkFDRSxZQUFZLEVBQUUsU0FBUzt3QkFDdkIsSUFBSSxFQUFFLGFBQWE7d0JBQ25CLElBQUksRUFBRSxTQUFTO3FCQUNoQjtvQkFDRDt3QkFDRSxZQUFZLEVBQUUsUUFBUTt3QkFDdEIsSUFBSSxFQUFFLE9BQU87d0JBQ2IsSUFBSSxFQUFFLFFBQVE7cUJBQ2Y7aUJBQ0Y7Z0JBQ0QsWUFBWSxFQUFFLHNDQUFzQztnQkFDcEQsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsTUFBTTtRQUN2QixJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsY0FBYztRQUNwQixPQUFPLEVBQUU7WUFDUDtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUU7WUFDTjtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELElBQUksRUFBRSxvQkFBb0I7UUFDMUIsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsVUFBVSxFQUFFO29CQUNWO3dCQUNFLFlBQVksRUFBRSxTQUFTO3dCQUN2QixJQUFJLEVBQUUsYUFBYTt3QkFDbkIsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCO29CQUNEO3dCQUNFLFlBQVksRUFBRSxRQUFRO3dCQUN0QixJQUFJLEVBQUUsT0FBTzt3QkFDYixJQUFJLEVBQUUsUUFBUTtxQkFDZjtpQkFDRjtnQkFDRCxZQUFZLEVBQUUsc0NBQXNDO2dCQUNwRCxJQUFJLEVBQUUsY0FBYztnQkFDcEIsSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUU7WUFDTjtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELElBQUksRUFBRSx3QkFBd0I7UUFDOUIsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsVUFBVSxFQUFFO29CQUNWO3dCQUNFLFVBQVUsRUFBRTs0QkFDVjtnQ0FDRSxZQUFZLEVBQUUsUUFBUTtnQ0FDdEIsSUFBSSxFQUFFLGVBQWU7Z0NBQ3JCLElBQUksRUFBRSxRQUFROzZCQUNmOzRCQUNEO2dDQUNFLFlBQVksRUFBRSxPQUFPO2dDQUNyQixJQUFJLEVBQUUsa0JBQWtCO2dDQUN4QixJQUFJLEVBQUUsT0FBTzs2QkFDZDs0QkFDRDtnQ0FDRSxZQUFZLEVBQUUsTUFBTTtnQ0FDcEIsSUFBSSxFQUFFLFdBQVc7Z0NBQ2pCLElBQUksRUFBRSxNQUFNOzZCQUNiOzRCQUNEO2dDQUNFLFlBQVksRUFBRSxTQUFTO2dDQUN2QixJQUFJLEVBQUUsVUFBVTtnQ0FDaEIsSUFBSSxFQUFFLFNBQVM7NkJBQ2hCOzRCQUNEO2dDQUNFLFlBQVksRUFBRSxTQUFTO2dDQUN2QixJQUFJLEVBQUUsZ0JBQWdCO2dDQUN0QixJQUFJLEVBQUUsU0FBUzs2QkFDaEI7NEJBQ0Q7Z0NBQ0UsWUFBWSxFQUFFLFNBQVM7Z0NBQ3ZCLElBQUksRUFBRSxpQkFBaUI7Z0NBQ3ZCLElBQUksRUFBRSxTQUFTOzZCQUNoQjs0QkFDRDtnQ0FDRSxZQUFZLEVBQUUsU0FBUztnQ0FDdkIsSUFBSSxFQUFFLHNCQUFzQjtnQ0FDNUIsSUFBSSxFQUFFLFNBQVM7NkJBQ2hCOzRCQUNEO2dDQUNFLFlBQVksRUFBRSxTQUFTO2dDQUN2QixJQUFJLEVBQUUscUJBQXFCO2dDQUMzQixJQUFJLEVBQUUsU0FBUzs2QkFDaEI7NEJBQ0Q7Z0NBQ0UsWUFBWSxFQUFFLFNBQVM7Z0NBQ3ZCLElBQUksRUFBRSxtQkFBbUI7Z0NBQ3pCLElBQUksRUFBRSxTQUFTOzZCQUNoQjt5QkFDRjt3QkFDRCxZQUFZLEVBQUUsaUNBQWlDO3dCQUMvQyxJQUFJLEVBQUUsWUFBWTt3QkFDbEIsSUFBSSxFQUFFLE9BQU87cUJBQ2Q7b0JBQ0Q7d0JBQ0UsVUFBVSxFQUFFOzRCQUNWO2dDQUNFLFlBQVksRUFBRSxTQUFTO2dDQUN2QixJQUFJLEVBQUUsYUFBYTtnQ0FDbkIsSUFBSSxFQUFFLFNBQVM7NkJBQ2hCOzRCQUNEO2dDQUNFLFlBQVksRUFBRSxTQUFTO2dDQUN2QixJQUFJLEVBQUUsTUFBTTtnQ0FDWixJQUFJLEVBQUUsU0FBUzs2QkFDaEI7NEJBQ0Q7Z0NBQ0UsWUFBWSxFQUFFLFFBQVE7Z0NBQ3RCLElBQUksRUFBRSxPQUFPO2dDQUNiLElBQUksRUFBRSxRQUFROzZCQUNmOzRCQUNEO2dDQUNFLFlBQVksRUFBRSxTQUFTO2dDQUN2QixJQUFJLEVBQUUsUUFBUTtnQ0FDZCxJQUFJLEVBQUUsU0FBUzs2QkFDaEI7NEJBQ0Q7Z0NBQ0UsWUFBWSxFQUFFLFNBQVM7Z0NBQ3ZCLElBQUksRUFBRSxRQUFRO2dDQUNkLElBQUksRUFBRSxTQUFTOzZCQUNoQjt5QkFDRjt3QkFDRCxZQUFZLEVBQUUsdUNBQXVDO3dCQUNyRCxJQUFJLEVBQUUsWUFBWTt3QkFDbEIsSUFBSSxFQUFFLE9BQU87cUJBQ2Q7aUJBQ0Y7Z0JBQ0QsWUFBWSxFQUFFLHdDQUF3QztnQkFDdEQsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxPQUFPO2dCQUNiLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsTUFBTTtRQUN2QixJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsV0FBVztRQUNqQixPQUFPLEVBQUUsRUFBRTtRQUNYLGVBQWUsRUFBRSxZQUFZO1FBQzdCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUU7WUFDTjtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7YUFDaEI7U0FDRjtRQUNELElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsWUFBWSxFQUFFLE1BQU07Z0JBQ3BCLElBQUksRUFBRSxFQUFFO2dCQUNSLElBQUksRUFBRSxNQUFNO2FBQ2I7U0FDRjtRQUNELGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUU7WUFDTjtnQkFDRSxZQUFZLEVBQUUsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLElBQUksRUFBRSxhQUFhO2dCQUNuQixJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLE1BQU07Z0JBQ3BCLElBQUksRUFBRSxVQUFVO2dCQUNoQixJQUFJLEVBQUUsTUFBTTthQUNiO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsTUFBTTtRQUN2QixJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRTtZQUNQO2dCQUNFLFlBQVksRUFBRSxPQUFPO2dCQUNyQixJQUFJLEVBQUUsRUFBRTtnQkFDUixJQUFJLEVBQUUsT0FBTzthQUNkO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsTUFBTTtRQUN2QixJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsZUFBZTtRQUNyQixPQUFPLEVBQUU7WUFDUDtnQkFDRSxZQUFZLEVBQUUsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsZUFBZSxFQUFFLE1BQU07UUFDdkIsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixPQUFPLEVBQUU7WUFDUDtnQkFDRSxZQUFZLEVBQUUsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsZUFBZSxFQUFFLE1BQU07UUFDdkIsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLE1BQU0sRUFBRTtZQUNOO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsU0FBUzthQUNoQjtZQUNEO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsU0FBUztnQkFDZixJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGO1FBQ0QsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLEVBQUU7UUFDWCxlQUFlLEVBQUUsWUFBWTtRQUM3QixJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNEO1FBQ0UsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsWUFBWTtRQUNsQixPQUFPLEVBQUUsRUFBRTtRQUNYLGVBQWUsRUFBRSxZQUFZO1FBQzdCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUU7WUFDTjtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsWUFBWTtRQUNsQixPQUFPLEVBQUUsRUFBRTtRQUNYLGVBQWUsRUFBRSxZQUFZO1FBQzdCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRTtZQUNQO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsRUFBRTtnQkFDUixJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGO1FBQ0QsZUFBZSxFQUFFLE1BQU07UUFDdkIsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLE1BQU0sRUFBRTtZQUNOO2dCQUNFLFlBQVksRUFBRSxRQUFRO2dCQUN0QixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixPQUFPLEVBQUU7WUFDUDtnQkFDRSxZQUFZLEVBQUUsTUFBTTtnQkFDcEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLE1BQU07YUFDYjtTQUNGO1FBQ0QsZUFBZSxFQUFFLE1BQU07UUFDdkIsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRDtRQUNFLE1BQU0sRUFBRTtZQUNOO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsT0FBTztnQkFDYixJQUFJLEVBQUUsU0FBUzthQUNoQjtZQUNEO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxZQUFZLEVBQUUsc0JBQXNCO2dCQUNwQyxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsT0FBTzthQUNkO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsZUFBZTtRQUNyQixPQUFPLEVBQUUsRUFBRTtRQUNYLGVBQWUsRUFBRSxZQUFZO1FBQzdCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLElBQUksRUFBRSxFQUFFO2dCQUNSLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsTUFBTTtRQUN2QixJQUFJLEVBQUUsVUFBVTtLQUNqQjtDQUNPLENBQUM7QUFDWCxrQkFBZSxXQUFHLENBQUMifQ==