@shin1ohno/sage 0.8.8 → 0.9.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.
Files changed (78) hide show
  1. package/README.md +31 -0
  2. package/dist/cli/http-server-with-config.d.ts +2 -0
  3. package/dist/cli/http-server-with-config.d.ts.map +1 -1
  4. package/dist/cli/http-server-with-config.js +70 -0
  5. package/dist/cli/http-server-with-config.js.map +1 -1
  6. package/dist/cli/main-entry.d.ts.map +1 -1
  7. package/dist/cli/main-entry.js +1 -0
  8. package/dist/cli/main-entry.js.map +1 -1
  9. package/dist/cli/parser.d.ts +2 -0
  10. package/dist/cli/parser.d.ts.map +1 -1
  11. package/dist/cli/parser.js +7 -0
  12. package/dist/cli/parser.js.map +1 -1
  13. package/dist/config/validation.d.ts +721 -0
  14. package/dist/config/validation.d.ts.map +1 -1
  15. package/dist/config/validation.js +203 -0
  16. package/dist/config/validation.js.map +1 -1
  17. package/dist/integrations/calendar-service.d.ts +14 -0
  18. package/dist/integrations/calendar-service.d.ts.map +1 -1
  19. package/dist/integrations/calendar-service.js.map +1 -1
  20. package/dist/integrations/calendar-source-manager.d.ts +86 -3
  21. package/dist/integrations/calendar-source-manager.d.ts.map +1 -1
  22. package/dist/integrations/calendar-source-manager.js +146 -15
  23. package/dist/integrations/calendar-source-manager.js.map +1 -1
  24. package/dist/integrations/google-calendar-service.d.ts +55 -3
  25. package/dist/integrations/google-calendar-service.d.ts.map +1 -1
  26. package/dist/integrations/google-calendar-service.js +213 -4
  27. package/dist/integrations/google-calendar-service.js.map +1 -1
  28. package/dist/oauth/encryption-service.d.ts +104 -0
  29. package/dist/oauth/encryption-service.d.ts.map +1 -0
  30. package/dist/oauth/encryption-service.js +271 -0
  31. package/dist/oauth/encryption-service.js.map +1 -0
  32. package/dist/oauth/file-mutex.d.ts +68 -0
  33. package/dist/oauth/file-mutex.d.ts.map +1 -0
  34. package/dist/oauth/file-mutex.js +140 -0
  35. package/dist/oauth/file-mutex.js.map +1 -0
  36. package/dist/oauth/google-oauth-handler.d.ts +8 -9
  37. package/dist/oauth/google-oauth-handler.d.ts.map +1 -1
  38. package/dist/oauth/google-oauth-handler.js +30 -65
  39. package/dist/oauth/google-oauth-handler.js.map +1 -1
  40. package/dist/oauth/index.d.ts +1 -0
  41. package/dist/oauth/index.d.ts.map +1 -1
  42. package/dist/oauth/index.js +2 -0
  43. package/dist/oauth/index.js.map +1 -1
  44. package/dist/oauth/oauth-server.d.ts +61 -1
  45. package/dist/oauth/oauth-server.d.ts.map +1 -1
  46. package/dist/oauth/oauth-server.js +181 -40
  47. package/dist/oauth/oauth-server.js.map +1 -1
  48. package/dist/oauth/persistent-client-store.d.ts +58 -0
  49. package/dist/oauth/persistent-client-store.d.ts.map +1 -0
  50. package/dist/oauth/persistent-client-store.js +187 -0
  51. package/dist/oauth/persistent-client-store.js.map +1 -0
  52. package/dist/oauth/persistent-refresh-token-store.d.ts +77 -0
  53. package/dist/oauth/persistent-refresh-token-store.d.ts.map +1 -0
  54. package/dist/oauth/persistent-refresh-token-store.js +225 -0
  55. package/dist/oauth/persistent-refresh-token-store.js.map +1 -0
  56. package/dist/oauth/persistent-session-store.d.ts +69 -0
  57. package/dist/oauth/persistent-session-store.d.ts.map +1 -0
  58. package/dist/oauth/persistent-session-store.js +154 -0
  59. package/dist/oauth/persistent-session-store.js.map +1 -0
  60. package/dist/oauth/session-store.d.ts +31 -0
  61. package/dist/oauth/session-store.d.ts.map +1 -0
  62. package/dist/oauth/session-store.js +47 -0
  63. package/dist/oauth/session-store.js.map +1 -0
  64. package/dist/services/working-cadence.d.ts +37 -1
  65. package/dist/services/working-cadence.d.ts.map +1 -1
  66. package/dist/services/working-cadence.js +151 -13
  67. package/dist/services/working-cadence.js.map +1 -1
  68. package/dist/tools/calendar/handlers.d.ts +82 -3
  69. package/dist/tools/calendar/handlers.d.ts.map +1 -1
  70. package/dist/tools/calendar/handlers.js +200 -16
  71. package/dist/tools/calendar/handlers.js.map +1 -1
  72. package/dist/types/google-calendar-types.d.ts +150 -3
  73. package/dist/types/google-calendar-types.d.ts.map +1 -1
  74. package/dist/types/google-calendar-types.js +79 -2
  75. package/dist/types/google-calendar-types.js.map +1 -1
  76. package/dist/types/task.d.ts +14 -0
  77. package/dist/types/task.d.ts.map +1 -1
  78. package/package.json +1 -1
