kiokuko 1.0.14 → 1.0.16

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 (208) hide show
  1. package/README.ja.md +16 -4
  2. package/README.ko.md +16 -4
  3. package/README.md +16 -4
  4. package/README.zh-CN.md +16 -4
  5. package/dist/akinator/agent-task.d.ts +10 -0
  6. package/dist/akinator/agent-task.d.ts.map +1 -1
  7. package/dist/akinator/agent-task.js +54 -11
  8. package/dist/akinator/agent-task.js.map +1 -1
  9. package/dist/assurance/codex-hooks.js +3 -3
  10. package/dist/assurance/codex-hooks.js.map +1 -1
  11. package/dist/assurance/contracts.d.ts +8 -1
  12. package/dist/assurance/contracts.d.ts.map +1 -1
  13. package/dist/assurance/contracts.js +2 -1
  14. package/dist/assurance/contracts.js.map +1 -1
  15. package/dist/assurance/inspect.d.ts +14 -0
  16. package/dist/assurance/inspect.d.ts.map +1 -1
  17. package/dist/assurance/inspect.js +71 -9
  18. package/dist/assurance/inspect.js.map +1 -1
  19. package/dist/assurance/refresh.d.ts.map +1 -1
  20. package/dist/assurance/refresh.js +25 -3
  21. package/dist/assurance/refresh.js.map +1 -1
  22. package/dist/assurance/service.d.ts +1 -1
  23. package/dist/assurance/snapshot.js +16 -2
  24. package/dist/assurance/snapshot.js.map +1 -1
  25. package/dist/cli.d.ts.map +1 -1
  26. package/dist/cli.js +68 -7
  27. package/dist/cli.js.map +1 -1
  28. package/dist/commands/export.d.ts.map +1 -1
  29. package/dist/commands/export.js +3 -0
  30. package/dist/commands/export.js.map +1 -1
  31. package/dist/commands/import.d.ts.map +1 -1
  32. package/dist/commands/import.js +3 -0
  33. package/dist/commands/import.js.map +1 -1
  34. package/dist/commands/memory-index.d.ts +6 -0
  35. package/dist/commands/memory-index.d.ts.map +1 -0
  36. package/dist/commands/memory-index.js +30 -0
  37. package/dist/commands/memory-index.js.map +1 -0
  38. package/dist/commands/reranker.d.ts +9 -0
  39. package/dist/commands/reranker.d.ts.map +1 -0
  40. package/dist/commands/reranker.js +52 -0
  41. package/dist/commands/reranker.js.map +1 -0
  42. package/dist/config/paths.d.ts +2 -0
  43. package/dist/config/paths.d.ts.map +1 -1
  44. package/dist/config/paths.js +10 -0
  45. package/dist/config/paths.js.map +1 -1
  46. package/dist/context/broker.d.ts +14 -0
  47. package/dist/context/broker.d.ts.map +1 -1
  48. package/dist/context/broker.js +162 -15
  49. package/dist/context/broker.js.map +1 -1
  50. package/dist/context/ranking.d.ts +6 -2
  51. package/dist/context/ranking.d.ts.map +1 -1
  52. package/dist/context/ranking.js +23 -1
  53. package/dist/context/ranking.js.map +1 -1
  54. package/dist/context/scoped-broker.d.ts +20 -0
  55. package/dist/context/scoped-broker.d.ts.map +1 -1
  56. package/dist/context/scoped-broker.js +173 -10
  57. package/dist/context/scoped-broker.js.map +1 -1
  58. package/dist/context/selection-state.d.ts.map +1 -1
  59. package/dist/context/selection-state.js +2 -0
  60. package/dist/context/selection-state.js.map +1 -1
  61. package/dist/embedding/javascript-backend.d.ts.map +1 -1
  62. package/dist/embedding/javascript-backend.js +7 -1
  63. package/dist/embedding/javascript-backend.js.map +1 -1
  64. package/dist/embedding/model-download.d.ts +2 -2
  65. package/dist/embedding/model-download.d.ts.map +1 -1
  66. package/dist/embedding/model-download.js +23 -11
  67. package/dist/embedding/model-download.js.map +1 -1
  68. package/dist/embedding/model-installation.d.ts +3 -1
  69. package/dist/embedding/model-installation.d.ts.map +1 -1
  70. package/dist/embedding/model-installation.js +16 -9
  71. package/dist/embedding/model-installation.js.map +1 -1
  72. package/dist/embedding/model-manifest.d.ts +7 -7
  73. package/dist/embedding/model-manifest.d.ts.map +1 -1
  74. package/dist/embedding/model-manifest.js +28 -17
  75. package/dist/embedding/model-manifest.js.map +1 -1
  76. package/dist/embedding/presets/manifest.d.ts +20 -7
  77. package/dist/embedding/presets/manifest.d.ts.map +1 -1
  78. package/dist/embedding/presets/manifest.js.map +1 -1
  79. package/dist/embedding/sqlite-vec-backend.d.ts.map +1 -1
  80. package/dist/embedding/sqlite-vec-backend.js +7 -1
  81. package/dist/embedding/sqlite-vec-backend.js.map +1 -1
  82. package/dist/embedding/store.d.ts.map +1 -1
  83. package/dist/embedding/store.js +2 -0
  84. package/dist/embedding/store.js.map +1 -1
  85. package/dist/embedding/types.d.ts +2 -0
  86. package/dist/embedding/types.d.ts.map +1 -1
  87. package/dist/ledger/checkpoint-contract.d.ts +6 -6
  88. package/dist/mcp/chatgpt-contract.d.ts +8 -2
  89. package/dist/mcp/chatgpt-contract.d.ts.map +1 -1
  90. package/dist/mcp/request-deadline.d.ts +1 -1
  91. package/dist/mcp/request-deadline.d.ts.map +1 -1
  92. package/dist/mcp/request-deadline.js +3 -0
  93. package/dist/mcp/request-deadline.js.map +1 -1
  94. package/dist/mcp/runtime-owner.d.ts.map +1 -1
  95. package/dist/mcp/runtime-owner.js +7 -0
  96. package/dist/mcp/runtime-owner.js.map +1 -1
  97. package/dist/mcp/server.d.ts +1 -0
  98. package/dist/mcp/server.d.ts.map +1 -1
  99. package/dist/mcp/server.js +39 -7
  100. package/dist/mcp/server.js.map +1 -1
  101. package/dist/memory/checkpoint-contract.d.ts +9 -9
  102. package/dist/memory/curator.d.ts.map +1 -1
  103. package/dist/memory/curator.js +2 -0
  104. package/dist/memory/curator.js.map +1 -1
  105. package/dist/memory/entries.d.ts.map +1 -1
  106. package/dist/memory/entries.js +2 -0
  107. package/dist/memory/entries.js.map +1 -1
  108. package/dist/memory/federated-retrieval.d.ts +16 -2
  109. package/dist/memory/federated-retrieval.d.ts.map +1 -1
  110. package/dist/memory/federated-retrieval.js +229 -45
  111. package/dist/memory/federated-retrieval.js.map +1 -1
  112. package/dist/memory/global-conversation-query.d.ts +5 -0
  113. package/dist/memory/global-conversation-query.d.ts.map +1 -1
  114. package/dist/memory/global-conversation-query.js +16 -2
  115. package/dist/memory/global-conversation-query.js.map +1 -1
  116. package/dist/memory/hybrid-retrieval.d.ts +18 -2
  117. package/dist/memory/hybrid-retrieval.d.ts.map +1 -1
  118. package/dist/memory/hybrid-retrieval.js +180 -9
  119. package/dist/memory/hybrid-retrieval.js.map +1 -1
  120. package/dist/memory/index-service.d.ts +103 -0
  121. package/dist/memory/index-service.d.ts.map +1 -0
  122. package/dist/memory/index-service.js +196 -0
  123. package/dist/memory/index-service.js.map +1 -0
  124. package/dist/memory/index-state.d.ts +56 -0
  125. package/dist/memory/index-state.d.ts.map +1 -0
  126. package/dist/memory/index-state.js +100 -0
  127. package/dist/memory/index-state.js.map +1 -0
  128. package/dist/memory/interaction-capture.d.ts.map +1 -1
  129. package/dist/memory/interaction-capture.js +6 -3
  130. package/dist/memory/interaction-capture.js.map +1 -1
  131. package/dist/memory/interaction-contract.d.ts +30 -0
  132. package/dist/memory/interaction-contract.d.ts.map +1 -1
  133. package/dist/memory/interaction-contract.js +38 -0
  134. package/dist/memory/interaction-contract.js.map +1 -1
  135. package/dist/memory/interaction-recall.d.ts +14 -1
  136. package/dist/memory/interaction-recall.d.ts.map +1 -1
  137. package/dist/memory/interaction-recall.js +48 -2
  138. package/dist/memory/interaction-recall.js.map +1 -1
  139. package/dist/memory/lesson-derivation.d.ts +79 -0
  140. package/dist/memory/lesson-derivation.d.ts.map +1 -0
  141. package/dist/memory/lesson-derivation.js +302 -0
  142. package/dist/memory/lesson-derivation.js.map +1 -0
  143. package/dist/memory/lesson-reinforcement.d.ts.map +1 -1
  144. package/dist/memory/lesson-reinforcement.js +7 -4
  145. package/dist/memory/lesson-reinforcement.js.map +1 -1
  146. package/dist/memory/lifecycle.d.ts.map +1 -1
  147. package/dist/memory/lifecycle.js +4 -0
  148. package/dist/memory/lifecycle.js.map +1 -1
  149. package/dist/memory/retrieval.d.ts +14 -0
  150. package/dist/memory/retrieval.d.ts.map +1 -1
  151. package/dist/memory/retrieval.js +107 -13
  152. package/dist/memory/retrieval.js.map +1 -1
  153. package/dist/memory/scoped-memory.d.ts +5 -0
  154. package/dist/memory/scoped-memory.d.ts.map +1 -1
  155. package/dist/memory/scoped-memory.js +3 -0
  156. package/dist/memory/scoped-memory.js.map +1 -1
  157. package/dist/memory/search-extension-config.d.ts +5 -0
  158. package/dist/memory/search-extension-config.d.ts.map +1 -0
  159. package/dist/memory/search-extension-config.js +20 -0
  160. package/dist/memory/search-extension-config.js.map +1 -0
  161. package/dist/memory/temporal.d.ts +18 -0
  162. package/dist/memory/temporal.d.ts.map +1 -0
  163. package/dist/memory/temporal.js +128 -0
  164. package/dist/memory/temporal.js.map +1 -0
  165. package/dist/reranker/config.d.ts +15 -0
  166. package/dist/reranker/config.d.ts.map +1 -0
  167. package/dist/reranker/config.js +48 -0
  168. package/dist/reranker/config.js.map +1 -0
  169. package/dist/reranker/preset.d.ts +12 -0
  170. package/dist/reranker/preset.d.ts.map +1 -0
  171. package/dist/reranker/preset.js +102 -0
  172. package/dist/reranker/preset.js.map +1 -0
  173. package/dist/reranker/runtime.d.ts +40 -0
  174. package/dist/reranker/runtime.d.ts.map +1 -0
  175. package/dist/reranker/runtime.js +324 -0
  176. package/dist/reranker/runtime.js.map +1 -0
  177. package/dist/reranker/service.d.ts +36 -0
  178. package/dist/reranker/service.d.ts.map +1 -0
  179. package/dist/reranker/service.js +163 -0
  180. package/dist/reranker/service.js.map +1 -0
  181. package/dist/reranker/setup.d.ts +30 -0
  182. package/dist/reranker/setup.d.ts.map +1 -0
  183. package/dist/reranker/setup.js +50 -0
  184. package/dist/reranker/setup.js.map +1 -0
  185. package/dist/reranker/worker.d.ts +2 -0
  186. package/dist/reranker/worker.d.ts.map +1 -0
  187. package/dist/reranker/worker.js +115 -0
  188. package/dist/reranker/worker.js.map +1 -0
  189. package/dist/serialization/validate.d.ts.map +1 -1
  190. package/dist/serialization/validate.js +29 -1
  191. package/dist/serialization/validate.js.map +1 -1
  192. package/dist/server/routes/task-assurance.d.ts.map +1 -1
  193. package/dist/server/routes/task-assurance.js +11 -2
  194. package/dist/server/routes/task-assurance.js.map +1 -1
  195. package/dist/web/server.d.ts.map +1 -1
  196. package/dist/web/server.js +47 -11
  197. package/dist/web/server.js.map +1 -1
  198. package/docs/README.ja.md +2 -0
  199. package/docs/README.md +2 -0
  200. package/docs/chatgpt.ja.md +1 -0
  201. package/docs/chatgpt.md +1 -0
  202. package/docs/memory-assurance.md +20 -0
  203. package/docs/memory-index-evaluation-2026-09-30.md +50 -0
  204. package/docs/memory-index.md +138 -0
  205. package/migrations/007_revision_bound_lesson_sources.sql +33 -0
  206. package/migrations/008_memory_index.sql +39 -0
  207. package/package.json +3 -2
  208. package/skills/kiokuko-soul/SKILL.md +13 -0
