@djolex999/vir-cli 0.10.0 → 0.11.1

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.
@@ -10,11 +10,22 @@ import { parseSession } from "./parser.js";
10
10
  import { scanSessions } from "./scanner.js";
11
11
  import { scanArticles } from "./articleReader.js";
12
12
  import { distillArticle } from "./articleDistiller.js";
13
+ import { parsePdf, scanPdfs } from "./pdfReader.js";
14
+ import { distillPdf } from "./pdfDistiller.js";
13
15
  import { scrub } from "./scrubber.js";
14
16
  import { summarizeProject } from "./summarizer.js";
15
17
  import { filterToolCalls } from "./toolCallFilter.js";
16
18
  import { kebab, VaultWriter } from "./writer.js";
17
19
  import { sweepEmbeddings } from "./embeddingSweep.js";
20
+ // Per-document distill cost estimate for the article/PDF dry-run paths. Both run
21
+ // a Haiku classify + Sonnet distill with input bounded by the distiller's 24k
22
+ // char cap, so this is an accurate per-item figure (papers/long articles hit the
23
+ // cap). chars/3 matches the calibrated density used elsewhere in dry-run. Pure.
24
+ export function estimatePerDocDistillCost(cfg, classifyModel, distillModel) {
25
+ const CPT = 3;
26
+ return (computeCost(cfg.provider, classifyModel, Math.ceil(3000 / CPT), 200, cfg.pricing, cfg.kieTopUpTier) +
27
+ computeCost(cfg.provider, distillModel, Math.ceil(24_000 / CPT), 1500, cfg.pricing, cfg.kieTopUpTier));
28
+ }
18
29
  export async function runPipeline(cfg, opts = {}) {
19
30
  ensureVirDir();
20
31
  const db = new StateDb();
@@ -32,6 +43,10 @@ export async function runPipeline(cfg, opts = {}) {
32
43
  articlesDistilled: 0,
33
44
  articlesSkipped: 0,
34
45
  articlesErrored: 0,
46
+ pdfsScanned: 0,
47
+ pdfsDistilled: 0,
48
+ pdfsSkipped: 0,
49
+ pdfsErrored: 0,
35
50
  };
36
51
  const interactive = !opts.quiet;
37
52
  // File-only logging — used for the daemon run.log regardless of UI mode.
@@ -52,9 +67,11 @@ export async function runPipeline(cfg, opts = {}) {
52
67
  ? "run --rewrite-only"
53
68
  : opts.articlesOnly
54
69
  ? "run --articles-only"
55
- : opts.full
56
- ? "run --full"
57
- : "run");
70
+ : opts.pdfsOnly
71
+ ? "run --pdfs-only"
72
+ : opts.full
73
+ ? "run --full"
74
+ : "run");
58
75
  ui.blank();
59
76
  }
60
77
  fileLog(`vir run start (full=${opts.full ? "true" : "false"} rewriteOnly=${opts.rewriteOnly ? "true" : "false"})`);
@@ -129,7 +146,13 @@ export async function runPipeline(cfg, opts = {}) {
129
146
  db.close();
130
147
  return summary;
131
148
  }
149
+ if (opts.dryRun) {
150
+ dryRunDocPhase(cfg, db, opts, "article", interactive, fileLog);
151
+ db.close();
152
+ return summary;
153
+ }
132
154
  await runArticlePhase(cfg, db, writer, summary, fileLog, interactive);
