crbro-memory 1.15.0 → 2.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 (50) hide show
  1. package/README.md +70 -41
  2. package/bin/crbro.mjs +84 -41
  3. package/dist/engine/brain.js +1 -1
  4. package/dist/engine/brain.js.map +1 -1
  5. package/dist/engine/cortex.d.ts +189 -1
  6. package/dist/engine/cortex.d.ts.map +1 -1
  7. package/dist/engine/cortex.js +639 -17
  8. package/dist/engine/cortex.js.map +1 -1
  9. package/dist/engine/hippocampus.d.ts +27 -1
  10. package/dist/engine/hippocampus.d.ts.map +1 -1
  11. package/dist/engine/hippocampus.js +51 -2
  12. package/dist/engine/hippocampus.js.map +1 -1
  13. package/dist/engine/maintenance.d.ts +49 -2
  14. package/dist/engine/maintenance.d.ts.map +1 -1
  15. package/dist/engine/maintenance.js +301 -28
  16. package/dist/engine/maintenance.js.map +1 -1
  17. package/dist/engine/prefrontal.d.ts +25 -7
  18. package/dist/engine/prefrontal.d.ts.map +1 -1
  19. package/dist/engine/prefrontal.js +55 -27
  20. package/dist/engine/prefrontal.js.map +1 -1
  21. package/dist/engine/synapses.d.ts +38 -0
  22. package/dist/engine/synapses.d.ts.map +1 -1
  23. package/dist/engine/synapses.js +116 -11
  24. package/dist/engine/synapses.js.map +1 -1
  25. package/dist/search/index.d.ts +18 -2
  26. package/dist/search/index.d.ts.map +1 -1
  27. package/dist/search/index.js +54 -10
  28. package/dist/search/index.js.map +1 -1
  29. package/dist/search/semantic.d.ts +8 -0
  30. package/dist/search/semantic.d.ts.map +1 -1
  31. package/dist/search/semantic.js +34 -12
  32. package/dist/search/semantic.js.map +1 -1
  33. package/dist/server.d.ts +7 -0
  34. package/dist/server.d.ts.map +1 -1
  35. package/dist/server.js +764 -827
  36. package/dist/server.js.map +1 -1
  37. package/dist/sync/materialize.d.ts +1 -1
  38. package/dist/sync/materialize.d.ts.map +1 -1
  39. package/dist/sync/materialize.js +40 -3
  40. package/dist/sync/materialize.js.map +1 -1
  41. package/dist/sync/ops.d.ts +9 -4
  42. package/dist/sync/ops.d.ts.map +1 -1
  43. package/dist/sync/ops.js.map +1 -1
  44. package/dist/sync/space.d.ts +27 -0
  45. package/dist/sync/space.d.ts.map +1 -1
  46. package/dist/sync/space.js +113 -1
  47. package/dist/sync/space.js.map +1 -1
  48. package/dist/types/index.d.ts +29 -0
  49. package/dist/types/index.d.ts.map +1 -1
  50. package/package.json +56 -54
@@ -49,7 +49,49 @@ export type Emitter = (neuronId: string, change: {
49
49
  kind: 'debt_purge';
50
50
  key: string;
51
51
  at: string;
52
+ } | {
53
+ kind: 'decision_purge';
54
+ key: string;
55
+ at: string;
56
+ } | {
57
+ kind: 'pattern_purge';
58
+ key: string;
59
+ at: string;
52
60
  }) => Promise<void> | void;
61
+ /**
62
+ * Called after a neuron file is deleted, so the search index drops its
63
+ * chunks. The mirror of Indexer: without it a forgotten neuron kept
64
+ * answering recall until the next full rebuild.
65
+ */
66
+ export type Remover = (neuronId: string) => Promise<void> | void;
67
+ /**
68
+ * Everything of `source` folded into `target`, as a new object.
69
+ *
70
+ * Shared by restoreNeuron (a quarantine copy back over a neuron that was
71
+ * re-created since) and mergeNeurons (two neurons that turned out to be one
72
+ * topic). Pure on purpose: neither input is touched, so the caller can diff
73
+ * the result against what it had and emit only what actually moved.
74
+ *
75
+ * Facts line up by id (the content hash), falling back to normalised text;
76
+ * on a collision the target's telling stays but takes the furthest-along
77
+ * status (active < superseded < retracted) and the earliest `added`, and the
78
+ * keys are unioned. Everything else is a set union keyed by normalised text
79
+ * with the target's order first. Local observations (heat, access_count)
80
+ * combine as max and sum; identity (id, name, domain, type) is the target's.
81
+ */
82
+ export declare function unionNeuron(target: Neuron, source: Neuron): {
83
+ neuron: Neuron;
84
+ moved: {
85
+ facts: number;
86
+ decisions: number;
87
+ patterns: number;
88
+ preferences: number;
89
+ errors: number;
90
+ debts: number;
91
+ tags: number;
92
+ map: 0 | 1;
93
+ };
94
+ };
53
95
  /**
54
96
  * Aliases a future question may use, as stored: trimmed, lower-cased, at
55
97
  * most 40 characters each, unique, at most eight. Order is kept.
@@ -65,6 +107,7 @@ export declare class Cortex {
65
107
  */