@@ -6,8 +6,68 @@
6
6
  * event CRUD operations, and calendar management.
7
7
  */
8
8
  import { google } from 'googleapis';
9
- import { convertGoogleToCalendarEvent } from '../types/google-calendar-types.js';
9
+ import { convertGoogleToCalendarEvent, detectEventType } from '../types/google-calendar-types.js';
10
10
  import { retryWithBackoff } from '../utils/retry.js';
11
+ import { CreateEventRequestSchema } from '../config/validation.js';
12
+ /**
13
+ * Allowed update fields per event type
14
+ * Requirement: 4.5, 5.3, 6.6 - Event type update restrictions
15
+ *
16
+ * @description Defines which fields can be updated for each event type.
17
+ * - birthday: Can only update summary, colorId, reminders, and date (start/end)
18
+ * - fromGmail: Can only update colorId, reminders, visibility, transparency, status, attendees, extendedProperties
19
+ * - default, outOfOffice, focusTime, workingLocation: All fields allowed
20
+ */
21
+ const ALLOWED_UPDATE_FIELDS = {
22
+ birthday: new Set(['title', 'reminders', 'start', 'end', 'isAllDay']),
23
+ fromGmail: new Set(['reminders', 'attendees']),
24
+ default: new Set(['title', 'location', 'description', 'start', 'end', 'isAllDay', 'attendees', 'reminders', 'eventType', 'outOfOfficeProperties', 'focusTimeProperties', 'workingLocationProperties', 'birthdayProperties']),
25
+ outOfOffice: new Set(['title', 'location', 'description', 'start', 'end', 'isAllDay', 'attendees', 'reminders', 'eventType', 'outOfOfficeProperties', 'focusTimeProperties', 'workingLocationProperties', 'birthdayProperties']),
26
+ focusTime: new Set(['title', 'location', 'description', 'start', 'end', 'isAllDay', 'attendees', 'reminders', 'eventType', 'outOfOfficeProperties', 'focusTimeProperties', 'workingLocationProperties', 'birthdayProperties']),
27
+ workingLocation: new Set(['title', 'location', 'description', 'start', 'end', 'isAllDay', 'attendees', 'reminders', 'eventType', 'outOfOfficeProperties', 'focusTimeProperties', 'workingLocationProperties', 'birthdayProperties']),
28
+ };
29
+ /**
30
+ * Get human-readable field names for error messages
31
+ */
32
+ function getReadableFieldName(field) {
33
+ const fieldNames = {
34
+ title: 'summary',
35
+ location: 'location',
36
+ description: 'description',
37
+ start: 'start date/time',
38
+ end: 'end date/time',
39
+ isAllDay: 'all-day setting',
40
+ attendees: 'attendees',
41
+ reminders: 'reminders',
42
+ eventType: 'event type',
43
+ outOfOfficeProperties: 'out of office properties',
44
+ focusTimeProperties: 'focus time properties',
45
+ workingLocationProperties: 'working location properties',
46
+ birthdayProperties: 'birthday properties',
47
+ };
48
+ return fieldNames[field] || field;
49
+ }
50
+ /**
51
+ * Validate update fields against event type restrictions
52
+ * Requirement: 4.5, 5.3, 6.6 - Event type update restrictions
53
+ *
54
+ * @param eventType - The event type of the existing event
55
+ * @param updates - The fields being updated
56
+ * @throws Error if disallowed fields are being updated
57
+ */
58
+ function validateUpdateFieldsForEventType(eventType, updates) {
59
+ const allowedFields = ALLOWED_UPDATE_FIELDS[eventType];
60
+ // Get the keys of the updates object that have defined values
61
+ const updateKeys = Object.keys(updates).filter((key) => updates[key] !== undefined);
62
+ // Find disallowed fields
63
+ const disallowedFields = updateKeys.filter((key) => !allowedFields.has(key));
64
+ if (disallowedFields.length > 0) {
65
+ const readableDisallowed = disallowedFields.map(getReadableFieldName).join(', ');
66
+ const readableAllowed = Array.from(allowedFields).map(getReadableFieldName).join(', ');
67
+ throw new Error(`Cannot update ${readableDisallowed} for ${eventType} events. ` +
68
+ `Allowed fields for ${eventType} events: ${readableAllowed}.`);
69
+ }
70
+ }
11
71
  /**
12
72
  * Google Calendar Service Class
13
73
  *
@@ -81,6 +141,102 @@ export class GoogleCalendarService {
81
141
  return false;
82
142
  }
83
143
  }
144
+ /**
145
+ * Validate event type and properties
146
+ *
147
+ * Uses CreateEventRequestSchema to validate the request, ensuring that:
148
+ * - Event type is valid (not 'fromGmail' which is read-only)
149
+ * - Type-specific properties match the event type
150
+ * - All-day constraint is enforced for birthday/workingLocation events
151
+ *
152
+ * @param request - CreateEventRequest to validate
153
+ * @throws ZodError if validation fails with descriptive error messages
154
+ */
155
+ validateEventTypeProperties(request) {
156
+ // Use Zod schema for comprehensive validation
157
+ // parse() throws ZodError with descriptive messages if validation fails
158
+ CreateEventRequestSchema.parse(request);
159
+ }
160
+ /**
161
+ * Build event type payload for Google Calendar API
162
+ *
163
+ * Transforms event type data from CreateEventRequest into Google Calendar API format.
164
+ * Handles all 6 event types: default, outOfOffice, focusTime, workingLocation, birthday, fromGmail.
165
+ *
166
+ * @param request - CreateEventRequest containing event type and type-specific properties
167
+ * @returns Partial calendar_v3.Schema$Event with eventType and type-specific properties
168
+ */
169
+ buildEventTypePayload(request) {
170
+ const eventType = request.eventType || 'default';
171
+ const payload = {};
172
+ // Set eventType field (only if not default, as default is the API's default)
173
+ if (eventType !== 'default') {
174
+ payload.eventType = eventType;
175
+ }
176
+ switch (eventType) {
177
+ case 'outOfOffice':
178
+ if (request.outOfOfficeProperties) {
179
+ payload.outOfOfficeProperties = {
180
+ autoDeclineMode: request.outOfOfficeProperties.autoDeclineMode,
181
+ declineMessage: request.outOfOfficeProperties.declineMessage,
182
+ };
183
+ }
184
+ break;
185
+ case 'focusTime':
186
+ if (request.focusTimeProperties) {
187
+ payload.focusTimeProperties = {
188
+ autoDeclineMode: request.focusTimeProperties.autoDeclineMode,
189
+ declineMessage: request.focusTimeProperties.declineMessage,
190
+ chatStatus: request.focusTimeProperties.chatStatus,
191
+ };
192
+ }
193
+ break;
194
+ case 'workingLocation':
195
+ if (request.workingLocationProperties) {
196
+ const props = request.workingLocationProperties;
197
+ // Build workingLocationProperties based on type
198
+ const workingLocationPayload = {
199
+ type: props.type,
200
+ };
201
+ if (props.type === 'homeOffice' && props.homeOffice !== undefined) {
202
+ // homeOffice is an empty object in Google Calendar API
203
+ workingLocationPayload.homeOffice = {};
204
+ }
205
+ else if (props.type === 'officeLocation' && props.officeLocation) {
206
+ workingLocationPayload.officeLocation = {
207
+ buildingId: props.officeLocation.buildingId,
208
+ floorId: props.officeLocation.floorId,
209
+ floorSectionId: props.officeLocation.floorSectionId,
210
+ deskId: props.officeLocation.deskId,
211
+ label: props.officeLocation.label,
212
+ };
213
+ }
214
+ else if (props.type === 'customLocation' && props.customLocation) {
215
+ workingLocationPayload.customLocation = {
216
+ label: props.customLocation.label,
217
+ };
218
+ }
219
+ payload.workingLocationProperties = workingLocationPayload;
220
+ }
221
+ break;
222
+ case 'birthday':
223
+ // Note: birthdayProperties is not directly supported in Google Calendar API Schema$Event
224
+ // Birthday events are typically created through Google Contacts and synced automatically.
225
+ // Setting eventType to 'birthday' is sufficient; the API handles the rest.
226
+ // If birthdayProperties are provided, they are used for internal tracking only.
227
+ break;
228
+ case 'fromGmail':
229
+ // fromGmail is read-only and cannot be created
230
+ // This case should be handled by validation (Task 11), but we include it here for completeness
231
+ // Setting eventType allows API to reject the request with appropriate error
232
+ break;
233
+ case 'default':
234
+ default:
235
+ // For default events, no additional properties are needed
236
+ break;
237
+ }
238
+ return payload;
239
+ }
84
240
  /**
85
241
  * Normalize date string to RFC3339 format required by Google Calendar API
86
242
  *
@@ -164,7 +320,16 @@ export class GoogleCalendarService {
164
320
  pageToken = response.nextPageToken || undefined;
165
321
  } while (pageToken);
166
322
  // Convert GoogleCalendarEvent[] to CalendarEvent[]
167
- return allEvents.map(event => convertGoogleToCalendarEvent(event));
323
+ const convertedEvents = allEvents.map(event => convertGoogleToCalendarEvent(event));
324
+ // Filter by eventTypes if specified (client-side filtering)
325
+ // Google Calendar API doesn't support filtering by eventType in the API call
326
+ if (request.eventTypes && request.eventTypes.length > 0) {
327
+ return convertedEvents.filter(event =>
328
+ // Event's eventType must be in the requested eventTypes array
329
+ // Events without eventType are treated as 'default'
330
+ request.eventTypes.includes(event.eventType || 'default'));
331
+ }
332
+ return convertedEvents;
168
333
  }
169
334
  catch (error) {
170
335
  throw new Error(`Failed to list events from Google Calendar: ${error instanceof Error ? error.message : 'Unknown error'}`);
@@ -184,6 +349,9 @@ export class GoogleCalendarService {
184
349
  * @throws Error if authentication fails or API request fails after retries
185
350
  */
