n8n-nodes-minimemory 0.1.0 → 0.3.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 (29) hide show
  1. package/README.md +117 -5
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -3
  5. package/dist/index.js.map +1 -1
  6. package/dist/nodes/Minimemory/BM25Index.d.ts +108 -0
  7. package/dist/nodes/Minimemory/BM25Index.d.ts.map +1 -0
  8. package/dist/nodes/Minimemory/BM25Index.js +259 -0
  9. package/dist/nodes/Minimemory/BM25Index.js.map +1 -0
  10. package/dist/nodes/Minimemory/HybridSearch.d.ts +59 -0
  11. package/dist/nodes/Minimemory/HybridSearch.d.ts.map +1 -0
  12. package/dist/nodes/Minimemory/HybridSearch.js +158 -0
  13. package/dist/nodes/Minimemory/HybridSearch.js.map +1 -0
  14. package/dist/nodes/Minimemory/Minimemory.node.d.ts.map +1 -1
  15. package/dist/nodes/Minimemory/Minimemory.node.js +230 -13
  16. package/dist/nodes/Minimemory/Minimemory.node.js.map +1 -1
  17. package/dist/nodes/Minimemory/TextUtils.d.ts +22 -0
  18. package/dist/nodes/Minimemory/TextUtils.d.ts.map +1 -0
  19. package/dist/nodes/Minimemory/TextUtils.js +92 -0
  20. package/dist/nodes/Minimemory/TextUtils.js.map +1 -0
  21. package/dist/nodes/Minimemory/VectorDB.d.ts +118 -1
  22. package/dist/nodes/Minimemory/VectorDB.d.ts.map +1 -1
  23. package/dist/nodes/Minimemory/VectorDB.js +351 -4
  24. package/dist/nodes/Minimemory/VectorDB.js.map +1 -1
  25. package/package.json +3 -6
  26. package/dist/credentials/MinimemoryConfig.credentials.d.ts +0 -8
  27. package/dist/credentials/MinimemoryConfig.credentials.d.ts.map +0 -1
  28. package/dist/credentials/MinimemoryConfig.credentials.js +0 -40
  29. package/dist/credentials/MinimemoryConfig.credentials.js.map +0 -1
@@ -49,6 +49,8 @@ exports.deleteDB = deleteDB;
49
49
  exports.clearCache = clearCache;
50
50
  const fs = __importStar(require("fs"));
51
51
  const path = __importStar(require("path"));