@@ -1,3 +1,4 @@
1
+ import { indexArtifact, observeIndex, formatIndexSourceReferences } from '../memory/index-state.js';
1
2
  import { withImmediateTransaction } from '../db/transaction.js';
2
3
  import { KiokukoError } from '../errors.js';
3
4
  import { readEntry } from '../memory/entries.js';
@@ -15,6 +16,10 @@ import { entryOriginMatchesWorkspace } from './origin.js';
15
16
  import { CONTEXT_SELECTION_REASON_ORDER } from './ranking.js';
16
17
  import { readContextRunRetrievalState } from './run-state.js';
17
18
  import { contextRetrievalStateHash, ordinaryContextSelectionStateHash } from './selection-state.js';
19
+ import { effectiveRelatedSearchMode } from '../memory/search-extension-config.js';
20
+ import { readRerankerConfig } from '../reranker/config.js';
21
+ import { reorderScoredCandidates, scoreLocalReranker } from '../reranker/service.js';
22
+ import { deduplicateDeliverableLessonSources, formatLessonSourceReferences, readDeliverableLessonSourceReferences } from '../memory/lesson-derivation.js';
18
23
  export const SCOPED_CONTEXT_POLICY_VERSION = 'context-ranking-v8';
19
24
  export const SCOPED_CONTEXT_DEFAULT_CHARACTER_BUDGET = 8_000;
20
25
  export const SCOPED_CONTEXT_MAX_CHARACTER_BUDGET = 100_000;
@@ -212,15 +217,25 @@ function assertScopedSelectionState(database, workspaces, expectedHash) {
212
217
  throw new KiokukoError('CONFLICT', 'Scoped context catalog changed after ranking');
213
218
  }
214
219
  }
