@checkfirst/nestjs-outlook 7.1.2 → 7.1.5

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.
Files changed (38) hide show
  1. package/dist/entities/microsoft-user.entity.d.ts +2 -0
  2. package/dist/entities/microsoft-user.entity.js +11 -0
  3. package/dist/entities/microsoft-user.entity.js.map +1 -1
  4. package/dist/entities/outlook-webhook-subscription.entity.d.ts +1 -0
  5. package/dist/entities/outlook-webhook-subscription.entity.js +5 -0
  6. package/dist/entities/outlook-webhook-subscription.entity.js.map +1 -1
  7. package/dist/enums/event-types.enum.d.ts +3 -0
  8. package/dist/enums/event-types.enum.js +3 -0
  9. package/dist/enums/event-types.enum.js.map +1 -1
  10. package/dist/enums/microsoft-user-status.enum.d.ts +4 -0
  11. package/dist/enums/microsoft-user-status.enum.js +9 -0
  12. package/dist/enums/microsoft-user-status.enum.js.map +1 -0
  13. package/dist/errors/microsoft-refresh-token-invalid.error.d.ts +4 -0
  14. package/dist/errors/microsoft-refresh-token-invalid.error.js +12 -0
  15. package/dist/errors/microsoft-refresh-token-invalid.error.js.map +1 -0
  16. package/dist/migrations/1776600000000-AddLastNotificationAtToSubscriptions.d.ts +5 -0
  17. package/dist/migrations/1776600000000-AddLastNotificationAtToSubscriptions.js +18 -0
  18. package/dist/migrations/1776600000000-AddLastNotificationAtToSubscriptions.js.map +1 -0
  19. package/dist/migrations/1776700000000-AddMicrosoftUserStatusColumn.d.ts +5 -0
  20. package/dist/migrations/1776700000000-AddMicrosoftUserStatusColumn.js +20 -0
  21. package/dist/migrations/1776700000000-AddMicrosoftUserStatusColumn.js.map +1 -0
  22. package/dist/repositories/outlook-webhook-subscription.repository.d.ts +3 -1
  23. package/dist/repositories/outlook-webhook-subscription.repository.js +19 -10
  24. package/dist/repositories/outlook-webhook-subscription.repository.js.map +1 -1
  25. package/dist/services/auth/microsoft-auth.service.d.ts +4 -3
  26. package/dist/services/auth/microsoft-auth.service.js +54 -11
  27. package/dist/services/auth/microsoft-auth.service.js.map +1 -1
  28. package/dist/services/calendar/calendar.service.d.ts +3 -11
  29. package/dist/services/calendar/calendar.service.js +23 -247
  30. package/dist/services/calendar/calendar.service.js.map +1 -1
  31. package/dist/services/calendar/lifecycle-event-handler.service.d.ts +3 -1
  32. package/dist/services/calendar/lifecycle-event-handler.service.js +35 -5
  33. package/dist/services/calendar/lifecycle-event-handler.service.js.map +1 -1
  34. package/dist/services/subscription/microsoft-subscription.service.d.ts +35 -0
  35. package/dist/services/subscription/microsoft-subscription.service.js +504 -2
  36. package/dist/services/subscription/microsoft-subscription.service.js.map +1 -1
  37. package/dist/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +1 -1
@@ -1,8 +1,7 @@
1
1
  import { EventEmitter2 } from "@nestjs/event-emitter";
2
2
  import { Client } from "@microsoft/microsoft-graph-client";
3
- import { Event, Subscription, ChangeNotification } from "../../types";
3
+ import { Event, ChangeNotification } from "../../types";
4
4
  import { MicrosoftAuthService } from "../auth/microsoft-auth.service";
5
- import { OutlookWebhookSubscriptionRepository } from "../../repositories/outlook-webhook-subscription.repository";
6
5
  import { OutlookDeltaLinkRepository } from "../../repositories/outlook-delta-link.repository";
7
6
  import { MicrosoftOutlookConfig } from "../../interfaces/config/outlook-config.interface";
8
7
  import { MicrosoftUser } from "../../entities/microsoft-user.entity";
@@ -10,11 +9,9 @@ import { Repository } from "typeorm";
10
9
  import { DeltaSyncService } from "../shared/delta-sync.service";
11
10
  import { UserIdConverterService } from "../shared/user-id-converter.service";
12
11
  import { MicrosoftSubscriptionService } from "../subscription/microsoft-subscription.service";
13
- import { OutlookWebhookSubscription } from "../../entities/outlook-webhook-subscription.entity";
14
12
  import { GraphRateLimiterService } from "../shared/graph-rate-limiter.service";
