@voyantjs/availability-ui 0.30.7 → 0.31.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,583 @@
1
+ import type { QueryClient } from "@tanstack/react-query";
2
+ import { type VoyantAvailabilityContextValue } from "@voyantjs/availability-react";
3
+ export interface AvailabilitySlotDetailPageProps {
4
+ id: string;
5
+ className?: string;
6
+ onBack?: () => void;
7
+ onDeleted?: () => void;
8
+ onOpenProduct?: (productId: string) => void;
9
+ onOpenStartTime?: (startTimeId: string) => void;
10
+ confirmAction?: (message: string) => boolean;
11
+ }
12
+ export declare function getAvailabilitySlotDetailQueryOptions(client: VoyantAvailabilityContextValue, id: string | null | undefined): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
13
+ data: {
14
+ id: string;
15
+ productId: string;
16
+ itineraryId: string | null;
17
+ optionId: string | null;
18
+ facilityId: string | null;
19
+ availabilityRuleId: string | null;
20
+ startTimeId: string | null;
21
+ dateLocal: string;
22
+ startsAt: string;
23
+ endsAt: string | null;
24
+ timezone: string;
25
+ status: "cancelled" | "open" | "closed" | "sold_out";
26
+ unlimited: boolean;
27
+ initialPax: number | null;
28
+ remainingPax: number | null;
29
+ nights: number | null;
30
+ days: number | null;
31
+ notes: string | null;
32
+ initialPickups: number | null;
33
+ remainingPickups: number | null;
34
+ remainingResources: number | null;
35
+ pastCutoff: boolean;
36
+ tooEarly: boolean;
37
+ createdAt: string;
38
+ updatedAt: string;
39
+ productName?: string | null | undefined;
40
+ };
41
+ }, Error, {
42
+ data: {
43
+ id: string;
44
+ productId: string;
45
+ itineraryId: string | null;
46
+ optionId: string | null;
47
+ facilityId: string | null;
48
+ availabilityRuleId: string | null;
49
+ startTimeId: string | null;
50
+ dateLocal: string;
51
+ startsAt: string;
52
+ endsAt: string | null;
53
+ timezone: string;
54
+ status: "cancelled" | "open" | "closed" | "sold_out";
55
+ unlimited: boolean;
56
+ initialPax: number | null;
57
+ remainingPax: number | null;
58
+ nights: number | null;
59
+ days: number | null;
60
+ notes: string | null;
61
+ initialPickups: number | null;
62
+ remainingPickups: number | null;
63
+ remainingResources: number | null;
64
+ pastCutoff: boolean;
65
+ tooEarly: boolean;
66
+ createdAt: string;
67
+ updatedAt: string;
68
+ productName?: string | null | undefined;
69
+ };
70
+ }, readonly ["voyant", "availability", "slots", "detail", string]>, "queryFn"> & {
71
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
72
+ data: {
73
+ id: string;
74
+ productId: string;
75
+ itineraryId: string | null;
76
+ optionId: string | null;
77
+ facilityId: string | null;
78
+ availabilityRuleId: string | null;
79
+ startTimeId: string | null;
80
+ dateLocal: string;
81
+ startsAt: string;
82
+ endsAt: string | null;
83
+ timezone: string;
84
+ status: "cancelled" | "open" | "closed" | "sold_out";
85
+ unlimited: boolean;
86
+ initialPax: number | null;
87
+ remainingPax: number | null;
88
+ nights: number | null;
89
+ days: number | null;
90
+ notes: string | null;
91
+ initialPickups: number | null;
92
+ remainingPickups: number | null;
93
+ remainingResources: number | null;
94
+ pastCutoff: boolean;
95
+ tooEarly: boolean;
96
+ createdAt: string;
97
+ updatedAt: string;
98
+ productName?: string | null | undefined;
99
+ };
100
+ }, readonly ["voyant", "availability", "slots", "detail", string], never> | undefined;
101
+ } & {
102
+ queryKey: readonly ["voyant", "availability", "slots", "detail", string] & {
103
+ [dataTagSymbol]: {
104
+ data: {
105
+ id: string;
106
+ productId: string;
107
+ itineraryId: string | null;
108
+ optionId: string | null;
109
+ facilityId: string | null;
110
+ availabilityRuleId: string | null;
111
+ startTimeId: string | null;
112
+ dateLocal: string;
113
+ startsAt: string;
114
+ endsAt: string | null;
115
+ timezone: string;
116
+ status: "cancelled" | "open" | "closed" | "sold_out";
117
+ unlimited: boolean;
118
+ initialPax: number | null;
119
+ remainingPax: number | null;
120
+ nights: number | null;
121
+ days: number | null;
122
+ notes: string | null;
123
+ initialPickups: number | null;
124
+ remainingPickups: number | null;
125
+ remainingResources: number | null;
126
+ pastCutoff: boolean;
127
+ tooEarly: boolean;
128
+ createdAt: string;
129
+ updatedAt: string;
130
+ productName?: string | null | undefined;
131
+ };
132
+ };
133
+ [dataTagErrorSymbol]: Error;
134
+ };
135
+ };
136
+ export declare function getAvailabilitySlotProductQueryOptions(client: VoyantAvailabilityContextValue, productId: string | null | undefined): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
137
+ data: {
138
+ id: string;
139
+ name: string;
140
+ };
141
+ }, Error, {
142
+ data: {
143
+ id: string;
144
+ name: string;
145
+ };
146
+ }, readonly ["voyant", "availability", "products", "detail", string]>, "queryFn"> & {
147
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
148
+ data: {
149
+ id: string;
150
+ name: string;
151
+ };
152
+ }, readonly ["voyant", "availability", "products", "detail", string], never> | undefined;
153
+ } & {
154
+ queryKey: readonly ["voyant", "availability", "products", "detail", string] & {
155
+ [dataTagSymbol]: {
156
+ data: {
157
+ id: string;
158
+ name: string;
159
+ };
160
+ };
161
+ [dataTagErrorSymbol]: Error;
162
+ };
163
+ };
164
+ export declare function getAvailabilitySlotPickupsQueryOptions(client: VoyantAvailabilityContextValue, id: string | null | undefined): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
165
+ data: {
166
+ id: string;
167
+ slotId: string;
168
+ pickupPointId: string;
169
+ initialCapacity: number | null;
170
+ remainingCapacity: number | null;
171
+ }[];
172
+ total: number;
173
+ limit: number;
174
+ offset: number;
175
+ }, Error, {
176
+ data: {
177
+ id: string;
178
+ slotId: string;
179
+ pickupPointId: string;
180
+ initialCapacity: number | null;
181
+ remainingCapacity: number | null;
182
+ }[];
183
+ total: number;
184
+ limit: number;
185
+ offset: number;
186
+ }, readonly ["voyant", "availability", "slots", "pickups", "list", import("@voyantjs/availability-react/query-keys").AvailabilitySlotDetailFilters]>, "queryFn"> & {
187
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
188
+ data: {
189
+ id: string;
190
+ slotId: string;
191
+ pickupPointId: string;
192
+ initialCapacity: number | null;
193
+ remainingCapacity: number | null;
194
+ }[];
195
+ total: number;
196
+ limit: number;
197
+ offset: number;
198
+ }, readonly ["voyant", "availability", "slots", "pickups", "list", import("@voyantjs/availability-react/query-keys").AvailabilitySlotDetailFilters], never> | undefined;
199
+ } & {
200
+ queryKey: readonly ["voyant", "availability", "slots", "pickups", "list", import("@voyantjs/availability-react/query-keys").AvailabilitySlotDetailFilters] & {
201
+ [dataTagSymbol]: {
202
+ data: {
203
+ id: string;
204
+ slotId: string;
205
+ pickupPointId: string;
206
+ initialCapacity: number | null;
207
+ remainingCapacity: number | null;
208
+ }[];
209
+ total: number;
210
+ limit: number;
211
+ offset: number;
212
+ };
213
+ [dataTagErrorSymbol]: Error;
214
+ };
215
+ };
216
+ export declare function getAvailabilitySlotPickupPointsQueryOptions(client: VoyantAvailabilityContextValue, productId: string | null | undefined): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
217
+ data: {
218
+ id: string;
219
+ productId: string;
220
+ name: string;
221
+ description: string | null;
222
+ locationText: string | null;
223
+ active: boolean;
224
+ productName?: string | null | undefined;
225
+ }[];
226
+ total: number;
227
+ limit: number;
228
+ offset: number;
229
+ }, Error, {
230
+ data: {
231
+ id: string;
232
+ productId: string;
233
+ name: string;
234
+ description: string | null;
235
+ locationText: string | null;
236
+ active: boolean;
237
+ productName?: string | null | undefined;
238
+ }[];
239
+ total: number;
240
+ limit: number;
241
+ offset: number;
242
+ }, readonly ["voyant", "availability", "pickup-points", "list", import("@voyantjs/availability-react/query-keys").AvailabilityPickupPointsListFilters]>, "queryFn"> & {
243
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
244
+ data: {
245
+ id: string;
246
+ productId: string;
247
+ name: string;
248
+ description: string | null;
249
+ locationText: string | null;
250
+ active: boolean;
251
+ productName?: string | null | undefined;
252
+ }[];
253
+ total: number;
254
+ limit: number;
255
+ offset: number;
256
+ }, readonly ["voyant", "availability", "pickup-points", "list", import("@voyantjs/availability-react/query-keys").AvailabilityPickupPointsListFilters], never> | undefined;
257
+ } & {
258
+ queryKey: readonly ["voyant", "availability", "pickup-points", "list", import("@voyantjs/availability-react/query-keys").AvailabilityPickupPointsListFilters] & {
259
+ [dataTagSymbol]: {
260
+ data: {
261
+ id: string;
262
+ productId: string;
263
+ name: string;
264
+ description: string | null;
265
+ locationText: string | null;
266
+ active: boolean;
267
+ productName?: string | null | undefined;
268
+ }[];
269
+ total: number;
270
+ limit: number;
271
+ offset: number;
272
+ };
273
+ [dataTagErrorSymbol]: Error;
274
+ };
275
+ };
276
+ export declare function getAvailabilitySlotCloseoutsQueryOptions(client: VoyantAvailabilityContextValue, id: string | null | undefined): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
277
+ data: {
278
+ id: string;
279
+ productId: string;
280
+ slotId: string | null;
281
+ dateLocal: string;
282
+ reason: string | null;
283
+ createdBy: string | null;
284
+ productName?: string | null | undefined;
285
+ }[];
286
+ total: number;
287
+ limit: number;
288
+ offset: number;
289
+ }, Error, {
290
+ data: {
291
+ id: string;
292
+ productId: string;
293
+ slotId: string | null;
294
+ dateLocal: string;
295
+ reason: string | null;
296
+ createdBy: string | null;
297
+ productName?: string | null | undefined;
298
+ }[];
299
+ total: number;
300
+ limit: number;
301
+ offset: number;
302
+ }, readonly ["voyant", "availability", "slots", "closeouts", "list", import("@voyantjs/availability-react/query-keys").AvailabilitySlotDetailFilters]>, "queryFn"> & {
303
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
304
+ data: {
305
+ id: string;
306
+ productId: string;
307
+ slotId: string | null;
308
+ dateLocal: string;
309
+ reason: string | null;
310
+ createdBy: string | null;
311
+ productName?: string | null | undefined;
312
+ }[];
313
+ total: number;
314
+ limit: number;
315
+ offset: number;
316
+ }, readonly ["voyant", "availability", "slots", "closeouts", "list", import("@voyantjs/availability-react/query-keys").AvailabilitySlotDetailFilters], never> | undefined;
317
+ } & {
318
+ queryKey: readonly ["voyant", "availability", "slots", "closeouts", "list", import("@voyantjs/availability-react/query-keys").AvailabilitySlotDetailFilters] & {
319
+ [dataTagSymbol]: {
320
+ data: {
321
+ id: string;
322
+ productId: string;
323
+ slotId: string | null;
324
+ dateLocal: string;
325
+ reason: string | null;
326
+ createdBy: string | null;
327
+ productName?: string | null | undefined;
328
+ }[];
329
+ total: number;
330
+ limit: number;
331
+ offset: number;
332
+ };
333
+ [dataTagErrorSymbol]: Error;
334
+ };
335
+ };
336
+ export declare function getAvailabilitySlotAssignmentsQueryOptions(client: VoyantAvailabilityContextValue, id: string | null | undefined): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
337
+ data: {
338
+ id: string;
339
+ poolId: string | null;
340
+ resourceId: string | null;
341
+ bookingId: string | null;
342
+ status: "completed" | "cancelled" | "reserved" | "assigned" | "released";
343
+ assignedBy: string | null;
344
+ releasedAt: string | null;
345
+ notes: string | null;
346
+ }[];
347
+ total: number;
348
+ limit: number;
349
+ offset: number;
350
+ }, Error, {
351
+ data: {
352
+ id: string;
353
+ poolId: string | null;
354
+ resourceId: string | null;
355
+ bookingId: string | null;
356
+ status: "completed" | "cancelled" | "reserved" | "assigned" | "released";
357
+ assignedBy: string | null;
358
+ releasedAt: string | null;
359
+ notes: string | null;
360
+ }[];
361
+ total: number;
362
+ limit: number;
363
+ offset: number;
364
+ }, readonly ["voyant", "availability", "slots", "assignments", "list", import("@voyantjs/availability-react/query-keys").AvailabilitySlotDetailFilters]>, "queryFn"> & {
365
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
366
+ data: {
367
+ id: string;
368
+ poolId: string | null;
369
+ resourceId: string | null;
370
+ bookingId: string | null;
371
+ status: "completed" | "cancelled" | "reserved" | "assigned" | "released";
372
+ assignedBy: string | null;
373
+ releasedAt: string | null;
374
+ notes: string | null;
375
+ }[];
376
+ total: number;
377
+ limit: number;
378
+ offset: number;
379
+ }, readonly ["voyant", "availability", "slots", "assignments", "list", import("@voyantjs/availability-react/query-keys").AvailabilitySlotDetailFilters], never> | undefined;
380
+ } & {
381
+ queryKey: readonly ["voyant", "availability", "slots", "assignments", "list", import("@voyantjs/availability-react/query-keys").AvailabilitySlotDetailFilters] & {
382
+ [dataTagSymbol]: {
383
+ data: {
384
+ id: string;
385
+ poolId: string | null;
386
+ resourceId: string | null;
387
+ bookingId: string | null;
388
+ status: "completed" | "cancelled" | "reserved" | "assigned" | "released";
389
+ assignedBy: string | null;
390
+ releasedAt: string | null;
391
+ notes: string | null;
392
+ }[];
393
+ total: number;
394
+ limit: number;
395
+ offset: number;
396
+ };
397
+ [dataTagErrorSymbol]: Error;
398
+ };
399
+ };
400
+ export declare function getAvailabilitySlotResourcesQueryOptions(client: VoyantAvailabilityContextValue): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
401
+ data: {
402
+ id: string;
403
+ name: string;
404
+ }[];
405
+ total: number;
406
+ limit: number;
407
+ offset: number;
408
+ }, Error, {
409
+ data: {
410
+ id: string;
411
+ name: string;
412
+ }[];
413
+ total: number;
414
+ limit: number;
415
+ offset: number;
416
+ }, readonly ["voyant", "availability", "slots", "resources", "list", import("@voyantjs/availability-react/query-keys").PaginationFilters]>, "queryFn"> & {
417
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
418
+ data: {
419
+ id: string;
420
+ name: string;
421
+ }[];
422
+ total: number;
423
+ limit: number;
424
+ offset: number;
425
+ }, readonly ["voyant", "availability", "slots", "resources", "list", import("@voyantjs/availability-react/query-keys").PaginationFilters], never> | undefined;
426
+ } & {
427
+ queryKey: readonly ["voyant", "availability", "slots", "resources", "list", import("@voyantjs/availability-react/query-keys").PaginationFilters] & {
428
+ [dataTagSymbol]: {
429
+ data: {
430
+ id: string;
431
+ name: string;
432
+ }[];
433
+ total: number;
434
+ limit: number;
435
+ offset: number;
436
+ };
437
+ [dataTagErrorSymbol]: Error;
438
+ };
439
+ };
440
+ export declare function getAvailabilitySlotBookingsQueryOptions(client: VoyantAvailabilityContextValue): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
441
+ data: {
442
+ id: string;
443
+ bookingNumber: string;
444
+ }[];
445
+ total: number;
446
+ limit: number;
447
+ offset: number;
448
+ }, Error, {
449
+ data: {
450
+ id: string;
451
+ bookingNumber: string;
452
+ }[];
453
+ total: number;
454
+ limit: number;
455
+ offset: number;
456
+ }, readonly ["voyant", "availability", "slots", "bookings", "list", import("@voyantjs/availability-react/query-keys").PaginationFilters]>, "queryFn"> & {
457
+ queryFn?: import("@tanstack/react-query").QueryFunction<{
458
+ data: {
459
+ id: string;
460
+ bookingNumber: string;
461
+ }[];
462
+ total: number;
463
+ limit: number;
464
+ offset: number;
465
+ }, readonly ["voyant", "availability", "slots", "bookings", "list", import("@voyantjs/availability-react/query-keys").PaginationFilters], never> | undefined;
466
+ } & {
467
+ queryKey: readonly ["voyant", "availability", "slots", "bookings", "list", import("@voyantjs/availability-react/query-keys").PaginationFilters] & {
468
+ [dataTagSymbol]: {
469
+ data: {
470
+ id: string;
471
+ bookingNumber: string;
472
+ }[];
473
+ total: number;
474
+ limit: number;
475
+ offset: number;
476
+ };
477
+ [dataTagErrorSymbol]: Error;
478
+ };
479
+ };
480
+ export declare function loadAvailabilitySlotDetailPage(queryClient: QueryClient, client: VoyantAvailabilityContextValue, id: string): Promise<[{
481
+ data: {
482
+ id: string;
483
+ productId: string;
484
+ itineraryId: string | null;
485
+ optionId: string | null;
486
+ facilityId: string | null;
487
+ availabilityRuleId: string | null;
488
+ startTimeId: string | null;
489
+ dateLocal: string;
490
+ startsAt: string;
491
+ endsAt: string | null;
492
+ timezone: string;
493
+ status: "cancelled" | "open" | "closed" | "sold_out";
494
+ unlimited: boolean;
495
+ initialPax: number | null;
496
+ remainingPax: number | null;
497
+ nights: number | null;
498
+ days: number | null;
499
+ notes: string | null;
500
+ initialPickups: number | null;
501
+ remainingPickups: number | null;
502
+ remainingResources: number | null;
503
+ pastCutoff: boolean;
504
+ tooEarly: boolean;
505
+ createdAt: string;
506
+ updatedAt: string;
507
+ productName?: string | null | undefined;
508
+ };
509
+ }, {
510
+ data: {
511
+ id: string;
512
+ slotId: string;
513
+ pickupPointId: string;
514
+ initialCapacity: number | null;
515
+ remainingCapacity: number | null;
516
+ }[];
517
+ total: number;
518
+ limit: number;
519
+ offset: number;
520
+ }, {
521
+ data: {
522
+ id: string;
523
+ productId: string;
524
+ slotId: string | null;
525
+ dateLocal: string;
526
+ reason: string | null;
527
+ createdBy: string | null;
528
+ productName?: string | null | undefined;
529
+ }[];
530
+ total: number;
531
+ limit: number;
532
+ offset: number;
533
+ }, {
534
+ data: {
535
+ id: string;
536
+ poolId: string | null;
537
+ resourceId: string | null;
538
+ bookingId: string | null;
539
+ status: "completed" | "cancelled" | "reserved" | "assigned" | "released";
540
+ assignedBy: string | null;
541
+ releasedAt: string | null;
542
+ notes: string | null;
543
+ }[];
544
+ total: number;
545
+ limit: number;
546
+ offset: number;
547
+ }, {
548
+ data: {
549
+ id: string;
550
+ name: string;
551
+ }[];
552
+ total: number;
553
+ limit: number;
554
+ offset: number;
555
+ }, {
556
+ data: {
557
+ id: string;
558
+ bookingNumber: string;
559
+ }[];
560
+ total: number;
561
+ limit: number;
562
+ offset: number;
563
+ }, {
564
+ data: {
565
+ id: string;
566
+ name: string;
567
+ };
568
+ }, {
569
+ data: {
570
+ id: string;
571
+ productId: string;
572
+ name: string;
573
+ description: string | null;
574
+ locationText: string | null;
575
+ active: boolean;
576
+ productName?: string | null | undefined;
577
+ }[];
578
+ total: number;
579
+ limit: number;
580
+ offset: number;
581
+ }]>;
582
+ export declare function AvailabilitySlotDetailPage({ id, className, onBack, onDeleted, onOpenProduct, onOpenStartTime, confirmAction, }: AvailabilitySlotDetailPageProps): import("react/jsx-runtime").JSX.Element;
583
+ //# sourceMappingURL=availability-slot-detail-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"availability-slot-detail-page.d.ts","sourceRoot":"","sources":["../../src/components/availability-slot-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAcL,KAAK,8BAA8B,EACpC,MAAM,8BAA8B,CAAA;AAiBrC,MAAM,WAAW,+BAA+B;IAC9C,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;CAC7C;AAED,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,8BAA8B,EACtC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG9B;AAED,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,8BAA8B,EACtC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGrC;AAED,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,8BAA8B,EACtC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG9B;AAED,wBAAgB,2CAA2C,CACzD,MAAM,EAAE,8BAA8B,EACtC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOrC;AAED,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,8BAA8B,EACtC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG9B;AAED,wBAAgB,0CAA0C,CACxD,MAAM,EAAE,8BAA8B,EACtC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG9B;AAED,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE9F;AAED,wBAAgB,uCAAuC,CAAC,MAAM,EAAE,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE7F;AAED,wBAAsB,8BAA8B,CAClD,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,8BAA8B,EACtC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBX;AAED,wBAAgB,0BAA0B,CAAC,EACzC,EAAE,EACF,SAAS,EACT,MAAM,EACN,SAAS,EACT,aAAa,EACb,eAAe,EACf,aAAkE,GACnE,EAAE,+BAA+B,2CA2QjC"}