215
- function fitScopedItems(ordered, limit, characterBudget) {
220
+ function fitScopedItems(ordered, limit, characterBudget, requiredSuffixes = new Map()) {
216
221
  const items = [];
217
222
  let remaining = characterBudget;
223
+ let generatedCost = 0, bridgeCost = 0, bridges = 0;
224
+ const represented = new Set();
218
225
  let truncated = false;
219
226
  for (const item of ordered) {
220
227
  if (items.length >= limit) {
221
228
  truncated = true;
222
229
  break;
223
230
  }
231
+ const fullCost = characterCount(item.title) + characterCount(item.summary ?? '') + characterCount(item.bodyPreview);
232
+ const family = item.knowledgeType === 'atomic' ? item.sources?.[0]?.entryId : item.knowledgeType === undefined ? item.entryId : undefined;
233
+ if (family && represented.has(family))
234
+ continue;
235
+ if (item.knowledgeType && (fullCost > remaining || generatedCost + fullCost > characterBudget * .5 || (item.knowledgeType === 'bridge' && (bridges >= 3 || bridgeCost + fullCost > characterBudget * .3)))) {
236
+ truncated = true;
237
+ continue;
238
+ }
224
239
  const metadataCost = characterCount(item.title) + characterCount(item.summary ?? '');
225
240
  if (metadataCost > remaining) {
226
241
  if (items.length === 0) {
@@ -229,7 +244,23 @@ function fitScopedItems(ordered, limit, characterBudget) {
229
244
  truncated = true;
230
245
  break;
231
246
  }
232
- const bodyPreview = takeCharacters(item.bodyPreview, remaining - metadataCost);
247
+ const sourceSuffix = requiredSuffixes.get(item.entryId);
248
+ const bodyBudget = remaining - metadataCost;
249
+ let bodyPreview;
250
+ if (sourceSuffix === undefined) {
251
+ bodyPreview = takeCharacters(item.bodyPreview, bodyBudget);
252
+ }
253
+ else {
254
+ const suffixCharacters = Array.from(sourceSuffix);
255
+ const suffixCost = suffixCharacters.length;
256
+ if (suffixCost > bodyBudget) {
257
+ truncated = true;
258
+ continue;
259
+ }
260
+ const bodyCharacters = Array.from(item.bodyPreview);
261
+ const baseBody = bodyCharacters.slice(0, Math.max(0, bodyCharacters.length - suffixCost)).join('');
262
+ bodyPreview = `${takeCharacters(baseBody, bodyBudget - suffixCost)}${sourceSuffix}`;
263
+ }
233
264
  if (characterCount(bodyPreview) < characterCount(item.bodyPreview))
234
265
  truncated = true;
235
266
  const cost = metadataCost + characterCount(bodyPreview);
@@ -240,6 +271,15 @@ function fitScopedItems(ordered, limit, characterBudget) {
240
271
  selectionReasons: [...item.selectionReasons],
241
272
  });
242
273
  remaining -= cost;
274
+ if (family)
275
+ represented.add(family);
276
+ if (item.knowledgeType) {
277
+ generatedCost += cost;
278
+ if (item.knowledgeType === 'bridge') {
279
+ bridges++;
280
+ bridgeCost += cost;
281
+ }
282
+ }
243
283
  }
244
284
  return { items, charCount: characterBudget - remaining, truncated };
245
285
  }
@@ -401,11 +441,12 @@ function replayableDelivery(database, run, queryHash, taskProfileHash, limit, ch
401
441
  }
402
442
  return null;
403
443
  }
404
- function storedScopedItems(database, delivery) {
444
+ function storedScopedItems(database, delivery, relatedMode = 'off') {
405
445
  if (delivery.policyVersion !== SCOPED_CONTEXT_POLICY_VERSION) {
406
446
  throw new KiokukoError('INTEGRITY_ERROR', 'Unsupported context delivery cannot be replayed');
407
447
  }
408
448
  assertScopedDeliveryIdentity(delivery);
449
+ const suffixes = new Map();
409
450
  const fullItems = delivery.items.map((item) => {
410
451
  const current = currentRetrievableDeliveryEntry(database, delivery.workspace, item);
411
452
  if (current === null)
@@ -416,20 +457,27 @@ function storedScopedItems(database, delivery) {
416
457
  revision: item.entryRevision,
417
458
  });
418
459
  const scoreComponents = item.scoreComponents;
460
+ const artifact = indexArtifact(database, current);
461
+ const sourceSuffix = artifact ? formatIndexSourceReferences(artifact) : relatedMode === 'active'
462
+ ? formatLessonSourceReferences(readDeliverableLessonSourceReferences(database, current))
463
+ : '';
464
+ if (sourceSuffix.length > 0)
465
+ suffixes.set(item.entryId, sourceSuffix);
419
466
  return {
420
467
  entryId: item.entryId,
421
468
  revision: item.entryRevision,
422
469
  origin: item.origin ?? 'project',
423
470
  title: revision.title,
424
471
  summary: revision.summary,
425
- bodyPreview: revision.body,
472
+ ...(artifact ? { knowledgeType: artifact.knowledgeType, sources: artifact.sources } : {}),
473
+ bodyPreview: `${revision.body}${sourceSuffix}`,
426
474
  score: Object.values(scoreComponents).reduce((total, component) => total + component, 0),
427
475
  scoreComponents: { ...scoreComponents },
428
476
  selectionReasons: [...item.selectionReasons],
429
477
  metadata: { storedData: true, untrusted: true, instructions: false },
430
478
  };
431
479
  });
432
- const fitted = fitScopedItems(fullItems, fullItems.length || 1, delivery.charBudget);
480
+ const fitted = fitScopedItems(fullItems, fullItems.length || 1, delivery.charBudget, suffixes);
433
481
  if (fitted.charCount !== delivery.charCount
434
482
  || fitted.items.length !== delivery.items.length
435
483
  || (fitted.truncated && !delivery.truncated)) {
@@ -503,6 +551,8 @@ async function prepareScopedContext(database, raw, requestedRuntime) {
503
551
  ensureGlobalWorkspace(database);
504
552
  const limit = raw.limit ?? 20;
505
553
  const characterBudget = raw.characterBudget ?? SCOPED_CONTEXT_DEFAULT_CHARACTER_BUDGET;
554
+ const rerankerConfig = readRerankerConfig();
555
+ const relatedMode = effectiveRelatedSearchMode(raw.relatedMode);
506
556
  if (!Number.isSafeInteger(limit) || limit < 1 || limit > MAX_LIMIT || !Number.isSafeInteger(characterBudget) || characterBudget < 1 || characterBudget > SCOPED_CONTEXT_MAX_CHARACTER_BUDGET) {
507
557
  throw new KiokukoError('VALIDATION_ERROR', 'Scoped context bounds are invalid');
508
558
  }
@@ -528,9 +578,24 @@ async function prepareScopedContext(database, raw, requestedRuntime) {
528
578
  },
529
579
  limit,
530
580
  characterBudget,
581
+ ...(raw.temporal === undefined ? {} : { temporal: raw.temporal }),
582
+ ...(relatedMode === 'off' ? {} : { relatedMode }),
583
+ ...(rerankerConfig.mode === 'active' ? { reranker: {
584
+ mode: rerankerConfig.mode,
585
+ presetId: rerankerConfig.presetId,
586
+ revision: rerankerConfig.revision,
587
+ dtype: rerankerConfig.dtype,
588
+ maxCandidates: rerankerConfig.maxCandidates,
589
+ maxInputBytes: rerankerConfig.maxInputBytes,
590
+ maxTokens: rerankerConfig.maxTokens,
591
+ timeoutMs: rerankerConfig.timeoutMs,
592
+ maxConcurrency: rerankerConfig.maxConcurrency,
593
+ queueLimit: rerankerConfig.queueLimit,
594
+ } } : {}),
531
595
  policyVersion: SCOPED_CONTEXT_POLICY_VERSION,
532
596
  retrievalStateHash,
533
597
  runStateHash: run?.stateHash ?? null,
598
+ indexingSourceIds: raw.indexingSourceIds ?? null,
534
599
  semanticQuery: semanticIdentity,
535
600
  });
536
601
  const replay = replayableDelivery(database, run, queryHash, taskProfileHash, limit, characterBudget);
@@ -541,7 +606,7 @@ async function prepareScopedContext(database, raw, requestedRuntime) {
541
606
  taskProfileHash,
542
607
  queryHash,
543
608
  policyVersion: SCOPED_CONTEXT_POLICY_VERSION,
544
- items: storedScopedItems(database, replay),
609
+ items: storedScopedItems(database, replay, relatedMode),
545
610
  deliveryId: replay.deliveryId,
546
611
  truncated: replay.truncated,
547
612
  untrusted: true,
@@ -553,21 +618,50 @@ async function prepareScopedContext(database, raw, requestedRuntime) {
553
618
  pendingDelivery: null,
554
619
  run,
555
620
  projectState,
621
+ relatedMode,
556
622
  };
557
623
  }
558
624
  let retrieval = { status: "no_entries", searchedEntryCount: 0, excludedCount: 0 };
559
625
  const candidates = new Map();
560
- const federated = project === undefined ? [] : await federatedEntries(database, {
626
+ const federated = project === undefined ? [] : raw.indexingSourceIds !== undefined ? raw.indexingSourceIds.map(entryId => ({ entry: readEntry(database, { workspace: project.workspace, entryId }), origin: 'project', score: 0, selectionReasons: [] })) : await federatedEntries(database, {
561
627
  project,
562
628
  ...(fingerprint === undefined ? {} : { fingerprint }),
563
629
  query: queryText,
564
630
  observe: value => { retrieval = value; },
565
631
  limit: 200,
632
+ ...(raw.temporal === undefined ? {} : { temporal: raw.temporal }),
633
+ relatedMode,
566
634
  }, runtime);
635
+ const deduplicated = deduplicateDeliverableLessonSources(database, federated.map((hit) => hit.entry), relatedMode);
636
+ const suppressedIds = new Set(deduplicated.suppressed.map((item) => item.entryId));
637
+ const retainedIds = new Set(deduplicated.suppressed.map((item) => item.retainedEntryId));
638
+ const sourceNotes = new Map();
639
+ if (relatedMode === 'active') {
640
+ for (const [entryId, references] of deduplicated.sourceReferences) {
641
+ sourceNotes.set(entryId, formatLessonSourceReferences(references));
642
+ }
643
+ }
644
+ const entriesById = new Map();
567
645
  for (const hit of federated) {
568
646
  const entry = hit.entry;
647
+ if (suppressedIds.has(entry.id))
648
+ continue;
649
+ if (raw.indexingSourceIds !== undefined && characterCount(entry.title) + characterCount(entry.summary ?? '') + characterCount(entry.body) > characterBudget)
650
+ continue;
651
+ entriesById.set(entry.id, entry);
569
652
  const item = entryScore(entry, hit.origin, hit.score, hit.selectionReasons.includes('exact_signal_match'), queryText);
653
+ const artifact = indexArtifact(database, entry);
654
+ if (artifact) {
655
+ item.knowledgeType = artifact.knowledgeType;
656
+ item.sources = artifact.sources;
657
+ sourceNotes.set(entry.id, formatIndexSourceReferences(artifact));
658
+ }
570
659
  item.selectionReasons.push(...hit.selectionReasons);
660
+ if (retainedIds.has(entry.id))
661
+ item.selectionReasons.push('duplicate_source_suppressed');
662
+ const sourceNote = sourceNotes.get(entry.id);
663
+ if (sourceNote !== undefined)
664
+ item.bodyPreview = `${item.bodyPreview}${sourceNote}`;
571
665
  item.selectionReasons = [...new Set(item.selectionReasons)];
572
666
  const feedback = feedbackScore(database, entry.id);
573
667
  item.score += feedback.score;
@@ -579,24 +673,92 @@ async function prepareScopedContext(database, raw, requestedRuntime) {
579
673
  if (previous === undefined || item.score > previous.score)
580
674
  candidates.set(item.entryId, item);
581
675
  }
582
- const ordered = [...candidates.values()].sort((left, right) => Number(right.origin === 'project' && right.selectionReasons.includes('repeated_lesson'))
676
+ let ordered = [...candidates.values()].sort((left, right) => Number(right.origin === 'project' && right.selectionReasons.includes('repeated_lesson'))
583
677
  - Number(left.origin === 'project' && left.selectionReasons.includes('repeated_lesson'))
584
678
  || right.score - left.score || compareCanonicalStrings(left.entryId, right.entryId));
585
679
  const preferenceItems = ordered.filter((item) => item.selectionReasons.includes('general_communication_preference')).slice(0, 2);
586
680
  const repeatedItems = ordered.filter(item => item.origin === 'project' && item.selectionReasons.includes('repeated_lesson'));
587
681
  const preferred = new Set([...repeatedItems, ...preferenceItems].map((item) => item.entryId));
588
- const fitted = fitScopedItems([...repeatedItems, ...preferenceItems, ...ordered.filter((item) => !preferred.has(item.entryId))], limit, characterBudget);
682
+ const fixedItems = [...repeatedItems, ...preferenceItems];
683
+ const rerankable = ordered.filter((item) => !preferred.has(item.entryId));
684
+ let rerankerDiagnostics;
685
+ if (rerankerConfig.mode !== 'off') {
686
+ const candidateItems = rerankable.slice(0, rerankerConfig.maxCandidates);
687
+ if (candidateItems.length === 0) {
688
+ rerankerDiagnostics = {
689
+ mode: rerankerConfig.mode, state: 'no_candidates', candidateCount: 0, scoredCount: 0, unscoredCount: 0,
690
+ };
691
+ }
692
+ else {
693
+ try {
694
+ const scores = await scoreLocalReranker(queryText, candidateItems.flatMap((item) => {
695
+ const entry = entriesById.get(item.entryId);
696
+ return entry === undefined ? [] : [{ key: item.entryId, title: entry.title, summary: entry.summary, body: item.bodyPreview }];
697
+ }), { config: rerankerConfig, ...(raw.signal === undefined ? {} : { signal: raw.signal }) });
698
+ assertScopedSelectionState(database, selectionWorkspaces, retrievalStateHash);
699
+ if (scores.failed) {
700
+ rerankerDiagnostics = {
701
+ mode: rerankerConfig.mode, state: 'failed', candidateCount: candidateItems.length,
702
+ scoredCount: 0, unscoredCount: candidateItems.length, reason: scores.failureReason ?? 'inference_failed',
703
+ };
704
+ }
705
+ else {
706
+ rerankerDiagnostics = {
707
+ mode: rerankerConfig.mode,
708
+ state: rerankerConfig.mode === 'active' ? 'applied' : 'observed',
709
+ candidateCount: candidateItems.length,
710
+ scoredCount: scores.scores.size,
711
+ unscoredCount: scores.unscored.size,
712
+ };
713
+ if (rerankerConfig.mode === 'active') {
714
+ const reranked = reorderScoredCandidates(candidateItems.map((item) => ({ key: item.entryId, item })), scores.scores, rerankerConfig.maxCandidates).map(({ item }) => item);
715
+ ordered = [...fixedItems, ...reranked, ...ordered.filter((item) => !preferred.has(item.entryId)
716
+ && !candidateItems.some((candidate) => candidate.entryId === item.entryId))];
717
+ }
718
+ }
719
+ }
720
+ catch (error) {
721
+ if (rerankerConfig.mode === 'active'
722
+ || error instanceof KiokukoError && ['INTEGRITY_ERROR', 'SECURITY_REJECTION', 'CONFLICT'].includes(error.code))
723
+ throw error;
724
+ assertScopedSelectionState(database, selectionWorkspaces, retrievalStateHash);
725
+ rerankerDiagnostics = {
726
+ mode: rerankerConfig.mode, state: 'unavailable', candidateCount: candidateItems.length,
727
+ scoredCount: 0, unscoredCount: candidateItems.length,
728
+ reason: error instanceof KiokukoError ? error.code.toLowerCase() : 'inference_unavailable',
729
+ };
730
+ }
731
+ }
732
+ }
733
+ const maintenanceItems = raw.indexingSourceIds === undefined ? undefined : ordered.filter((item) => { const entry = entriesById.get(item.entryId); return entry.body === item.bodyPreview; });
734
+ if (maintenanceItems) {
735
+ let remaining = characterBudget;
736
+ for (let i = 0; i < maintenanceItems.length;) {
737
+ const item = maintenanceItems[i];
738
+ const cost = characterCount(item.title) + characterCount(item.summary ?? '') + characterCount(item.bodyPreview);
739
+ if (cost > remaining)
740
+ maintenanceItems.splice(i, 1);
741
+ else {
742
+ remaining -= cost;
743
+ i++;
744
+ }
745
+ }
746
+ }
747
+ const fitted = fitScopedItems(maintenanceItems ?? [...repeatedItems, ...preferenceItems, ...ordered.filter((item) => !preferred.has(item.entryId))], limit, characterBudget, sourceNotes);
589
748
  return {
590
749
  result: {
591
750
  project: project ?? null,
592
751
  taskProfileHash,
593
752
  queryHash,
594
753
  policyVersion: SCOPED_CONTEXT_POLICY_VERSION,
754
+ ...(project ? { memoryIndexDiagnostics: observeIndex(database, project.workspace, queryText, runtime) } : {}),
595
755
  items: fitted.items,
596
756
  retrieval,
597
757
  deliveryId: null,
598
758
  truncated: fitted.truncated,
599
759
  untrusted: true,
760
+ ...(rerankerDiagnostics === undefined ? {} : { rerankerDiagnostics }),
761
+ lessonDeduplicationDiagnostics: deduplicated.diagnostics,
600
762
  },
601
763
  replayDelivery: null,
602
764
  selectionStateHash,
@@ -605,6 +767,7 @@ async function prepareScopedContext(database, raw, requestedRuntime) {
605
767
  pendingDelivery: run === null ? null : deliveryRequest(run, taskProfileHash, queryHash, characterBudget, fitted),
606
768
  run,
607
769
  projectState,
770
+ relatedMode,
608
771
  };
609
772
  }
610
773
  function assertPreparedScopedRun(database, run) {
@@ -669,7 +832,7 @@ function persistPreparedScopedContext(database, prepared, assertBeforePersist, a
669
832
  const delivery = recordContextDeliveryInTransaction(database, { ...request, deliveryId: scopedDeliveryId(request) });
670
833
  const result = {
671
834
  ...prepared.result,
672
- items: storedScopedItems(database, delivery),
835
+ items: storedScopedItems(database, delivery, prepared.relatedMode),
673
836
  deliveryId: delivery.deliveryId,
674
837
  truncated: delivery.truncated,
675
838
  };
@@ -1 +1 @@
1
- {"version":3,"file":"scoped-broker.js","sourceRoot":"","sources":["../../src/context/scoped-broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scoped-broker.js","sourceRoot":"","sources":["../../src/context/scoped-broker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAC,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAGnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAoB,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAmD,MAAM,kCAAkC,CAAC;AAErH,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,uBAAuB,EAAiC,MAAM,yBAAyB,CAAC;AAC1I,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAE1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,kCAAkC,EAAuD,MAAM,eAAe,CAAC;AAC7I,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,mCAAmC,EAAE,4BAA4B,EAAE,qCAAqC,EAAkC,MAAM,gCAAgC,CAAC;AAE1L,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAA6B,CAAC;AAC3E,MAAM,CAAC,MAAM,uCAAuC,GAAG,KAAK,CAAC;AAC7D,MAAM,CAAC,MAAM,mCAAmC,GAAG,OAAO,CAAC;AA0F3D,SAAS,4BAA4B,CAAI,KAAc;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;WACrD,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ;eACxC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,qBAAqB,CAAC;WACxE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;WACzB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzE,MAAM,mBAAmB,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAC1F,IAAI,iBAAiB,KAAK,SAAS;WAC9B,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC;WAC1C,OAAO,iBAAiB,CAAC,KAAK,KAAK,SAAS;WAC5C,gBAAgB,KAAK,SAAS;WAC9B,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC;WACzC,mBAAmB,KAAK,SAAS;eACjC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,OAAO,mBAAmB,CAAC,KAAK,KAAK,UAAU,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO;QACL,OAAO,EAAE,iBAAiB,CAAC,KAAgB;QAC3C,KAAK,EAAE,gBAAgB,CAAC,KAAU;QAClC,GAAG,CAAC,mBAAmB,KAAK,SAAS;YACnC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,KAAmB,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,GAAG,CAAC;AAiCtB,SAAS,qBAAqB,CAAC,OAA4B;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;WAClE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI;WAC1F,CAAC,CAAC,KAAK,CAAC,MAAM,YAAY,YAAY,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,UAAU;WACnF,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;WACrE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC;WAClG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;WACnE,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,oCAAoC,CAAC,CAAC;IAClF,CAAC;IACD,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;KAC4E,CAAC;AACvH,CAAC;AAED,SAAS,uBAAuB,CAAC,OAA4B;IAC3D,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC9C,OAAO;QACL,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;YACjC,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK;gBACzB,MAAM,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;aACxD;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AAClC,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,OAAO,CAAC,KAAyB;IACxC,OAAO;QACL,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE;QAChC,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE;QAC9B,KAAK,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE;QAChC,KAAK,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE;QACnC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC;KACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAkB;IACrC,OAAO,KAAK,CAAC,KAAK,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkB,EAAE,SAAiB,EAAE,MAAuB;IACxF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5E,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,aAAa,GAAG,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAClI,CAAC,CAAC,KAAK,CAAC,aAAwC;QAChD,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACtM,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG;QACb,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC;QACtC,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC;QACtC,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;QACrC,GAAG,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;QAClC,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC;QACtC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAQ,IAA2B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAE,IAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACvP,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC9L,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1E,MAAM,eAAe,GAAG,iGAAiG,CAAC;IAC1H,MAAM,eAAe,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACvG,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,6EAA6E,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7M,IAAI,gBAAgB,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnH,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC;QAChC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;QAC1E,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAkB,EAAE,MAAuB,EAAE,SAAiB,EAAE,KAAc,EAAE,SAAiB;IACnH,MAAM,KAAK,GAAG,MAAM,CAAC;IACrB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,KAAK,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxJ,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC,KAAK,GAAG,WAAW,CAAC;IAC1G,MAAM,OAAO,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7P,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE,KAAK,CAAC,IAAI;QACvB,KAAK;QACL,eAAe,EAAE;YACf,MAAM;YACN,KAAK;YACL,UAAU;YACV,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAChC,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,CAAC;YAClB,aAAa;YACb,aAAa,EAAE,aAAa,CAAC,KAAK;YAClC,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,CAAC;YACjB,WAAW;YACX,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;YACV,aAAa,EAAE,CAAC;SACjB;QACD,gBAAgB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;KACrE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAwB,EAAE,OAAe;IAC9D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QAC/D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAAC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAAC,CAAC;QAC7G,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YAAC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAAC,CAAC;QACnH,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAAC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAAC,CAAC;QACzG,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;YAAC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAAC,CAAC;IACvH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAwB,EACxB,UAA6B,EAC7B,YAAoB;IAEpB,IAAI,yBAAyB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,gBAAgB,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,YAAY,EAAE,CAAC;QAClH,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,8CAA8C,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,OAA4B,EAC5B,KAAa,EACb,eAAuB,EACvB,mBAAgD,IAAI,GAAG,EAAE;IAEzD,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,IAAI,SAAS,GAAG,eAAe,CAAC;IAChC,IAAI,aAAa,GAAC,CAAC,EAAE,UAAU,GAAC,CAAC,EAAE,OAAO,GAAC,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAC,IAAI,GAAG,EAAU,CAAC;IACpC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YAC1B,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM;QACR,CAAC;QACD,MAAM,QAAQ,GAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAC,cAAc,CAAC,IAAI,CAAC,OAAO,IAAE,EAAE,CAAC,GAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5G,MAAM,MAAM,GAAC,IAAI,CAAC,aAAa,KAAG,QAAQ,CAAA,CAAC,CAAA,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAA,CAAC,CAAA,IAAI,CAAC,aAAa,KAAG,SAAS,CAAA,CAAC,CAAA,IAAI,CAAC,OAAO,CAAA,CAAC,CAAA,SAAS,CAAC;QAC5H,IAAI,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QAChD,IAAG,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,GAAC,SAAS,IAAI,aAAa,GAAC,QAAQ,GAAC,eAAe,GAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,KAAG,QAAQ,IAAI,CAAC,OAAO,IAAE,CAAC,IAAI,UAAU,GAAC,QAAQ,GAAC,eAAe,GAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAAA,SAAS,GAAC,IAAI,CAAC;YAAA,SAAS;QAAA,CAAC;QACnN,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACrF,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,+DAA+D,CAAC,CAAC;YAC9G,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM;QACR,CAAC;QACD,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;QAC5C,IAAI,WAAmB,CAAC;QACxB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAC3C,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;gBAC5B,SAAS,GAAG,IAAI,CAAC;gBACjB,SAAS;YACX,CAAC;YACD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnG,WAAW,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG,YAAY,EAAE,CAAC;QACtF,CAAC;QACD,IAAI,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,SAAS,GAAG,IAAI,CAAC;QACrF,MAAM,IAAI,GAAG,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC;YACT,GAAG,IAAI;YACP,WAAW;YACX,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE;YAC5C,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;SAC7C,CAAC,CAAC;QACH,SAAS,IAAI,IAAI,CAAC;QAClB,IAAG,MAAM;YAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAG,IAAI,CAAC,aAAa,EAAC,CAAC;YAAA,aAAa,IAAE,IAAI,CAAC;YAAA,IAAG,IAAI,CAAC,aAAa,KAAG,QAAQ,EAAC,CAAC;gBAAA,OAAO,EAAE,CAAC;gBAAA,UAAU,IAAE,IAAI,CAAC;YAAA,CAAC;QAAA,CAAC;IAC5G,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,GAAG,SAAS,EAAE,SAAS,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAwB,EACxB,KAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,4BAA4B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,+BAA+B,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO;QACL,KAAK;QACL,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS;QAC9B,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAmB;QACrC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY;QACvC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS;QAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAqD;IAC7E,OAAO,WAAW,oBAAoB,CAAC;QACrC,IAAI,EAAE,4BAA4B;QAClC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,IAAI,CAAC;QACpD,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SAC9D,CAAC,CAAC;KACJ,CAAC,EAAE,CAAC;AACP,CAAC;AAED,SAAS,4BAA4B,CAAC,QAA6B;IACjE,IAAI,QAAQ,CAAC,UAAU,KAAK,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,uDAAuD,CAAC,CAAC;IACrG,CAAC;AACH,CAAC;AAED,SAAS,mCAAmC,CAAC,QAAwB,EAAE,QAA6B;IAClG,IAAI,OAA4B,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE;YACtC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,0DAA0D,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,sDAAsD,CAAC,CAAC;IACpG,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CACtC,QAAwB,EACxB,YAAoB,EACpB,IAA0E;IAE1E,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,4CAA4C,CAAC;SAC7E,GAAG,CAAyB,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,wCAAwC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,wCAAwC,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;IACxC,IAAI,iBAAiB,CAAC;IACtB,IAAI,CAAC;QACH,iBAAiB,GAAG,iBAAiB,CAAC,QAAQ,EAAE;YAC9C,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,aAAa;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,iDAAiD,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,cAAc,GAAG,2BAA2B,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,cAAc,CAAC;IACjH,IAAI,CAAC,2BAA2B,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;QACxG,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,+CAA+C,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ;WAClB,CAAC,cAAc,CAAC,UAAU,KAAK,QAAQ,IAAI,uBAAuB,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,8CAA8C,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,MAAM,KAAK,WAAW;WACrB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;eAC/C,uBAAuB,CAAC,cAAc,CAAC,KAAK,WAAW;eACvD,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,8CAA8C,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,wBAAwB,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,yEAAyE,CAAC;aACzG,GAAG,CAAqB,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;QAChD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,yDAAyD,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CACrB,QAAQ,EACR,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACzD,EAAE,sBAAsB,EAAE,MAAM,KAAK,SAAS,EAAE,CACjD,CAAC;IACF,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAwB,EACxB,QAA6B,EAC7B,eAAuB,EACvB,eAAuB,EACvB,KAAa,EACb,eAAuB;IAEvB,IAAI,QAAQ,CAAC,aAAa,KAAK,6BAA6B;QAAE,OAAO,KAAK,CAAC;IAC3E,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,eAAe,KAAK,eAAe;QAAE,OAAO,KAAK,CAAC;IAC/D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,+BAA+B,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAChI,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,KAAK,eAAe;WAChD,QAAQ,CAAC,aAAa,KAAK,6BAA6B;WACxD,QAAQ,CAAC,kBAAkB,KAAK,CAAC;WACjC,QAAQ,CAAC,UAAU,KAAK,eAAe;WACvC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAwB,EACxB,GAA4B,EAC5B,SAAiB,EACjB,eAAuB,EACvB,KAAa,EACb,eAAuB;IAEvB,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;GAK7B,CAAC,CAAC,GAAG,CAAyB,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACzG,IAAI,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,eAAe,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,CAAC;YAAE,OAAO,QAAQ,CAAC;IACrI,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAwB,EACxB,QAA6B,EAC7B,cAA4C,KAAK;IAEjD,IAAI,QAAQ,CAAC,aAAa,KAAK,6BAA6B,EAAE,CAAC;QAC7D,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,iDAAiD,CAAC,CAAC;IAC/F,CAAC;IACD,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAqB,EAAE;QAC/D,MAAM,OAAO,GAAG,+BAA+B,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpF,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,sDAAsD,CAAC,CAAC;QACxH,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE;YAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,IAAI,CAAC,aAAa;SAC7B,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,eAAuD,CAAC;QACrF,MAAM,QAAQ,GAAC,aAAa,CAAC,QAAQ,EAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ;YAC9F,CAAC,CAAC,4BAA4B,CAAC,qCAAqC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxF,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACtE,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,aAAa;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;YAChC,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,aAAa,EAAC,QAAQ,CAAC,aAAa,EAAC,OAAO,EAAC,QAAQ,CAAC,OAAO,EAAC,CAAA,CAAC,CAAA,EAAE,CAAC;YAClF,WAAW,EAAE,GAAG,QAAQ,CAAC,IAAI,GAAG,YAAY,EAAE;YAC9C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC,CAAC;YACxF,eAAe,EAAE,EAAE,GAAG,eAAe,EAAE;YACvC,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC5C,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;SACrE,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC/F,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;WACtC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM;WAC7C,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,uDAAuD,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,SAAS,aAAa,CAAC,KAA0B;IAC/C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS,8BAA8B,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,QAAQ;QAC5B,IAAI,EAAE,KAAK,GAAG,CAAC;QACf,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE;QAC5C,gBAAgB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC;gBAC5B,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvE,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;aAC9D,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC;cAC3F,8BAA8B,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;QAC3E,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;KAC9D,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CACtB,GAAqB,EACrB,eAAuB,EACvB,SAAiB,EACjB,eAAuB,EACvB,MAAyB;IAEzB,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,eAAe;QACf,SAAS;QACT,aAAa,EAAE,6BAA6B;QAC5C,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,kBAAkB,EAAE,CAAC;QACrB,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAwB,EACxB,GAAuB,EACvB,gBAAqC;IAErC,MAAM,OAAO,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;QACxD,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,oDAAoD,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,IAAI,MAAM,uBAAuB,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC;IACnF,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,+BAA+B,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3D,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,+CAA+C,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,gBAAgB,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACrG,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS;WAC5B,gBAAgB,KAAK,SAAS;WAC9B,GAAG,CAAC,WAAW,CAAC,cAAc,KAAK,gBAAgB,CAAC,cAAc,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,gEAAgE,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS;QACzE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACnE,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS;WAC5B,WAAW,KAAK,SAAS;WACzB,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,gEAAgE,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAC1G,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IAC9B,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,IAAI,uCAAuC,CAAC;IACvF,MAAM,cAAc,GAAG,kBAAkB,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC,IAAI,eAAe,GAAG,mCAAmC,EAAE,CAAC;QAC7L,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,mBAAmB,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC/F,MAAM,kBAAkB,GAAG,iCAAiC,CAAC,QAAQ,EAAE,mBAAmB,EAAE;QAC1F,gBAAgB,EAAE,OAAO,KAAK,SAAS;KACxC,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,QAAQ,EAAE,mBAAmB,EAAE;QAClF,gBAAgB,EAAE,OAAO,KAAK,SAAS;KACxC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,oBAAoB,CAAC;QACrC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE;QAC1C,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QACpC,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE;QAC1C,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,WAAW;SACZ;QACD,KAAK;QACL,eAAe;QACf,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjE,GAAG,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACjD,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;gBACjD,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,aAAa,EAAE,cAAc,CAAC,aAAa;gBAC3C,aAAa,EAAE,cAAc,CAAC,aAAa;gBAC3C,SAAS,EAAE,cAAc,CAAC,SAAS;gBACnC,SAAS,EAAE,cAAc,CAAC,SAAS;gBACnC,cAAc,EAAE,cAAc,CAAC,cAAc;gBAC7C,UAAU,EAAE,cAAc,CAAC,UAAU;aACtC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACT,aAAa,EAAE,6BAA6B;QAC5C,kBAAkB;QAClB,YAAY,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI;QACpC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,IAAI;QAChD,aAAa,EAAE,gBAAgB;KAChC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,kBAAkB,CAC/B,QAAQ,EACR,GAAG,EACH,SAAS,EACT,eAAe,EACf,KAAK,EACL,eAAe,CAChB,CAAC;IACF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO,IAAI,IAAI;gBACxB,eAAe;gBACf,SAAS;gBACT,aAAa,EAAE,6BAA6B;gBAC5C,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC;gBACvD,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,IAAI;aAChB;YACD,cAAc,EAAE,MAAM;YACtB,kBAAkB;YAClB,kBAAkB;YAClB,mBAAmB;YACnB,eAAe,EAAE,IAAI;YACrB,GAAG;YACH,YAAY;YACZ,WAAW;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,GAAyB,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IACxG,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;IACxD,MAAM,SAAS,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAC,SAAS,CAAC,QAAQ,EAAC,EAAC,SAAS,EAAC,OAAO,CAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,MAAM,EAAC,SAAkB,EAAC,KAAK,EAAC,CAAC,EAAC,gBAAgB,EAAC,EAAc,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,QAAQ,EAAE;QAClS,OAAO;QACP,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;QACxC,KAAK,EAAE,GAAG;QACV,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjE,WAAW;KACZ,EAAE,OAAO,CAAC,CAAC;IACZ,MAAM,YAAY,GAAG,mCAAmC,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;IACnH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAClE,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QAC1C,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,GAAC,cAAc,CAAC,KAAK,CAAC,OAAO,IAAE,EAAE,CAAC,GAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe;YAAE,SAAS;QAChK,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,CAAC;QACtH,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YAAC,IAAI,CAAC,aAAa,GAAC,QAAQ,CAAC,aAAa,CAAC;YAAC,IAAI,CAAC,OAAO,GAAC,QAAQ,CAAC,OAAO,CAAC;YAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAC,CAAC;QAC7J,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,UAAU,EAAE,CAAC;QACpF,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;YAAE,SAAS;QAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK;YAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC1D,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;UACtF,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;WACrF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACvF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjI,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC7H,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9F,MAAM,UAAU,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,eAAe,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,IAAI,mBAA+D,CAAC;IACpE,IAAI,cAAc,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;QACzE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,mBAAmB,GAAG;gBACpB,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;aACvG,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC5C,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChI,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7F,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;gBAC9E,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,mBAAmB,GAAG;wBACpB,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,MAAM;wBACjF,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,IAAI,kBAAkB;qBACzG,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,mBAAmB,GAAG;wBACpB,IAAI,EAAE,cAAc,CAAC,IAAI;wBACzB,KAAK,EAAE,cAAc,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;wBAChE,cAAc,EAAE,cAAc,CAAC,MAAM;wBACrC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;wBAC/B,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;qBACpC,CAAC;oBACF,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACrC,MAAM,QAAQ,GAAG,uBAAuB,CACtC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAC3D,MAAM,CAAC,MAAM,EACb,cAAc,CAAC,aAAa,CAC7B,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;wBAC1B,OAAO,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;mCAC1F,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACjF,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ;uBAC/B,KAAK,YAAY,YAAY,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,MAAM,KAAK,CAAC;gBAC9H,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;gBAC9E,mBAAmB,GAAG;oBACpB,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,MAAM;oBACtF,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,MAAM;oBACpD,MAAM,EAAE,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,uBAAuB;iBAC3F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,gBAAgB,GAAG,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAC,EAAE,GAAC,MAAM,KAAK,GAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAE,CAAC,CAAA,OAAO,KAAK,CAAC,IAAI,KAAG,IAAI,CAAC,WAAW,CAAC,CAAA,CAAC,CAAC,CAAC;IACtL,IAAG,gBAAgB,EAAC,CAAC;QAAA,IAAI,SAAS,GAAC,eAAe,CAAC;QAAA,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,gBAAgB,CAAC,MAAM,GAAE,CAAC;YAAA,MAAM,IAAI,GAAC,gBAAgB,CAAC,CAAC,CAAE,CAAC;YAAA,MAAM,IAAI,GAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAC,cAAc,CAAC,IAAI,CAAC,OAAO,IAAE,EAAE,CAAC,GAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAAA,IAAG,IAAI,GAAC,SAAS;gBAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;iBAAI,CAAC;gBAAA,SAAS,IAAE,IAAI,CAAC;gBAAA,CAAC,EAAE,CAAC;YAAA,CAAC;QAAA,CAAC;IAAA,CAAC;IAC9S,MAAM,MAAM,GAAG,cAAc,CAC3B,gBAAgB,IAAI,CAAC,GAAG,aAAa,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EACrH,KAAK,EACL,eAAe,EACf,WAAW,CACZ,CAAC;IACF,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,OAAO,IAAI,IAAI;YACxB,eAAe;YACf,SAAS;YACT,aAAa,EAAE,6BAA6B;YAC5C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,sBAAsB,EAAC,YAAY,CAAC,QAAQ,EAAC,OAAO,CAAC,SAAS,EAAC,SAAS,EAAC,OAAO,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvG,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS;YACT,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,IAAI;YACf,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC;YACrE,8BAA8B,EAAE,YAAY,CAAC,WAAW;SACzD;QACD,cAAc,EAAE,IAAI;QACpB,kBAAkB;QAClB,kBAAkB;QAClB,mBAAmB;QACnB,eAAe,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC;QAChH,GAAG;QACH,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAwB,EAAE,GAAqB;IAC9E,MAAM,OAAO,GAAG,4BAA4B,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAClE,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;WACtB,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS;WACvC,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;WACjC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,eAAe;WAChD,OAAO,CAAC,eAAe,KAAK,GAAG,CAAC,eAAe;WAC/C,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW;WACvC,OAAO,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,+CAA+C,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAwB,EAAE,QAA+B;IAC1F,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,gBAAgB,GAAG,8BAA8B,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACvF,IAAI,gBAAgB,CAAC,cAAc,KAAK,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;YACzF,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,oDAAoD,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,kBAAkB,GAAG,yBAAyB,CAClD,QAAQ,EACR,QAAQ,CAAC,YAAY,CAAC,OAAO,EAC7B,gBAAgB,EAChB,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;QACF,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YACzG,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,oDAAoD,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI;QAAE,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;IAChF,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,+BAA+B,CAAC,QAAQ,EAAE,SAAS,EAAE;QACvH,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,QAAQ;QAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,gDAAgD,CAAC,CAAC;IACvF,CAAC;IACD,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAChG,IAAI,QAAQ,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;QACrC,mCAAmC,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CACnC,QAAwB,EACxB,QAA+B,EAC/B,mBAAgC,EAChC,YAAoD;IAEpD,IAAI,QAAQ,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC7C,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACtC,mBAAmB,EAAE,CAAC;gBACtB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC;YACD,YAAY,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC;IACzC,OAAO,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC7C,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,sCAAsC,CAAC,CAAC;QAC7G,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,mBAAmB,EAAE,CAAC;YACtB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,QAAQ,GAAG,kCAAkC,CACjD,QAAQ,EACR,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CACtD,CAAC;QACF,MAAM,MAAM,GAAG;YACb,GAAG,QAAQ,CAAC,MAAM;YAClB,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC;YAClE,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC;QACF,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAwB,EACxB,GAAuB,EACvB,UAA+B,EAAE;IAEjC,OAAO,4BAA4B,CAAC,QAAQ,EAAE,MAAM,oBAAoB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAwB,EACxB,GAAuB,EACvB,MAAwE,EACxE,UAA+B,EAAE,EACjC,UAAoE;IAEpE,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,4BAA4B,CAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,QAAQ,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBAC/C,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC/B,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC;YACD,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACnK,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;KAChD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"selection-state.d.ts","sourceRoot":"","sources":["../../src/context/selection-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAYjD,eAAO,MAAM,mCAAmC,QAAS,CAAC;AAmL1D,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,GAClC;IACD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,IAAI,GAAG;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAEA;AAwLD;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,cAAc,EACxB,kBAAkB,EAAE,SAAS,MAAM,EAAE,EACrC,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3C,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,cAAc,EACxB,kBAAkB,EAAE,SAAS,MAAM,EAAE,EACrC,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3C,MAAM,CAcR"}
1
+ {"version":3,"file":"selection-state.d.ts","sourceRoot":"","sources":["../../src/context/selection-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAYjD,eAAO,MAAM,mCAAmC,QAAS,CAAC;AAmL1D,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,GAClC;IACD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,IAAI,GAAG;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAEA;AAwLD;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,cAAc,EACxB,kBAAkB,EAAE,SAAS,MAAM,EAAE,EACrC,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3C,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,cAAc,EACxB,kBAAkB,EAAE,SAAS,MAAM,EAAE,EACrC,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3C,MAAM,CAeR"}
@@ -1,3 +1,4 @@
1
+ import { indexStateHash } from '../memory/index-state.js';
1
2
  import { readActiveEmbeddingProfile, readEmbeddingRuntimeState, readEntryEmbedding } from '../embedding/store.js';
2
3
  import { KiokukoError } from '../errors.js';
3
4
  import { isCuratorManagedGlobalMemory } from '../memory/curator-trust.js';
@@ -352,6 +353,7 @@ export function contextRetrievalStateHash(database, relevantWorkspaces, options
352
353
  return canonicalContentHash({
353
354
  workspaces: state.workspaces,
354
355
  includeEcosystem,
356
+ memoryIndex: indexStateHash(database, state.workspaces),
355
357
  semantic: state.semantic,
356
358
  entries: state.entries,
357
359
  });
@@ -1 +1 @@
1
- {"version":3,"file":"selection-state.js","sourceRoot":"","sources":["../../src/context/selection-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selection-state.js","sourceRoot":"","sources":["../../src/context/selection-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,kBAAkB,EAA+B,MAAM,uBAAuB,CAAC;AAC/I,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,wCAAwC,EACxC,kCAAkC,EAClC,6BAA6B,GAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAC;AAC1D,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAEpC,SAAS,oBAAoB,CAAC,KAAwB;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;QACrE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,0CAA0C,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACzC,IAAI,OAAO,SAAS,KAAK,QAAQ;eAC5B,SAAS,CAAC,MAAM,KAAK,CAAC;eACtB,SAAS,CAAC,IAAI,EAAE,KAAK,SAAS;eAC9B,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;eAClC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,mBAAmB,EAAE,CAAC;YAChE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,0CAA0C,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,0CAA0C,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAwB,EACxB,UAA6B,EAC7B,kBAA0B,EAC1B,cAAsB;IAEtB,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC;;;6BAGb,kBAAkB;;iBAE9B,cAAc;;;;;GAK5B,CAAC,CAAC,GAAG,CAAkB,GAAG,UAAU,CAAC,CAAC;IACvC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,8DAA8D,CAAC,CAAC;IAC5G,CAAC;IACD,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;;;6BAGd,kBAAkB;;aAElC,cAAc;;;;;;;;;;;;;;;;;GAiBxB,CAAC,CAAC,GAAG,CAAkB,GAAG,UAAU,CAAC,CAAC;IACvC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,kDAAkD,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAwB,EAAE,OAAe;IACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;GAK7B,CAAC,CAAC,GAAG,CAAoC,OAAO,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;eACpD,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,yCAAyC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAwB,EAAE,OAAe;IACtE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;;;GAOjC,CAAC,CAAC,GAAG,CAA0B,OAAO,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,kDAAkD,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,iDAAiD,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC3C,CAAC;AAeD,SAAS,uBAAuB,CAAC,QAAwB;IACvD,MAAM,OAAO,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO;QACL,eAAe,EAAE,aAAa,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;QACzD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU;YACrD,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc;YAC7D,uBAAuB,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;YAC/E,oBAAoB,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;YACzE,eAAe,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe;SAChE;QACD,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,QAAwB,EACxB,KAAmC,EACnC,KAA8B;IAY9B,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI;QAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACpF,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,EAAE;QAC1C,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS;KACjD,CAAC,CAAC;IACH,IAAI,MAAM,KAAK,SAAS;WACnB,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;WAClC,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;WACxC,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3E,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACrF,CAAC;IACD,OAAO;QACL,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS;QACtD,SAAS,EAAE;YACT,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAAwB,EACxB,KAAmC;IAYnC,OAAO,kCAAkC,CAAC,QAAQ,EAAE,KAAK,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAwB,EACxB,KAAmC,EACnC,aAA6C;IAE7C,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QACrB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,aAAa,EAAE,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC1C,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QACpD,cAAc,EAAE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ;QAC7D,GAAG,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,kCAAkC,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC;KACpH,CAAC;AACJ,CAAC;AASD,SAAS,qBAAqB,CAC5B,QAAwB,EACxB,kBAAqC,EACrC,OAA8B;IAE9B,MAAM,UAAU,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzF,MAAM,aAAa,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAW,CAAC;IAC1F,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACzD,OAAO;YACL,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1E,eAAe,EAAE,aAAa,CAAC,eAAe;gBAC9C,UAAU,EAAE,aAAa,CAAC,UAAU;gBACpC,OAAO,EAAE,aAAa,CAAC,OAAO;aAC/B;SACF,CAAC;IACJ,CAAC;IACD,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,kCAAkC,EAAE,CAAC;IAC5D,MAAM,cAAc,GAAG,wCAAwC,EAAE,CAAC;IAClE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,2BAA2B,CAAC,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;;mBAMzB,cAAc;;KAE5B,CAAC,CAAC,GAAG,EAAmB,CAAC;QAC1B,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,8DAA8D,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,aAAa,cAAc,GAAG,CAAC,CAAC;QACnF,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,iBAAiB,GAAG,OAAO,CAAC,gBAAgB;YAChD,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;gBACvB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,mBAAmB,kBAAkB,GAAG,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,cAAc;YACvB,iBAAiB;MACvB,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,iBAAiB,GAAG,aAAa,EAAE,eAAe,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI;YACzF,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;;;;;;;;;;QAUA,CAAC;QACL,OAAO,CAAC,IAAI,CAAC,QAAQ,cAAc;;;SAG9B,CAAC,CAAC;QACP,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,cAAc;;;;;YAK9C,iBAAiB;WAClB,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,aAAc,CAAC,eAAgB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;YAC/B,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1E,eAAe,EAAE,aAAa,CAAC,eAAe;gBAC9C,UAAU,EAAE,aAAa,CAAC,UAAU;gBACpC,OAAO,EAAE,aAAa,CAAC,OAAO;aAC/B;SACF,CAAC;IACF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;0CACU,cAAc;;;cAG1C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;;;GAG/B,CAAC,CAAC,GAAG,CACJ,GAAG,UAAU,EACb,mCAAmC,GAAG,CAAC,CACxC,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,GAAG,mCAAmC,EAAE,CAAC;QACtD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,kDAAkD,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;eACzB,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;eACjC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,2CAA2C,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CACrB,QAAQ,EACR,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE;QAC7C,qEAAqE;QACrE,wCAAwC;QACxC,EAAE,sBAAsB,EAAE,GAAG,CAAC,UAAU,KAAK,CAAC,EAAE,CACjD,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY;YAAE,OAAO,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,eAAe;YAAE,OAAO,EAAE,CAAC;QACpD,IAAI,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB;YAAE,OAAO,EAAE,CAAC;QACrF,MAAM,WAAW,GAAG,KAAK;YACvB,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC;YACrC,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAI,6BAA6B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC/E,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,OAAO;QACL,UAAU;QACV,OAAO;QACP,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YACjD,eAAe,EAAE,aAAa,CAAC,eAAe;YAC9C,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,OAAO,EAAE,aAAa,CAAC,OAAO;SAC/B;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAC/C,QAAwB,EACxB,kBAAqC,EACrC,UAA0C,EAAE;IAE5C,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,EAAE;QAChE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,KAAK,IAAI;QACnD,eAAe,EAAE,KAAK;QACtB,qBAAqB,EAAE,KAAK;QAC5B,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;IACH,OAAO,oBAAoB,CAAC;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,KAAK,IAAI;QACnD,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAwB,EACxB,kBAAqC,EACrC,UAA0C,EAAE;IAE5C,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC;IAC3D,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,EAAE;QAChE,gBAAgB;QAChB,eAAe,EAAE,IAAI;QACrB,qBAAqB,EAAE,IAAI;QAC3B,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IACH,OAAO,oBAAoB,CAAC;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,gBAAgB;QAChB,WAAW,EAAE,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;QACvD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"javascript-backend.d.ts","sourceRoot":"","sources":["../../src/embedding/javascript-backend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AAIlE,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpF,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAwH3C,qBAAa,6BAA8B,YAAW,mBAAmB;IACvE,QAAQ,CAAC,EAAE,gBAAyB;IAEpC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,GAAG,SAAS,EAAE;CAqDxE;AAED,eAAO,MAAM,mCAAmC,QAAO,mBAA0D,CAAC"}
1
+ {"version":3,"file":"javascript-backend.d.ts","sourceRoot":"","sources":["../../src/embedding/javascript-backend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AAIlE,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpF,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AA0H3C,qBAAa,6BAA8B,YAAW,mBAAmB;IACvE,QAAQ,CAAC,EAAE,gBAAyB;IAEpC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,GAAG,SAAS,EAAE;CAwDxE;AAED,eAAO,MAAM,mCAAmC,QAAO,mBAA0D,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { indexVectorFilter, validIndexVector } from '../memory/index-state.js';
1
2
  import { normalizeSubject } from '../memory/interaction-subjects.js';
2
3
  import { KiokukoError } from '../errors.js';
3
4
  import { requireWorkspace } from '../serialization/validate.js';
@@ -118,6 +119,7 @@ export class JavaScriptVectorSearchBackend {
118
119
  'ee.dimensions = ?',
119
120
  'ee.revision = e.current_revision',
120
121
  'ee.content_hash = r.content_hash',
122
+ indexVectorFilter(input.indexEvaluation ?? false, input.indexOriginalsOnly ?? false),
121
123
  ];
122
124
  const parameters = [normalized.profileId, normalized.dimensions];
123
125
  if (normalized.workspace !== undefined) {
@@ -135,7 +137,7 @@ export class JavaScriptVectorSearchBackend {
135
137
  }
136
138
  parameters.push(MAX_JAVASCRIPT_BACKEND_ENTRIES + 1);
137
139
  const rows = database.prepare(`
138
- SELECT ee.entry_id, ee.dimensions, ee.embedding, ee.vector_hash
140
+ SELECT ee.entry_id, e.workspace, (e.created_by='kiokuko-memory-index' OR json_extract(r.provenance_json,'$.type')='memory_index') AS index_generated, ee.dimensions, ee.embedding, ee.vector_hash
139
141
  FROM entry_embeddings AS ee
140
142
  JOIN entries AS e ON e.id = ee.entry_id
141
143
  JOIN entry_revisions AS r
@@ -150,6 +152,8 @@ export class JavaScriptVectorSearchBackend {
150
152
  const heap = new WorstFirstHeap(normalized.limit);
151
153
  for (const row of rows) {
152
154
  const id = entryId(row.entry_id);
155
+ if (row.index_generated && !validIndexVector(database, row.workspace, id))
156
+ continue;
153
157
  if (typeof row.dimensions !== 'number' || row.dimensions !== normalized.dimensions)
154
158
  integrity('Stored vector dimensions do not match the search profile');
155
159
  const vectorHash = typeof row.vector_hash === 'string' ? row.vector_hash : integrity('Stored vector hash is invalid');
@@ -158,6 +162,8 @@ export class JavaScriptVectorSearchBackend {
158
162
  vector = decodeVector(row.embedding, normalized.dimensions, vectorHash);
159
163
  }
160
164
  catch {
165
+ if (row.index_generated)
166
+ continue;
161
167
  integrity('Stored vector is invalid');
162
168
  }
163
169
  const distance = cosineDistance(normalized.queryVector, vector);