@aether-baas/core 3.0.0

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 (49) hide show
  1. package/dist/adapters/storage.d.ts +126 -0
  2. package/dist/adapters/storage.d.ts.map +1 -0
  3. package/dist/adapters/storage.js +299 -0
  4. package/dist/adapters/storage.js.map +1 -0
  5. package/dist/client/index.d.ts +172 -0
  6. package/dist/client/index.d.ts.map +1 -0
  7. package/dist/client/index.js +409 -0
  8. package/dist/client/index.js.map +1 -0
  9. package/dist/errors/index.d.ts +251 -0
  10. package/dist/errors/index.d.ts.map +1 -0
  11. package/dist/errors/index.js +542 -0
  12. package/dist/errors/index.js.map +1 -0
  13. package/dist/http/client.d.ts +40 -0
  14. package/dist/http/client.d.ts.map +1 -0
  15. package/dist/http/client.js +247 -0
  16. package/dist/http/client.js.map +1 -0
  17. package/dist/index.d.ts +21 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +44 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/modules/ai.d.ts +165 -0
  22. package/dist/modules/ai.d.ts.map +1 -0
  23. package/dist/modules/ai.js +330 -0
  24. package/dist/modules/ai.js.map +1 -0
  25. package/dist/modules/database.d.ts +187 -0
  26. package/dist/modules/database.d.ts.map +1 -0
  27. package/dist/modules/database.js +428 -0
  28. package/dist/modules/database.js.map +1 -0
  29. package/dist/modules/functions.d.ts +48 -0
  30. package/dist/modules/functions.d.ts.map +1 -0
  31. package/dist/modules/functions.js +83 -0
  32. package/dist/modules/functions.js.map +1 -0
  33. package/dist/modules/push.d.ts +174 -0
  34. package/dist/modules/push.d.ts.map +1 -0
  35. package/dist/modules/push.js +181 -0
  36. package/dist/modules/push.js.map +1 -0
  37. package/dist/modules/storage.d.ts +69 -0
  38. package/dist/modules/storage.d.ts.map +1 -0
  39. package/dist/modules/storage.js +151 -0
  40. package/dist/modules/storage.js.map +1 -0
  41. package/dist/modules/tenant-auth.d.ts +167 -0
  42. package/dist/modules/tenant-auth.d.ts.map +1 -0
  43. package/dist/modules/tenant-auth.js +341 -0
  44. package/dist/modules/tenant-auth.js.map +1 -0
  45. package/dist/types/index.d.ts +470 -0
  46. package/dist/types/index.d.ts.map +1 -0
  47. package/dist/types/index.js +19 -0
  48. package/dist/types/index.js.map +1 -0
  49. package/package.json +80 -0