15
13
  export declare class CalendarService {
16
14
  private readonly microsoftAuthService;
17
- private readonly webhookSubscriptionRepository;
18
15
  private readonly eventEmitter;
19
16
  private readonly microsoftConfig;
20
17
  private readonly deltaLinkRepository;
@@ -25,7 +22,7 @@ export declare class CalendarService {
25
22
  private readonly rateLimiter;
26
23
  private readonly logger;
27
24
  private readonly defaultCalendarIdCache;
28
- constructor(microsoftAuthService: MicrosoftAuthService, webhookSubscriptionRepository: OutlookWebhookSubscriptionRepository, eventEmitter: EventEmitter2, microsoftConfig: MicrosoftOutlookConfig, deltaLinkRepository: OutlookDeltaLinkRepository, microsoftUserRepository: Repository<MicrosoftUser>, deltaSyncService: DeltaSyncService, userIdConverter: UserIdConverterService, subscriptionService: MicrosoftSubscriptionService, rateLimiter: GraphRateLimiterService);
25
+ constructor(microsoftAuthService: MicrosoftAuthService, eventEmitter: EventEmitter2, microsoftConfig: MicrosoftOutlookConfig, deltaLinkRepository: OutlookDeltaLinkRepository, microsoftUserRepository: Repository<MicrosoftUser>, deltaSyncService: DeltaSyncService, userIdConverter: UserIdConverterService, subscriptionService: MicrosoftSubscriptionService, rateLimiter: GraphRateLimiterService);
29
26
  getDefaultCalendarId(externalUserId: string): Promise<string>;
30
27
  createEvent(event: Partial<Event>, externalUserId: string, calendarId: string): Promise<{
31
28
  event: Event;
@@ -55,12 +52,6 @@ export declare class CalendarService {
55
52
  success: boolean;
56
53
  error?: string;
57
54
  }[]>;
58
- createWebhookSubscription(externalUserId: string): Promise<Subscription>;
59
- renewWebhookSubscription(subscriptionId: string, internalUserId: number): Promise<Subscription>;
60
- getSubscription(subscriptionId: string): Promise<OutlookWebhookSubscription | null>;
61
- deleteWebhookSubscription(subscriptionId: string, userId: string | number): Promise<boolean>;
62
- getActiveSubscription(externalUserId: string): Promise<string | null>;
63
- renewSubscriptions(): Promise<void>;
64
55
  handleOutlookWebhook(notificationItem: ChangeNotification, useStreaming?: boolean, webhookTraceId?: string): Promise<{
65
56
  success: boolean;
66
57
  message: string;
@@ -94,6 +85,7 @@ export declare class CalendarService {
94
85
  batchSize?: number;
95
86
  }): AsyncGenerator<Event[], void, unknown>;
96
87
  initializeDeltaSync(externalUserId: string): Promise<void>;
88
+ syncDeltaChanges(externalUserId: string, subscriptionId?: string): Promise<number>;
97
89
  private processChangesStreaming;
98
90
  private processChangesBuffering;
99
91
  private processDeltaEventChange;
@@ -44,8 +44,6 @@ const event_emitter_1 = require("@nestjs/event-emitter");
44
44
  const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
45
45
  const axios_1 = require("axios");
46
46
  const microsoft_auth_service_1 = require("../auth/microsoft-auth.service");
47
- const schedule_1 = require("@nestjs/schedule");
48
- const outlook_webhook_subscription_repository_1 = require("../../repositories/outlook-webhook-subscription.repository");
49
47
  const outlook_delta_link_repository_1 = require("../../repositories/outlook-delta-link.repository");
50
48
  const constants_1 = require("../../constants");
51
49
  const event_types_enum_1 = require("../../enums/event-types.enum");
@@ -84,9 +82,8 @@ function detectEventType(change) {
84
82
  return isNewEvent(change) ? OUTLOOK_EVENT_CREATED : OUTLOOK_EVENT_UPDATED;
85
83
  }
86
84
  let CalendarService = CalendarService_1 = class CalendarService {
87
- constructor(microsoftAuthService, webhookSubscriptionRepository, eventEmitter, microsoftConfig, deltaLinkRepository, microsoftUserRepository, deltaSyncService, userIdConverter, subscriptionService, rateLimiter) {
85
+ constructor(microsoftAuthService, eventEmitter, microsoftConfig, deltaLinkRepository, microsoftUserRepository, deltaSyncService, userIdConverter, subscriptionService, rateLimiter) {
88
86
  this.microsoftAuthService = microsoftAuthService;
89
- this.webhookSubscriptionRepository = webhookSubscriptionRepository;
90
87
  this.eventEmitter = eventEmitter;
91
88
  this.microsoftConfig = microsoftConfig;
92
89
  this.deltaLinkRepository = deltaLinkRepository;
@@ -520,238 +517,6 @@ let CalendarService = CalendarService_1 = class CalendarService {
520
517
  }));
521
518
  }
522
519
  }
523
- async createWebhookSubscription(externalUserId) {
524
- var _a, _b;
525
- const internalUserId = await this.userIdConverter.externalToInternal(externalUserId, { cache: false });
526
- const correlationId = `webhook-${internalUserId}-${Date.now()}`;
527
- this.logger.log(`[${correlationId}] Starting webhook subscription creation for user ${internalUserId}`);
528
- try {
529
- this.logger.log(`[${correlationId}] Fetching access token for user ${internalUserId}`);
530
- const accessToken = await this.microsoftAuthService.getUserAccessToken({ internalUserId, cache: false });
531
- this.logger.log(`[${correlationId}] Successfully obtained access token`);
532
- const expirationDateTime = new Date();
533
- expirationDateTime.setHours(expirationDateTime.getHours() + 72);
534
- const appUrl = this.microsoftConfig.backendBaseUrl || "http://localhost:3000";
535
- const basePath = this.microsoftConfig.basePath;
536
- const basePathUrl = basePath ? `${appUrl}/${basePath}` : appUrl;
537
- const webhookPath = this.microsoftConfig.calendarWebhookPath || '/calendar/webhook';
538
- const notificationUrl = `${basePathUrl}${webhookPath}`;
539
- const subscriptionData = {
540
- changeType: "created,updated,deleted",
541
- notificationUrl,
542
- lifecycleNotificationUrl: notificationUrl,
543
- resource: "/me/events",
544
- expirationDateTime: expirationDateTime.toISOString(),
545
- clientState: `user_${internalUserId}_${Math.random().toString(36).substring(2, 15)}`,
546
- };
547
- this.logger.log(`[${correlationId}] Creating webhook subscription with notificationUrl: ${notificationUrl}`);
548
- this.logger.debug(`[${correlationId}] Subscription data: ${JSON.stringify(subscriptionData)}`);
549
- this.logger.log(`[${correlationId}] Sending POST request to Microsoft Graph API`);
550
- const response = await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => axios_1.default.post("https://graph.microsoft.com/v1.0/subscriptions", subscriptionData, {
551
- headers: {
552
- Authorization: `Bearer ${accessToken}`,
553
- "Content-Type": "application/json",
554
- "Prefer": 'IdType="ImmutableId"',
555
- },
556
- }), {
557
- logger: this.logger,
558
- resourceName: `create webhook subscription for user ${internalUserId}`,
559
- maxRetries: 7,
560
- });
561
- if (!(response === null || response === void 0 ? void 0 : response.data)) {
562
- throw new Error('Subscription creation returned null response');
563
- }
564
- this.logger.log(`[${correlationId}] Created webhook subscription ${response.data.id || "unknown"} for user ${internalUserId}`);
565
- this.logger.log(`[${correlationId}] Saving subscription to database (internalUserId: ${internalUserId}, externalUserId: ${externalUserId})`);
566
- await this.webhookSubscriptionRepository.saveSubscription({
567
- subscriptionId: response.data.id,
568
- userId: internalUserId,
569
- resource: response.data.resource,
570
- changeType: response.data.changeType,
571
- clientState: response.data.clientState || "",
572
- notificationUrl: response.data.notificationUrl,
573
- expirationDateTime: response.data.expirationDateTime
574
- ? new Date(response.data.expirationDateTime)
575
- : new Date(),
576
- });
577
- this.logger.log(`[${correlationId}] Successfully stored subscription in database`);
578
- this.logger.log(`[${correlationId}] Webhook subscription creation completed successfully`);
579
- return response.data;
580
- }
581
- catch (error) {
582
- if (axios_1.default.isAxiosError(error)) {
583
- this.logger.error(`[${correlationId}] Microsoft Graph API error: Status ${(_a = error.response) === null || _a === void 0 ? void 0 : _a.status}, ` +
584
- `Message: ${JSON.stringify((_b = error.response) === null || _b === void 0 ? void 0 : _b.data)}`);
585
- }
586
- else {
587
- this.logger.error(`[${correlationId}] Failed to create webhook subscription:`, error);
588
- }
589
- throw new Error(`Failed to create webhook subscription: ${error instanceof Error ? error.message : 'Unknown error'}`);
590
- }
591
- }
592
- async renewWebhookSubscription(subscriptionId, internalUserId) {
593
- var _a, _b;
594
- const correlationId = `renew-${subscriptionId}-${Date.now()}`;
595
- try {
596
- this.logger.log(`[${correlationId}] Attempting to renew subscription ${subscriptionId} for user ${internalUserId}`);
597
- const user = await this.microsoftUserRepository.findOne({
598
- where: { id: internalUserId, isActive: true }
599
- });
600
- if (!user) {
601
- this.logger.warn(`[${correlationId}] User ${internalUserId} not found or inactive. ` +
602
- `Deactivating subscription ${subscriptionId}`);
603
- await this.webhookSubscriptionRepository.deactivateSubscription(subscriptionId);
604
- throw new Error(`Cannot renew subscription ${subscriptionId}: ` +
605
- `User ${internalUserId} not found or inactive. ` +
606
- `Subscription has been automatically deactivated.`);
607
- }
608
- this.logger.debug(`[${correlationId}] User ${internalUserId} validated successfully`);
609
- const accessToken = await this.microsoftAuthService.getUserAccessToken({
610
- internalUserId
611
- });
612
- this.logger.debug(`[${correlationId}] Access token obtained`);
613
- const expirationDateTime = new Date();
614
- expirationDateTime.setHours(expirationDateTime.getHours() + 72);
615
- const renewalData = {
616
- expirationDateTime: expirationDateTime.toISOString(),
617
- };
618
- this.logger.debug(`[${correlationId}] Calling Microsoft Graph API to renew subscription`);
619
- const response = await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => axios_1.default.patch(`https://graph.microsoft.com/v1.0/subscriptions/${subscriptionId}`, renewalData, {
620
- headers: {
621
- Authorization: `Bearer ${accessToken}`,
622
- "Content-Type": "application/json",
623
- "Prefer": 'IdType="ImmutableId"',
624
- },
625
- }), {
626
- logger: this.logger,
627
- resourceName: `renew webhook subscription ${subscriptionId} for user ${internalUserId}`,
628
- maxRetries: 7,
629
- });
630
- if (!(response === null || response === void 0 ? void 0 : response.data)) {
631
- throw new Error('Subscription renewal returned null response');
632
- }
633
- this.logger.debug(`[${correlationId}] Microsoft Graph API returned status: ${response.status}`);
634
- if (response.data.expirationDateTime) {
635
- await this.webhookSubscriptionRepository.updateSubscriptionExpiration(subscriptionId, new Date(response.data.expirationDateTime));
636
- this.logger.debug(`[${correlationId}] Updated local database with new expiration: ${response.data.expirationDateTime}`);
637
- }
638
- this.logger.log(`[${correlationId}] Successfully renewed subscription ${subscriptionId}. ` +
639
- `New expiration: ${response.data.expirationDateTime}`);
640
- return response.data;
641
- }
642
- catch (error) {
643
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
644
- if (axios_1.default.isAxiosError(error)) {
645
- const statusCode = (_a = error.response) === null || _a === void 0 ? void 0 : _a.status;
646
- if (statusCode === 404) {
647
- this.logger.warn(`[${correlationId}] Subscription ${subscriptionId} not found at Microsoft. ` +
648
- `Deactivating in local database.`);
649
- await this.webhookSubscriptionRepository.deactivateSubscription(subscriptionId);
650
- throw new Error(`Subscription ${subscriptionId} not found at Microsoft. ` +
651
- `Subscription has been automatically deactivated.`);
652
- }
653
- if (statusCode === 401 || statusCode === 403) {
654
- this.logger.error(`[${correlationId}] Authentication failed for subscription ${subscriptionId}. ` +
655
- `Status: ${statusCode}, Response: ${JSON.stringify((_b = error.response) === null || _b === void 0 ? void 0 : _b.data)}`);
656
- }
657
- if (statusCode === 429) {
658
- this.logger.warn(`[${correlationId}] Rate limited by Microsoft Graph API for subscription ${subscriptionId}`);
659
- }
660
- }
661
- this.logger.error(`[${correlationId}] Failed to renew subscription ${subscriptionId}: ${errorMessage}`);
662
- throw new Error(`Failed to renew webhook subscription: ${errorMessage}`);
663
- }
664
- }
665
- async getSubscription(subscriptionId) {
666
- const subscription = await this.webhookSubscriptionRepository.findBySubscriptionId(subscriptionId);
667
- if (!subscription) {
668
- return null;
669
- }
670
- return subscription;
671
- }
672
- async deleteWebhookSubscription(subscriptionId, userId) {
673
- var _a;
674
- const correlationId = `delete-sub-${subscriptionId}-${Date.now()}`;
675
- try {
676
- this.logger.log(`[${correlationId}] Deleting calendar subscription ${subscriptionId} for user ${userId}`);
677
- const internalUserId = await this.userIdConverter.toInternalUserId(userId);
678
- const accessToken = await this.microsoftAuthService.getUserAccessToken({
679
- internalUserId,
680
- includeInactive: true
681
- });
682
- this.logger.debug(`[${correlationId}] Access token obtained`);
683
- this.logger.debug(`[${correlationId}] Calling MicrosoftSubscriptionService to delete subscription`);
684
- this.logger.log(`Deleted webhook subscription: ${subscriptionId}`);
685
- await this.subscriptionService.deleteSubscription(subscriptionId, accessToken);
686
- this.logger.log(`[${correlationId}] Successfully deleted subscription at Microsoft`);
687
- await this.webhookSubscriptionRepository.deactivateSubscription(subscriptionId);
688
- this.logger.debug(`[${correlationId}] Deactivated subscription in local database`);
689
- const otherActiveSubscriptions = await this.webhookSubscriptionRepository.count({
690
- where: {
691
- userId: internalUserId,
692
- isActive: true,
693
- subscriptionId: (0, typeorm_2.Not)(subscriptionId)
694
- }
695
- });
696
- if (otherActiveSubscriptions === 0) {
697
- const updateCriteria = typeof userId === 'string' ? { externalUserId: userId } : { id: userId };
698
- await this.microsoftUserRepository.update(updateCriteria, { isActive: false });
699
- this.logger.debug(`[${correlationId}] Marked Microsoft user as inactive - no other subscriptions remain`);
700
- }
701
- else {
702
- this.logger.debug(`[${correlationId}] User still has ${otherActiveSubscriptions} other active subscription(s), keeping user active`);
703
- }
704
- this.logger.log(`[${correlationId}] Successfully deleted calendar subscription ${subscriptionId}`);
705
- return true;
706
- }
707
- catch (error) {
708
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
709
- if (axios_1.default.isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
710
- this.logger.log(`[${correlationId}] Subscription ${subscriptionId} not found at Microsoft, ` +
711
- `cleaning up local database`);
712
- await this.webhookSubscriptionRepository.deactivateSubscription(subscriptionId);
713
- this.logger.log(`[${correlationId}] Successfully cleaned up orphaned subscription ${subscriptionId}`);
714
- return true;
715
- }
716
- this.logger.error(`[${correlationId}] Failed to delete subscription ${subscriptionId}: ${errorMessage}`);
717
- throw new Error(`Failed to delete webhook subscription: ${errorMessage}`);
718
- }
719
- }
720
- async getActiveSubscription(externalUserId) {
721
- var _a;
722
- try {
723
- const internalUserId = await this.userIdConverter.externalToInternal(externalUserId, { cache: false });
724
- this.logger.log(`[getActiveSubscription] Getting active subscription for user ${externalUserId} (internalUserId: ${internalUserId})`);
725
- const subscription = await this.webhookSubscriptionRepository.findActiveByUserId(internalUserId);
726
- this.logger.log(`[getActiveSubscription] Found subscription: ${subscription === null || subscription === void 0 ? void 0 : subscription.subscriptionId}`);
727
- return (_a = subscription === null || subscription === void 0 ? void 0 : subscription.subscriptionId) !== null && _a !== void 0 ? _a : null;
728
- }
729
- catch (_b) {
730
- this.logger.debug(`No active subscription for user ${externalUserId}`);
731
- return null;
732
- }
733
- }
734
- async renewSubscriptions() {
735
- try {
736
- const expiringSubscriptions = await this.webhookSubscriptionRepository.findSubscriptionsNeedingRenewal(24);
737
- if (expiringSubscriptions.length === 0) {
738
- this.logger.debug("No subscriptions need renewal");
739
- return;
740
- }
741
- this.logger.log(`Found ${String(expiringSubscriptions.length)} subscriptions that need renewal`);
742
- for (const subscription of expiringSubscriptions) {
743
- try {
744
- await this.renewWebhookSubscription(subscription.subscriptionId, subscription.userId);
745
- }
746
- catch (error) {
747
- this.logger.error(`Failed to renew subscription ${subscription.subscriptionId}:`, error);
748
- }
749
- }
750
- }
751
- catch (error) {
752
- this.logger.error("Error in subscription renewal job:", error);
753
- }
754
- }
755
520
  async handleOutlookWebhook(notificationItem, useStreaming = false, webhookTraceId) {
756
521
  try {
757
522
  const { subscriptionId, clientState, resource, changeType } = notificationItem;
@@ -766,6 +531,9 @@ let CalendarService = CalendarService_1 = class CalendarService {
766
531
  const totalProcessed = useStreaming
767
532
  ? await this.processChangesStreaming(internalUserId, String(subscriptionId || ''), resource || '', webhookTraceId)
768
533
  : await this.processChangesBuffering(internalUserId, String(subscriptionId || ''), resource || '', webhookTraceId);
534
+ if (subscriptionId) {
535
+ this.subscriptionService.trackNotificationReceived(String(subscriptionId));
536
+ }
769
537
  return { success: true, message: `Processed ${totalProcessed} events` };
770
538
  }
771
539
  catch (error) {
@@ -1057,12 +825,13 @@ let CalendarService = CalendarService_1 = class CalendarService {
1057
825
  return { success: false, message: `Subscription ID is required` };
1058
826
  }
1059
827
  try {
1060
- const subscription = await this.getSubscription(notificationItem.subscriptionId);
828
+ const subscription = await this.subscriptionService.getSubscription(notificationItem.subscriptionId);
1061
829
  if (!subscription) {
1062
830
  this.logger.error(`Subscription not found for subscriptionId: ${notificationItem.subscriptionId}`);
1063
831
  return { success: false, message: `Subscription not found for subscriptionId: ${notificationItem.subscriptionId}` };
1064
832
  }
1065
833
  this.logger.log(`[WEBHOOK_IDENTIFIED] webhookTraceId=${webhookTraceId || 'none'}, userId=${subscription.userId}, subscriptionId=${subscription.subscriptionId}`);
834
+ this.subscriptionService.trackNotificationReceived(subscription.subscriptionId);
1066
835
  this.eventEmitter.emit(event_types_enum_1.OutlookEventTypes.EVENT_NOTIFICATION, {
1067
836
  userId: subscription.userId,
1068
837
  subscriptionId: subscription.subscriptionId,
@@ -1137,6 +906,20 @@ let CalendarService = CalendarService_1 = class CalendarService {
1137
906
  throw error;
1138
907
  }
1139
908
  }
909
+ async syncDeltaChanges(externalUserId, subscriptionId) {
910
+ const internalUserId = await this.userIdConverter.externalToInternal(externalUserId);
911
+ const allChanges = await this.fetchAndSortChanges(externalUserId);
912
+ if (allChanges.length === 0) {
913
+ this.logger.debug(`[syncDeltaChanges] No pending changes for user ${externalUserId}`);
914
+ return 0;
915
+ }
916
+ this.logger.log(`[syncDeltaChanges] Processing ${allChanges.length} delta changes for user ${externalUserId}`);
917
+ for (const change of allChanges) {
918
+ this.processDeltaEventChange(change, internalUserId, subscriptionId || '', '/me/events');
919
+ }
920
+ this.logger.log(`[syncDeltaChanges] Completed: ${allChanges.length} changes processed for user ${externalUserId}`);
921
+ return allChanges.length;
922
+ }
1140
923
  async processChangesStreaming(internalUserId, subscriptionId, resource, webhookTraceId) {
1141
924
  var _a, e_1, _b, _c;
1142
925
  let totalProcessed = 0;
@@ -1204,7 +987,7 @@ let CalendarService = CalendarService_1 = class CalendarService {
1204
987
  this.logger.log(`[processDeltaEventChange] Emitted ${eventType} for event ID: ${change.id || "unknown"}, webhookTraceId=${webhookTraceId || 'none'}`);
1205
988
  }
1206
989
  async validateWebhookSubscription(subscriptionId, clientState) {
1207
- const subscription = await this.webhookSubscriptionRepository.findBySubscriptionId(subscriptionId || "");
990
+ const subscription = await this.subscriptionService.getSubscription(subscriptionId || "");
1208
991
  if (!subscription) {
1209
992
  this.logger.warn(`Unknown subscription ID: ${subscriptionId || "unknown"}`);
1210
993
  return { success: false, message: "Unknown subscription" };
@@ -1236,19 +1019,12 @@ let CalendarService = CalendarService_1 = class CalendarService {
1236
1019
  }
1237
1020
  };
1238
1021
  exports.CalendarService = CalendarService;
1239
- __decorate([
1240
- (0, schedule_1.Cron)(schedule_1.CronExpression.EVERY_HOUR),
1241
- __metadata("design:type", Function),
1242
- __metadata("design:paramtypes", []),
1243
- __metadata("design:returntype", Promise)
1244
- ], CalendarService.prototype, "renewSubscriptions", null);
1245
1022
  exports.CalendarService = CalendarService = CalendarService_1 = __decorate([
1246
1023
  (0, common_1.Injectable)(),
1247
1024
  __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => microsoft_auth_service_1.MicrosoftAuthService))),
1248
- __param(3, (0, common_1.Inject)(constants_1.MICROSOFT_CONFIG)),
1249
- __param(5, (0, typeorm_1.InjectRepository)(microsoft_user_entity_1.MicrosoftUser)),
1025
+ __param(2, (0, common_1.Inject)(constants_1.MICROSOFT_CONFIG)),
1026
+ __param(4, (0, typeorm_1.InjectRepository)(microsoft_user_entity_1.MicrosoftUser)),
1250
1027
  __metadata("design:paramtypes", [microsoft_auth_service_1.MicrosoftAuthService,
1251
- outlook_webhook_subscription_repository_1.OutlookWebhookSubscriptionRepository,
1252
1028
  event_emitter_1.EventEmitter2, Object, outlook_delta_link_repository_1.OutlookDeltaLinkRepository,
1253
1029
  typeorm_2.Repository,
1254
1030
  delta_sync_service_1.DeltaSyncService,
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.service.js","sourceRoot":"","sources":["../../../src/services/calendar/calendar.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAwE;AACxE,yDAAsD;AACtD,8EAA2D;AAC3D,iCAA0B;AAE1B,2EAAsE;AACtE,+CAAwD;AACxD,wHAAkH;AAClH,oGAA8F;AAE9F,+CAAmD;AAEnD,mEAAiE;AACjE,6CAAmD;AACnD,gFAAqE;AACrE,qCAA0C;AAC1C,qEAAgE;AAChE,mFAA6E;AAC7E,uEAA8D;AAC9D,mGAA8F;AAC9F,qFAA4E;AAE5E,qFAA+E;AAC/E,uDAAkE;AAClE,+DAAsD;AAGtD,MAAM,qBAAqB,GAAG,oCAAiB,CAAC,aAAa,CAAC;AAC9D,MAAM,qBAAqB,GAAG,oCAAiB,CAAC,aAAa,CAAC;AAC9D,MAAM,qBAAqB,GAAG,oCAAiB,CAAC,aAAa,CAAC;AAG9D,MAAM,yBAAyB,GAAsD;IACnF,CAAC,qBAAqB,CAAC,EAAE,SAAS;IAClC,CAAC,qBAAqB,CAAC,EAAE,SAAS;IAClC,CAAC,qBAAqB,CAAC,EAAE,SAAS;CACnC,CAAC;AAMF,SAAS,UAAU,CAAC,MAAa;;IAC/B,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,IAAI,CAC3B,MAAA,MAAM,CAAC,oBAAoB,mCAAI,MAAM,CAAC,eAAe,CACtD,CAAC,OAAO,EAAE,CAAC;IACZ,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;IAE3D,OAAO,YAAY,GAAG,OAAO,IAAI,IAAI,CAAC;AACxC,CAAC;AAKD,SAAS,eAAe,CAAC,MAAa;IAEpC,IAAK,MAAqC,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAGD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC;AAC5E,CAAC;AAGM,IAAM,eAAe,uBAArB,MAAM,eAAe;IAK1B,YAEE,oBAA2D,EAC1C,6BAAmE,EACnE,YAA2B,EAE5C,eAAwD,EACvC,mBAA+C,EAEhE,uBAAmE,EAClD,gBAAkC,EAClC,eAAuC,EACvC,mBAAiD,EACjD,WAAoC;QAXpC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,kCAA6B,GAA7B,6BAA6B,CAAsC;QACnE,iBAAY,GAAZ,YAAY,CAAe;QAE3B,oBAAe,GAAf,eAAe,CAAwB;QACvC,wBAAmB,GAAnB,mBAAmB,CAA4B;QAE/C,4BAAuB,GAAvB,uBAAuB,CAA2B;QAClD,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,oBAAe,GAAf,eAAe,CAAwB;QACvC,wBAAmB,GAAnB,mBAAmB,CAA8B;QACjD,gBAAW,GAAX,WAAW,CAAyB;QAjBtC,WAAM,GAAG,IAAI,eAAM,CAAC,iBAAe,CAAC,IAAI,CAAC,CAAC;QAE1C,2BAAsB,GAAG,IAAI,yBAAQ,CAAiB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAgBpF,CAAC;IAQJ,KAAK,CAAC,oBAAoB,CAAC,cAAsB;QAC/C,IAAI,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,cAAc,EAAE,CAAC,CAAC;gBACnF,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;gBACtD,KAAK,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC1C,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,gDAAgD,cAAc,EAAE,CAAC,CAAC;YACpF,CAAC;YAGD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,cAAc,EAAE,CAAC,CAAC;gBAC5E,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACxE,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,cAAc,EAAE,CAAC,CAAC;YAGpF,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAGtF,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAGrD,MAAM,QAAQ,GAAG,MAAM,IAAA,+CAAmB,EACxC,GAAG,EAAE,CAAC,eAAK,CAAC,GAAG,CACb,8CAA8C,EAC9C;gBACE,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,WAAW,EAAE;oBACtC,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,sBAAsB;iBACjC;aACF,CACF,EACD;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,wBAAwB,cAAc,EAAE;gBACtD,UAAU,EAAE,CAAC;aACd,CACF,CAAC;YAEF,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,EAAE,CAAA,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAGpC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;YACpC,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YAE5D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAC;YAEjE,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,cAAc,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1F,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IASD,KAAK,CAAC,WAAW,CACf,KAAqB,EACrB,cAAsB,EACtB,UAAkB;QAElB,IAAI,CAAC;YAEH,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAC,cAAc,EAAC,CAAC,CAAC;YAGvE,MAAM,MAAM,GAAG,+BAAM,CAAC,IAAI,CAAC;gBACzB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrB,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC1B,CAAC;aACF,CAAC,CAAC;YAGH,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,+CAAmB,EAC7C,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,UAAU,SAAS,CAAC;iBACnD,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;iBACxC,IAAI,CAAC,KAAK,CAAC,EACd;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,4BAA4B,UAAU,aAAa,cAAc,EAAE;gBACjF,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,cAAc;aACvB,CACF,CAAU,CAAC;YAGZ,OAAO;gBACL,KAAK,EAAE,YAAY;aACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4CAA4C,YAAY,EAAE,CAC3D,CAAC;YACF,MAAM,IAAI,KAAK,CACb,4CAA4C,YAAY,EAAE,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IAUD,KAAK,CAAC,WAAW,CACf,OAAe,EACf,OAAuB,EACvB,cAAsB,EACtB,UAAkB;QAElB,IAAI,CAAC;YAEH,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAC,cAAc,EAAC,CAAC,CAAC;YAGvE,MAAM,MAAM,GAAG,+BAAM,CAAC,IAAI,CAAC;gBACzB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrB,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC1B,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,OAAO,gBAAgB,UAAU,aAAa,cAAc,EAAE,CAAC,CAAC;YAGlG,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,+CAAmB,EAC7C,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,UAAU,WAAW,OAAO,EAAE,CAAC;iBAC9D,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;iBACxC,KAAK,CAAC,OAAO,CAAC,EACjB;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,gBAAgB,OAAO,gBAAgB,UAAU,aAAa,cAAc,EAAE;gBAC5F,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,cAAc;aACvB,CACF,CAAU,CAAC;YAEZ,OAAO;gBACL,KAAK,EAAE,YAAY;aACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4CAA4C,YAAY,EAAE,CAC3D,CAAC;YACF,MAAM,IAAI,KAAK,CACb,4CAA4C,YAAY,EAAE,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IAUD,KAAK,CAAC,YAAY,CAChB,cAAsB,EACtB,OAAe;QAEf,IAAI,CAAC;YAEH,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAC,cAAc,EAAC,CAAC,CAAC;YAGvE,MAAM,MAAM,GAAG,+BAAM,CAAC,IAAI,CAAC;gBACzB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrB,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC1B,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,OAAO,aAAa,cAAc,EAAE,CAAC,CAAC;YAG1E,MAAM,KAAK,GAAG,CAAC,MAAM,IAAA,+CAAmB,EACtC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC;iBACtC,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;iBACxC,GAAG,EAAE,EACR;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,aAAa,OAAO,aAAa,cAAc,EAAE;gBAC/D,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,cAAc;gBACtB,eAAe,EAAE,IAAI;aACtB,CACF,CAAiB,CAAC;YAEnB,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yCAAyC,YAAY,EAAE,CACxD,CAAC;YACF,MAAM,IAAI,KAAK,CACb,yCAAyC,YAAY,EAAE,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CACf,KAAqB,EACrB,cAAsB,EACtB,UAAkB;QAElB,IAAI,CAAC;YAEH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YACnF,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAC,cAAc,EAAC,CAAC,CAAC;YAGvE,MAAM,MAAM,GAAG,+BAAM,CAAC,IAAI,CAAC;gBACzB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrB,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC1B,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,EAAE,kBAAkB,UAAU,aAAa,cAAc,EAAE,CAAC,CAAC;YAGrG,MAAM,IAAA,+CAAmB,EACvB,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,UAAU,WAAW,KAAK,CAAC,EAAE,EAAE,CAAC;iBAC/D,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;iBACxC,MAAM,EAAE,EACX;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,gBAAgB,KAAK,CAAC,EAAE,kBAAkB,UAAU,aAAa,cAAc,EAAE;gBAC/F,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,cAAc;gBACtB,eAAe,EAAE,IAAI;aACtB,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0DAA0D,YAAY,EAAE,CACzE,CAAC;YACF,MAAM,IAAI,KAAK,CACb,4CAA4C,YAAY,EAAE,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IA8BD,KAAK,CAAC,iBAAiB,CACrB,MAAwB,EACxB,cAAsB,EACtB,UAAkB;QAElB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YACnF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YAE3F,MAAM,OAAO,GAAyE,EAAE,CAAC;YAGzF,MAAM,UAAU,GAAG,EAAE,CAAC;YAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;gBACnD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;gBAGpD,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAErD,IAAI,CAAC;oBAEH,MAAM,YAAY,GAAwB;wBACxC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;4BAC3C,EAAE,EAAE,GAAG,KAAK,EAAE;4BACd,MAAM,EAAE,MAAM;4BACd,GAAG,EAAE,iBAAiB,UAAU,SAAS;4BACzC,IAAI,EAAE,KAAK;4BACX,OAAO,EAAE;gCACP,cAAc,EAAE,kBAAkB;gCAClC,QAAQ,EAAE,sBAAsB;6BACjC;yBACF,CAAC,CAAC;qBACJ,CAAC;oBAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,qBAAqB,WAAW,CAAC,MAAM,uBAAuB,UAAU,aAAa,cAAc,EAAE,CACtG,CAAC;oBAGF,MAAM,QAAQ,GAAG,MAAM,IAAA,+CAAmB,EACxC,GAAG,EAAE,CAAC,eAAK,CAAC,IAAI,CACd,yCAAyC,EACzC,YAAY,EACZ;wBACE,OAAO,EAAE;4BACP,aAAa,EAAE,UAAU,WAAW,EAAE;4BACtC,cAAc,EAAE,kBAAkB;4BAClC,QAAQ,EAAE,sBAAsB;yBACjC;qBACF,CACF,EACD;wBACE,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,YAAY,EAAE,gBAAgB,WAAW,CAAC,MAAM,oBAAoB,cAAc,EAAE;wBACpF,UAAU,EAAE,CAAC;qBACd,CACF,CAAC;oBAEF,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC;oBAErC,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAC1D,CAAC;oBAGD,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE;wBACvD,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC;wBAGnC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;4BAC5B,OAAO,CAAC,IAAI,CAAC;gCACX,KAAK,EAAE,WAAW;gCAClB,OAAO,EAAE,IAAI;gCACb,KAAK,EAAE,QAAQ,CAAC,IAAI;6BACrB,CAAC,CAAC;4BAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC;wBAC1E,CAAC;6BAAM,CAAC;4BAEN,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACnD,OAAO,CAAC,IAAI,CAAC;gCACX,KAAK,EAAE,WAAW;gCAClB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE;6BAClD,CAAC,CAAC;4BAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,WAAW,KAAK,YAAY,EAAE,CAAC,CAAC;wBACvF,CAAC;oBACH,CAAC,CAAC,CAAC;gBAEL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAEf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oBAE9E,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE;wBACpC,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC;wBACnC,OAAO,CAAC,IAAI,CAAC;4BACX,KAAK,EAAE,WAAW;4BAClB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,yBAAyB,YAAY,EAAE;yBAC/C,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6BAA6B,WAAW,CAAC,MAAM,YAAY,YAAY,EAAE,CAC1E,CAAC;gBACJ,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAEzD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,4BAA4B,YAAY,eAAe,SAAS,kBAAkB,MAAM,CAAC,MAAM,QAAQ,CACxG,CAAC;YAEF,OAAO,OAAO,CAAC;QAEjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;YAGvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC/B,KAAK;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0BAA0B,YAAY,EAAE;aAChD,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAgBD,KAAK,CAAC,iBAAiB,CACrB,OAA4D,EAC5D,cAAsB,EACtB,UAAkB;QAElB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YACnF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YAE3F,MAAM,OAAO,GAAyE,EAAE,CAAC;YAGzF,MAAM,UAAU,GAAG,EAAE,CAAC;YAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;gBACpD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;gBAGtD,MAAM,YAAY,GAAwB;oBACxC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC7C,EAAE,EAAE,GAAG,KAAK,EAAE;wBACd,MAAM,EAAE,OAAO;wBACf,GAAG,EAAE,iBAAiB,UAAU,WAAW,MAAM,CAAC,OAAO,EAAE;wBAC3D,IAAI,EAAE,MAAM,CAAC,OAAO;wBACpB,OAAO,EAAE;4BACP,cAAc,EAAE,kBAAkB;4BAClC,QAAQ,EAAE,sBAAsB;yBACjC;qBACF,CAAC,CAAC;iBACJ,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,qBAAqB,YAAY,CAAC,MAAM,uBAAuB,UAAU,aAAa,cAAc,EAAE,CACvG,CAAC;gBAEF,IAAI,CAAC;oBAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,+CAAmB,EACxC,GAAG,EAAE,CAAC,eAAK,CAAC,IAAI,CACd,yCAAyC,EACzC,YAAY,EACZ;wBACE,OAAO,EAAE;4BACP,aAAa,EAAE,UAAU,WAAW,EAAE;4BACtC,cAAc,EAAE,kBAAkB;4BAClC,QAAQ,EAAE,sBAAsB;yBACjC;qBACF,CACF,EACD;wBACE,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,YAAY,EAAE,gBAAgB,YAAY,CAAC,MAAM,oBAAoB,cAAc,EAAE;wBACrF,UAAU,EAAE,CAAC;qBACd,CACF,CAAC;oBAEF,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC;oBAErC,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAC1D,CAAC;oBAGD,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE;wBACvD,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC;wBAGnC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;4BAC5B,OAAO,CAAC,IAAI,CAAC;gCACX,KAAK,EAAE,WAAW;gCAClB,OAAO,EAAE,IAAI;gCACb,KAAK,EAAE,QAAQ,CAAC,IAAI;6BACrB,CAAC,CAAC;4BAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC;wBAC1E,CAAC;6BAAM,CAAC;4BAEN,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACnD,OAAO,CAAC,IAAI,CAAC;gCACX,KAAK,EAAE,WAAW;gCAClB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE;6BAClD,CAAC,CAAC;4BAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,WAAW,KAAK,YAAY,EAAE,CAAC,CAAC;wBACvF,CAAC;oBACH,CAAC,CAAC,CAAC;gBAEL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAEf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oBAE9E,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE;wBACrC,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC;wBACnC,OAAO,CAAC,IAAI,CAAC;4BACX,KAAK,EAAE,WAAW;4BAClB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,yBAAyB,YAAY,EAAE;yBAC/C,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2BAA2B,YAAY,CAAC,MAAM,YAAY,YAAY,EAAE,CACzE,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAEzD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,0BAA0B,YAAY,eAAe,SAAS,kBAAkB,OAAO,CAAC,MAAM,QAAQ,CACvG,CAAC;YAEF,OAAO,OAAO,CAAC;QAEjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,YAAY,EAAE,CAAC,CAAC;YAGrE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAChC,KAAK;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,wBAAwB,YAAY,EAAE;aAC9C,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,QAAkB,EAClB,cAAsB,EACtB,UAAkB;QAElB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YACnF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YAE3F,MAAM,OAAO,GAAuD,EAAE,CAAC;YAGvE,MAAM,UAAU,GAAG,EAAE,CAAC;YAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;gBACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;gBAGxD,MAAM,YAAY,GAAwB;oBACxC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC/C,EAAE,EAAE,GAAG,KAAK,EAAE;wBACd,MAAM,EAAE,QAAQ;wBAChB,GAAG,EAAE,iBAAiB,UAAU,WAAW,OAAO,EAAE;wBACpD,OAAO,EAAE;4BACP,QAAQ,EAAE,sBAAsB;yBACjC;qBACF,CAAC,CAAC;iBACJ,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,qBAAqB,aAAa,CAAC,MAAM,yBAAyB,UAAU,aAAa,cAAc,EAAE,CAC1G,CAAC;gBAEF,IAAI,CAAC;oBAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,+CAAmB,EACxC,GAAG,EAAE,CAAC,eAAK,CAAC,IAAI,CACd,yCAAyC,EACzC,YAAY,EACZ;wBACE,OAAO,EAAE;4BACP,aAAa,EAAE,UAAU,WAAW,EAAE;4BACtC,cAAc,EAAE,kBAAkB;4BAClC,QAAQ,EAAE,sBAAsB;yBACjC;qBACF,CACF,EACD;wBACE,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,YAAY,EAAE,gBAAgB,aAAa,CAAC,MAAM,oBAAoB,cAAc,EAAE;wBACtF,UAAU,EAAE,CAAC;qBACd,CACF,CAAC;oBAEF,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC;oBAErC,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAC1D,CAAC;oBAGD,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;wBAClD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;wBAGrC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;4BACvD,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;4BAE7C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,SAAS,OAAO,+DAA+D,CAChF,CAAC;4BACJ,CAAC;wBACH,CAAC;6BAAM,CAAC;4BAEN,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;4BACrF,OAAO,CAAC,IAAI,CAAC;gCACX,EAAE,EAAE,OAAO;gCACX,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE;6BAClD,CAAC,CAAC;4BAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,KAAK,YAAY,EAAE,CAAC,CAAC;wBAC1E,CAAC;oBACH,CAAC,CAAC,CAAC;gBAEL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAEf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oBAE9E,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;wBAC9B,OAAO,CAAC,IAAI,CAAC;4BACX,EAAE,EAAE,OAAO;4BACX,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,yBAAyB,YAAY,EAAE;yBAC/C,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6BAA6B,aAAa,CAAC,MAAM,YAAY,YAAY,EAAE,CAC5E,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAEzD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,4BAA4B,YAAY,eAAe,SAAS,kBAAkB,QAAQ,CAAC,MAAM,QAAQ,CAC1G,CAAC;YAEF,OAAO,OAAO,CAAC;QAEjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;YAGvE,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzB,EAAE;gBACF,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0BAA0B,YAAY,EAAE;aAChD,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAOD,KAAK,CAAC,yBAAyB,CAC7B,cAAsB;;QAGtB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QAErG,MAAM,aAAa,GAAG,WAAW,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,aAAa,qDAAqD,cAAc,EAAE,CAAC,CAAC;QAExG,IAAI,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,aAAa,oCAAoC,cAAc,EAAE,CAAC,CAAC;YAEvF,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAC,cAAc,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAErF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,aAAa,sCAAsC,CAAC,CAAC;YAGzE,MAAM,kBAAkB,GAAG,IAAI,IAAI,EAAE,CAAC;YACtC,kBAAkB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YAEhE,MAAM,MAAM,GACV,IAAI,CAAC,eAAe,CAAC,cAAc,IAAI,uBAAuB,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAEhE,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,IAAI,mBAAmB,CAAC;YACpF,MAAM,eAAe,GAAG,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC;YAGvD,MAAM,gBAAgB,GAAG;gBACvB,UAAU,EAAE,yBAAyB;gBACrC,eAAe;gBAEf,wBAAwB,EAAE,eAAe;gBACzC,QAAQ,EAAE,YAAY;gBACtB,kBAAkB,EAAE,kBAAkB,CAAC,WAAW,EAAE;gBACpD,WAAW,EAAE,QAAQ,cAAc,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;aACrF,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,IAAI,aAAa,yDAAyD,eAAe,EAAE,CAC5F,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,wBAAwB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAC5E,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,aAAa,+CAA+C,CAAC,CAAC;YAClF,MAAM,QAAQ,GAAG,MAAM,IAAA,+CAAmB,EACxC,GAAG,EAAE,CAAC,eAAK,CAAC,IAAI,CACd,gDAAgD,EAChD,gBAAgB,EAChB;gBACE,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,WAAW,EAAE;oBACtC,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,sBAAsB;iBACjC;aACF,CACF,EACD;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,wCAAwC,cAAc,EAAE;gBACtE,UAAU,EAAE,CAAC;aACd,CACF,CAAC;YAEF,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,IAAI,aAAa,kCAAkC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS,aAAa,cAAc,EAAE,CAC9G,CAAC;YAGF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,aAAa,sDAAsD,cAAc,qBAAqB,cAAc,GAAG,CAAC,CAAC;YAC7I,MAAM,IAAI,CAAC,6BAA6B,CAAC,gBAAgB,CAAC;gBACxD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAChC,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;gBAChC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;gBACpC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE;gBAC5C,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe;gBAC9C,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB;oBAClD,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;oBAC5C,CAAC,CAAC,IAAI,IAAI,EAAE;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,aAAa,gDAAgD,CAAC,CAAC;YACnF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,aAAa,wDAAwD,CAAC,CAAC;YAE3F,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,uCAAuC,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,IAAI;oBAClF,YAAY,IAAI,CAAC,SAAS,CAAC,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,CAAC,EAAE,CACnD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,aAAa,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;IAqBD,KAAK,CAAC,wBAAwB,CAC5B,cAAsB,EACtB,cAAsB;;QAEtB,MAAM,aAAa,GAAG,SAAS,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAE9D,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,IAAI,aAAa,sCAAsC,cAAc,aAAa,cAAc,EAAE,CACnG,CAAC;YAGF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;gBACtD,KAAK,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC9C,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,EAAE,CAAC;gBAEV,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,aAAa,UAAU,cAAc,0BAA0B;oBACnE,6BAA6B,cAAc,EAAE,CAC9C,CAAC;gBAEF,MAAM,IAAI,CAAC,6BAA6B,CAAC,sBAAsB,CAC7D,cAAc,CACf,CAAC;gBAEF,MAAM,IAAI,KAAK,CACb,6BAA6B,cAAc,IAAI;oBAC/C,QAAQ,cAAc,0BAA0B;oBAChD,kDAAkD,CACnD,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,UAAU,cAAc,yBAAyB,CACnE,CAAC;YAGF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;gBACrE,cAAc;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,aAAa,yBAAyB,CAAC,CAAC;YAG9D,MAAM,kBAAkB,GAAG,IAAI,IAAI,EAAE,CAAC;YACtC,kBAAkB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YAEhE,MAAM,WAAW,GAAG;gBAClB,kBAAkB,EAAE,kBAAkB,CAAC,WAAW,EAAE;aACrD,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,qDAAqD,CACvE,CAAC;YAGF,MAAM,QAAQ,GAAG,MAAM,IAAA,+CAAmB,EACxC,GAAG,EAAE,CAAC,eAAK,CAAC,KAAK,CACf,kDAAkD,cAAc,EAAE,EAClE,WAAW,EACX;gBACE,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,WAAW,EAAE;oBACtC,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,sBAAsB;iBACjC;aACF,CACF,EACD;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,8BAA8B,cAAc,aAAa,cAAc,EAAE;gBACvF,UAAU,EAAE,CAAC;aACd,CACF,CAAC;YAEF,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,0CAA0C,QAAQ,CAAC,MAAM,EAAE,CAC7E,CAAC;YAGF,IAAI,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,6BAA6B,CAAC,4BAA4B,CACnE,cAAc,EACd,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAC3C,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,iDAAiD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CACrG,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,IAAI,aAAa,uCAAuC,cAAc,IAAI;gBAC1E,mBAAmB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CACtD,CAAC;YAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;QAEvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAG9E,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,CAAC;gBAG1C,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,aAAa,kBAAkB,cAAc,2BAA2B;wBAC5E,iCAAiC,CAClC,CAAC;oBAEF,MAAM,IAAI,CAAC,6BAA6B,CAAC,sBAAsB,CAC7D,cAAc,CACf,CAAC;oBAEF,MAAM,IAAI,KAAK,CACb,gBAAgB,cAAc,2BAA2B;wBACzD,kDAAkD,CACnD,CAAC;gBACJ,CAAC;gBAGD,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,4CAA4C,cAAc,IAAI;wBAC/E,WAAW,UAAU,eAAe,IAAI,CAAC,SAAS,CAAC,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,CAAC,EAAE,CAC3E,CAAC;gBACJ,CAAC;gBAGD,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,aAAa,0DAA0D,cAAc,EAAE,CAC5F,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,kCAAkC,cAAc,KAAK,YAAY,EAAE,CACrF,CAAC;YAEF,MAAM,IAAI,KAAK,CAAC,yCAAyC,YAAY,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,cAAsB;QAC1C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAEnG,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAqBD,KAAK,CAAC,yBAAyB,CAC7B,cAAsB,EACtB,MAAuB;;QAEvB,MAAM,aAAa,GAAG,cAAc,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAEnE,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,IAAI,aAAa,oCAAoC,cAAc,aAAa,MAAM,EAAE,CACzF,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAG3E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;gBACrE,cAAc;gBACd,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,aAAa,yBAAyB,CAAC,CAAC;YAG9D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,+DAA+D,CACjF,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,cAAc,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAE/E,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,IAAI,aAAa,kDAAkD,CACpE,CAAC;YAGF,MAAM,IAAI,CAAC,6BAA6B,CAAC,sBAAsB,CAC7D,cAAc,CACf,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,8CAA8C,CAChE,CAAC;YAGF,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC;gBAC9E,KAAK,EAAE;oBACL,MAAM,EAAE,cAAc;oBACtB,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE,IAAA,aAAG,EAAC,cAAc,CAAC;iBACpC;aACF,CAAC,CAAC;YAGH,IAAI,wBAAwB,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,cAAc,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;gBAChG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CACvC,cAAc,EACd,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,qEAAqE,CACvF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,oBAAoB,wBAAwB,oDAAoD,CAClH,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,IAAI,aAAa,gDAAgD,cAAc,EAAE,CAClF,CAAC;YAEF,OAAO,IAAI,CAAC;QAEd,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAI9E,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,IAAI,aAAa,kBAAkB,cAAc,2BAA2B;oBAC5E,4BAA4B,CAC7B,CAAC;gBAEF,MAAM,IAAI,CAAC,6BAA6B,CAAC,sBAAsB,CAC7D,cAAc,CACf,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,IAAI,aAAa,mDAAmD,cAAc,EAAE,CACrF,CAAC;gBAEF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,aAAa,mCAAmC,cAAc,KAAK,YAAY,EAAE,CACtF,CAAC;YAEF,MAAM,IAAI,KAAK,CAAC,0CAA0C,YAAY,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAOD,KAAK,CAAC,qBAAqB,CAAC,cAAsB;;QAChD,IAAI,CAAC;YAEH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAErG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gEAAgE,cAAc,qBAAqB,cAAc,GAAG,CAAC,CAAC;YACtI,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,EAAE,CAAC,CAAC;YAC/F,OAAO,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,mCAAI,IAAI,CAAC;QAC9C,CAAC;QAAC,WAAM,CAAC;YAEP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,cAAc,EAAE,CAAC,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAOK,AAAN,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC;YAEH,MAAM,qBAAqB,GACzB,MAAM,IAAI,CAAC,6BAA6B,CAAC,+BAA+B,CACtE,EAAE,CACH,CAAC;YAEJ,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,SAAS,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,kCAAkC,CAChF,CAAC;YAGF,KAAK,MAAM,YAAY,IAAI,qBAAqB,EAAE,CAAC;gBACjD,IAAI,CAAC;oBAEH,MAAM,IAAI,CAAC,wBAAwB,CACjC,YAAY,CAAC,cAAc,EAC3B,YAAY,CAAC,MAAM,CACpB,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gCAAgC,YAAY,CAAC,cAAc,GAAG,EAC9D,KAAK,CACN,CAAC;gBAEJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAQD,KAAK,CAAC,oBAAoB,CACxB,gBAAoC,EACpC,eAAwB,KAAK,EAC7B,cAAuB;QAEvB,IAAI,CAAC;YAEH,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GACzD,gBAAgB,CAAC;YAEnB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mDAAmD,cAAc,IAAI,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,oBAAoB,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9I,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,aAAa,QAAQ,IAAI,SAAS,iBAAiB,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,EAAE,CACrF,CAAC;YAGF,MAAM,EAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAC,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAC/E,cAAc,EACd,WAAW,CACZ,CAAC;YAEF,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;gBACpF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC;YACjE,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,uCAAuC,cAAc,IAAI,MAAM,oBAAoB,cAAc,oBAAoB,cAAc,IAAI,SAAS,EAAE,CACnJ,CAAC;YAGF,MAAM,cAAc,GAAG,YAAY;gBACjC,CAAC,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAChC,cAAc,EACd,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,EAC5B,QAAQ,IAAI,EAAE,EACd,cAAc,CACf;gBACH,CAAC,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAChC,cAAc,EACd,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,EAC5B,QAAQ,IAAI,EAAE,EACd,cAAc,CACf,CAAC;YAEN,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,cAAc,SAAS,EAAE,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0CAA0C,YAAY,EAAE,CACzD,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IASD,KAAK,CAAC,mBAAmB,CACvB,cAAsB,EACtB,aAAsB,KAAK,EAC3B,SAGC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,kBAAkB,CAAC;QAEtC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uDAAuD,cAAc,iBAAiB,UAAU,GAAG,CAAC,CAAC;YAErH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAC3D,MAAM,EACN,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,CACV,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gDAAgD,KAAK,CAAC,MAAM,8BAA8B,cAAc,EAAE,CAAC,CAAC;YAC5H,OAAO,KAAgB,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAErD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kEAAkE,cAAc,EAAE,EAClF;gBACE,MAAM,EAAE,cAAc;gBACtB,UAAU;gBACV,SAAS,EAAE,YAAY,CAAC,IAAI;gBAC5B,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,SAAS,EAAE,YAAY,CAAC,IAAI;gBAC5B,YAAY,EAAE,YAAY,CAAC,OAAO;gBAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CACF,CAAC;YAGF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAOO,mBAAmB,CAAC,KAAc;QAMxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;aACvB,CAAC;QACJ,CAAC;QAGD,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAoB,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAG1D,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,OAAO;oBACL,IAAI,EAAE,eAAe;oBACrB,UAAU,EAAE,CAAC,CAAC;oBACd,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,6HAA6H;iBACvI,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,iBAAiB;gBACvB,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAGD,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7E,MAAM,UAAU,GAAY,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACjD,MAAM,UAAU,GAAoB,YAAY,IAAI,UAAU,CAAC,CAAC,CAAE,UAAU,CAAC,UAAqB,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC3G,MAAM,IAAI,GAAW,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC5E,MAAM,IAAI,GAAW,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAE5E,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;oBACxD,OAAO;wBACL,IAAI,EAAE,eAAe;wBACrB,UAAU,EAAE,CAAC,CAAC;wBACd,IAAI,EAAE,IAAI;wBACV,OAAO,EAAE,oEAAoE;qBAC9E,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,UAAU,EAAE,UAAU;oBACtB,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QAGD,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACxE,CAAC;IACJ,CAAC;IAkBM,qBAAqB;mFAC1B,cAAsB,EACtB,aAAsB,KAAK,EAC3B,SAGC,EACD,gBAAyB,IAAI;YAE7B,MAAM,MAAM,GAAG,cAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA,CAAC;YACjE,MAAM,UAAU,GAAG,kBAAkB,CAAC;YAEtC,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oDAAoD,cAAc,oBAAoB,aAAa,GAAG,CAAC,CAAC;gBAExH,MAAM,SAAS,GAAG,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAC/D,MAAM,EACN,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,EACT,aAAa,CACd,CAAA,CAAA,CAAA,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wDAAwD,cAAc,gBAAgB,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEzI,qBAAO,SAAS,EAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpI,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAED,KAAK,CAAC,sBAAsB,CAAC,cAAsB;QACjD,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAC,cAAc,EAAC,CAAC,CAAC;QAEvE,OAAO,+BAAM,CAAC,IAAI,CAAC;YACjB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC1B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAOD,KAAK,CAAC,aAAa,CAAC,cAAsB,EAAE,SAAiB;QAC3D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QACrG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,cAAc,EAAE,iCAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC/F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6CAA6C,cAAc,eAAe,cAAc,GAAG,CAAC,CAAC;IAC/G,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,cAAsB;QAEtB,IAAI,CAAC;YAEH,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAC,cAAc,EAAC,CAAC,CAAC;YAEvE,MAAM,QAAQ,GAAG,MAAM,IAAA,+CAAmB,EACxC,GAAG,EAAE,CAAC,eAAK,CAAC,GAAG,CACb,oCAAoC,QAAQ,EAAE,EAC9C;gBACE,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,WAAW,EAAE;oBACtC,QAAQ,EAAE,sBAAsB;iBACjC;aACF,CACF,EACD;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,qBAAqB,QAAQ,EAAE;gBAC7C,UAAU,EAAE,CAAC;gBACb,eAAe,EAAE,IAAI;aACtB,CACF,CAAC;YAEF,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAa,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IA8BD,KAAK,CAAC,cAAc,CAClB,QAAkB,EAClB,cAAsB;QAEtB,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IAYO,KAAK,CAAC,sBAAsB,CAClC,QAAkB,EAClB,cAAsB,EACtB,UAA+B,EAC/B,UAAU,GAAG,CAAC;QAEd,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gCAAgC,QAAQ,CAAC,MAAM,0DAA0D,CAC1G,CAAC;QACJ,CAAC;QAGD,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAErD,IAAI,CAAC;YAEH,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAC,cAAc,EAAC,CAAC,CAAC;YAGvE,MAAM,YAAY,GAAwB;gBACxC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;oBACvD,EAAE,EAAE,GAAG,KAAK,EAAE;oBACd,MAAM,EAAE,KAAK;oBACb,GAAG,EAAE,cAAc,OAAO,EAAE;iBAC7B,CAAC,CAAC;aACJ,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6BAA6B,YAAY,CAAC,QAAQ,CAAC,MAAM,6BAA6B,cAAc,EAAE,CACvG,CAAC;YAGF,MAAM,QAAQ,GAAG,MAAM,IAAA,+CAAmB,EACxC,GAAG,EAAE,CAAC,eAAK,CAAC,IAAI,CACd,yCAAyC,EACzC,YAAY,EACZ;gBACE,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,WAAW,EAAE;oBACtC,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,sBAAsB;iBACjC;aACF,CACF,EACD;gBACE,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,uBAAuB,cAAc,GAAG;aACvD,CACF,CAAC;YAGF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,cAAc,EAAE,CAAC,CAAC;gBAC7F,OAAO,EAAE,CAAC;YACZ,CAAC;YAGD,MAAM,MAAM,GAAY,EAAE,CAAC;YAC3B,MAAM,mBAAmB,GAAa,EAAE,CAAC;YACzC,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,IAAI,UAAU,GAAG,CAAC,CAAC;YAEnB,KAAK,MAAM,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBAEzD,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAChC,YAAY,EAAE,CAAC;gBACjB,CAAC;qBAAM,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAExC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0BAA0B,OAAO,kCAAkC,CACpE,CAAC;oBACF,aAAa,EAAE,CAAC;gBAClB,CAAC;qBAAM,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAExC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0BAA0B,OAAO,2CAA2C,CAC7E,CAAC;oBACF,UAAU,EAAE,CAAC;gBACf,CAAC;qBAAM,CAAC;oBAEN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0BAA0B,OAAO,mBAAmB,aAAa,CAAC,MAAM,IAAI;wBAC5E,SAAS,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAC9C,CAAC;oBACF,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,4CAA4C,cAAc,IAAI;gBAC9D,WAAW,YAAY,cAAc,aAAa,YAAY,UAAU,EAAE,CAC3E,CAAC;YAGF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;oBACtD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBACtC,OAAO,KAAK,GAAG,UAAU,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAE/B,MAAM,iBAAiB,GAAG,IAAA,qCAAwB,EAAC,QAAQ,CAAC,CAAC;oBAC7D,IAAI,iBAAiB,EAAE,CAAC;wBACtB,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;oBAC9E,CAAC;oBAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,6BAA6B,eAAe,CAAC,MAAM,8BAA8B,iBAAiB,GAAG,CACtG,CAAC;oBAGF,IAAI,iBAAiB,EAAE,CAAC;wBACtB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC;oBAC9E,CAAC;oBAGD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACrD,eAAe,EACf,cAAc,EACd,UAAU,EACV,UAAU,CACX,CAAC;oBAEF,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oBAAoB,mBAAmB,CAAC,MAAM,kDAAkD,CACjG,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kDAAkD,cAAc,KAAK,YAAY,EAAE,CACpF,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YAET,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAoEM,kBAAkB,CACvB,cAAsB,EACtB,OAIC;;;YAED,MAAM,SAAS,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,GAAG,CAAC;YAE5C,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,kCAAkC,cAAc,gBAAgB,SAAS,GAAG,CAC7E,CAAC;gBAEF,MAAM,MAAM,GAAG,cAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA,CAAC;gBAGjE,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAE5D,IAAI,QAAQ,GAAuB,UAAU,CAAC;gBAC9C,MAAM,MAAM,GAAY,EAAE,CAAC;gBAC3B,IAAI,YAAY,GAAG,CAAC,CAAC;gBAGrB,OAAO,QAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;oBAGhD,MAAM,QAAQ,GAAG,CAAC,cAAM,IAAA,+CAAmB,EACzC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAkB,CAAC;yBACjC,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;yBACxC,GAAG,EAAE,EACR;wBACE,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,YAAY,EAAE,yBAAyB,cAAc,EAAE;wBACvD,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,MAAM,EAAE,cAAc;qBACvB,CACF,CAAA,CAAmD,CAAC;oBAErD,MAAM,KAAK,GAAY,QAAQ,CAAC,KAAK,CAAC;oBACtC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;oBACtB,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;oBAG7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAGxE,OAAO,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;wBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;wBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qBAAqB,KAAK,CAAC,MAAM,0BAA0B,YAAY,GAAG,CAC3E,CAAC;wBACF,oBAAM,KAAK,CAAA,CAAC;oBACd,CAAC;oBAED,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBACzC,CAAC;gBAGD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;oBACpE,oBAAM,MAAM,CAAA,CAAC;gBACf,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,uBAAuB,YAAY,oBAAoB,cAAc,EAAE,CACxE,CAAC;gBAGF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oCAAiB,CAAC,gBAAgB,EAAE;oBACzD,MAAM,EAAE,cAAc;oBACtB,WAAW,EAAE,YAAY;iBAC1B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,cAAc,KAAK,YAAY,EAAE,CACrE,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAED,KAAK,CAAC,sBAAsB,CAC1B,gBAAoC,EACpC,cAAuB;QAEvB,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;QACpE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAEjF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC;gBACnG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8CAA8C,gBAAgB,CAAC,cAAc,EAAE,EAAE,CAAC;YACtH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,uCAAuC,cAAc,IAAI,MAAM,YAAY,YAAY,CAAC,MAAM,oBAAoB,YAAY,CAAC,cAAc,EAAE,CAChJ,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oCAAiB,CAAC,kBAAkB,EAAE;gBAC3D,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,cAAc,EAAE,YAAY,CAAC,cAAc;gBAC3C,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,QAAQ,EAAE,gBAAgB;gBAC1B,UAAU,EAAE,gBAAgB,CAAC,UAAU;gBACvC,cAAc;aACf,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;YACxE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IAcM,0BAA0B,CAC/B,cAAsB,EACtB,cAAsB,EACtB,OAAkE;;;YAElE,MAAM,SAAS,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,GAAG,CAAC;YAE5C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,cAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA,CAAC;gBAEjE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvG,MAAM,OAAO,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAMnG,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3C,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBAEzD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,8DAA8D,cAAc,SAAS,SAAS,CAAC,WAAW,EAAE,OAAO,OAAO,CAAC,WAAW,EAAE,sBAAsB,gBAAgB,CAAC,WAAW,EAAE,GAAG,CAChM,CAAC;gBAEF,IAAI,QAAQ,GACV,cAAc,cAAc,4BAA4B,SAAS,CAAC,WAAW,EAAE,gBAAgB,gBAAgB,CAAC,WAAW,EAAE,SAAS,SAAS,EAAE,CAAC;gBAEpJ,MAAM,MAAM,GAAY,EAAE,CAAC;gBAC3B,IAAI,YAAY,GAAG,CAAC,CAAC;gBAErB,OAAO,QAAQ,EAAE,CAAC;oBAChB,MAAM,QAAQ,GAAG,CAAC,cAAM,IAAA,+CAAmB,EACzC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAkB,CAAC;yBACjC,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;yBACxC,GAAG,EAAE,EACR;wBACE,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,YAAY,EAAE,wCAAwC,cAAc,EAAE;wBACtE,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,MAAM,EAAE,cAAc;qBACvB,CACF,CAAA,CAAmD,CAAC;oBAErD,MAAM,KAAK,GAAY,QAAQ,CAAC,KAAK,CAAC;oBACtC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;oBACtB,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;oBAE7B,OAAO,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;wBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;wBAC1C,oBAAM,KAAK,CAAA,CAAC;oBACd,CAAC;oBAED,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBACzC,CAAC;gBAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,oBAAM,MAAM,CAAA,CAAC;gBACf,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,2CAA2C,YAAY,yBAAyB,cAAc,EAAE,CACjG,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oEAAoE,cAAc,KAAK,YAAY,EAAE,CACtG,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAuBD,KAAK,CAAC,mBAAmB,CAAC,cAAsB;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6CAA6C,cAAc,EAAE,CAAC,CAAC;QAE/E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YAGjE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAIrG,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAC7C,MAAM,EACN,kBAAkB,EAClB,cAAc,EACd,iCAAY,CAAC,QAAQ,CACtB,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,cAAc,eAAe,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4CAA4C,cAAc,KACxD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAC3C,EAAE,CACH,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAWO,KAAK,CAAC,uBAAuB,CACnC,cAAsB,EACtB,cAAsB,EACtB,QAAgB,EAChB,cAAuB;;QAEvB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACrF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2DAA2D,cAAc,oBAAoB,cAAc,IAAI,MAAM,EAAE,CAAC,CAAC;;YAEzI,KAAgC,eAAA,KAAA,cAAA,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAA,IAAA,sDAAE,CAAC;gBAA7C,cAA0C;gBAA1C,WAA0C;gBAA/D,MAAM,WAAW,KAAA,CAAA;gBAC1B,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,UAAU,SAAS,WAAW,CAAC,MAAM,UAAU,CAAC,CAAC;gBAE/G,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,UAAU,EAAE,CAAC,CAAC;oBACjF,SAAS;gBACX,CAAC;gBAGD,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;oBACjC,IAAI,CAAC,uBAAuB,CAC1B,MAAM,EACN,cAAc,EACd,cAAc,EACd,QAAQ,EACR,cAAc,CACf,CAAC;oBACF,cAAc,EAAE,CAAC;gBACnB,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,UAAU,eAAe,WAAW,CAAC,MAAM,mBAAmB,cAAc,GAAG,CAAC,CAAC;YACtI,CAAC;;;;;;;;;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,cAAc,kBAAkB,UAAU,UAAU,CAAC,CAAC;QAC9G,OAAO,cAAc,CAAC;IACxB,CAAC;IAWO,KAAK,CAAC,uBAAuB,CACnC,cAAsB,EACtB,cAAsB,EACtB,QAAgB,EAChB,cAAuB;QAEvB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAErF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2DAA2D,cAAc,oBAAoB,cAAc,IAAI,MAAM,EAAE,CAAC,CAAC;QAEzI,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAElE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC/D,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,UAAU,CAAC,MAAM,4BAA4B,CAAC,CAAC;QAEpG,IAAI,cAAc,GAAG,CAAC,CAAC;QAGvB,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,uBAAuB,CAC1B,MAAM,EACN,cAAc,EACd,cAAc,EACd,QAAQ,EACR,cAAc,CACf,CAAC;YACF,cAAc,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,cAAc,mBAAmB,CAAC,CAAC;QAC3F,OAAO,cAAc,CAAC;IACxB,CAAC;IASO,uBAAuB,CAC7B,MAAa,EACb,cAAsB,EACtB,cAAsB,EACtB,QAAgB,EAChB,cAAuB;QAEvB,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,MAAM,CAAC,EAAE,IAAI,SAAS,aAAa,MAAM,CAAC,eAAe,cAAc,MAAM,CAAC,oBAAoB,UAAU,SAAS,oBAAoB,cAAc,IAAI,MAAM,EAAE,CACvM,CAAC;QAEF,MAAM,YAAY,GAAwB;YACxC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE;YACnB,MAAM,EAAE,cAAc;YACtB,cAAc;YACd,QAAQ;YACR,UAAU,EAAE,yBAAyB,CAAC,SAAS,CAAC;YAChD,IAAI,EAAE,MAA4C;YAClD,cAAc;SACf,CAAC;QAGF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,qCAAqC,SAAS,kBAAkB,MAAM,CAAC,EAAE,IAAI,SAAS,oBAAoB,cAAc,IAAI,MAAM,EAAE,CACrI,CAAC;IACJ,CAAC;IAQO,KAAK,CAAC,2BAA2B,CACvC,cAAkC,EAClC,WAAsC;QAGtC,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,6BAA6B,CAAC,oBAAoB,CAC3D,cAAc,IAAI,EAAE,CACrB,CAAC;QAEJ,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4BAA4B,cAAc,IAAI,SAAS,EAAE,CAC1D,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;QAC7D,CAAC;QAGD,IACE,YAAY,CAAC,WAAW;YACxB,WAAW,KAAK,YAAY,CAAC,WAAW,EACxC,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QAC9D,CAAC;QAED,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC;QAE3C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wDAAwD,CACzD,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;QACpE,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IAC3C,CAAC;IAQO,eAAe,CACrB,OAGC,EACD,SAAkB;;QAKlB,MAAM,YAAY,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACnD,MAAM,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,gBAAgB,CAAC;QACzD,MAAM,OAAO,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,cAAc,CAAC;QAEnD,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAGzC,IAAI,GAAG,GAAG,kCAAkC,YAAY,gBAAgB,UAAU,EAAE,CAAC;QAGrF,GAAG,IAAI,iCAAiC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,GAAG,EAAE,CAAC;QAE3D,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAA;AAhuEY,0CAAe;AA2qCpB;IADL,IAAA,eAAI,EAAC,yBAAc,CAAC,UAAU,CAAC;;;;yDAqC/B;0BA/sCU,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAOR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,6CAAoB,CAAC,CAAC,CAAA;IAI9C,WAAA,IAAA,eAAM,EAAC,4BAAgB,CAAC,CAAA;IAGxB,WAAA,IAAA,0BAAgB,EAAC,qCAAa,CAAC,CAAA;qCANO,6CAAoB;QACX,8EAAoC;QACrD,6BAAa,UAGN,0DAA0B;QAEtB,oBAAU;QACjB,qCAAgB;QACjB,kDAAsB;QAClB,6DAA4B;QACpC,oDAAuB;GAlB5C,eAAe,CAguE3B"}
1
+ {"version":3,"file":"calendar.service.js","sourceRoot":"","sources":["../../../src/services/calendar/calendar.service.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,17 @@
1
1
  import { EventEmitter2 } from '@nestjs/event-emitter';
2
2
  import { OutlookWebhookSubscriptionRepository } from '../../repositories/outlook-webhook-subscription.repository';
3
3
  import { CalendarService } from './calendar.service';
4
+ import { MicrosoftSubscriptionService } from '../subscription/microsoft-subscription.service';
4
5
  import { OutlookWebhookNotificationItemDto } from '../../dto/outlook-webhook-notification.dto';
5
6
  import { UserIdConverterService } from '../shared/user-id-converter.service';
6
7
  export declare class LifecycleEventHandlerService {
7
8
  private readonly calendarService;
9
+ private readonly subscriptionService;
8
10
  private readonly subscriptionRepository;
9
11
  private readonly eventEmitter;
10
12
  private readonly userIdConverter;
11
13
  private readonly logger;
12
- constructor(calendarService: CalendarService, subscriptionRepository: OutlookWebhookSubscriptionRepository, eventEmitter: EventEmitter2, userIdConverter: UserIdConverterService);
14
+ constructor(calendarService: CalendarService, subscriptionService: MicrosoftSubscriptionService, subscriptionRepository: OutlookWebhookSubscriptionRepository, eventEmitter: EventEmitter2, userIdConverter: UserIdConverterService);
13
15
  handleLifecycleEvent(notificationItem: OutlookWebhookNotificationItemDto): Promise<{
14
16
  success: boolean;
15
17
  message: string;