52
+ const BM25Index_1 = require("./BM25Index");
53
+ const HybridSearch_1 = require("./HybridSearch");
52
54
  /**
53
55
  * Calculates cosine distance between two vectors.
54
56
  * Returns a value between 0 (identical) and 2 (opposite).
@@ -98,12 +100,185 @@ function dotProductDistance(a, b) {
98
100
  }
99
101
  return -dot; // Negative so lower = more similar
100
102
  }
103
+ // ============================================================================
104
+ // Metadata Filter Evaluation
105
+ // ============================================================================
106
+ /**
107
+ * Gets a nested value from an object using dot notation
108
+ * Example: getNestedValue({ a: { b: 1 } }, 'a.b') => 1
109
+ */
110
+ function getNestedValue(obj, path) {
111
+ if (!obj)
112
+ return undefined;
113
+ const parts = path.split('.');
114
+ let current = obj;
115
+ for (const part of parts) {
116
+ if (current === null || current === undefined)
117
+ return undefined;
118
+ if (typeof current !== 'object')
119
+ return undefined;
120
+ current = current[part];
121
+ }
122
+ return current;
123
+ }
124
+ /**
125
+ * Compares two values for ordering operations
126
+ */
127
+ function compareValues(a, b) {
128
+ // Handle dates
129
+ if (a instanceof Date && b instanceof Date) {
130
+ return a.getTime() - b.getTime();
131
+ }
132
+ // Handle date strings
133
+ if (typeof a === 'string' && typeof b === 'string') {
134
+ const dateA = Date.parse(a);
135
+ const dateB = Date.parse(b);
136
+ if (!isNaN(dateA) && !isNaN(dateB)) {
137
+ return dateA - dateB;
138
+ }
139
+ return a.localeCompare(b);
140
+ }
141
+ // Handle numbers
142
+ if (typeof a === 'number' && typeof b === 'number') {
143
+ return a - b;
144
+ }
145
+ // Fallback to string comparison
146
+ return String(a).localeCompare(String(b));
147
+ }
148
+ /**
149
+ * Checks if a condition object is a filter condition (has operator keys)
150
+ */
151
+ function isFilterCondition(value) {
152
+ if (!value || typeof value !== 'object')
153
+ return false;
154
+ const keys = Object.keys(value);
155
+ return keys.length > 0 && keys.every(k => k.startsWith('$'));
156
+ }
157
+ /**
158
+ * Evaluates a single filter condition against a field value
159
+ */
160
+ function evaluateCondition(fieldValue, condition) {
161
+ const entries = Object.entries(condition);
162
+ for (const [operator, operand] of entries) {
163
+ switch (operator) {
164
+ case '$eq':
165
+ if (fieldValue !== operand)
166
+ return false;
167
+ break;
168
+ case '$ne':
169
+ if (fieldValue === operand)
170
+ return false;
171
+ break;
172
+ case '$gt':
173
+ if (fieldValue === undefined || compareValues(fieldValue, operand) <= 0)
174
+ return false;
175
+ break;
176
+ case '$gte':
177
+ if (fieldValue === undefined || compareValues(fieldValue, operand) < 0)
178
+ return false;
179
+ break;
180
+ case '$lt':
181
+ if (fieldValue === undefined || compareValues(fieldValue, operand) >= 0)
182
+ return false;
183
+ break;
184
+ case '$lte':
185
+ if (fieldValue === undefined || compareValues(fieldValue, operand) > 0)
186
+ return false;
187
+ break;
188
+ case '$in':
189
+ if (!Array.isArray(operand) || !operand.includes(fieldValue))
190
+ return false;
191
+ break;
192
+ case '$nin':
193
+ if (!Array.isArray(operand) || operand.includes(fieldValue))
194
+ return false;
195
+ break;
196
+ case '$exists':
197
+ if (operand === true && fieldValue === undefined)
198
+ return false;
199
+ if (operand === false && fieldValue !== undefined)
200
+ return false;
201
+ break;
202
+ case '$contains':
203
+ if (typeof fieldValue !== 'string' || typeof operand !== 'string')
204
+ return false;
205
+ if (!fieldValue.toLowerCase().includes(operand.toLowerCase()))
206
+ return false;
207
+ break;
208
+ case '$startsWith':
209
+ if (typeof fieldValue !== 'string' || typeof operand !== 'string')
210
+ return false;
211
+ if (!fieldValue.toLowerCase().startsWith(operand.toLowerCase()))
212
+ return false;
213
+ break;
214
+ case '$endsWith':
215
+ if (typeof fieldValue !== 'string' || typeof operand !== 'string')
216
+ return false;
217
+ if (!fieldValue.toLowerCase().endsWith(operand.toLowerCase()))
218
+ return false;
219
+ break;
220
+ default:
221
+ // Unknown operator, ignore
222
+ break;
223
+ }
224
+ }
225
+ return true;
226
+ }
227
+ /**
228
+ * Evaluates a complete metadata filter against a metadata object
229
+ */
230
+ function evaluateFilter(metadata, filter) {
231
+ // Handle $and operator
232
+ if (filter.$and) {
233
+ for (const subFilter of filter.$and) {
234
+ if (!evaluateFilter(metadata, subFilter)) {
235
+ return false;
236
+ }
237
+ }
238
+ }
239
+ // Handle $or operator
240
+ if (filter.$or) {
241
+ let anyMatch = false;
242
+ for (const subFilter of filter.$or) {
243
+ if (evaluateFilter(metadata, subFilter)) {
244
+ anyMatch = true;
245
+ break;
246
+ }
247
+ }
248
+ if (!anyMatch && filter.$or.length > 0) {
249
+ return false;
250
+ }
251
+ }
252
+ // Handle field conditions
253
+ for (const [field, condition] of Object.entries(filter)) {
254
+ // Skip logical operators
255
+ if (field === '$and' || field === '$or')
256
+ continue;
257
+ const fieldValue = getNestedValue(metadata, field);
258
+ if (isFilterCondition(condition)) {
259
+ // It's a condition object like { $gt: 5 }
260
+ if (!evaluateCondition(fieldValue, condition)) {
261
+ return false;
262
+ }
263
+ }
264
+ else {
265
+ // It's a simple value, treat as $eq
266
+ if (fieldValue !== condition) {
267
+ return false;
268
+ }
269
+ }
270
+ }
271
+ return true;
272
+ }
101
273
  /**
102
274
  * In-memory vector database
103
275
  */