66
108
  private indexer;
67
109
  private emitter;
110
+ private remover;
68
111
  /** What this session has actually written, for an honest consolidate(). */
69
112
  private tally;
70
113
  constructor(brain: Brain);
@@ -77,6 +120,16 @@ export declare class Cortex {
77
120
  resetSessionTally(): void;
78
121
  setIndexer(indexer: Indexer | null): void;
79
122
  setEmitter(emitter: Emitter | null): void;
123
+ setRemover(remover: Remover | null): void;
124
+ private unindex;
125
+ /**
126
+ * Copy a whole neuron to .quarantine/ with a timestamp, before anything
127
+ * destructive. Same stamp format everywhere, so restoreNeuron can pick the
128
+ * newest copy by name alone.
129
+ */
130
+ private quarantine;
131
+ /** Remove the neuron file, drop its chunks, and keep the manifest honest. */
132
+ private deleteNeuronFile;
80
133
  private emit;
81
134
  /**
82
135
  * Overwrite a neuron with the result of merging the team's notes.
@@ -123,6 +176,12 @@ export declare class Cortex {
123
176
  neuronType?: NeuronType;
124
177
  /** Facts only: words a future question may use that the text does not contain. Indexed, never displayed. */
125
178
  keys?: string[];
179
+ /**
180
+ * On an exact-duplicate fact, replace its stored keys with `keys`
181
+ * instead of merging them. Local only: materialize unions keys across
182
+ * teammates, so a removed alias does not propagate to their brains.
183
+ */
184
+ keysReplace?: boolean;
126
185
  /** Write to this exact neuron and skip name resolution entirely. */
127
186
  neuronId?: string;
128
187
  /** Who is writing: 'session' (default), 'miner', 'manual'. */
@@ -139,7 +198,14 @@ export declare class Cortex {
139
198
  createIfMissing?: boolean;
140
199
  }): Promise<{
141
200
  neuron: Neuron | null;
142
- action: 'created' | 'updated' | 'skipped';
201
+ /**
202
+ * `skipped` — no neuron and createIfMissing was false.
203
+ * `skipped_retired` — the text matches a fact or entry that was retired
204
+ * (superseded or retracted); nothing was written. Re-learning a retired
205
+ * line silently would undo a deliberate revision; the caller decides,
206
+ * with `skipped_retired` in hand, whether to reactivate it instead.
207
+ */
208
+ action: 'created' | 'updated' | 'skipped' | 'skipped_retired';
143
209
  superseded: number;
144
210
  /** Supersedes targets that matched no active fact — a silent miss no more. */
145
211
  supersedes_unmatched: string[];
@@ -155,6 +221,17 @@ export declare class Cortex {
155
221
  preview: string;
156
222
  }>;
157
223
  redacted: string[];
224
+ /** The exact text (case-insensitive) was already an active fact of the neuron. */
225
+ duplicate: boolean;
226
+ /** An exact-duplicate fact had its confidence or keys changed by this call. */
227
+ updated_in_place: boolean;
228
+ /** Set when the text matches a retired fact/entry; nothing was written. */
229
+ skipped_retired: {
230
+ id: string;
231
+ status: 'superseded' | 'retracted';
232
+ revised?: string;
233
+ note?: string;
234
+ } | null;
158
235
  }>;
159
236
  /**
160
237
  * Mark facts as no longer current.
@@ -193,6 +270,53 @@ export declare class Cortex {
193
270
  * retired, and both versions kept surfacing on recall as equals.
194
271
  */
