@prabhask5/stellar-engine 1.0.19 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"singleUser.d.ts","sourceRoot":"","sources":["../../src/auth/singleUser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"singleUser.d.ts","sourceRoot":"","sources":["../../src/auth/singleUser.ts"],"names":[],"mappings":"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"}
@@ -399,10 +399,24 @@ export async function completeDeviceVerification(tokenHash) {
399
399
  if (error)
400
400
  return { error };
401
401
  }
402
- // After OTP verification, session should be available
403
- const { data: { session }, error: sessionError } = await supabase.auth.getSession();
404
- if (sessionError || !session) {
405
- return { error: 'Session not found after verification' };
402
+ // After OTP verification, the session may have changed in another tab.
403
+ // refreshSession() forces Supabase to re-read from storage and validate,
404
+ // ensuring we pick up cross-tab session changes from verifyOtp().
405
+ let session = null;
406
+ try {
407
+ const { data } = await supabase.auth.refreshSession();
408
+ session = data.session;
409
+ }
410
+ catch {
411
+ // refreshSession can fail if token is truly gone
412
+ }
413
+ if (!session) {
414
+ // Fall back to getSession in case refreshSession failed but session exists
415
+ const { data, error: sessionError } = await supabase.auth.getSession();
416
+ session = data.session;
417
+ if (sessionError || !session) {
418
+ return { error: 'Session not found after verification' };
419
+ }
406
420
  }
407
421
  const user = session.user;
408
422
  // Trust the device
@@ -442,8 +456,23 @@ export async function completeDeviceVerification(tokenHash) {
442
456
  */
443
457
  export async function pollDeviceVerification() {
444
458
  try {
445
- const { data: { user }, error } = await supabase.auth.getUser();
446
- if (error || !user)
459
+ let user = null;
460
+ // Try getUser first (uses access token from current session)
461
+ const { data, error } = await supabase.auth.getUser();
462
+ if (!error && data.user) {
463
+ user = data.user;
464
+ }
465
+ // If getUser failed, try refreshing the session (cross-tab session may have changed)
466
+ if (!user) {
467
+ try {
468
+ const { data: refreshData } = await supabase.auth.refreshSession();
469
+ user = refreshData.user;
470
+ }
471
+ catch {
472
+ // Session truly invalid
473
+ }
474
+ }
475
+ if (!user)
447
476
  return false;
448
477
  return isDeviceTrusted(user.id);
449
478
  }
@@ -1 +1 @@
1
- {"version":3,"file":"singleUser.js","sourceRoot":"","sources":["../../src/auth/singleUser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"singleUser.js","sourceRoot":"","sources":["../../src/auth/singleUser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * CRDT Awareness (Presence) Management
3
+ *
4
+ * Manages Yjs Awareness protocol for user presence indicators
5
+ * (cursor positions, active users, etc.) via Supabase broadcast.
6
+ */
7
+ import { Awareness } from 'y-protocols/awareness';
8
+ import type { AwarenessUser } from './types';
9
+ /**
10
+ * Initialize awareness (presence) for a CRDT document.
11
+ *
12
+ * Creates an Awareness instance and sets up a dedicated broadcast channel
13
+ * for syncing presence state between clients.
14
+ *
15
+ * @param docId - Document/note ID
16
+ * @param userInfo - Current user's display info
17
+ * @returns The Awareness instance
18
+ */
19
+ export declare function initAwareness(docId: string, userInfo: AwarenessUser): Awareness;
20
+ /**
21
+ * Get the awareness instance for a document.
22
+ *
23
+ * @param docId - Document/note ID
24
+ * @returns The Awareness instance if initialized, undefined otherwise
25
+ */
26
+ export declare function getAwareness(docId: string): Awareness | undefined;
27
+ /**
28
+ * Destroy awareness for a document.
29
+ *
30
+ * Removes awareness state, closes the broadcast channel, and cleans up listeners.
31
+ *
32
+ * @param docId - Document/note ID
33
+ */
34
+ export declare function destroyAwareness(docId: string): Promise<void>;
35
+ //# sourceMappingURL=awareness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"awareness.d.ts","sourceRoot":"","sources":["../../src/crdt/awareness.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAOlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA8B7C;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,SAAS,CAyG/E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEjE;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BnE"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * CRDT Awareness (Presence) Management
3
+ *
4
+ * Manages Yjs Awareness protocol for user presence indicators
5
+ * (cursor positions, active users, etc.) via Supabase broadcast.
6
+ */
7
+ import { Awareness } from 'y-protocols/awareness';
8
+ import * as awarenessProtocol from 'y-protocols/awareness';
9
+ import { debugLog, debugWarn, debugError } from '../debug';
10
+ import { getDeviceId } from '../deviceId';
11
+ import { getEngineConfig } from '../config';
12
+ import { supabase } from '../supabase/client';
13
+ import { getCrdtDoc } from './doc';
14
+ /** Active awareness instances: docId → { awareness, channel, cleanup } */
15
+ const activeAwareness = new Map();
16
+ function uint8ArrayToBase64(bytes) {
17
+ let binary = '';
18
+ for (let i = 0; i < bytes.length; i++) {
19
+ binary += String.fromCharCode(bytes[i]);
20
+ }
21
+ return btoa(binary);
22
+ }
23
+ function base64ToUint8Array(base64) {
24
+ const binary = atob(base64);
25
+ const bytes = new Uint8Array(binary.length);
26
+ for (let i = 0; i < binary.length; i++) {
27
+ bytes[i] = binary.charCodeAt(i);
28
+ }
29
+ return bytes;
30
+ }
31
+ /**
32
+ * Initialize awareness (presence) for a CRDT document.
33
+ *
34
+ * Creates an Awareness instance and sets up a dedicated broadcast channel
35
+ * for syncing presence state between clients.
36
+ *
37
+ * @param docId - Document/note ID
38
+ * @param userInfo - Current user's display info
39
+ * @returns The Awareness instance
40
+ */
41
+ export function initAwareness(docId, userInfo) {
42
+ const existing = activeAwareness.get(docId);
43
+ if (existing) {
44
+ // Update user info on existing awareness
45
+ existing.awareness.setLocalStateField('user', userInfo);
46
+ debugLog('[CRDT Awareness] Updated user info for:', docId);
47
+ return existing.awareness;
48
+ }
49
+ const doc = getCrdtDoc(docId);
50
+ if (!doc) {
51
+ throw new Error(`Cannot init awareness - doc not initialized: ${docId}`);
52
+ }
53
+ debugLog('[CRDT Awareness] Initializing for:', docId);
54
+ const awareness = new Awareness(doc);
55
+ const deviceId = getDeviceId();
56
+ const prefix = getEngineConfig().prefix;
57
+ const channelName = `awareness_${prefix}_${docId}`;
58
+ const cleanup = [];
59
+ // Set local state
60
+ awareness.setLocalStateField('user', userInfo);
61
+ // Create a broadcast channel for awareness
62
+ const channel = supabase.channel(channelName, {
63
+ config: {
64
+ broadcast: { self: false }
65
+ }
66
+ });
67
+ // Listen for remote awareness updates
68
+ channel.on('broadcast', { event: 'awareness' }, (payload) => {
69
+ if (payload.payload.deviceId === deviceId)
70
+ return;
71
+ try {
72
+ const update = base64ToUint8Array(payload.payload.data);
73
+ awarenessProtocol.applyAwarenessUpdate(awareness, update, 'remote');
74
+ }
75
+ catch (e) {
76
+ debugError('[CRDT Awareness] Error applying remote update:', e);
77
+ }
78
+ });
79
+ // Broadcast local awareness changes
80
+ const onUpdate = ({ added, updated, removed }, origin) => {
81
+ if (origin === 'remote')
82
+ return;
83
+ const changedClients = added.concat(updated).concat(removed);
84
+ try {
85
+ const update = awarenessProtocol.encodeAwarenessUpdate(awareness, changedClients);
86
+ channel.send({
87
+ type: 'broadcast',
88
+ event: 'awareness',
89
+ payload: {
90
+ data: uint8ArrayToBase64(update),
91
+ deviceId
92
+ }
93
+ });
94
+ }
95
+ catch (e) {
96
+ debugError('[CRDT Awareness] Error broadcasting update:', e);
97
+ }
98
+ };
99
+ awareness.on('update', onUpdate);
100
+ cleanup.push(() => awareness.off('update', onUpdate));
101
+ // Subscribe to channel
102
+ channel.subscribe((status) => {
103
+ if (status === 'SUBSCRIBED') {
104
+ debugLog('[CRDT Awareness] Channel connected for:', docId);
105
+ // Send initial awareness state
106
+ const update = awarenessProtocol.encodeAwarenessUpdate(awareness, [doc.clientID]);
107
+ channel.send({
108
+ type: 'broadcast',
109
+ event: 'awareness',
110
+ payload: {
111
+ data: uint8ArrayToBase64(update),
112
+ deviceId
113
+ }
114
+ });
115
+ }
116
+ });
117
+ // Clean up awareness on window unload
118
+ const beforeUnload = () => {
119
+ awarenessProtocol.removeAwarenessStates(awareness, [doc.clientID], 'window-unload');
120
+ };
121
+ if (typeof window !== 'undefined') {
122
+ window.addEventListener('beforeunload', beforeUnload);
123
+ cleanup.push(() => window.removeEventListener('beforeunload', beforeUnload));
124
+ }
125
+ activeAwareness.set(docId, { awareness, channel, cleanup });
126
+ return awareness;
127
+ }
128
+ /**
129
+ * Get the awareness instance for a document.
130
+ *
131
+ * @param docId - Document/note ID
132
+ * @returns The Awareness instance if initialized, undefined otherwise
133
+ */
134
+ export function getAwareness(docId) {
135
+ return activeAwareness.get(docId)?.awareness;
136
+ }
137
+ /**
138
+ * Destroy awareness for a document.
139
+ *
140
+ * Removes awareness state, closes the broadcast channel, and cleans up listeners.
141
+ *
142
+ * @param docId - Document/note ID
143
+ */
144
+ export async function destroyAwareness(docId) {
145
+ const entry = activeAwareness.get(docId);
146
+ if (!entry)
147
+ return;
148
+ debugLog('[CRDT Awareness] Destroying for:', docId);
149
+ // Run cleanup callbacks
150
+ for (const fn of entry.cleanup) {
151
+ try {
152
+ fn();
153
+ }
154
+ catch (e) {
155
+ debugWarn('[CRDT Awareness] Cleanup error:', e);
156
+ }
157
+ }
158
+ // Remove awareness states
159
+ const doc = getCrdtDoc(docId);
160
+ if (doc) {
161
+ awarenessProtocol.removeAwarenessStates(entry.awareness, [doc.clientID], 'destroy');
162
+ }
163
+ // Close channel
164
+ try {
165
+ await supabase.removeChannel(entry.channel);
166
+ }
167
+ catch (e) {
168
+ debugWarn('[CRDT Awareness] Error removing channel:', e);
169
+ }
170
+ entry.awareness.destroy();
171
+ activeAwareness.delete(docId);
172
+ }
173
+ //# sourceMappingURL=awareness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"awareness.js","sourceRoot":"","sources":["../../src/crdt/awareness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * CRDT Document Lifecycle Management
3
+ *
4
+ * Creates, manages, and destroys Yjs Y.Doc instances with y-indexeddb persistence.
5
+ * The engine fully owns all Yjs and y-indexeddb -- apps never import these directly.
6
+ */
7
+ import * as Y from 'yjs';
8
+ import { IndexeddbPersistence } from 'y-indexeddb';
9
+ import type { CrdtDocConfig, CrdtDocState } from './types';
10
+ /**
11
+ * Initialize a CRDT document with local IndexedDB persistence.
12
+ *
13
+ * Creates a Y.Doc and attaches IndexeddbPersistence for local durability.
14
+ * If the document already exists, returns the existing instance.
15
+ *
16
+ * @param docId - Unique identifier for the document (typically note ID)
17
+ * @param config - Optional configuration
18
+ * @returns The Y.Doc instance
19
+ */
20
+ export declare function initCrdtDoc(docId: string, config?: CrdtDocConfig): Y.Doc;
21
+ /**
22
+ * Get an active CRDT document by ID.
23
+ *
24
+ * @param docId - Document identifier
25
+ * @returns The Y.Doc if it exists, undefined otherwise
26
+ */
27
+ export declare function getCrdtDoc(docId: string): Y.Doc | undefined;
28
+ /**
29
+ * Wait for a document's IndexedDB persistence to finish syncing.
30
+ * Resolves immediately if already synced.
31
+ *
32
+ * @param docId - Document identifier
33
+ */
34
+ export declare function waitForCrdtSync(docId: string): Promise<void>;
35
+ /**
36
+ * Destroy a CRDT document and clean up all resources.
37
+ *
38
+ * Closes IndexedDB persistence, runs cleanup callbacks, and removes from active map.
39
+ *
40
+ * @param docId - Document identifier
41
+ */
42
+ export declare function destroyCrdtDoc(docId: string): Promise<void>;
43
+ /**
44
+ * Get the internal state for a document (used by other CRDT modules).
45
+ * @internal
46
+ */
47
+ export declare function _getDocEntry(docId: string): {
48
+ doc: Y.Doc;
49
+ persistence: IndexeddbPersistence;
50
+ state: CrdtDocState;
51
+ } | undefined;
52
+ /**
53
+ * Get all active document IDs.
54
+ */
55
+ export declare function getActiveCrdtDocIds(): string[];
56
+ //# sourceMappingURL=doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc.d.ts","sourceRoot":"","sources":["../../src/crdt/doc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAa3D;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,CA6BxE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,SAAS,CAE3D;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlE;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BjE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM;SA9HjC,CAAC,CAAC,GAAG;iBAAe,oBAAoB;WAAS,YAAY;cAgIrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * CRDT Document Lifecycle Management
3
+ *
4
+ * Creates, manages, and destroys Yjs Y.Doc instances with y-indexeddb persistence.
5
+ * The engine fully owns all Yjs and y-indexeddb -- apps never import these directly.
6
+ */
7
+ import * as Y from 'yjs';
8
+ import { IndexeddbPersistence } from 'y-indexeddb';
9
+ import { debugLog, debugWarn } from '../debug';
10
+ import { getEngineConfig } from '../config';
11
+ /** Active documents map: docId → { doc, persistence, state } */
12
+ const activeDocs = new Map();
13
+ function getDbName(docId, config) {
14
+ const prefix = config?.dbPrefix || getEngineConfig().prefix;
15
+ return `${prefix}_crdt_${docId}`;
16
+ }
17
+ /**
18
+ * Initialize a CRDT document with local IndexedDB persistence.
19
+ *
20
+ * Creates a Y.Doc and attaches IndexeddbPersistence for local durability.
21
+ * If the document already exists, returns the existing instance.
22
+ *
23
+ * @param docId - Unique identifier for the document (typically note ID)
24
+ * @param config - Optional configuration
25
+ * @returns The Y.Doc instance
26
+ */
27
+ export function initCrdtDoc(docId, config) {
28
+ const existing = activeDocs.get(docId);
29
+ if (existing) {
30
+ debugLog('[CRDT] Doc already initialized:', docId);
31
+ return existing.doc;
32
+ }
33
+ debugLog('[CRDT] Initializing doc:', docId);
34
+ const doc = new Y.Doc();
35
+ const dbName = getDbName(docId, config);
36
+ const persistence = new IndexeddbPersistence(dbName, doc);
37
+ const cleanup = [];
38
+ const state = {
39
+ docId,
40
+ cleanup
41
+ };
42
+ // Log when persistence is synced from IndexedDB
43
+ const onSynced = () => {
44
+ debugLog('[CRDT] IndexedDB synced for doc:', docId);
45
+ };
46
+ persistence.on('synced', onSynced);
47
+ cleanup.push(() => persistence.off('synced', onSynced));
48
+ activeDocs.set(docId, { doc, persistence, state });
49
+ return doc;
50
+ }
51
+ /**
52
+ * Get an active CRDT document by ID.
53
+ *
54
+ * @param docId - Document identifier
55
+ * @returns The Y.Doc if it exists, undefined otherwise
56
+ */
57
+ export function getCrdtDoc(docId) {
58
+ return activeDocs.get(docId)?.doc;
59
+ }
60
+ /**
61
+ * Wait for a document's IndexedDB persistence to finish syncing.
62
+ * Resolves immediately if already synced.
63
+ *
64
+ * @param docId - Document identifier
65
+ */
66
+ export async function waitForCrdtSync(docId) {
67
+ const entry = activeDocs.get(docId);
68
+ if (!entry) {
69
+ debugWarn('[CRDT] Cannot wait for sync - doc not initialized:', docId);
70
+ return;
71
+ }
72
+ if (entry.persistence.synced)
73
+ return;
74
+ return new Promise((resolve) => {
75
+ const handler = () => {
76
+ entry.persistence.off('synced', handler);
77
+ resolve();
78
+ };
79
+ entry.persistence.on('synced', handler);
80
+ });
81
+ }
82
+ /**
83
+ * Destroy a CRDT document and clean up all resources.
84
+ *
85
+ * Closes IndexedDB persistence, runs cleanup callbacks, and removes from active map.
86
+ *
87
+ * @param docId - Document identifier
88
+ */
89
+ export async function destroyCrdtDoc(docId) {
90
+ const entry = activeDocs.get(docId);
91
+ if (!entry) {
92
+ debugLog('[CRDT] Doc not found for destroy:', docId);
93
+ return;
94
+ }
95
+ debugLog('[CRDT] Destroying doc:', docId);
96
+ // Run cleanup callbacks (removes event listeners)
97
+ for (const fn of entry.state.cleanup) {
98
+ try {
99
+ fn();
100
+ }
101
+ catch (e) {
102
+ debugWarn('[CRDT] Cleanup error for doc:', docId, e);
103
+ }
104
+ }
105
+ // Close IndexedDB persistence
106
+ try {
107
+ await entry.persistence.destroy();
108
+ }
109
+ catch (e) {
110
+ debugWarn('[CRDT] Error closing persistence for doc:', docId, e);
111
+ }
112
+ // Destroy the Y.Doc
113
+ entry.doc.destroy();
114
+ activeDocs.delete(docId);
115
+ debugLog('[CRDT] Doc destroyed:', docId);
116
+ }
117
+ /**
118
+ * Get the internal state for a document (used by other CRDT modules).
119
+ * @internal
120
+ */
121
+ export function _getDocEntry(docId) {
122
+ return activeDocs.get(docId);
123
+ }
124
+ /**
125
+ * Get all active document IDs.
126
+ */
127
+ export function getActiveCrdtDocIds() {
128
+ return Array.from(activeDocs.keys());
129
+ }
130
+ //# sourceMappingURL=doc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc.js","sourceRoot":"","sources":["../../src/crdt/doc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * CRDT Module Barrel Export
3
+ *
4
+ * Provides complete Yjs/CRDT management for collaborative editing.
5
+ * Apps should import everything from this module and never import
6
+ * yjs or y-indexeddb directly.
7
+ */
8
+ export { Doc as YDoc, Array as YArray, Map as YMap, Text as YText } from 'yjs';
9
+ export * as Y from 'yjs';
10
+ export { initCrdtDoc, getCrdtDoc, destroyCrdtDoc, waitForCrdtSync, getActiveCrdtDocIds } from './doc';
11
+ export { connectCrdtRealtime, disconnectCrdtRealtime, saveCrdtCheckpoint, loadCrdtFromRemote, getCrdtSyncState, isCrdtRealtimeConnected } from './sync';
12
+ export { initAwareness, getAwareness, destroyAwareness } from './awareness';
13
+ export { Awareness } from 'y-protocols/awareness';
14
+ export { cacheCrdtForOffline, removeCrdtOfflineCache, isCrdtCachedOffline, loadCrdtFromOfflineCache, ensureCrdtOfflineData, getCrdtOfflineCacheSize, getActiveCrdtDocSize, getOfflineCacheStats, getStorageEstimate, formatBytes } from './offline';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crdt/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,KAAK,CAAC;AAC/E,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,OAAO,EACL,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACpB,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACZ,MAAM,WAAW,CAAC"}