104
276
  class VectorDB {
105
277
  constructor(options) {
106
278
  this.vectors = new Map();
279
+ // BM25 index for keyword search (lazy-initialized)
280
+ this.bm25Index = null;
281
+ this.bm25TextFields = [];
107
282
  this._dimensions = options.dimensions;
108
283
  this._distance = options.distance || 'cosine';
109
284
  this._indexType = options.indexType || 'flat';
@@ -174,6 +349,10 @@ class VectorDB {
174
349
  metadata: metadata || null,
175
350
  norm,
176
351
  });
352
+ // Update BM25 index if configured
353
+ if (this.bm25Index) {
354
+ this.bm25Index.addDocument(id, metadata || null);
355
+ }
177
356
  }
178
357
  /**
179
358
  * Updates an existing vector or inserts a new one
@@ -189,21 +368,35 @@ class VectorDB {
189
368
  metadata: metadata || null,
190
369
  norm,
191
370
  });
371
+ // Update BM25 index if configured
372
+ if (this.bm25Index) {
373
+ this.bm25Index.updateDocument(id, metadata || null);
374
+ }
192
375
  }
193
376
  /**
194
377
  * Searches for the k nearest neighbors to the query vector
378
+ * @param query - The query vector
379
+ * @param k - Number of results to return
380
+ * @param options - Optional search options including filter
195
381
  */