186
351
  async createEvent(request, calendarId) {
352
+ // Validate event type and properties before API call
353
+ // This throws ZodError if validation fails
354
+ this.validateEventTypeProperties(request);
187
355
  // Ensure client is authenticated
188
356
  if (!this.calendarClient) {
189
357
  await this.authenticate();
@@ -223,6 +391,9 @@ export class GoogleCalendarService {
223
391
  if (request.reminders) {
224
392
  eventBody.reminders = request.reminders;
225
393
  }
394
+ // Build and merge event type-specific payload
395
+ const eventTypePayload = this.buildEventTypePayload(request);
396
+ Object.assign(eventBody, eventTypePayload);
226
397
  // Create event with retry logic
227
398
  const response = await retryWithBackoff(async () => {
228
399
  return (await this.calendarClient.events.insert({
@@ -264,17 +435,18 @@ export class GoogleCalendarService {
264
435
  }
265
436
  /**
266
437
  * Update a calendar event
267
- * Requirement: 4, 10 (Calendar event updates with partial updates and retry logic)
438
+ * Requirement: 4, 10, 4.5, 5.3, 6.6 (Calendar event updates with partial updates, retry logic, and event type restrictions)
268
439
  *
269
440
  * Updates an existing event in Google Calendar using the patch API for partial updates.
270
441
  * Supports all-day events, reminders, attendees, and recurring events.
271
442
  * Includes retry logic with exponential backoff for transient failures.
443
+ * Enforces event type restrictions (birthday and fromGmail events have limited updatable fields).
272
444
  *
273
445
  * @param eventId - Event ID to update
274
446
  * @param updates - Partial CreateEventRequest with fields to update
275
447
  * @param calendarId - Calendar ID (optional, defaults to 'primary')
276
448
  * @returns Updated calendar event
277
- * @throws Error if authentication fails or API request fails after retries
449
+ * @throws Error if authentication fails, API request fails after retries, or disallowed fields are being updated
278
450
  */
279
451
  async updateEvent(eventId, updates, calendarId) {
280
452
  // Ensure client is authenticated
@@ -283,6 +455,43 @@ export class GoogleCalendarService {
283
455
  }
284
456
  const targetCalendarId = calendarId || 'primary';
285
457
  try {
458
+ // Step 1: Fetch existing event to determine its eventType
459
+ // Requirement: 4.5, 5.3, 6.6 - Event type update restrictions
460
+ const existingEvent = await retryWithBackoff(async () => {
461
+ return (await this.calendarClient.events.get({
462
+ calendarId: targetCalendarId,
463
+ eventId: eventId,
464
+ })).data;
465
+ }, {
466
+ maxAttempts: 3,
467
+ initialDelay: 1000,
468
+ shouldRetry: (error) => {
469
+ const message = error.message.toLowerCase();
470
+ if (message.includes('not found') ||
471
+ message.includes('404')) {
472
+ return false;
473
+ }
474
+ if (message.includes('unauthorized') ||
475
+ message.includes('401') ||
476
+ message.includes('forbidden') ||
477
+ message.includes('403')) {
478
+ return false;
479
+ }
480
+ if (message.includes('rate limit') ||
481
+ message.includes('429') ||
482
+ message.includes('500') ||
483
+ message.includes('503') ||
484
+ message.includes('service unavailable') ||
485
+ message.includes('temporary')) {
486
+ return true;
487
+ }
488
+ return true;
489
+ },
490
+ });
491
+ // Step 2: Detect the event type using the helper function
492
+ const eventType = detectEventType(existingEvent);
493
+ // Step 3: Validate that the update fields are allowed for this event type
494
+ validateUpdateFieldsForEventType(eventType, updates);
286
495
  // Build Google Calendar patch object (only include provided fields)
287
496
  const patchBody = {};
288
497
  // Handle title
@@ -1 +1 @@
1
- {"version":3,"file":"google-calendar-service.js","sourceRoot":"","sources":["../../src/integrations/google-calendar-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-calendar-service.js","sourceRoot":"","sources":["../../src/integrations/google-calendar-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAe,MAAM,YAAY,CAAC;AAYjD,OAAO,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAAiD;IAC1E,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACrE,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9C,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,oBAAoB,CAAC,CAAC;IAC5N,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,oBAAoB,CAAC,CAAC;IAChO,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,oBAAoB,CAAC,CAAC;IAC9N,eAAe,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,oBAAoB,CAAC,CAAC;CACrO,CAAC;AAEF;;GAEG;AACH,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,UAAU,GAA2B;QACzC,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,aAAa;QAC1B,KAAK,EAAE,iBAAiB;QACxB,GAAG,EAAE,eAAe;QACpB,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,YAAY;QACvB,qBAAqB,EAAE,0BAA0B;QACjD,mBAAmB,EAAE,uBAAuB;QAC5C,yBAAyB,EAAE,6BAA6B;QACxD,kBAAkB,EAAE,qBAAqB;KAC1C,CAAC;IACF,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gCAAgC,CACvC,SAAkC,EAClC,OAAoC;IAEpC,MAAM,aAAa,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAEvD,8DAA8D;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAC5C,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAA2B,CAAC,KAAK,SAAS,CAC5D,CAAC;IAEF,yBAAyB;IACzB,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE7E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvF,MAAM,IAAI,KAAK,CACb,iBAAiB,kBAAkB,QAAQ,SAAS,WAAW;YAC/D,sBAAsB,SAAS,YAAY,eAAe,GAAG,CAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAmED;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IACxB,YAAY,CAAqB;IACjC,cAAc,GAAgC,IAAI,CAAC;IAE3D;;;;;OAKG;IACH,YACE,YAAgC,EAChC,OAAqC;QAErC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAE3C,mDAAmD;YACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YAED,4BAA4B;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAE/D,wCAAwC;YACxC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACpC,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,YAAY;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,gDAAgD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC3G,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,iCAAiC;YACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5B,CAAC;YAED,+CAA+C;YAC/C,MAAM,IAAI,CAAC,cAAe,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC3C,UAAU,EAAE,CAAC;aACd,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mCAAmC;YACnC,yCAAyC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,2BAA2B,CAAC,OAA2B;QAC7D,8CAA8C;QAC9C,wEAAwE;QACxE,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;OAQG;IACK,qBAAqB,CAAC,OAA2B;QACvD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC;QACjD,MAAM,OAAO,GAAsC,EAAE,CAAC;QAEtD,6EAA6E;QAC7E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QAChC,CAAC;QAED,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,aAAa;gBAChB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;oBAClC,OAAO,CAAC,qBAAqB,GAAG;wBAC9B,eAAe,EAAE,OAAO,CAAC,qBAAqB,CAAC,eAAe;wBAC9D,cAAc,EAAE,OAAO,CAAC,qBAAqB,CAAC,cAAc;qBAC7D,CAAC;gBACJ,CAAC;gBACD,MAAM;YAER,KAAK,WAAW;gBACd,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;oBAChC,OAAO,CAAC,mBAAmB,GAAG;wBAC5B,eAAe,EAAE,OAAO,CAAC,mBAAmB,CAAC,eAAe;wBAC5D,cAAc,EAAE,OAAO,CAAC,mBAAmB,CAAC,cAAc;wBAC1D,UAAU,EAAE,OAAO,CAAC,mBAAmB,CAAC,UAAU;qBACnD,CAAC;gBACJ,CAAC;gBACD,MAAM;YAER,KAAK,iBAAiB;gBACpB,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;oBACtC,MAAM,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC;oBAChD,gDAAgD;oBAChD,MAAM,sBAAsB,GAAsD;wBAChF,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC;oBAEF,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;wBAClE,uDAAuD;wBACvD,sBAAsB,CAAC,UAAU,GAAG,EAAE,CAAC;oBACzC,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;wBACnE,sBAAsB,CAAC,cAAc,GAAG;4BACtC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU;4BAC3C,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO;4BACrC,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc;4BACnD,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM;4BACnC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK;yBAClC,CAAC;oBACJ,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;wBACnE,sBAAsB,CAAC,cAAc,GAAG;4BACtC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK;yBAClC,CAAC;oBACJ,CAAC;oBAED,OAAO,CAAC,yBAAyB,GAAG,sBAAsB,CAAC;gBAC7D,CAAC;gBACD,MAAM;YAER,KAAK,UAAU;gBACb,yFAAyF;gBACzF,0FAA0F;gBAC1F,2EAA2E;gBAC3E,gFAAgF;gBAChF,MAAM;YAER,KAAK,WAAW;gBACd,+CAA+C;gBAC/C,+FAA+F;gBAC/F,4EAA4E;gBAC5E,MAAM;YAER,KAAK,SAAS,CAAC;YACf;gBACE,0DAA0D;gBAC1D,MAAM;QACV,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CAAC,UAAkB;QAC3C,iEAAiE;QACjE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,6CAA6C;QAC7C,+DAA+D;QAC/D,OAAO,GAAG,UAAU,YAAY,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,UAAU,CAAC,OAA0B;QACzC,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,SAAS,CAAC;QACnD,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,IAAI,SAAS,GAAuB,SAAS,CAAC;QAE9C,IAAI,CAAC;YACH,0CAA0C;YAC1C,GAAG,CAAC;gBACF,MAAM,QAAQ,GAA8B,MAAM,gBAAgB,CAChE,KAAK,IAAI,EAAE;oBACT,OAAO,CACL,MAAM,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,IAAI,CAAC;wBACrC,UAAU,EAAE,UAAU;wBACtB,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC;wBACnD,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;wBACjD,UAAU,EAAE,GAAG;wBACf,SAAS,EAAE,SAAS;wBACpB,YAAY,EAAE,IAAI,EAAE,oDAAoD;qBACzE,CAAC,CACH,CAAC,IAAI,CAAC;gBACT,CAAC,EACD;oBACE,WAAW,EAAE,CAAC;oBACd,YAAY,EAAE,IAAI;oBAClB,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE;wBAC5B,yDAAyD;wBACzD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC5C,IACE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;4BAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;4BACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7B,CAAC;4BACD,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,wCAAwC;wBACxC,IACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;4BAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;4BAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;4BACD,OAAO,KAAK,CAAC;wBACf,CAAC;wBACD,uBAAuB;wBACvB,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF,CACF,CAAC;gBAEF,mCAAmC;gBACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpC,SAAS,CAAC,IAAI,CAAC,GAAI,MAAgC,CAAC,CAAC;gBAErD,+BAA+B;gBAC/B,SAAS,GAAG,QAAQ,CAAC,aAAa,IAAI,SAAS,CAAC;YAClD,CAAC,QAAQ,SAAS,EAAE;YAEpB,mDAAmD;YACnD,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAC5C,4BAA4B,CAAC,KAA4B,CAAC,CAC3D,CAAC;YAEF,4DAA4D;YAC5D,6EAA6E;YAC7E,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,OAAO,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACpC,8DAA8D;gBAC9D,oDAAoD;gBACpD,OAAO,CAAC,UAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC,CAC3D,CAAC;YACJ,CAAC;YAED,OAAO,eAAe,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,+CAA+C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC1G,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,WAAW,CACf,OAA2B,EAC3B,UAAmB;QAEnB,qDAAqD;QACrD,2CAA2C;QAC3C,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAE1C,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,gBAAgB,GAAG,UAAU,IAAI,SAAS,CAAC;QAEjD,IAAI,CAAC;YACH,qCAAqC;YACrC,MAAM,SAAS,GAA6B;gBAC1C,OAAO,EAAE,OAAO,CAAC,KAAK;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC;YAEF,iCAAiC;YACjC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,sDAAsD;gBACtD,SAAS,CAAC,KAAK,GAAG;oBAChB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,kCAAkC;iBACtE,CAAC;gBACF,SAAS,CAAC,GAAG,GAAG;oBACd,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAChC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,6DAA6D;gBAC7D,SAAS,CAAC,KAAK,GAAG;oBAChB,QAAQ,EAAE,OAAO,CAAC,KAAK;iBACxB,CAAC;gBACF,SAAS,CAAC,GAAG,GAAG;oBACd,QAAQ,EAAE,OAAO,CAAC,GAAG;iBACtB,CAAC;YACJ,CAAC;YAED,mBAAmB;YACnB,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC;YAED,mBAAmB;YACnB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAC1C,CAAC;YAED,8CAA8C;YAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAE3C,gCAAgC;YAChC,MAAM,QAAQ,GAA6B,MAAM,gBAAgB,CAC/D,KAAK,IAAI,EAAE;gBACT,OAAO,CACL,MAAM,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,MAAM,CAAC;oBACvC,UAAU,EAAE,gBAAgB;oBAC5B,WAAW,EAAE,SAAS;oBACtB,WAAW,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;iBAChF,CAAC,CACH,CAAC,IAAI,CAAC;YACT,CAAC,EACD;gBACE,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE;oBAC5B,yDAAyD;oBACzD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC5C,IACE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;wBACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7B,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,wCAAwC;oBACxC,IACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,uBAAuB;oBACvB,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CACF,CAAC;YAEF,yCAAyC;YACzC,OAAO,4BAA4B,CAAC,QAA+B,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,8CAA8C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACzG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,WAAW,CACf,OAAe,EACf,OAAoC,EACpC,UAAmB;QAEnB,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,gBAAgB,GAAG,UAAU,IAAI,SAAS,CAAC;QAEjD,IAAI,CAAC;YACH,0DAA0D;YAC1D,8DAA8D;YAC9D,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAC1C,KAAK,IAAI,EAAE;gBACT,OAAO,CACL,MAAM,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,GAAG,CAAC;oBACpC,UAAU,EAAE,gBAAgB;oBAC5B,OAAO,EAAE,OAAO;iBACjB,CAAC,CACH,CAAC,IAAI,CAAC;YACT,CAAC,EACD;gBACE,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE;oBAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC5C,IACE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,IACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,IACE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;wBACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7B,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CACF,CAAC;YAEF,0DAA0D;YAC1D,MAAM,SAAS,GAAG,eAAe,CAAC,aAAoC,CAAC,CAAC;YAExE,0EAA0E;YAC1E,gCAAgC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAErD,oEAAoE;YACpE,MAAM,SAAS,GAA6B,EAAE,CAAC;YAE/C,eAAe;YACf,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YACpC,CAAC;YAED,kBAAkB;YAClB,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACnC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACxC,CAAC;YAED,qBAAqB;YACrB,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACtC,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAC9C,CAAC;YAED,2BAA2B;YAC3B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC/F,oEAAoE;gBACpE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACvD,sDAAsD;oBACtD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBAChC,SAAS,CAAC,KAAK,GAAG;4BAChB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,kCAAkC;yBACtE,CAAC;oBACJ,CAAC;oBACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;wBAC9B,SAAS,CAAC,GAAG,GAAG;4BACd,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;yBAChC,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAC/D,6DAA6D;oBAC7D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBAChC,SAAS,CAAC,KAAK,GAAG;4BAChB,QAAQ,EAAE,OAAO,CAAC,KAAK;yBACxB,CAAC;oBACJ,CAAC;oBACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;wBAC9B,SAAS,CAAC,GAAG,GAAG;4BACd,QAAQ,EAAE,OAAO,CAAC,GAAG;yBACtB,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,4EAA4E;oBAC5E,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBAChC,SAAS,CAAC,KAAK,GAAG;4BAChB,QAAQ,EAAE,OAAO,CAAC,KAAK;yBACxB,CAAC;oBACJ,CAAC;oBACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;wBAC9B,SAAS,CAAC,GAAG,GAAG;4BACd,QAAQ,EAAE,OAAO,CAAC,GAAG;yBACtB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,mBAAmB;YACnB,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACpC,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACN,yCAAyC;oBACzC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,mBAAmB;YACnB,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACpC,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAC1C,CAAC;YAED,gDAAgD;YAChD,MAAM,QAAQ,GAA6B,MAAM,gBAAgB,CAC/D,KAAK,IAAI,EAAE;gBACT,OAAO,CACL,MAAM,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,KAAK,CAAC;oBACtC,UAAU,EAAE,gBAAgB;oBAC5B,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,SAAS;oBACtB,WAAW,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;iBAC9D,CAAC,CACH,CAAC,IAAI,CAAC;YACT,CAAC,EACD;gBACE,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE;oBAC5B,yDAAyD;oBACzD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC5C,IACE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;wBACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7B,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,wCAAwC;oBACxC,IACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,wCAAwC;oBACxC,IACE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,uBAAuB;oBACvB,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CACF,CAAC;YAEF,yCAAyC;YACzC,OAAO,4BAA4B,CAAC,QAA+B,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,8CAA8C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACzG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,UAAmB;QACpD,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,gBAAgB,GAAG,UAAU,IAAI,SAAS,CAAC;QAEjD,IAAI,CAAC;YACH,gCAAgC;YAChC,MAAM,gBAAgB,CACpB,KAAK,IAAI,EAAE;gBACT,MAAM,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,MAAM,CAAC;oBACvC,UAAU,EAAE,gBAAgB;oBAC5B,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC,EACD;gBACE,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE;oBAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAE5C,yDAAyD;oBACzD,IACE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,wCAAwC;oBACxC,IACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,yDAAyD;oBACzD,IACE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;wBACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7B,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,uBAAuB;oBACvB,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gDAAgD;YAChD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7D,0CAA0C;gBAC1C,OAAO;YACT,CAAC;YAED,qBAAqB;YACrB,MAAM,IAAI,KAAK,CACb,gDAAgD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC3G,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,iBAAiB,CACrB,QAAkB,EAClB,UAAmB;QAEnB,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,gBAAgB,GAAG,UAAU,IAAI,SAAS,CAAC;QACjD,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,mDAAmD;QACnD,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,qBAAqB;QACrB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,gBAAgB,CACpB,KAAK,IAAI,EAAE;oBACT,mDAAmD;oBACnD,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACzC,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,MAAM,CAAC;wBACjC,UAAU,EAAE,gBAAgB;wBAC5B,OAAO,EAAE,OAAO;qBACjB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wBACf,gDAAgD;wBAChD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjE,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC7D,6CAA6C;4BAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wBAC3B,CAAC;wBACD,MAAM,KAAK,CAAC;oBACd,CAAC,CAAC,CACH,CAAC;oBAEF,iDAAiD;oBACjD,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACpC,CAAC,EACD;oBACE,WAAW,EAAE,CAAC;oBACd,YAAY,EAAE,IAAI;oBAClB,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE;wBAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;wBAE5C,wCAAwC;wBACxC,IACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;4BAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;4BAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;4BACD,OAAO,KAAK,CAAC;wBACf,CAAC;wBAED,yDAAyD;wBACzD,IACE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;4BAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;4BACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7B,CAAC;4BACD,OAAO,IAAI,CAAC;wBACd,CAAC;wBAED,uBAAuB;wBACvB,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF,CACF,CAAC;gBAEF,4CAA4C;gBAC5C,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+CAA+C;gBAC/C,mDAAmD;gBACnD,OAAO,CAAC,KAAK,CACX,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAChG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,QAA+C,EAC/C,UAAmB;QAEnB,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,gBAAgB,GAAG,UAAU,IAAI,SAAS,CAAC;QAEjD,IAAI,CAAC;YACH,qEAAqE;YACrE,MAAM,SAAS,GAAG,MAAM,gBAAgB,CACtC,KAAK,IAAI,EAAE;gBACT,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAe,CAAC,YAAY,CAAC,GAAG,CAAC;oBAC/D,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;gBACH,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,CAAC,EACD;gBACE,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE;oBAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC5C,IACE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;wBACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7B,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,IACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CACF,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,CAAC;YAED,uCAAuC;YACvC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAClC,KAAK,IAAI,EAAE;gBACT,OAAO,CACL,MAAM,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,GAAG,CAAC;oBACpC,UAAU,EAAE,gBAAgB;oBAC5B,OAAO,EAAE,OAAO;iBACjB,CAAC,CACH,CAAC,IAAI,CAAC;YACT,CAAC,EACD;gBACE,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE;oBAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC5C,IACE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,IACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,IACE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;wBACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7B,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CACF,CAAC;YAEF,kCAAkC;YAClC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAC3E,CAAC;YAED,iCAAiC;YACjC,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC/D,CAAC;YAED,8CAA8C;YAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CACvC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CACzC,CAAC;YAEF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,QAAQ,SAAS,oCAAoC,CAAC,CAAC;YACzE,CAAC;YAED,4CAA4C;YAC5C,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACtD,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACjC,OAAO;wBACL,GAAG,QAAQ;wBACX,cAAc,EAAE,QAAQ;qBACzB,CAAC;gBACJ,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,uDAAuD;YACvD,MAAM,gBAAgB,CACpB,KAAK,IAAI,EAAE;gBACT,MAAM,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,KAAK,CAAC;oBACtC,UAAU,EAAE,gBAAgB;oBAC5B,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE;wBACX,SAAS,EAAE,gBAAgB;qBAC5B;oBACD,WAAW,EAAE,KAAK,EAAE,uCAAuC;iBAC5D,CAAC,CAAC;YACL,CAAC,EACD;gBACE,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE;oBAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC5C,IACE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,IACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,IACE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;wBACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7B,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YACzE,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,gCAAgC,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,IAAI,KAAK,CACb,kDAAkD,OAAO,EAAE,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,aAAa;QACjB,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,QAAQ,GAAoC,MAAM,gBAAgB,CACtE,KAAK,IAAI,EAAE;gBACT,OAAO,CACL,MAAM,IAAI,CAAC,cAAe,CAAC,YAAY,CAAC,IAAI,CAAC;oBAC3C,UAAU,EAAE,IAAI,EAAE,2BAA2B;iBAC9C,CAAC,CACH,CAAC,IAAI,CAAC;YACT,CAAC,EACD;gBACE,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE;oBAC5B,yDAAyD;oBACzD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC5C,IACE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;wBACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7B,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,wCAAwC;oBACxC,IACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,uBAAuB;oBACvB,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CACF,CAAC;YAEF,uDAAuD;YACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAChC,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE;gBACrB,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;gBAC5B,MAAM,EAAE,QAAiB;gBACzB,SAAS,EAAE,QAAQ,CAAC,OAAO,IAAI,KAAK;gBACpC,KAAK,EAAE,QAAQ,CAAC,eAAe,IAAI,SAAS;gBAC5C,UAAU,EAAE,QAAQ,CAAC,UAAuD;aAC7E,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,kDAAkD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC7G,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Encryption Service for OAuth Data
3
+ * Requirements: FR-4 (Encryption Key Management)
4
+ *
5
+ * Provides AES-256-GCM encryption/decryption for sensitive OAuth data.
6
+ * Supports key derivation via scrypt and secure key management.
7
+ */
8
+ import { FileMutexMetrics } from './file-mutex.js';
9
+ /**
10
+ * Encryption Service Configuration
11
+ */
12
+ export interface EncryptionServiceConfig {
13
+ encryptionKey?: string;
14
+ keyStoragePath?: string;
15
+ }
16
+ /**
17
+ * Encryption Service Class
18
+ *
19
+ * Handles AES-256-GCM encryption/decryption for OAuth data persistence.
20
+ * Manages encryption key lifecycle and secure file operations.
21
+ */
22
+ export declare class EncryptionService {
23
+ private encryptionKey;
24
+ private keyStoragePath;
25
+ private initialized;
26
+ private fileMutex;
27
+ constructor(config?: EncryptionServiceConfig);
28
+ /**
29
+ * Initialize encryption service and load/generate key
30
+ *
31
+ * Key loading priority:
32
+ * 1. SAGE_ENCRYPTION_KEY environment variable (highest priority)
33
+ * 2. Persistent key file at ~/.sage/oauth_encryption_key
34
+ * 3. Generate new key and save (with warning)
35
+ */
36
+ initialize(): Promise<void>;
37
+ /**
38
+ * Encrypt data using AES-256-GCM
39
+ *
40
+ * Format: salt:iv:authTag:encrypted
41
+ *
42
+ * @param data - Plain text data to encrypt
43
+ * @returns Encrypted data in format "salt:iv:authTag:encrypted"
44
+ */
45
+ encrypt(data: string): Promise<string>;
46
+ /**
47
+ * Decrypt data using AES-256-GCM
48
+ *
49
+ * @param encryptedData - Encrypted data in format "salt:iv:authTag:encrypted"
50
+ * @returns Decrypted plain text data
51
+ */
52
+ decrypt(encryptedData: string): Promise<string>;
53
+ /**
54
+ * Encrypt and save data to file
55
+ *
56
+ * Uses atomic write pattern (temp file + rename) to prevent corruption.
57
+ * Serialized with mutex to prevent concurrent write race conditions.
58
+ *
59
+ * @param data - Plain text data to encrypt and save
60
+ * @param filePath - Destination file path
61
+ */
62
+ encryptToFile(data: string, filePath: string): Promise<void>;
63
+ /**
64
+ * Load and decrypt data from file
65
+ *
66
+ * Serialized with mutex to prevent read-during-write issues.
67
+ *
68
+ * @param filePath - Source file path
69
+ * @returns Decrypted data or null if file doesn't exist
70
+ */
71
+ decryptFromFile(filePath: string): Promise<string | null>;
72
+ /**
73
+ * Check if encryption service is initialized
74
+ */
75
+ isInitialized(): boolean;
76
+ /**
77
+ * Get the storage path for the encryption key
78
+ */
79
+ getKeyStoragePath(): string;
80
+ /**
81
+ * Get health status for monitoring
82
+ */
83
+ getHealthStatus(): {
84
+ initialized: boolean;
85
+ keySource: 'environment' | 'file' | 'generated';
86
+ keyStoragePath: string;
87
+ mutex: FileMutexMetrics;
88
+ };
89
+ /**
90
+ * Get mutex metrics for monitoring
91
+ */
92
+ getMutexMetrics(): FileMutexMetrics;
93
+ /**
94
+ * Wait for all pending file operations to complete
95
+ *
96
+ * Used for graceful shutdown to ensure all data is persisted.
97
+ */
98
+ waitForPendingWrites(): Promise<void>;
99
+ /**
100
+ * Check if there are pending file operations
101
+ */
102
+ hasPendingWrites(): boolean;
103
+ }
104
+ //# sourceMappingURL=encryption-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryption-service.d.ts","sourceRoot":"","sources":["../../src/oauth/encryption-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,EAAa,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAI9D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAA8B;gBAEnC,MAAM,GAAE,uBAA4B;IAKhD;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDjC;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+B5C;;;;;OAKG;IACG,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqCrD;;;;;;;;OAQG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyClE;;;;;;;OAOG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgB/D;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,eAAe,IAAI;QACjB,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,EAAE,aAAa,GAAG,MAAM,GAAG,WAAW,CAAC;QAChD,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,gBAAgB,CAAC;KACzB;IAgBD;;OAEG;IACH,eAAe,IAAI,gBAAgB;IAInC;;;;OAIG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C;;OAEG;IACH,gBAAgB,IAAI,OAAO;CAG5B"}