195
272
  private retire;
273
+ /**
274
+ * Bring retired facts back. The inverse of retire: only superseded or
275
+ * retracted facts match, by id or by trimmed lower-cased text. Clears
276
+ * superseded_by (the replacement no longer replaces it) and stamps the
277
+ * revision date; the note, if given, records why it came back.
278
+ */
279
+ private reactivate;
280
+ /**
281
+ * Retire — or reactivate — decisions, patterns, errors and debts by exact
282
+ * text (trimmed, case-insensitive). These are plain strings, so their
283
+ * status lives in the entry_status sidecar keyed by entryId(text), the
284
+ * same way their dates do. A retired entry stays in the file and leaves
285
+ * recall exactly like a superseded fact; status 'active' deletes the key.
286
+ *
287
+ * Never emitted: the sidecar travels only through the local file and
288
+ * survives a sync because applyOps copies and prunes it.
289
+ */
290
+ retireEntries(neuronRef: string, targets: string[], options?: {
291
+ status?: FactStatus;
292
+ note?: string;
293
+ }): Promise<{
294
+ neuron: Neuron | null;
295
+ revised: number;
296
+ unmatched: string[];
297
+ }>;
298
+ /**
299
+ * Edit a neuron's metadata: summary, domain, tags, name.
300
+ *
301
+ * Only fields that actually differ are written and reported; a call that
302
+ * changes nothing writes nothing. `tags` replaces the whole list — protocol
303
+ * neurons keep their 'priority:'/'source:' tags only if the caller re-sends
304
+ * them. `name` changes the display name only: the id, and with it the file,
305
+ * the synapses, the shared map and the connections, never move. `domain`
306
+ * replaces unconditionally, unlike learn, which only fills in 'general'.
307
+ *
308
+ * Not emitted: NeuronOp is only an announcement, and metadata is local.
309
+ */
310
+ setMeta(neuronRef: string, meta: {
311
+ summary?: string;
312
+ domain?: string;
313
+ tags?: string[];
314
+ name?: string;
315
+ }): Promise<{
316
+ neuron: Neuron | null;
317
+ changed: Array<'summary' | 'domain' | 'tags' | 'name'>;
318
+ redacted: string[];
319
+ }>;
196
320
  /**
197
321
  * Replace the neuron's system map.
198
322
  *
@@ -217,6 +341,8 @@ export declare class Cortex {
217
341
  type?: NeuronType;
218
342
  min_heat?: number;
219
343
  limit?: number;
344
+ /** Rows to skip after the heat sort, for paging. Default 0. */
345
+ offset?: number;
220
346
  }): Promise<Array<{
221
347
  id: string;
222
348
  name: string;
@@ -247,6 +373,68 @@ export declare class Cortex {
247
373
  removed: number;
248
374
  backup: string | null;
249
375
  }>;
376
+ /**
377
+ * Delete a whole neuron. Quarantine copy first, then the file goes, the
378
+ * index drops its chunks and the manifest is decremented.
379
+ *
380
+ * Synapses are not touched here (the Cortex has no Synapses): the server
381
+ * calls synapses.removeAllFor(id) right after. Nor is shared state checked
382
+ * — the server refuses beforehand when the neuron is shared, because the
383
+ * next sync would simply re-create it from the team log. Nothing is
384
+ * emitted: there is no neuron-delete op.
385
+ */
386
+ forgetNeuron(neuronRef: string): Promise<{
387
+ neuron_id: string | null;
388
+ backup: string | null;
389
+ counts: {
390
+ facts: number;
391
+ decisions: number;
392
+ patterns: number;
393
+ preferences: number;
394
+ errors: number;
395
+ debts: number;
396
+ connections: number;
397
+ };
398
+ }>;
399
+ /**
400
+ * Quarantine copies of one neuron, newest first. Stamps sort lexically, so
401
+ * the file name alone orders them.
402
+ */
403
+ private quarantineCopies;
404
+ /**
405
+ * Bring a neuron back from quarantine.
406
+ *
407
+ * The newest copy is used unless `file` names an exact basename. If the
408
+ * neuron no longer exists the copy is written back as it was; if it does
409
+ * (a forget of facts, or the topic was re-created since) the copy is
410
+ * unioned into it. The quarantine file stays where it is, so a restore is
411
+ * repeatable. Nothing is emitted.
412
+ */
413
+ restoreNeuron(neuronId: string, options?: {
414
+ file?: string;
415
+ }): Promise<{
416
+ neuron: Neuron | null;
417
+ restored_from: string | null;
418
+ merged_into_existing: boolean;
419
+ moved: ReturnType<typeof unionNeuron>['moved'] | null;
420
+ }>;
421
+ /**
422
+ * Fold one neuron into another and delete the first.
423
+ *
424
+ * `from` is quarantined, unioned into `into`, and then removed exactly like
425
+ * forgetNeuron. Each element that actually moved is emitted for `into`, so
426
+ * a shared target receives the knowledge (the emitter no-ops when `into`
427
+ * is unshared). Synapses are not touched — the server calls
428
+ * synapses.rewire(from, into) right after — and the server refuses
429
+ * beforehand when `from` is shared (unshare first, or the next sync
430
+ * re-creates it).
431
+ */
432
+ mergeNeurons(fromRef: string, intoRef: string): Promise<{
433
+ from: string | null;
434
+ into: string | null;
435
+ backup: string | null;
436
+ moved: ReturnType<typeof unionNeuron>['moved'] | null;
437
+ }>;
250
438
  /**
251
439
  * Which neurons hold something that looks like a credential.
252
440
  * Reports the kind and where it is, never the value.
@@ -1 +1 @@
1
- {"version":3,"file":"cortex.d.ts","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cortex.d.ts","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAkB,UAAU,EAAgC,MAAM,mBAAmB,CAAC;AA2DtH,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE/D;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,CACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EACF;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACpG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,YAAY,GAAG,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACzF;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,KACnD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AA6BjE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;KAAE,CAAC;CAC7I,CA6GA;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQvD;AAED,qBAAa,MAAM;IAcL,OAAO,CAAC,KAAK;IAbzB;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAAwB;IAEvC,2EAA2E;IAC3E,OAAO,CAAC,KAAK,CAAyD;gBAElD,KAAK,EAAE,KAAK;IAEhC,yEAAyE;IACzE,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAQtE,iBAAiB,IAAI,IAAI;IAIzB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;IAIzC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;IAIzC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI;YAI3B,OAAO;IASrB;;;;OAIG;YACW,UAAU;IAOxB,6EAA6E;YAC/D,gBAAgB;YAOhB,IAAI;IAUlB;;;;OAIG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAoBxC,OAAO;IASrB;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAW7C;;OAEG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI9C;;;;;;;;;;;OAWG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6CtD;;;;OAIG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwC/F;;;OAGG;IACG,KAAK,CACT,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,EACvE,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,4GAA4G;QAC5G,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB;;;;WAIG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,oEAAoE;QACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,8DAA8D;QAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,wDAAwD;QACxD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB;;;;;;WAMG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,GACA,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB;;;;;;WAMG;QACH,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;QAC9D,UAAU,EAAE,MAAM,CAAC;QACnB,8EAA8E;QAC9E,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B;;;;;WAKG;QACH,eAAe,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC5E,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,kFAAkF;QAClF,SAAS,EAAE,OAAO,CAAC;QACnB,+EAA+E;QAC/E,gBAAgB,EAAE,OAAO,CAAC;QAC1B,2EAA2E;QAC3E,eAAe,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,YAAY,GAAG,WAAW,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;KAC7G,CAAC;IAyOF;;;;;;;;OAQG;IACG,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GACpE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA6C3E;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM;IAgCd;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IA8BlB;;;;;;;;;OASG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA2D3E;;;;;;;;;;;OAWG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1E,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAsDjH;;;;;;;OAOG;IACG,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,UAAU,CAAA;KAAE,GACrD,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAwCxF;;OAEG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,+DAA+D;QAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,UAAU,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IAyCH;;OAEG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAYxE;;OAEG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAajE;;;;;;;OAOG;IACG,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IA4HhF;;;;;;;;;OASG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC;KACzI,CAAC;IA2BF;;;OAGG;YACW,gBAAgB;IAM9B;;;;;;;;OAQG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAC1E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,oBAAoB,EAAE,OAAO,CAAC;QAC9B,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;KACvD,CAAC;IAuCF;;;;;;;;;;OAUG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;KACvD,CAAC;IA4DF;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;QAClC,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IA8CH;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIjC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;CAI/B"}