155
+ await runEmbeddingSweep(db, writer, fileLog, interactive);
133
156
  if (interactive) {
134
157
  ui.blank();
135
158
  ui.divider();
@@ -147,6 +170,40 @@ export async function runPipeline(cfg, opts = {}) {
147
170
  db.close();
148
171
  return summary;
149
172
  }
173
+ // --pdfs-only: skip the session AND article pipelines.
174
+ if (opts.pdfsOnly) {
175
+ if (!cfg.pdfsDir) {
176
+ if (interactive) {
177
+ ui.row(ui.warn(ui.WARN_GLYPH), ui.text("pdfsDir is not set — nothing to distill"));
178
+ }
179
+ fileLog("pdfs-only run but pdfsDir is unset");
180
+ db.close();
181
+ return summary;
182
+ }
183
+ if (opts.dryRun) {
184
+ dryRunDocPhase(cfg, db, opts, "pdf", interactive, fileLog);
185
+ db.close();
186
+ return summary;
187
+ }
188
+ await runPdfPhase(cfg, db, writer, summary, fileLog, interactive);
189
+ await runEmbeddingSweep(db, writer, fileLog, interactive);
190
+ if (interactive) {
191
+ ui.blank();
192
+ ui.divider();
193
+ ui.summary({
194
+ pdfs: { value: summary.pdfsScanned, color: ui.info },
195
+ distilled: { value: summary.pdfsDistilled, color: ui.success },
196
+ skipped: { value: summary.pdfsSkipped, color: ui.warn },
197
+ errored: {
198
+ value: summary.pdfsErrored,
199
+ color: summary.pdfsErrored > 0 ? ui.errorColor : ui.dim,
200
+ },
201
+ });
202
+ ui.divider();
203
+ }
204
+ db.close();
205
+ return summary;
206
+ }
150
207
  const distiller = new Distiller(cfg, {
151
208
  forceDistillModel: opts.forceDistillModel,
152
209
  });
@@ -193,7 +250,8 @@ export async function runPipeline(cfg, opts = {}) {
193
250
  // the end-of-run sweep back-fills. The sweep heals them when Ollama is up.
194
251
  const pendingEmbedding = db.listEmbeddingTargets().length +
195
252
  db.listTopicEmbeddingTargets().length +
196
- db.listArticleEmbeddingTargets().length;
253
+ db.listArticleEmbeddingTargets().length +
254
+ db.listPdfEmbeddingTargets().length;
197
255
  if (interactive) {
198
256
  ui.line(ui.dim(` ${discovered.length} files found · ${cached} cached · ${preflightNew} new` +
199
257
  (pendingEmbedding > 0
@@ -260,6 +318,19 @@ export async function runPipeline(cfg, opts = {}) {
260
318
  ui.divider();
261
319
  ui.line(ui.dim(" estimates assume typical output sizes; actuals may vary ±30%"));
262
320
  }
321
+ // PDFs are estimated separately: papers exceed the 24k-char distill cap, so
322
+ // the per-PDF input is the cap (an accurate figure, not just an upper bound).
323
+ // No text extraction here — only count new PDFs by their cheap byte hash.
324
+ if (cfg.pdfsDir && cfg.distillPdfs) {
325
+ const newPdfs = scanPdfs(cfg.pdfsDir).filter((f) => opts.full || !db.isPdfProcessed(f.filePath, f.hash)).length;
326
+ if (newPdfs > 0) {
327
+ const perPdf = estimatePerDocDistillCost(cfg, classifyModel, distillModel);
328
+ if (interactive) {
329
+ ui.line(ui.dim(` ${newPdfs} new PDF(s): ~${ui.formatUsd(perPdf)} each (input capped at 24k chars) → ~${ui.formatUsd(perPdf * newPdfs)}`));
330
+ }
331
+ fileLog(`dry-run: newPdfs=${newPdfs} perPdf=${ui.formatUsd(perPdf)} estTotal=${ui.formatUsd(perPdf * newPdfs)}`);
332
+ }
333
+ }
263
334
  fileLog(`dry-run: sessions=${estimated} filtered=${filteredOut} estTotal=${ui.formatUsd(totalCost)}`);
264
335
  db.close();
265
336
  return summary;
@@ -384,11 +455,49 @@ export async function runPipeline(cfg, opts = {}) {
384
455
  if (cfg.articlesDir && cfg.distillArticles) {
385
456
  await runArticlePhase(cfg, db, writer, summary, fileLog, interactive);
386
457
  }
458
+ // Third input source: PDFs / papers. Gated identically; an install without
459
+ // pdfsDir skips this entirely (the article pattern, cloned).
460
+ if (cfg.pdfsDir && cfg.distillPdfs) {
461
+ await runPdfPhase(cfg, db, writer, summary, fileLog, interactive);
462
+ }
387
463
  // Self-heal: back-fill notes whose write-time embedding silently no-op'd
388
464
  // (Ollama down during distill). Without this a transient outage is permanent
389
- // — the note never enters the embedding-search candidate set. Best-effort and
390
- // wrapped like the rest of run; a sweep failure must never fail the run. When
391
- // Ollama is still down the sweep no-ops and simply retries next pass.
465
+ // — the note never enters the embedding-search candidate set.
466
+ await runEmbeddingSweep(db, writer, fileLog, interactive);
467
+ fileLog(`vir run done scanned=${summary.scanned} new=${summary.scanned - summary.alreadyProcessed} distilled=${summary.distilled} skipped=${summary.skippedByFilter} lowConf=${summary.lowConfidence} errored=${summary.errored} articles=${summary.articlesDistilled} pdfs=${summary.pdfsDistilled}`);
468
+ if (interactive) {
469
+ ui.blank();
470
+ ui.divider();
471
+ const stats = {
472
+ scanned: { value: summary.scanned, color: ui.info },
473
+ new: {
474
+ value: summary.scanned - summary.alreadyProcessed,
475
+ color: ui.info,
476
+ },
477
+ distilled: { value: summary.distilled, color: ui.success },
478
+ skipped: { value: summary.skippedByFilter, color: ui.warn },
479
+ errored: {
480
+ value: summary.errored,
481
+ color: summary.errored > 0 ? ui.errorColor : ui.dim,
482
+ },
483
+ };
484
+ if (cfg.articlesDir && cfg.distillArticles) {
485
+ stats.articles = { value: summary.articlesDistilled, color: ui.success };
486
+ }
487
+ if (cfg.pdfsDir && cfg.distillPdfs) {
488
+ stats.pdfs = { value: summary.pdfsDistilled, color: ui.success };
489
+ }
490
+ ui.summary(stats);
491
+ ui.divider();
492
+ }
493
+ db.close();
494
+ return summary;
495
+ }
496
+ // Best-effort embedding back-fill, shared by the full run AND the --articles-
497
+ // only / --pdfs-only shortcuts (so an inline-embed miss self-heals in the same
498
+ // invocation rather than waiting for the next full run). A sweep failure must
499
+ // never fail the run; when Ollama is down it no-ops and retries next pass.
500
+ async function runEmbeddingSweep(db, writer, fileLog, interactive) {
392
501
  try {
393
502
  const sweep = await sweepEmbeddings(db);
394
503
  if (sweep.ran) {
@@ -400,8 +509,6 @@ export async function runPipeline(cfg, opts = {}) {
400
509
  }
401
510
  }
402
511
  else if (sweep.pending > 0) {
403
- // Ollama down: inline maybeEmbed() no-op'd (writer.embedSkipped) and the
404
- // sweep couldn't run. One traceable line — it retries next run.
405
512
  fileLog(`embedding skipped, Ollama unavailable — ${sweep.pending} pending (${writer.embedSkipped} this run)`);
406
513
  if (interactive) {
407
514
  ui.line(ui.dim(` embedding skipped (Ollama unavailable) — ${sweep.pending} pending`));
@@ -411,31 +518,39 @@ export async function runPipeline(cfg, opts = {}) {
411
518
  catch (err) {
412
519
  fileLog(`embedding sweep failed: ${err.message}`);
413
520
  }
414
- fileLog(`vir run done — scanned=${summary.scanned} new=${summary.scanned - summary.alreadyProcessed} distilled=${summary.distilled} skipped=${summary.skippedByFilter} lowConf=${summary.lowConfidence} errored=${summary.errored} articles=${summary.articlesDistilled}`);
521
+ }
522
+ // Dry-run preview for the --articles-only / --pdfs-only shortcuts: count the
523
+ // items that WOULD be distilled and show the per-item + total estimated cost,
524
+ // then exit. Never makes a provider call — the bug this fixes is that these
525
+ // shortcuts used to ignore --dry-run and distill for real.
526
+ function dryRunDocPhase(cfg, db, opts, kind, interactive, fileLog) {
527
+ const classifyModel = normalizeModelName(cfg.models.classify, cfg.provider);
528
+ const distillModel = normalizeModelName(resolveModelShorthand(opts.forceDistillModel ?? cfg.models.distill), cfg.provider);
529
+ const per = estimatePerDocDistillCost(cfg, classifyModel, distillModel);
530
+ let count = 0;
531
+ if (kind === "article" && cfg.articlesDir) {
532
+ count = scanArticles(cfg.articlesDir).filter((a) => opts.full || !db.isArticleProcessed(a.filePath, a.hash)).length;
533
+ }
534
+ else if (kind === "pdf" && cfg.pdfsDir) {
535
+ count = scanPdfs(cfg.pdfsDir).filter((f) => opts.full || !db.isPdfProcessed(f.filePath, f.hash)).length;
536
+ }
415
537
  if (interactive) {
416
538
  ui.blank();
417
539
  ui.divider();
418
- const stats = {
419
- scanned: { value: summary.scanned, color: ui.info },
420
- new: {
421
- value: summary.scanned - summary.alreadyProcessed,
540
+ ui.summary({
541
+ [kind === "article" ? "articles" : "pdfs"]: {
542
+ value: count,
422
543
  color: ui.info,
423
544
  },
424
- distilled: { value: summary.distilled, color: ui.success },
425
- skipped: { value: summary.skippedByFilter, color: ui.warn },
426
- errored: {
427
- value: summary.errored,
428
- color: summary.errored > 0 ? ui.errorColor : ui.dim,
429
- },
430
- };
431
- if (cfg.articlesDir && cfg.distillArticles) {
432
- stats.articles = { value: summary.articlesDistilled, color: ui.success };
433
- }
434
- ui.summary(stats);
545
+ "per item": { value: ui.formatUsd(per), color: ui.warn },
546
+ "est. total": { value: ui.formatUsd(per * count), color: ui.warn },
547
+ });
435
548
  ui.divider();
549
+ ui.line(ui.dim(kind === "pdf"
550
+ ? " dry run — no distillation performed (input capped at 24k chars)"
551
+ : " dry run — no distillation performed"));
436
552
  }
437
- db.close();
438
- return summary;
553
+ fileLog(`dry-run ${kind}s-only: new=${count} perItem=${ui.formatUsd(per)} estTotal=${ui.formatUsd(per * count)}`);
439
554
  }
440
555
  // Distill web articles from cfg.articlesDir into the vault, parallel to the
441
556
  // session pipeline. Each article is hashed in SQLite for idempotency and
@@ -522,6 +637,93 @@ async function runArticlePhase(cfg, db, writer, summary, fileLog, interactive) {
522
637
  }
523
638
  }
524
639
  }
640
+ // Third input source: PDFs / papers. Mirrors runArticlePhase, but scanPdfs
641
+ // returns cheap {path, hash} entries (PDF text extraction is expensive via
642
+ // pdf.js) and only files that aren't already processed get parsed — instead of
643
+ // extracting the whole directory up front. Each PDF is hashed for idempotency
644
+ // and wrapped in its own try/catch so one bad file never aborts the run.
645
+ async function runPdfPhase(cfg, db, writer, summary, fileLog, interactive) {
646
+ if (!cfg.pdfsDir)
647
+ return;
648
+ const scanSpinner = interactive ? ui.spinner("scanning pdfs").start() : null;
649
+ let sources;
650
+ try {
651
+ sources = scanPdfs(cfg.pdfsDir);
652
+ }
653
+ catch (err) {
654
+ if (scanSpinner)
655
+ scanSpinner.fail(ui.errorColor("pdf scan failed"));
656
+ fileLog(`pdf scan failed: ${err.message}`);
657
+ return;
658
+ }
659
+ summary.pdfsScanned = sources.length;
660
+ if (scanSpinner) {
661
+ scanSpinner.succeed(ui.text(`scanned ${ui.info(String(sources.length))} ${ui.dim("pdfs")}`));
662
+ }
663
+ fileLog(`scanned ${sources.length} pdfs`);
664
+ for (const src of sources) {
665
+ try {
666
+ if (db.isPdfProcessed(src.filePath, src.hash))
667
+ continue;
668
+ // Extraction is heavy and only happens for new files (gated above).
669
+ const parsed = await parsePdf(src.filePath);
670
+ const distilled = await distillPdf(parsed, cfg);
671
+ if (!distilled) {
672
+ summary.pdfsSkipped += 1;
673
+ db.recordPdf({
674
+ path: parsed.filePath,
675
+ hash: parsed.hash,
676
+ skipped: true,
677
+ });
678
+ continue;
679
+ }
680
+ const notePath = await writer.writePdf(parsed, distilled);
681
+ summary.pdfsDistilled += 1;
682
+ summary.notesWritten.push(notePath);
683
+ db.recordPdf({
684
+ path: parsed.filePath,
685
+ hash: parsed.hash,
686
+ skipped: false,
687
+ notePath,
688
+ content: distilled.markdown,
689
+ category: distilled.classification.category,
690
+ title: parsed.title,
691
+ pages: parsed.pageCount,
692
+ confidence: distilled.classification.confidence,
693
+ distilledAt: new Date().toISOString(),
694
+ });
695
+ if (interactive) {
696
+ ui.categoryRow(distilled.classification.category, parsed.title);
697
+ }
698
+ fileLog(`distilled pdf → ${distilled.classification.category}/${parsed.title}`);
699
+ if (distilled.classification.confidence >= 0.8) {
700
+ notify(`Vir — new ${distilled.classification.category}`, parsed.title);
701
+ }
702
+ await new Promise((r) => setTimeout(r, 2000));
703
+ }
704
+ catch (err) {
705
+ summary.pdfsErrored += 1;
706
+ const msg = err.message ?? String(err);
707
+ if (interactive) {
708
+ ui.row(ui.errorColor(ui.CROSS), ui.text(`pdf error: ${msg}`));
709
+ }
710
+ fileLog(`error on pdf ${src.filePath}: ${msg}`);
711
+ try {
712
+ // Record with the source hash so a corrupt PDF isn't retried every run
713
+ // (same idempotency contract as articles).
714
+ db.recordPdf({
715
+ path: src.filePath,
716
+ hash: src.hash,
717
+ skipped: false,
718
+ error: msg,
719
+ });
720
+ }
721
+ catch {
722
+ // ignore record errors
723
+ }
724
+ }
725
+ }
726
+ }
525
727
  async function rewriteOne(writer, row) {
526
728
  const parsed = {
527
729
  path: row.path,
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/pipeline/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/pipeline/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAe,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAyCtD,iFAAiF;AACjF,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,MAAM,UAAU,yBAAyB,CACvC,GAAW,EACX,aAAqB,EACrB,YAAoB;IAEpB,MAAM,GAAG,GAAG,CAAC,CAAC;IACd,OAAO,CACL,WAAW,CACT,GAAG,CAAC,QAAQ,EACZ,aAAa,EACb,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,EACrB,GAAG,EACH,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,YAAY,CACjB;QACD,WAAW,CACT,GAAG,CAAC,QAAQ,EACZ,YAAY,EACZ,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,EACvB,IAAI,EACJ,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,YAAY,CACjB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAW,EACX,OAAmB,EAAE;IAErB,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAExC,MAAM,OAAO,GAAe;QAC1B,OAAO,EAAE,CAAC;QACV,gBAAgB,EAAE,CAAC;QACnB,eAAe,EAAE,CAAC;QAClB,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,CAAC;QAClB,iBAAiB,EAAE,CAAC;QACpB,eAAe,EAAE,CAAC;QAClB,eAAe,EAAE,CAAC;QAClB,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;KACf,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;IAEhC,yEAAyE;IACzE,MAAM,OAAO,GAAG,CAAC,GAAW,EAAQ,EAAE;QACpC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC;YACH,cAAc,CACZ,eAAe,EACf,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CACzC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,EAAE,CAAC,MAAM,CACP,IAAI,CAAC,MAAM;YACT,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,IAAI,CAAC,WAAW;gBAChB,CAAC,CAAC,qBAAqB;gBACvB,CAAC,CAAC,IAAI,CAAC,YAAY;oBACjB,CAAC,CAAC,sBAAsB;oBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ;wBACb,CAAC,CAAC,kBAAkB;wBACpB,CAAC,CAAC,IAAI,CAAC,IAAI;4BACT,CAAC,CAAC,aAAa;4BACf,CAAC,CAAC,KAAK,CAClB,CAAC;QACF,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IACD,OAAO,CACL,uBAAuB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,gBAAgB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,CAC1G,CAAC;IAEF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;QAChC,OAAO,CAAC,iBAAiB,IAAI,CAAC,MAAM,2BAA2B,CAAC,CAAC;QACjE,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAChE,IAAI,CAAC;gBACH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;wBAC9C,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;wBACvB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;oBACxC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;wBACrB,OAAO,CAAC,YAAY,GAAG,CAAC,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;gBACD,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/C,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAC9C,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;oBACvB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;oBACrB,OAAO,CAAC,YAAY,GAAG,CAAC,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QACD,4EAA4E;QAC5E,gEAAgE;QAChE,IAAI,CAAC;YACH,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,8BAA+B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,CACL,wCAAwC,OAAO,CAAC,SAAS,YAAY,OAAO,CAAC,OAAO,EAAE,CACvF,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,OAAO,EAAE,CAAC;YACb,EAAE,CAAC,OAAO,CAAC;gBACT,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE;gBAC1D,OAAO,EAAE;oBACP,KAAK,EAAE,OAAO,CAAC,OAAO;oBACtB,KAAK,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;iBACpD;aACF,CAAC,CAAC;YACH,EAAE,CAAC,OAAO,EAAE,CAAC;QACf,CAAC;QACD,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,qDAAqD;IACrD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,WAAW,EAAE,CAAC;gBAChB,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EACtB,EAAE,CAAC,IAAI,CAAC,6CAA6C,CAAC,CACvD,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,4CAA4C,CAAC,CAAC;YACtD,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAC/D,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACtE,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,WAAW,EAAE,CAAC;YAChB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,OAAO,EAAE,CAAC;YACb,EAAE,CAAC,OAAO,CAAC;gBACT,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;gBAC5D,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE;gBAClE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;gBAC3D,OAAO,EAAE;oBACP,KAAK,EAAE,OAAO,CAAC,eAAe;oBAC9B,KAAK,EAAE,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;iBAC5D;aACF,CAAC,CAAC;YACH,EAAE,CAAC,OAAO,EAAE,CAAC;QACf,CAAC;QACD,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,uDAAuD;IACvD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,WAAW,EAAE,CAAC;gBAChB,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EACtB,EAAE,CAAC,IAAI,CAAC,yCAAyC,CAAC,CACnD,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,oCAAoC,CAAC,CAAC;YAC9C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAC3D,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,WAAW,EAAE,CAAC;YAChB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,OAAO,EAAE,CAAC;YACb,EAAE,CAAC,OAAO,CAAC;gBACT,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;gBACpD,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE;gBAC9D,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;gBACvD,OAAO,EAAE;oBACP,KAAK,EAAE,OAAO,CAAC,WAAW;oBAC1B,KAAK,EAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;iBACxD;aACF,CAAC,CAAC;YACH,EAAE,CAAC,OAAO,EAAE,CAAC;QACf,CAAC;QACD,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE;QACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC,CAAC;IACH,IAAI,WAAW,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACtE,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IACD,OAAO,CACL,gBAAgB,IAAI,CAAC,iBAAiB,IAAI,QAAQ,EAAE,CACrD,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEhD,MAAM,WAAW,GAAG,WAAW;QAC7B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE;QACnD,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,UAAU,CAAC;IACf,IAAI,CAAC;QACH,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW;YAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,mBAAoB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;IACpC,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,OAAO,CACjB,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAClF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,WAAW,UAAU,CAAC,MAAM,cAAc,CAAC,CAAC;IACpD,IAAI,WAAW;QAAE,EAAE,CAAC,KAAK,EAAE,CAAC;IAE5B,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;YAAE,YAAY,IAAI,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC;IAChD,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,gBAAgB,GACpB,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM;QAChC,EAAE,CAAC,yBAAyB,EAAE,CAAC,MAAM;QACrC,EAAE,CAAC,2BAA2B,EAAE,CAAC,MAAM;QACvC,EAAE,CAAC,uBAAuB,EAAE,CAAC,MAAM,CAAC;IACtC,IAAI,WAAW,EAAE,CAAC;QAChB,EAAE,CAAC,IAAI,CACL,EAAE,CAAC,GAAG,CACJ,KAAK,UAAU,CAAC,MAAM,oBAAoB,MAAM,eAAe,YAAY,MAAM;YAC/E,CAAC,gBAAgB,GAAG,CAAC;gBACnB,CAAC,CAAC,QAAQ,gBAAgB,oBAAoB;gBAC9C,CAAC,CAAC,EAAE,CAAC,CACV,CACF,CAAC;QACF,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IACD,OAAO,CACL,oBAAoB,UAAU,CAAC,MAAM,WAAW,MAAM,QAAQ,YAAY,qBAAqB,gBAAgB,EAAE,CAClH,CAAC;IAEF,4EAA4E;IAC5E,yEAAyE;IACzE,IAAI,WAAW,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC3C,EAAE,CAAC,IAAI,CACL,EAAE,CAAC,GAAG,CACJ,kFAAkF,CACnF,CACF,CAAC;QACF,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,gFAAgF;IAChF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,kBAAkB,CACrC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EACnE,GAAG,CAAC,QAAQ,CACb,CAAC;QACF,MAAM,sBAAsB,GAAG,GAAG,CAAC;QACnC,MAAM,qBAAqB,GAAG,IAAI,CAAC;QACnC,MAAM,eAAe,GAAG,CAAC,CAAC;QAC1B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YACnE,IAAI,MAAqB,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;gBACtD,WAAW,IAAI,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,eAAe,CAClD,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC;iBACxE,MAAM,GAAG,eAAe,CAC5B,CAAC;YACF,MAAM,IAAI,GACR,WAAW,CACT,GAAG,CAAC,QAAQ,EACZ,aAAa,EACb,UAAU,EACV,sBAAsB,EACtB,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,YAAY,CACjB;gBACD,WAAW,CACT,GAAG,CAAC,QAAQ,EACZ,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,YAAY,CACjB,CAAC;YACJ,SAAS,IAAI,IAAI,CAAC;YAClB,SAAS,IAAI,CAAC,CAAC;YACf,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACtE,EAAE,CAAC,IAAI,CACL,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CACrH,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,OAAO,EAAE,CAAC;YACb,EAAE,CAAC,OAAO,CAAC;gBACT,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;gBAC9C,cAAc,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE;gBACrD,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;aACjE,CAAC,CAAC;YACH,EAAE,CAAC,OAAO,EAAE,CAAC;YACb,EAAE,CAAC,IAAI,CACL,EAAE,CAAC,GAAG,CACJ,gEAAgE,CACjE,CACF,CAAC;QACJ,CAAC;QACD,4EAA4E;QAC5E,8EAA8E;QAC9E,0EAA0E;QAC1E,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAC3D,CAAC,MAAM,CAAC;YACT,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,yBAAyB,CAAC,GAAG,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;gBAC3E,IAAI,WAAW,EAAE,CAAC;oBAChB,EAAE,CAAC,IAAI,CACL,EAAE,CAAC,GAAG,CACJ,KAAK,OAAO,iBAAiB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,wCAAwC,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAC1H,CACF,CAAC;gBACJ,CAAC;gBACD,OAAO,CACL,oBAAoB,OAAO,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CACxG,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,CACL,qBAAqB,SAAS,aAAa,WAAW,aAAa,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAC7F,CAAC;QACF,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,gCAAgC,CAAC,CAAC;YAC1C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;YAEzD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC;gBAC7B,EAAE,CAAC,MAAM,CAAC;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,eAAe,CAChC,MAAM,CAAC,cAAc,EACrB,GAAG,CAAC,eAAe,CACpB,CAAC;YACF,IAAI,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,UAAU,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;gBACzE,MAAM,MAAM,GACV,UAAU,CAAC,oBAAoB,GAAG,CAAC;oBACjC,CAAC,CAAC,KAAK,UAAU,CAAC,oBAAoB,cAAc;oBACpD,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,GAAG,GAAG,YAAY,UAAU,CAAC,iBAAiB,gBAAgB,MAAM,YAAY,UAAU,CAAC,WAAW,SAAS,CAAC;gBACtH,IAAI,WAAW;oBAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YACD,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEnD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;YAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;gBAC3B,EAAE,CAAC,MAAM,CAAC;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;YACvB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YACtC,EAAE,CAAC,MAAM,CAAC;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ;gBACtC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK;gBAChC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO;gBACpC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU;gBAC1C,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,CACL,aAAa,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAC3G,CAAC;YACF,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;gBAC1C,MAAM,CACJ,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAC3C,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAChE,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;YACrB,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,WAAW;gBAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,YAAY,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,EAAE,CAAC,MAAM,CAAC;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,EAAE;oBACb,KAAK,EAAE,GAAG;iBACX,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;QAC1C,IAAI,KAAK,GAAG,CAAC;YAAE,SAAS;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,WAAW;oBACb,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAC;gBACtE,OAAO,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,CAAC;YACnC,IAAI,WAAW;gBACb,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,EACvB,EAAE,CAAC,IAAI,CAAC,8BAA8B,IAAI,KAAK,GAAG,EAAE,CAAC,CACtD,CAAC;YACJ,OAAO,CAAC,8BAA8B,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,sEAAsE;IACtE,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,2EAA2E;IAC3E,6DAA6D;IAC7D,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,yEAAyE;IACzE,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAE1D,OAAO,CACL,0BAA0B,OAAO,CAAC,OAAO,QAAQ,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,gBAAgB,cAAc,OAAO,CAAC,SAAS,YAAY,OAAO,CAAC,eAAe,YAAY,OAAO,CAAC,aAAa,YAAY,OAAO,CAAC,OAAO,aAAa,OAAO,CAAC,iBAAiB,SAAS,OAAO,CAAC,aAAa,EAAE,CAChS,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,KAAK,GAAmC;YAC5C,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;YACnD,GAAG,EAAE;gBACH,KAAK,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,gBAAgB;gBACjD,KAAK,EAAE,EAAE,CAAC,IAAI;aACf;YACD,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE;YAC1D,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;YAC3D,OAAO,EAAE;gBACP,KAAK,EAAE,OAAO,CAAC,OAAO;gBACtB,KAAK,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;aACpD;SACF,CAAC;QACF,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YAC3C,KAAK,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3E,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;QACnE,CAAC;QACD,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClB,EAAE,CAAC,OAAO,EAAE,CAAC;IACf,CAAC;IAED,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,2EAA2E;AAC3E,KAAK,UAAU,iBAAiB,CAC9B,EAAW,EACX,MAAmB,EACnB,OAA8B,EAC9B,WAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,OAAO,CACL,+BAA+B,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,OAAO,UAAU,CAClG,CAAC;gBACF,IAAI,WAAW,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACtC,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EACpB,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,QAAQ,oBAAoB,CAAC,CAC1D,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CACL,2CAA2C,KAAK,CAAC,OAAO,aAAa,MAAM,CAAC,YAAY,YAAY,CACrG,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,EAAE,CAAC,IAAI,CACL,EAAE,CAAC,GAAG,CACJ,8CAA8C,KAAK,CAAC,OAAO,UAAU,CACtE,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,2BAA4B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,2DAA2D;AAC3D,SAAS,cAAc,CACrB,GAAW,EACX,EAAW,EACX,IAAgB,EAChB,IAAuB,EACvB,WAAoB,EACpB,OAA8B;IAE9B,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,kBAAkB,CACrC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EACnE,GAAG,CAAC,QAAQ,CACb,CAAC;IACF,MAAM,GAAG,GAAG,yBAAyB,CAAC,GAAG,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IAExE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QAC1C,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAC/D,CAAC,MAAM,CAAC;IACX,CAAC;SAAM,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACzC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAC3D,CAAC,MAAM,CAAC;IACX,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,CAAC,OAAO,EAAE,CAAC;QACb,EAAE,CAAC,OAAO,CAAC;YACT,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;gBAC1C,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,EAAE,CAAC,IAAI;aACf;YACD,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;YACxD,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;SACnE,CAAC,CAAC;QACH,EAAE,CAAC,OAAO,EAAE,CAAC;QACb,EAAE,CAAC,IAAI,CACL,EAAE,CAAC,GAAG,CACJ,IAAI,KAAK,KAAK;YACZ,CAAC,CAAC,mEAAmE;YACrE,CAAC,CAAC,uCAAuC,CAC5C,CACF,CAAC;IACJ,CAAC;IACD,OAAO,CACL,WAAW,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CACzG,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,yEAAyE;AACzE,qEAAqE;AACrE,KAAK,UAAU,eAAe,CAC5B,GAAW,EACX,EAAW,EACX,MAAmB,EACnB,OAAmB,EACnB,OAA8B,EAC9B,WAAoB;IAEpB,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO;IAE7B,MAAM,WAAW,GAAG,WAAW;QAC7B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE;QACzC,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW;YAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,wBAAyB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IACD,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC1C,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,OAAO,CACjB,EAAE,CAAC,IAAI,CACL,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CACpE,CACF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,WAAW,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC;IAE/C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEpE,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC;gBAC7B,EAAE,CAAC,aAAa,CAAC;oBACf,IAAI,EAAE,OAAO,CAAC,QAAQ;oBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC/D,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC;YAC/B,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,EAAE,CAAC,aAAa,CAAC;gBACf,IAAI,EAAE,OAAO,CAAC,QAAQ;gBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,KAAK;gBACd,QAAQ;gBACR,OAAO,EAAE,SAAS,CAAC,QAAQ;gBAC3B,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC,QAAQ;gBAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;gBAC9B,SAAS,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;gBACtC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC,UAAU;gBAC/C,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,CACL,uBAAuB,SAAS,CAAC,cAAc,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAC5E,CAAC;YACF,IAAI,SAAS,CAAC,cAAc,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;gBAC/C,MAAM,CACJ,aAAa,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,EAChD,OAAO,CAAC,KAAK,CACd,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,WAAW,EAAE,CAAC;gBAChB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,CAAC,oBAAoB,OAAO,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC;gBACH,EAAE,CAAC,aAAa,CAAC;oBACf,IAAI,EAAE,OAAO,CAAC,QAAQ;oBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG;iBACX,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,2EAA2E;AAC3E,+EAA+E;AAC/E,8EAA8E;AAC9E,yEAAyE;AACzE,KAAK,UAAU,WAAW,CACxB,GAAW,EACX,EAAW,EACX,MAAmB,EACnB,OAAmB,EACnB,OAA8B,EAC9B,WAAoB;IAEpB,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,OAAO;IAEzB,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW;YAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,oBAAqB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IACD,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IACrC,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,OAAO,CACjB,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,WAAW,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC;IAE1C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAExD,oEAAoE;YACpE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;gBACzB,EAAE,CAAC,SAAS,CAAC;oBACX,IAAI,EAAE,MAAM,CAAC,QAAQ;oBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC1D,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,EAAE,CAAC,SAAS,CAAC;gBACX,IAAI,EAAE,MAAM,CAAC,QAAQ;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK;gBACd,QAAQ;gBACR,OAAO,EAAE,SAAS,CAAC,QAAQ;gBAC3B,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC,QAAQ;gBAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,SAAS;gBACvB,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC,UAAU;gBAC/C,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,CACL,mBAAmB,SAAS,CAAC,cAAc,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,CACvE,CAAC;YACF,IAAI,SAAS,CAAC,cAAc,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;gBAC/C,MAAM,CAAC,aAAa,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;YACzB,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,WAAW,EAAE,CAAC;gBAChB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,CAAC,gBAAgB,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC;gBACH,uEAAuE;gBACvE,2CAA2C;gBAC3C,EAAE,CAAC,SAAS,CAAC;oBACX,IAAI,EAAE,GAAG,CAAC,QAAQ;oBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG;iBACX,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,MAAmB,EACnB,GAA0C;IAE1C,MAAM,MAAM,GAAkB;QAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,OAAO;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,CAAC;QAChB,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,cAAc,EAAE,EAAE;KACnB,CAAC;IACF,MAAM,IAAI,GAAkB;QAC1B,cAAc,EAAE;YACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,sEAAsE;YACtE,yEAAyE;YACzE,uEAAuE;YACvE,MAAM,EAAE,EAAE;SACX;QACD,QAAQ,EAAE,GAAG,CAAC,OAAO;KACtB,CAAC;IACF,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,yEAAyE;AACzE,SAAS,MAAM,CAAC,KAAa,EAAE,OAAe;IAC5C,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC/C,SAAS,CACP,WAAW,EACX;gBACE,IAAI;gBACJ,yBAAyB,WAAW,iBAAiB,SAAS,sBAAsB;aACrF,EACD,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpB,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,qEAAqE;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAS;IAClC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC"}
@@ -3,6 +3,7 @@ import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, write
3
3
  import { join, relative } from "node:path";
4
4
  import { embeddingForNote, isOllamaAvailableCached, } from "../search/embedder.js";
5
5
  import { ARTICLES_SUBDIR, articleRelPath, buildArticleFrontmatter, } from "./articleDistiller.js";
6
+ import { PDFS_SUBDIR, buildPdfFrontmatter, pdfRelPath, } from "./pdfDistiller.js";
6
7
  import { TOPICS_SUBDIR, buildComposeFrontmatter, composeRelPath, } from "./composer.js";
7
8
  const CATEGORY_DIR = {
8
9
  pattern: "patterns",
@@ -26,6 +27,7 @@ export class VaultWriter {
26
27
  for (const sub of [
27
28
  ...Object.values(CATEGORY_DIR),
28
29
  ARTICLES_SUBDIR,
30
+ PDFS_SUBDIR,
29
31
  this.topicsDir,
30
32
  ]) {
31
33
  const p = join(this.root, sub);
@@ -141,6 +143,51 @@ export class VaultWriter {
141
143
  // never crash the writer on embedding failure
142
144
  }
143
145
  }
146
+ // Write a distilled PDF note into pdfs/<slug>.md. Parallel to writeArticle()
147
+ // but uses the PDF frontmatter; the source is a local file path (no URL).
148
+ async writePdf(parsed, distilled, mode = "append") {
149
+ const relPath = pdfRelPath(parsed);
150
+ const fullPath = join(this.root, relPath);
151
+ const frontmatter = buildPdfFrontmatter(parsed, distilled);
152
+ const header = `Category: [[${distilled.classification.category}]]\n\n`;
153
+ const body = wikilinkRelated(distilled.markdown);
154
+ const finalContent = frontmatter + header + body + "\n";
155
+ writeFileSync(fullPath, finalContent);
156
+ await this.maybeEmbedPdf(parsed, finalContent);
157
+ if (mode === "append") {
158
+ this.appendIndex({
159
+ date: new Date().toISOString().slice(0, 10),
160
+ topic: parsed.title,
161
+ category: distilled.classification.category,
162
+ project: "pdf",
163
+ relPath,
164
+ });
165
+ this.appendLog({
166
+ ts: new Date().toISOString().slice(0, 16).replace("T", " "),
167
+ category: distilled.classification.category,
168
+ topic: parsed.title,
169
+ project: "pdf",
170
+ });
171
+ }
172
+ return fullPath;
173
+ }
174
+ // Best-effort PDF embedding — mirrors maybeEmbedArticle but keyed by the PDF's
175
+ // source path in the pdfs table. Failure never fails a write.
176
+ async maybeEmbedPdf(parsed, fileContent) {
177
+ if (!this.db)
178
+ return;
179
+ try {
180
+ if (!(await isOllamaAvailableCached()))
181
+ return;
182
+ const vec = await embeddingForNote(fileContent);
183
+ if (!vec)
184
+ return;
185
+ this.db.storePdfEmbedding(parsed.filePath, vec);
186
+ }
187
+ catch {
188
+ // never crash the writer on embedding failure
189
+ }
190
+ }
144
191
  // Write a synthesized topic page into topics/<slug>.md. Parallel to write()/
145
192
  // writeArticle() but uses the topic frontmatter and a deterministic Sources
146
193
  // section built from the real source slugs (so every wikilink resolves and
@@ -372,7 +419,11 @@ export class VaultWriter {
372
419
  }
373
420
  noteCount() {
374
421
  let n = 0;
375
- for (const sub of [...Object.values(CATEGORY_DIR), ARTICLES_SUBDIR]) {
422
+ for (const sub of [
423
+ ...Object.values(CATEGORY_DIR),
424
+ ARTICLES_SUBDIR,
425
+ PDFS_SUBDIR,
426
+ ]) {
376
427
  const dir = join(this.root, sub);
377
428
  if (!existsSync(dir))
378
429
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/pipeline/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/pipeline/writer.ts"],"names":[],"mappings":"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"}
@@ -41,13 +41,14 @@ async function searchByEmbedding(cfg, db, query, topK) {
41
41
  return [];
42
42
  }
43
43
  const root = vaultRoot(cfg);
44
- // Sessions, articles, and topics are embedded into the same vector space;
45
- // concat all three so semantic search covers every layer. Topics get no
46
- // ranking boost — they compete on cosine like everything else.
44
+ // Sessions, articles, topics, and PDFs are embedded into the same vector
45
+ // space; concat all four so semantic search covers every layer. No layer gets
46
+ // a ranking boost — they compete on cosine like everything else.
47
47
  const rows = [
48
48
  ...db.getEmbeddings(root),
49
49
  ...db.getArticleEmbeddings(),
50
50
  ...db.getTopicEmbeddings(root, cfg.topicsDir),
51
+ ...db.getPdfEmbeddings(),
51
52
  ];
52
53
  if (rows.length === 0)
53
54
  return [];