@@ -0,0 +1,428 @@
1
+ // =============================================================================
2
+ // @aether/core - Database Module
3
+ // =============================================================================
4
+ // Módulo de banco de dados com Query Builder fluente e Realtime.
5
+ // API 100% compatível com versão anterior do SDK.
6
+ // =============================================================================
7
+ // =============================================================================
8
+ // WEBSOCKET HELPER
9
+ // =============================================================================
10
+ // Ajuste para WebSocket funcionar no Browser e Node
11
+ const WS = typeof window !== 'undefined'
12
+ ? window.WebSocket
13
+ : global.WebSocket || null;
14
+ // =============================================================================
15
+ // QUERY BUILDER
16
+ // =============================================================================
17
+ /**
18
+ * Builder para construção fluente de queries.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const adults = await aether.db.collection('users')
23
+ * .query()
24
+ * .eq('status', 'active')
25
+ * .gt('age', 18)
26
+ * .order('name', 'ASC')
27
+ * .limit(50)
28
+ * .get();
29
+ * ```
30
+ */
31
+ export class QueryBuilder {
32
+ collectionRef;
33
+ filter = {};
34
+ sort;
35
+ limitVal;
36
+ offsetVal;
37
+ constructor(collectionRef) {
38
+ this.collectionRef = collectionRef;
39
+ }
40
+ /** Igual a */
41
+ eq(column, value) {
42
+ this.filter[column] = value;
43
+ return this;
44
+ }
45
+ /** Diferente de */
46
+ neq(column, value) {
47
+ this.filter[column] = { ...this.filter[column], $ne: value };
48
+ return this;
49
+ }
50
+ /** Maior que */
51
+ gt(column, value) {
52
+ this.filter[column] = { ...this.filter[column], $gt: value };
53
+ return this;
54
+ }
55
+ /** Maior ou igual */
56
+ gte(column, value) {
57
+ this.filter[column] = { ...this.filter[column], $gte: value };
58
+ return this;
59
+ }
60
+ /** Menor que */
61
+ lt(column, value) {
62
+ this.filter[column] = { ...this.filter[column], $lt: value };
63
+ return this;
64
+ }
65
+ /** Menor ou igual */
66
+ lte(column, value) {
67
+ this.filter[column] = { ...this.filter[column], $lte: value };
68
+ return this;
69
+ }
70
+ /** Contém (LIKE %value%) */
71
+ like(column, value) {
72
+ this.filter[column] = { ...this.filter[column], $like: value };
73
+ return this;
74
+ }
75
+ /** Contém case-insensitive (ILIKE) */
76
+ ilike(column, value) {
77
+ this.filter[column] = { ...this.filter[column], $ilike: value };
78
+ return this;
79
+ }
80
+ /** Está na lista */
81
+ in(column, values) {
82
+ this.filter[column] = { ...this.filter[column], $in: values };
83
+ return this;
84
+ }
85
+ /** Não está na lista */
86
+ notIn(column, values) {
87
+ this.filter[column] = { ...this.filter[column], $nin: values };
88
+ return this;
89
+ }
90
+ /** É nulo */
91
+ isNull(column) {
92
+ this.filter[column] = { $null: true };
93
+ return this;
94
+ }
95
+ /** Não é nulo */
96
+ isNotNull(column) {
97
+ this.filter[column] = { $notNull: true };
98
+ return this;
99
+ }
100
+ /** Ordenação */
101
+ order(column, direction = 'ASC') {
102
+ this.sort = { field: column, order: direction };
103
+ return this;
104
+ }
105
+ /** Limite de resultados */
106
+ limit(count) {
107
+ this.limitVal = count;
108
+ return this;
109
+ }
110
+ /** Offset para paginação */
111
+ offset(count) {
112
+ this.offsetVal = count;
113
+ return this;
114
+ }
115
+ /** Executa a query e retorna resultados */
116
+ async get() {
117
+ return this.collectionRef.list({
118
+ filter: this.filter,
119
+ sort: this.sort,
120
+ limit: this.limitVal,
121
+ offset: this.offsetVal,
122
+ });
123
+ }
124
+ /** Executa e retorna primeiro resultado ou null */
125
+ async first() {
126
+ const results = await this.limit(1).get();
127
+ return results[0] ?? null;
128
+ }
129
+ /** Conta resultados */
130
+ async count() {
131
+ const results = await this.get();
132
+ return results.length;
133
+ }
134
+ }
135
+ // =============================================================================
136
+ // COLLECTION REFERENCE
137
+ // =============================================================================
138
+ /**
139
+ * Referência a uma coleção específica.
140
+ */
141
+ export class CollectionReference {
142
+ client;
143
+ http;
144
+ collectionName;
145
+ wsUrl;
146
+ constructor(client, http, name) {
147
+ this.client = client;
148
+ this.http = http;
149
+ this.collectionName = name;
150
+ // Ajusta protocolo para WS/WSS
151
+ const protocol = client.apiUrl.startsWith('https') ? 'wss' : 'ws';
152
+ this.wsUrl = client.apiUrl.replace(/^https?/, protocol);
153
+ }
154
+ // ===========================================================================
155
+ // ATALHOS DE QUERY
156
+ // ===========================================================================
157
+ /** Atalho para query().eq() */
158
+ eq(column, value) {
159
+ return new QueryBuilder(this).eq(column, value);
160
+ }
161
+ /** Atalho para query().gt() */
162
+ gt(column, value) {
163
+ return new QueryBuilder(this).gt(column, value);
164
+ }
165
+ /** Inicia uma nova query */
166
+ query() {
167
+ return new QueryBuilder(this);
168
+ }
169
+ // ===========================================================================
170
+ // OPERAÇÕES CRUD
171
+ // ===========================================================================
172
+ /**
173
+ * Lista documentos da collection.
174
+ */
175
+ async list(options) {
176
+ const params = {};
177
+ if (options?.filter) {
178
+ params.filter = JSON.stringify(options.filter);
179
+ }
180
+ if (options?.sort) {
181
+ params.sort = JSON.stringify([options.sort.field, options.sort.order]);
182
+ }
183
+ if (options?.limit)
184
+ params.limit = String(options.limit);
185
+ if (options?.offset)
186
+ params.offset = String(options.offset);
187
+ const { data } = await this.http.get(`/db/${this.collectionName}`, {
188
+ params,
189
+ });
190
+ return data.data;
191
+ }
192
+ /**
193
+ * Busca um documento por ID.
194
+ */
195
+ async get(id) {
196
+ const { data } = await this.http.get(`/db/${this.collectionName}/${id}`);
197
+ return data.data;
198
+ }
199
+ /**
200
+ * Cria um novo documento.
201
+ */
202
+ async create(newData) {
203
+ const { data } = await this.http.post(`/db/${this.collectionName}`, newData);
204
+ return data.data;
205
+ }
206
+ /**
207
+ * Atualiza um documento existente.
208
+ */
209
+ async update(id, updates) {
210
+ const { data } = await this.http.put(`/db/${this.collectionName}/${id}`, updates);
211
+ return data.data;
212
+ }
213
+ /**
214
+ * Remove um documento.
215
+ */
216
+ async delete(id) {
217
+ await this.http.delete(`/db/${this.collectionName}/${id}`);
218
+ return true;
219
+ }
220
+ /**
221
+ * Cria ou atualiza documento (upsert).
222
+ */
223
+ async upsert(data) {
224
+ if (data.id) {
225
+ return this.update(data.id, data);
226
+ }
227
+ return this.create(data);
228
+ }
229
+ // ===========================================================================
230
+ // REALTIME
231
+ // ===========================================================================
232
+ /**
233
+ * Inscreve para receber atualizações em tempo real.
234
+ *
235
+ * @param callback Função chamada quando há mudanças
236
+ * @returns Função para cancelar inscrição
237
+ *
238
+ * @example
239
+ * ```typescript
240
+ * const unsubscribe = aether.db.collection('messages').subscribe((action, data) => {
241
+ * if (action === 'create') {
242
+ * console.log('Nova mensagem:', data);
243
+ * }
244
+ * });
245
+ *
246
+ * // Para cancelar:
247
+ * unsubscribe();
248
+ * ```
249
+ */
250
+ subscribe(callback) {
251
+ if (!WS) {
252
+ console.warn('[Aether] WebSocket não disponível neste ambiente.');
253
+ return () => { };
254
+ }
255
+ const token = this.client.getToken();
256
+ const projectId = this.client.projectId;
257
+ if (!token || !projectId) {
258
+ console.warn('[Aether] Realtime falhou: Token ou ProjectId ausentes.');
259
+ return () => { };
260
+ }
261
+ const url = `${this.wsUrl}/v1/db/subscribe/${this.collectionName}?token=${token}&projectId=${projectId}`;
262
+ let ws = null;
263
+ let reconnectAttempts = 0;
264
+ const maxReconnectAttempts = 5;
265
+ let reconnectTimeout = null;
266
+ let pingInterval = null;
267
+ let isClosedManually = false;
268
+ const connect = () => {
269
+ try {
270
+ ws = new WS(url);
271
+ const socket = ws; // Non-null assertion pois acabamos de criar
272
+ socket.onopen = () => {
273
+ reconnectAttempts = 0;
274
+ // Ping a cada 30s para manter conexão viva
275
+ pingInterval = setInterval(() => {
276
+ if (ws?.readyState === WebSocket.OPEN) {
277
+ ws.send('ping');
278
+ }
279
+ }, 30000);
280
+ if (process.env.NODE_ENV === 'development') {
281
+ console.log(`[Aether] Realtime conectado: ${this.collectionName}`);
282
+ }
283
+ };
284
+ socket.onmessage = (event) => {
285
+ try {
286
+ const raw = typeof event.data === 'string' ? event.data : event.data.toString();
287
+ if (raw === 'pong')
288
+ return;
289
+ const payload = JSON.parse(raw);
290
+ // Mapeia 'insert' do Postgres para 'create' do SDK
291
+ let action = payload.action;
292
+ if (payload.action === 'insert') {
293
+ action = 'create';
294
+ }
295
+ callback(action, payload.data);
296
+ }
297
+ catch (e) {
298
+ console.error('[Aether] Erro ao parsear evento WebSocket:', e);
299
+ }
300
+ };
301
+ socket.onerror = (error) => {
302
+ console.error('[Aether] Erro WebSocket:', error);
303
+ };
304
+ socket.onclose = () => {
305
+ if (pingInterval) {
306
+ clearInterval(pingInterval);
307
+ pingInterval = null;
308
+ }
309
+ // Reconecta automaticamente se não foi fechado manualmente
310
+ if (!isClosedManually && reconnectAttempts < maxReconnectAttempts) {
311
+ reconnectAttempts++;
312
+ const delay = Math.min(1000 * Math.pow(2, reconnectAttempts), 30000);
313
+ if (process.env.NODE_ENV === 'development') {
314
+ console.log(`[Aether] Reconectando em ${delay}ms (tentativa ${reconnectAttempts})`);
315
+ }
316
+ reconnectTimeout = setTimeout(connect, delay);
317
+ }
318
+ };
319
+ }
320
+ catch (error) {
321
+ console.error('[Aether] Erro ao criar WebSocket:', error);
322
+ }
323
+ };
324
+ connect();
325
+ // Retorna função para cancelar inscrição
326
+ return () => {
327
+ isClosedManually = true;
328
+ if (reconnectTimeout) {
329
+ clearTimeout(reconnectTimeout);
330
+ }
331
+ if (pingInterval) {
332
+ clearInterval(pingInterval);
333
+ }
334
+ if (ws) {
335
+ ws.close();
336
+ ws = null;
337
+ }
338
+ };
339
+ }
340
+ }
341
+ // =============================================================================
342
+ // DATABASE MODULE
343
+ // =============================================================================
344
+ /**
345
+ * Módulo de banco de dados do Aether.
346
+ */
347
+ export class DatabaseModule {
348
+ client;
349
+ http;
350
+ constructor(client, http) {
351
+ this.client = client;
352
+ this.http = http;
353
+ }
354
+ /**
355
+ * Seleciona uma coleção de dados.
356
+ *
357
+ * @example
358
+ * ```typescript
359
+ * interface Product {
360
+ * id: string;
361
+ * name: string;
362
+ * price: number;
363
+ * }
364
+ *
365
+ * const products = aether.db.collection<Product>('products');
366
+ * ```
367
+ */
368
+ collection(collectionName) {
369
+ return new CollectionReference(this.client, this.http, collectionName);
370
+ }
371
+ /**
372
+ * Método compatível com estilo Supabase/Drizzle.
373
+ *
374
+ * @example
375
+ * ```typescript
376
+ * const { data, error } = await aether.db.from('posts').select('*');
377
+ * ```
378
+ */
379
+ from(tableName) {
380
+ const ref = this.collection(tableName);
381
+ return {
382
+ select: async (_columns = '*') => {
383
+ try {
384
+ const data = await ref.list();
385
+ return { data, error: null };
386
+ }
387
+ catch (err) {
388
+ const error = err;
389
+ return { data: null, error: error.response?.data || error.message };
390
+ }
391
+ },
392
+ insert: async (data) => {
393
+ try {
394
+ const res = await ref.create(data);
395
+ return { data: res, error: null };
396
+ }
397
+ catch (err) {
398
+ const error = err;
399
+ return { data: null, error: error.response?.data || error.message };
400
+ }
401
+ },
402
+ update: async (data) => {
403
+ try {
404
+ if (!data.id)
405
+ throw new Error('ID é obrigatório para update via .from()');
406
+ const { id, ...updates } = data;
407
+ const res = await ref.update(id, updates);
408
+ return { data: res, error: null };
409
+ }
410
+ catch (err) {
411
+ const error = err;
412
+ return { data: null, error: error.response?.data || error.message };
413
+ }
414
+ },
415
+ delete: async () => {
416
+ return { data: null, error: 'Delete via .from() requer implementação de filtros' };
417
+ },
418
+ };
419
+ }
420
+ /**
421
+ * Executa múltiplas operações em uma única transação.
422
+ */
423
+ async batch(operations) {
424
+ const { data } = await this.http.post('/db/batch', { operations });
425
+ return data.results;
426
+ }
427
+ }
428
+ //# sourceMappingURL=database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/modules/database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { AxiosInstance } from 'axios';
2
+ import type { PlataformaClient } from '../client/index.js';
3
+ import type { InvokeFunctionOptions } from '../types/index.js';
4
+ /**
5
+ * Módulo de functions serverless do Aether.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // Invocar função
10
+ * const result = await aether.functions.invoke('send-email', {
11
+ * to: 'user@email.com',
12
+ * subject: 'Olá!',
13
+ * body: 'Bem-vindo!'
14
+ * });
15
+ * ```
16
+ */
17
+ export declare class FunctionsModule {
18
+ private client;
19
+ private http;
20
+ constructor(client: PlataformaClient, http: AxiosInstance);
21
+ /**
22
+ * Invoca uma function serverless.
23
+ *
24
+ * @param functionName Nome da função
25
+ * @param payload Dados a enviar para a função
26
+ * @param options Opções adicionais
27
+ */
28
+ invoke<T = unknown>(functionName: string, payload?: unknown, options?: InvokeFunctionOptions): Promise<{
29
+ data: T;
30
+ error: null;
31
+ } | {
32
+ data: null;
33
+ error: string;
34
+ }>;
35
+ /**
36
+ * Atalho para invoke com POST.
37
+ */
38
+ call<T = unknown>(functionName: string, payload?: unknown): Promise<T>;
39
+ /**
40
+ * Lista functions disponíveis no projeto.
41
+ */
42
+ list(): Promise<Array<{
43
+ name: string;
44
+ description?: string;
45
+ createdAt: string;
46
+ }>>;
47
+ }
48
+ //# sourceMappingURL=functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/modules/functions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAM/D;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,IAAI,CAAgB;gBAEhB,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa;IAKzD;;;;;;OAMG;IACG,MAAM,CAAC,CAAC,GAAG,OAAO,EACtB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAqCpE;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAU5E;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CASxF"}
@@ -0,0 +1,83 @@
1
+ // =============================================================================
2
+ // @aether/core - Functions Module
3
+ // =============================================================================
4
+ // Módulo para invocar serverless functions.
5
+ // =============================================================================
6
+ // =============================================================================
7
+ // FUNCTIONS MODULE
8
+ // =============================================================================
9
+ /**
10
+ * Módulo de functions serverless do Aether.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Invocar função
15
+ * const result = await aether.functions.invoke('send-email', {
16
+ * to: 'user@email.com',
17
+ * subject: 'Olá!',
18
+ * body: 'Bem-vindo!'
19
+ * });
20
+ * ```
21
+ */
22
+ export class FunctionsModule {
23
+ client;
24
+ http;
25
+ constructor(client, http) {
26
+ this.client = client;
27
+ this.http = http;
28
+ }
29
+ /**
30
+ * Invoca uma function serverless.
31
+ *
32
+ * @param functionName Nome da função
33
+ * @param payload Dados a enviar para a função
34
+ * @param options Opções adicionais
35
+ */
36
+ async invoke(functionName, payload, options) {
37
+ const projectId = this.client.projectId;
38
+ const method = options?.method ?? (payload ? 'POST' : 'GET');
39
+ const timeout = options?.timeout ?? 30000;
40
+ try {
41
+ let response;
42
+ if (method === 'GET') {
43
+ response = await this.http.get(`/projects/${projectId}/functions/${functionName}`, {
44
+ timeout,
45
+ headers: options?.headers,
46
+ });
47
+ }
48
+ else {
49
+ response = await this.http.post(`/projects/${projectId}/functions/${functionName}`, payload, {
50
+ timeout,
51
+ headers: options?.headers,
52
+ });
53
+ }
54
+ return { data: response.data.data, error: null };
55
+ }
56
+ catch (err) {
57
+ const error = err;
58
+ return {
59
+ data: null,
60
+ error: error.response?.data?.message || error.message || 'Erro ao invocar função',
61
+ };
62
+ }
63
+ }
64
+ /**
65
+ * Atalho para invoke com POST.
66
+ */
67
+ async call(functionName, payload) {
68
+ const result = await this.invoke(functionName, payload, { method: 'POST' });
69
+ if (result.error) {
70
+ throw new Error(result.error);
71
+ }
72
+ return result.data;
73
+ }
74
+ /**
75
+ * Lista functions disponíveis no projeto.
76
+ */
77
+ async list() {
78
+ const projectId = this.client.projectId;
79
+ const { data } = await this.http.get(`/projects/${projectId}/functions`);
80
+ return data.data;
81
+ }
82
+ }
83
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/modules/functions.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;AAMhF,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,eAAe;IAClB,MAAM,CAAmB;IACzB,IAAI,CAAgB;IAE5B,YAAY,MAAwB,EAAE,IAAmB;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,YAAoB,EACpB,OAAiB,EACjB,OAA+B;QAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAE1C,IAAI,CAAC;YACH,IAAI,QAAQ,CAAC;YAEb,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC5B,aAAa,SAAS,cAAc,YAAY,EAAE,EAClD;oBACE,OAAO;oBACP,OAAO,EAAE,OAAO,EAAE,OAAO;iBAC1B,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC7B,aAAa,SAAS,cAAc,YAAY,EAAE,EAClD,OAAO,EACP;oBACE,OAAO;oBACP,OAAO,EAAE,OAAO,EAAE,OAAO;iBAC1B,CACF,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAuE,CAAC;YACtF,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,wBAAwB;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAc,YAAoB,EAAE,OAAiB;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAI,YAAY,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAE/E,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,IAAS,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAExC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,aAAa,SAAS,YAAY,CACnC,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}