196
- search(query, k) {
382
+ search(query, k, options) {
383
+ var _a;
197
384
  if (query.length !== this._dimensions) {
198
385
  throw new Error(`Query dimension mismatch: expected ${this._dimensions}, got ${query.length}`);
199
386
  }
200
387
  if (this.vectors.size === 0) {
201
388
  return [];
202
389
  }
390
+ const filter = options === null || options === void 0 ? void 0 : options.filter;
391
+ const minSimilarity = (_a = options === null || options === void 0 ? void 0 : options.minSimilarity) !== null && _a !== void 0 ? _a : 0;
203
392
  const queryNorm = this._distance === 'cosine' ? this.computeNorm(query) : undefined;
204
393
  // Calculate distances to all vectors
205
394
  const results = [];
206
395
  for (const stored of this.vectors.values()) {
396
+ // Apply metadata filter if provided
397
+ if (filter && !evaluateFilter(stored.metadata, filter)) {
398
+ continue;
399
+ }
207
400
  const distance = this.calculateDistance(query, stored.vector, queryNorm, stored.norm);
208
401
  // Calculate similarity (1 - distance for cosine, inverse for others)
209
402
  let similarity;
@@ -216,6 +409,10 @@ class VectorDB {
216
409
  else {
217
410
  similarity = 1 / (1 + distance); // Normalize euclidean
218
411
  }
412
+ // Apply minimum similarity filter
413
+ if (similarity < minSimilarity) {
414
+ continue;
415
+ }
219
416
  results.push({
220
417
  id: stored.id,
221
418
  distance,
@@ -228,6 +425,14 @@ class VectorDB {
228
425
  // Return the k nearest neighbors
229
426
  return results.slice(0, Math.min(k, results.length));
230
427
  }
428
+ /**
429
+ * Searches with a filter object for more complex queries
430
+ * @param query - The query vector
431
+ * @param options - Search options including k, filter, minSimilarity
432
+ */
433
+ searchWithOptions(query, options) {
434
+ return this.search(query, options.k, options);
435
+ }
231
436
  /**
232
437
  * Gets a vector by its ID
233
438
  */
@@ -245,7 +450,12 @@ class VectorDB {
245
450
  * Deletes a vector by its ID
246
451
  */
247
452
  delete(id) {
248
- return this.vectors.delete(id);
453
+ const deleted = this.vectors.delete(id);
454
+ // Update BM25 index if configured
455
+ if (deleted && this.bm25Index) {
456
+ this.bm25Index.removeDocument(id);
457
+ }
458
+ return deleted;
249
459
  }
250
460
  /**
251
461
  * Checks if a vector with the given ID exists
@@ -258,6 +468,10 @@ class VectorDB {
258
468
  */
259
469
  clear() {
260
470
  this.vectors.clear();
471
+ // Clear BM25 index if configured
472
+ if (this.bm25Index) {
473
+ this.bm25Index.clear();
474
+ }
261
475
  }
262
476
  /**
263
477
  * Gets all vector IDs
@@ -265,17 +479,140 @@ class VectorDB {
265
479
  getIds() {
266
480
  return Array.from(this.vectors.keys());
267
481
  }
482
+ // ============================================================================
483
+ // BM25 Keyword Search Methods
484
+ // ============================================================================
485
+ /**
486
+ * Configures the BM25 index for keyword search
487
+ */
488
+ configureBM25(options) {
489
+ // If already configured with same fields, just update parameters
490
+ if (this.bm25Index &&
491
+ JSON.stringify(this.bm25TextFields) === JSON.stringify(options.textFields)) {
492
+ return;
493
+ }
494
+ // Create new BM25 index
495
+ this.bm25Index = new BM25Index_1.BM25Index({
496
+ textFields: options.textFields,
497
+ k1: options.k1,
498
+ b: options.b,
499
+ });
500
+ this.bm25TextFields = [...options.textFields];
501
+ // Index all existing documents
502
+ for (const stored of this.vectors.values()) {
503
+ this.bm25Index.addDocument(stored.id, stored.metadata);
504
+ }
505
+ }
506
+ /**
507
+ * Ensures BM25 index is configured (lazy initialization)
508
+ */
509
+ ensureBM25Index(textFields, k1, b) {
510
+ if (!this.bm25Index || JSON.stringify(this.bm25TextFields) !== JSON.stringify(textFields)) {
511
+ this.configureBM25({ textFields, k1, b });
512
+ }
513
+ }
514
+ /**
515
+ * Checks if BM25 index is configured
516
+ */
517
+ hasBM25Index() {
518
+ return this.bm25Index !== null;
519
+ }
520
+ /**
521
+ * Gets BM25 index statistics
522
+ */
523
+ getBM25Stats() {
524
+ if (!this.bm25Index)
525
+ return null;
526
+ return this.bm25Index.getStats();
527
+ }
528
+ /**
529
+ * Performs keyword-only search using BM25
530
+ */
531
+ keywordSearch(query, k, options) {
532
+ const textFields = (options === null || options === void 0 ? void 0 : options.textFields) || this.bm25TextFields;
533
+ if (textFields.length === 0) {
534
+ throw new Error('No text fields specified for keyword search. ' +
535
+ 'Provide textFields option or call configureBM25() first.');
536
+ }
537
+ // Ensure BM25 index is ready
538
+ this.ensureBM25Index(textFields, options === null || options === void 0 ? void 0 : options.k1, options === null || options === void 0 ? void 0 : options.b);
539
+ // Perform search
540
+ let results = this.bm25Index.search(query, k * 2); // Fetch more for filtering
541
+ // Apply metadata filter if provided
542
+ if (options === null || options === void 0 ? void 0 : options.filter) {
543
+ results = results.filter(r => {
544
+ const stored = this.vectors.get(r.id);
545
+ return stored && evaluateFilter(stored.metadata, options.filter);
546
+ });
547
+ }
548
+ // Return top k
549
+ return results.slice(0, k);
550
+ }
551
+ /**
552
+ * Performs hybrid search combining vector and keyword search
553
+ */
554
+ hybridSearch(options) {
555
+ const { mode, k, queryVector, keywords, textFields = this.bm25TextFields.length > 0 ? this.bm25TextFields : ['content', 'text', 'title'], filter, minSimilarity, alpha = 0.5, fusionMethod = 'rrf', rrfConstant = 60, bm25K1, bm25B, } = options;
556
+ // Vector-only search
557
+ if (mode === 'vector') {
558
+ if (!queryVector) {
559
+ throw new Error('queryVector is required for vector search mode');
560
+ }
561
+ return this.search(queryVector, k, { filter, minSimilarity }).map(r => ({
562
+ id: r.id,
563
+ score: r.similarity,
564
+ vectorSimilarity: r.similarity,
565
+ metadata: r.metadata,
566
+ }));
567
+ }
568
+ // Keyword-only search
569
+ if (mode === 'keyword') {
570
+ if (!keywords) {
571
+ throw new Error('keywords is required for keyword search mode');
572
+ }
573
+ return this.keywordSearch(keywords, k, { textFields, filter, k1: bm25K1, b: bm25B }).map(r => ({
574
+ id: r.id,
575
+ score: r.score,
576
+ keywordScore: r.score,
577
+ metadata: r.metadata,
578
+ }));
579
+ }
580
+ // Hybrid search
581
+ if (!queryVector) {
582
+ throw new Error('queryVector is required for hybrid search mode');
583
+ }
584
+ if (!keywords) {
585
+ throw new Error('keywords is required for hybrid search mode');
586
+ }
587
+ // Perform both searches (fetch more to allow for filtering and fusion)
588
+ const fetchK = Math.max(k * 3, 50);
589
+ const vectorResults = this.search(queryVector, fetchK, { filter, minSimilarity });
590
+ const keywordResults = this.keywordSearch(keywords, fetchK, { textFields, filter, k1: bm25K1, b: bm25B });
591
+ // Convert to fusion format
592
+ const vectorForFusion = vectorResults.map(r => ({
593
+ id: r.id,
594
+ distance: r.distance,
595
+ similarity: r.similarity,
596
+ metadata: r.metadata,
597
+ }));
598
+ // Perform fusion
599
+ return (0, HybridSearch_1.hybridFusion)(vectorForFusion, keywordResults, k, fusionMethod, { alpha, rrfConstant });
600
+ }
268
601
  /**
269
602
  * Saves the database to a JSON file
270
603
  */
271
604
  save(filePath) {
272
605
  const data = {
273
- version: '1.0.0',
606
+ version: '2.0.0', // Bump version for BM25 support
274
607
  dimensions: this._dimensions,
275
608
  distance: this._distance,
276
609
  indexType: this._indexType,
277
610
  vectors: Array.from(this.vectors.values()),
278
611
  };
612
+ // Include BM25 index if configured
613
+ if (this.bm25Index) {
614
+ data.bm25Index = this.bm25Index.serialize();
615
+ }
279
616
  // Create directory if it doesn't exist
280
617
  const dir = path.dirname(filePath);
281
618
  if (!fs.existsSync(dir)) {
@@ -306,19 +643,29 @@ class VectorDB {
306
643
  norm: stored.norm,
307
644
  });
308
645
  }
646
+ // Load BM25 index if present (v2 format)
647
+ if (data.bm25Index) {
648
+ db.bm25Index = BM25Index_1.BM25Index.deserialize(data.bm25Index);
649
+ db.bm25TextFields = data.bm25Index.textFields;
650
+ }
309
651
  return db;
310
652
  }
311
653
  /**
312
654
  * Exports database statistics
313
655
  */
314
656
  stats() {
315
- return {
657
+ const stats = {
316
658
  dimensions: this._dimensions,
317
659
  distance: this._distance,
318
660
  indexType: this._indexType,
319
661
  vectorCount: this.vectors.size,
320
662
  memoryEstimateMB: (this.vectors.size * this._dimensions * 4) / (1024 * 1024),
321
663
  };
664
+ // Add BM25 stats if configured
665
+ if (this.bm25Index) {
666
+ stats.bm25 = this.bm25Index.getStats();
667
+ }
668
+ return stats;
322
669
  }
323
670
  }
324
671
  exports.VectorDB = VectorDB;
@@ -1 +1 @@
1
- {"version":3,"file":"VectorDB.js","sourceRoot":"","sources":["../../../nodes/Minimemory/VectorDB.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VectorDB.js","sourceRoot":"","sources":["../../../nodes/Minimemory/VectorDB.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-minimemory",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "n8n community node for embedded vector database - perform similarity search directly within n8n without external servers",
5
5
  "author": {
6
6
  "name": "Mauricio Perera",
@@ -28,8 +28,8 @@
28
28
  "scripts": {
29
29
  "build": "tsc && shx cp nodes/Minimemory/*.svg dist/nodes/Minimemory/",
30
30
  "dev": "tsc --watch",
31
- "lint": "eslint nodes credentials --ext .ts",
32
- "lintfix": "eslint nodes credentials --ext .ts --fix",
31
+ "lint": "eslint nodes --ext .ts",
32
+ "lintfix": "eslint nodes --ext .ts --fix",
33
33
  "prepublishOnly": "npm run build && npm run lint",
34
34
  "release": "npm run build && npm publish --access public"
35
35
  },
@@ -37,9 +37,6 @@
37
37
  "n8nNodesApiVersion": 1,
38
38
  "nodes": [
39
39
  "dist/nodes/Minimemory/Minimemory.node.js"
40
- ],
41
- "credentials": [
42
- "dist/credentials/MinimemoryConfig.credentials.js"
43
40
  ]
44
41
  },
45
42
  "files": [
@@ -1,8 +0,0 @@
1
- import { ICredentialType, INodeProperties } from 'n8n-workflow';
2
- export declare class MinimemoryConfig implements ICredentialType {
3
- name: string;
4
- displayName: string;
5
- documentationUrl: string;
6
- properties: INodeProperties[];
7
- }
8
- //# sourceMappingURL=MinimemoryConfig.credentials.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MinimemoryConfig.credentials.d.ts","sourceRoot":"","sources":["../../credentials/MinimemoryConfig.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB,qBAAa,gBAAiB,YAAW,eAAe;IACvD,IAAI,SAAsB;IAC1B,WAAW,SAA8B;IACzC,gBAAgB,SAA8C;IAE9D,UAAU,EAAE,eAAe,EAAE,CA2B3B;CACF"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MinimemoryConfig = void 0;
4
- class MinimemoryConfig {
5
- constructor() {
6
- this.name = 'minimemoryConfig';
7
- this.displayName = 'Minimemory Configuration';
8
- this.documentationUrl = 'https://github.com/minimemory/minimemory';
9
- this.properties = [
10
- {
11
- displayName: 'Default Data Directory',
12
- name: 'dataDirectory',
13
- type: 'string',
14
- default: './data/minimemory',
15
- description: 'Default directory for storing .mmdb database files',
16
- },
17
- {
18
- displayName: 'Default Dimensions',
19
- name: 'defaultDimensions',
20
- type: 'number',
21
- default: 384,
22
- description: 'Default number of dimensions for new databases (384 for all-MiniLM-L6-v2, 1536 for OpenAI)',
23
- },
24
- {
25
- displayName: 'Default Distance Metric',
26
- name: 'defaultDistance',
27
- type: 'options',
28
- options: [
29
- { name: 'Cosine', value: 'cosine' },
30
- { name: 'Euclidean', value: 'euclidean' },
31
- { name: 'Dot Product', value: 'dot' },
32
- ],
33
- default: 'cosine',
34
- description: 'Default distance metric for new databases',
35
- },
36
- ];
37
- }
38
- }
39
- exports.MinimemoryConfig = MinimemoryConfig;
40
- //# sourceMappingURL=MinimemoryConfig.credentials.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MinimemoryConfig.credentials.js","sourceRoot":"","sources":["../../credentials/MinimemoryConfig.credentials.ts"],"names":[],"mappings":";;;AAKA,MAAa,gBAAgB;IAA7B;QACC,SAAI,GAAG,kBAAkB,CAAC;QAC1B,gBAAW,GAAG,0BAA0B,CAAC;QACzC,qBAAgB,GAAG,0CAA0C,CAAC;QAE9D,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,mBAAmB;gBAC5B,WAAW,EAAE,oDAAoD;aACjE;YACD;gBACC,WAAW,EAAE,oBAAoB;gBACjC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG;gBACZ,WAAW,EAAE,4FAA4F;aACzG;YACD;gBACC,WAAW,EAAE,yBAAyB;gBACtC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACnC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;oBACzC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;iBACrC;gBACD,OAAO,EAAE,QAAQ;gBACjB,WAAW,EAAE,2CAA2C;aACxD;SACD,CAAC;IACH,CAAC;CAAA;AAjCD,4CAiCC"}