@seanhogg/builderforce-memory 2026.6.34 → 2026.6.39

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 (42) hide show
  1. package/README.md +4 -3
  2. package/dist/index.d.ts +2 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/limbic/LimbicSession.d.ts +31 -1
  7. package/dist/limbic/LimbicSession.d.ts.map +1 -1
  8. package/dist/limbic/LimbicSession.js +47 -3
  9. package/dist/limbic/LimbicSession.js.map +1 -1
  10. package/dist/memory/MemoryStore.d.ts +18 -0
  11. package/dist/memory/MemoryStore.d.ts.map +1 -1
  12. package/dist/memory/MemoryStore.js +97 -17
  13. package/dist/memory/MemoryStore.js.map +1 -1
  14. package/dist/session/session.d.ts +9 -0
  15. package/dist/session/session.d.ts.map +1 -1
  16. package/dist/session/session.js +12 -2
  17. package/dist/session/session.js.map +1 -1
  18. package/dist/workflow/code-eval.d.ts +54 -0
  19. package/dist/workflow/code-eval.d.ts.map +1 -0
  20. package/dist/workflow/code-eval.js +135 -0
  21. package/dist/workflow/code-eval.js.map +1 -0
  22. package/dist/workflow/index.d.ts +3 -2
  23. package/dist/workflow/index.d.ts.map +1 -1
  24. package/dist/workflow/index.js +3 -2
  25. package/dist/workflow/index.js.map +1 -1
  26. package/dist/workflow/steps.d.ts +20 -0
  27. package/dist/workflow/steps.d.ts.map +1 -1
  28. package/dist/workflow/steps.js +321 -7
  29. package/dist/workflow/steps.js.map +1 -1
  30. package/dist/workflow/templates.d.ts +15 -0
  31. package/dist/workflow/templates.d.ts.map +1 -1
  32. package/dist/workflow/templates.js +56 -1
  33. package/dist/workflow/templates.js.map +1 -1
  34. package/package.json +11 -8
  35. package/src/index.ts +6 -0
  36. package/src/limbic/LimbicSession.ts +61 -1
  37. package/src/memory/MemoryStore.ts +98 -14
  38. package/src/session/session.ts +23 -1
  39. package/src/workflow/code-eval.ts +143 -0
  40. package/src/workflow/index.ts +9 -1
  41. package/src/workflow/steps.ts +367 -6
  42. package/src/workflow/templates.ts +59 -1
@@ -9,10 +9,13 @@
9
9
  *
10
10
  * A custom workflow mixes these freely; new step types register the same way.
11
11
  */
12
- import { EvermindLM, EvermindLMTrainer, BPETokenizer, EvermindModelPackage, exportEvermind, benchmarkText, } from "@seanhogg/builderforce-memory-engine";
12
+ import { EvermindLM, EvermindLMTrainer, BPETokenizer, EvermindModelPackage, exportEvermind, importEvermind, benchmarkText, } from "@seanhogg/builderforce-memory-engine";
13
13
  import { EvermindCognition } from "../cognition/index.js";
14
14
  import { hybridRetrieve, chunkText } from "../retrieval/index.js";
15
15
  import { MemoryStore } from "../memory/MemoryStore.js";
16
+ import { OpenAIBridge } from "../bridges/OpenAIBridge.js";
17
+ import { AnthropicBridge } from "../bridges/AnthropicBridge.js";
18
+ import { analyzeCode, runJsCases } from "./code-eval.js";
16
19
  const KNOWLEDGE = "BuilderForce orchestrates many agents through a planning loop. " +
17
20
  "The memory layer stores facts as SSM embeddings. " +
18
21
  "Deployment runs on Cloudflare Workers and Durable Objects. " +
@@ -31,17 +34,144 @@ function pBool(cfg, key, def) {
31
34
  const v = cfg.params?.[key];
32
35
  return typeof v === "boolean" ? v : def;
33
36
  }
37
+ /** Read a string[] param (non-strings dropped). */
38
+ function pStrArr(cfg, key) {
39
+ const v = cfg.params?.[key];
40
+ return Array.isArray(v) ? v.filter((x) => typeof x === "string") : [];
41
+ }
42
+ /** Default teacher instruction for code distillation — code only, no prose/fences. */
43
+ const CODE_TEACHER_SYSTEM = "You are an expert programmer. Respond with correct, idiomatic code that fulfils the request. " +
44
+ "Output code only — no explanation, no markdown fences.";
45
+ /**
46
+ * Strip a wrapping ```lang … ``` markdown fence some teachers add despite the
47
+ * "code only, no fences" instruction — otherwise the fence fails every code
48
+ * gate and the exemplar is wrongly dropped.
49
+ */
50
+ export function stripCodeFences(text) {
51
+ const t = text.trim();
52
+ const m = /^```[\w-]*\r?\n([\s\S]*?)\r?\n```$/.exec(t);
53
+ return m ? m[1].trim() : t;
54
+ }
55
+ /** Read `cases` off a param blob, dropping malformed entries. */
56
+ function normalizeCases(raw) {
57
+ return Array.isArray(raw)
58
+ ? raw.filter((c) => typeof c?.call === "string")
59
+ : [];
60
+ }
61
+ /**
62
+ * Best-of-N selection across a teacher panel. When the task carries execution
63
+ * `cases`, keep only fully-passing candidates and return the first — teachers
64
+ * are listed strongest-first (e.g. Opus), so the strongest correct answer wins
65
+ * and a wrong teacher answer is dropped rather than trained on. With no cases,
66
+ * take the first non-empty candidate (teacher-order priority).
67
+ */
68
+ export function selectBestCandidate(candidates, cases) {
69
+ if (candidates.length === 0)
70
+ return null;
71
+ if (cases.length === 0)
72
+ return candidates[0];
73
+ for (const c of candidates) {
74
+ if (runJsCases(c.completion, cases).passRate === 1)
75
+ return c;
76
+ }
77
+ return null;
78
+ }
79
+ /**
80
+ * Build one teacher bridge from its spec. Any external LLM can teach Evermind:
81
+ * • provider "openai" (default) — the BuilderForce gateway, OpenRouter, OpenAI,
82
+ * or any OpenAI-compatible server (Ollama / vLLM / LM Studio), by `baseUrl`.
83
+ * • provider "anthropic" — the Anthropic Messages API directly (Opus etc).
84
+ * Returns null when the entry lacks the credentials it needs.
85
+ */
86
+ function buildTeacher(spec, defSystem, defMaxTokens) {
87
+ const provider = (spec.provider ?? "openai").toLowerCase();
88
+ const apiKey = spec.apiKey ?? "";
89
+ const model = spec.model ?? "";
90
+ const systemPrompt = spec.systemPrompt ?? defSystem;
91
+ const maxTokens = spec.maxTokens ?? defMaxTokens;
92
+ if (provider === "anthropic") {
93
+ if (!apiKey)
94
+ return null;
95
+ return { label: `anthropic:${model || "default"}`, bridge: new AnthropicBridge({ apiKey, systemPrompt, maxTokens, ...(model ? { model } : {}) }) };
96
+ }
97
+ // openai-compatible (gateway / OpenRouter / OpenAI / local) — needs a baseUrl.
98
+ const baseUrl = spec.baseUrl ?? "";
99
+ if (!baseUrl)
100
+ return null;
101
+ return { label: `${provider}:${model || "default"}`, bridge: new OpenAIBridge({ apiKey, baseUrl, systemPrompt, maxTokens, ...(model ? { model } : {}) }) };
102
+ }
103
+ /**
104
+ * Build the teacher panel from step params. `teachers: TeacherSpec[]` runs
105
+ * several models as a best-of-N panel (list the strongest FIRST — e.g. Opus —
106
+ * so it wins ties); the legacy single-teacher shape (top-level
107
+ * provider/baseUrl/apiKey/model) is honoured as a one-entry panel. Entries
108
+ * without credentials are skipped, so an offline `pairs`-only run yields [].
109
+ */
110
+ function makeTeachers(cfg) {
111
+ const defSystem = pStr(cfg, "systemPrompt", CODE_TEACHER_SYSTEM);
112
+ const defMaxTokens = pNum(cfg, "maxTokens", 512);
113
+ const raw = cfg.params?.teachers;
114
+ const specs = Array.isArray(raw) && raw.length > 0
115
+ ? raw
116
+ : [{ provider: pStr(cfg, "provider", "openai"), apiKey: pStr(cfg, "apiKey", ""), model: pStr(cfg, "model", ""), baseUrl: pStr(cfg, "baseUrl", "") }];
117
+ const out = [];
118
+ for (const s of specs) {
119
+ const t = buildTeacher(s ?? {}, defSystem, defMaxTokens);
120
+ if (t)
121
+ out.push(t);
122
+ }
123
+ return out;
124
+ }
125
+ /** Read the coding tasks to distil: rich `tasks[{prompt,cases}]` or plain `prompts[]`. */
126
+ function readTasks(cfg) {
127
+ const raw = cfg.params?.tasks;
128
+ if (Array.isArray(raw)) {
129
+ const out = [];
130
+ for (const t of raw) {
131
+ const prompt = t?.prompt;
132
+ if (typeof prompt !== "string")
133
+ continue;
134
+ const cases = normalizeCases(t.cases);
135
+ out.push(cases.length ? { prompt, cases } : { prompt });
136
+ }
137
+ return out;
138
+ }
139
+ return pStrArr(cfg, "prompts").map((prompt) => ({ prompt }));
140
+ }
34
141
  /** Byte length of an emitted export file (text or binary). */
35
142
  function fileBytes(data) {
36
143
  return typeof data === "string" ? new TextEncoder().encode(data).length : data.length;
37
144
  }
145
+ /** Coerce a workflow-param weight blob (bytes, ArrayBuffer, number[], or base64) to Uint8Array. */
146
+ function toBytes(value, base64) {
147
+ if (value instanceof Uint8Array)
148
+ return value;
149
+ if (value instanceof ArrayBuffer)
150
+ return new Uint8Array(value);
151
+ if (Array.isArray(value) && value.every((n) => typeof n === "number"))
152
+ return Uint8Array.from(value);
153
+ if (typeof base64 === "string" && base64) {
154
+ if (typeof atob !== "function")
155
+ throw new Error("import-model: base64 decoding needs atob (browser/Worker/Node 16+)");
156
+ const bin = atob(base64);
157
+ const out = new Uint8Array(bin.length);
158
+ for (let i = 0; i < bin.length; i++)
159
+ out[i] = bin.charCodeAt(i);
160
+ return out;
161
+ }
162
+ return null;
163
+ }
38
164
  function mkStep(cfg, layer, defaultLabel, run) {
39
165
  return { id: cfg.id, layer, label: cfg.label ?? defaultLabel, run };
40
166
  }
41
- /** Encode a corpus into next-token training sequences (one per sentence). */
167
+ /**
168
+ * Encode a corpus into next-token training sequences. Split on sentence
169
+ * boundaries (prose) OR blank lines (code blocks / distilled prompt→code pairs),
170
+ * so both natural-language and code corpora yield multiple trainable sequences.
171
+ */
42
172
  function corpusToSequences(corpus, tok) {
43
173
  return corpus
44
- .split(/(?<=\.)\s+/)
174
+ .split(/(?<=\.)\s+|\n\s*\n/)
45
175
  .map((s) => tok.encode(s.trim()))
46
176
  .filter((ids) => ids.length >= 2);
47
177
  }
@@ -155,15 +285,36 @@ export const BUILTIN_STEPS = {
155
285
  },
156
286
  // ── LLM-creation pipeline (BUILD) — produces a custom .evermind model ────────
157
287
  "train-tokenizer": {
158
- info: { type: "train-tokenizer", layer: "BUILD", label: "Train tokenizer", description: "Learn a BPE vocab from your corpus (params: corpus, numMerges)" },
288
+ info: {
289
+ type: "train-tokenizer",
290
+ layer: "BUILD",
291
+ label: "Train tokenizer",
292
+ description: "Build a BPE vocab — train fresh from your corpus, OR import merges from a proven code tokenizer (params: corpus, numMerges, hfTokenizer, hfTokenizerUrl)",
293
+ },
159
294
  factory: (cfg) => mkStep(cfg, "BUILD", "Train tokenizer (BPE)", async (ctx) => {
160
- const corpus = pStr(cfg, "corpus", KNOWLEDGE.repeat(4));
161
- const numMerges = pNum(cfg, "numMerges", 100);
162
295
  const tok = new BPETokenizer();
296
+ // Two paths, both first-class (this is an IDE choice):
297
+ // • import-merges: seed from a Hugging Face tokenizer.json (code vocab on day one)
298
+ // • train-fresh: learn a vocab from the corpus
299
+ const hfTokenizer = cfg.params?.hfTokenizer;
300
+ const hfTokenizerUrl = pStr(cfg, "hfTokenizerUrl", "");
301
+ if (hfTokenizer && typeof hfTokenizer === "object") {
302
+ tok.loadHuggingFace(hfTokenizer);
303
+ ctx.bag.tokenizer = tok;
304
+ return `imported vocab ${tok.vocabSize} (Hugging Face merges)`;
305
+ }
306
+ if (hfTokenizerUrl) {
307
+ await tok.loadHuggingFaceUrl(hfTokenizerUrl);
308
+ ctx.bag.tokenizer = tok;
309
+ return `imported vocab ${tok.vocabSize} from ${hfTokenizerUrl}`;
310
+ }
311
+ // train-fresh — default to the distilled corpus from a prior step when present.
312
+ const corpus = pStr(cfg, "corpus", ctx.bag.corpus ?? KNOWLEDGE.repeat(4));
313
+ const numMerges = pNum(cfg, "numMerges", 100);
163
314
  tok.train(corpus, { numMerges });
164
315
  ctx.bag.tokenizer = tok;
165
316
  ctx.bag.corpus = corpus;
166
- return `vocab ${tok.vocabSize} (${numMerges} merges)`;
317
+ return `trained vocab ${tok.vocabSize} (${numMerges} merges)`;
167
318
  }),
168
319
  },
169
320
  "train-model": {
@@ -386,5 +537,168 @@ export const BUILTIN_STEPS = {
386
537
  return `exported ${format}: ${result.files.length} file(s), ${total} bytes, ${result.paramCount} params`;
387
538
  }),
388
539
  },
540
+ "import-model": {
541
+ info: {
542
+ type: "import-model",
543
+ layer: "BUILD",
544
+ label: "Import model (warm-start)",
545
+ description: "Warm-start an EvermindLM from a .safetensors checkpoint instead of random init — round-trips our own exports, or maps a foreign SSM checkpoint via renameMap (params: safetensors, safetensorsBase64, topK, renameMap)",
546
+ },
547
+ factory: (cfg) => mkStep(cfg, "BUILD", "Import model (warm-start)", async (ctx) => {
548
+ const bytes = toBytes(cfg.params?.safetensors, pStr(cfg, "safetensorsBase64", ""));
549
+ if (!bytes) {
550
+ throw new Error("import-model: provide 'safetensors' (bytes/ArrayBuffer/number[]) or 'safetensorsBase64'");
551
+ }
552
+ const opts = {};
553
+ const topK = pNum(cfg, "topK", 0);
554
+ if (topK > 0)
555
+ opts.topK = topK;
556
+ // renameMap is the JSON-friendly form of ImportOptions.rename — used to
557
+ // translate a foreign SSM checkpoint's tensor names to our canonical names.
558
+ const renameMap = cfg.params?.renameMap;
559
+ if (renameMap && typeof renameMap === "object") {
560
+ opts.rename = (name) => (name in renameMap ? renameMap[name] : name);
561
+ }
562
+ const model = importEvermind(bytes, opts);
563
+ ctx.bag.model = model;
564
+ const params = model.parameters().reduce((n, p) => n + p.data.length, 0);
565
+ const c = model.config;
566
+ return `imported ${params} params (dModel ${c.dModel}, ${c.numLayers}L, ${c.numExperts}E) from ${bytes.length} bytes`;
567
+ }),
568
+ },
569
+ // ── Teaching Evermind to code — multi-teacher distillation + exec gates ───────
570
+ "distill-corpus": {
571
+ info: {
572
+ type: "distill-corpus",
573
+ layer: "BUILD",
574
+ label: "Distill from teacher panel",
575
+ description: "Build a training corpus from a panel of teacher LLMs (Opus + any other model — the gateway, OpenRouter, OpenAI, a local server, Anthropic). Per task, queries every teacher, keeps only completions that PASS the task's execution cases (best-of-N, strongest teacher first), tags each with its teacher, and ACCUMULATES so stacked steps add up. Feeds the corpus to train-model (params: teachers[{provider,baseUrl,apiKey,model}], tasks[{prompt,cases}], prompts, provider, baseUrl, apiKey, model, systemPrompt, maxTokens, temperature, pairs)",
576
+ },
577
+ factory: (cfg) => mkStep(cfg, "BUILD", "Distill corpus from teacher panel", async (ctx) => {
578
+ // Accumulate across steps so multiple teacher panels stack instead of
579
+ // overwriting a prior distill step's exemplars.
580
+ const pairs = Array.isArray(ctx.bag.distillPairs) ? ctx.bag.distillPairs : [];
581
+ const startCount = pairs.length;
582
+ let offlineKept = 0;
583
+ let verified = 0;
584
+ let dropped = 0;
585
+ // Offline exemplars (pre-captured) — a single trusted candidate each,
586
+ // execution-verified when the pair carries `cases`.
587
+ const offline = cfg.params?.pairs;
588
+ if (Array.isArray(offline)) {
589
+ for (const p of offline) {
590
+ const prompt = p?.prompt;
591
+ const completion = p?.completion;
592
+ if (typeof prompt !== "string" || typeof completion !== "string")
593
+ continue;
594
+ const cases = normalizeCases(p.cases);
595
+ const chosen = selectBestCandidate([{ teacher: "offline", completion: stripCodeFences(completion) }], cases);
596
+ if (!chosen) {
597
+ dropped++;
598
+ continue;
599
+ }
600
+ const pair = { prompt, completion: chosen.completion, teacher: "offline" };
601
+ if (cases.length)
602
+ pair.cases = cases;
603
+ pairs.push(pair);
604
+ offlineKept++;
605
+ }
606
+ }
607
+ // Live teacher panel — Opus and/or any other models, best-of-N + exec-filtered.
608
+ const teachers = makeTeachers(cfg);
609
+ const tasks = readTasks(cfg);
610
+ if (teachers.length > 0 && tasks.length > 0) {
611
+ const temperature = pNum(cfg, "temperature", 0.2);
612
+ // Dedupe identical (teacher, prompt) calls within this run so a repeated
613
+ // prompt is not billed twice.
614
+ const memo = new Map();
615
+ for (const task of tasks) {
616
+ const candidates = [];
617
+ for (const t of teachers) {
618
+ const key = `${t.label}${task.prompt}`;
619
+ let completion = memo.get(key);
620
+ if (completion === undefined) {
621
+ completion = stripCodeFences(await t.bridge.generate(task.prompt, { temperature }));
622
+ memo.set(key, completion);
623
+ }
624
+ if (completion.trim())
625
+ candidates.push({ teacher: t.label, completion });
626
+ }
627
+ const chosen = selectBestCandidate(candidates, task.cases ?? []);
628
+ if (!chosen) {
629
+ dropped++;
630
+ continue;
631
+ }
632
+ const pair = { prompt: task.prompt, completion: chosen.completion, teacher: chosen.teacher };
633
+ if (task.cases?.length)
634
+ pair.cases = task.cases;
635
+ pairs.push(pair);
636
+ verified++;
637
+ }
638
+ }
639
+ if (pairs.length === 0) {
640
+ throw new Error("distill-corpus produced no exemplars — set teachers (provider + apiKey + prompts/tasks; baseUrl for openai-compatible) or supply offline 'pairs'");
641
+ }
642
+ const corpus = pairs.map((p) => `${p.prompt}\n${p.completion}`).join("\n\n");
643
+ ctx.bag.corpus = corpus;
644
+ ctx.bag.distillPairs = pairs;
645
+ const added = pairs.length - startCount;
646
+ const parts = [];
647
+ if (offlineKept)
648
+ parts.push(`${offlineKept} offline`);
649
+ if (verified)
650
+ parts.push(`${verified} verified via ${teachers.length} teacher(s): ${teachers.map((t) => t.label).join(", ")}`);
651
+ if (dropped)
652
+ parts.push(`${dropped} dropped`);
653
+ return `distilled ${added} exemplar(s) (${pairs.length} total, ${corpus.length} chars)${parts.length ? ` — ${parts.join(", ")}` : ""}`;
654
+ }),
655
+ },
656
+ "code-parse-check": {
657
+ info: {
658
+ type: "code-parse-check",
659
+ layer: "BUILD",
660
+ label: "Code parse check",
661
+ description: "Validate generated output is structurally valid code — balanced delimiters/strings, optional JS parse (params: code, language, minScore)",
662
+ },
663
+ factory: (cfg) => mkStep(cfg, "BUILD", "Code structure / parse gate", async (ctx) => {
664
+ const code = pStr(cfg, "code", ctx.bag.sample ?? "");
665
+ if (!code.trim())
666
+ throw new Error("no code to check — run 'evaluate'/'generate-check' first or pass a 'code' param");
667
+ const language = pStr(cfg, "language", "js");
668
+ const analysis = analyzeCode(code, language);
669
+ ctx.bag.codeParse = analysis;
670
+ const minScore = pNum(cfg, "minScore", 0); // only enforced when configured
671
+ if (minScore > 0 && analysis.score < minScore) {
672
+ throw new Error(`code structure score ${analysis.score.toFixed(2)} < min ${minScore} (unbalanced delimiters/strings — output is not valid ${language})`);
673
+ }
674
+ return `structure ${(analysis.score * 100) | 0}%${language === "js" ? `, js-parse ${analysis.jsParse ? "ok" : "fail"}` : ""}`;
675
+ }),
676
+ },
677
+ "code-eval": {
678
+ info: {
679
+ type: "code-eval",
680
+ layer: "BUILD",
681
+ label: "Code eval (reward)",
682
+ description: "Execution-grounded reward: run the generated JS against test cases and score the pass-rate (params: code, cases, minPassRate)",
683
+ },
684
+ factory: (cfg) => mkStep(cfg, "BUILD", "Code execution reward", async (ctx) => {
685
+ const code = pStr(cfg, "code", ctx.bag.sample ?? "");
686
+ if (!code.trim())
687
+ throw new Error("no code to evaluate — run 'evaluate'/'generate-check' first or pass a 'code' param");
688
+ const rawCases = cfg.params?.cases;
689
+ const cases = Array.isArray(rawCases)
690
+ ? rawCases.filter((c) => typeof c?.call === "string")
691
+ : [];
692
+ const result = runJsCases(code, cases);
693
+ ctx.bag.codeEval = result;
694
+ const minPassRate = pNum(cfg, "minPassRate", 0); // only enforced when configured
695
+ if (minPassRate > 0 && result.passRate < minPassRate) {
696
+ throw new Error(`code-eval pass-rate ${(result.passRate * 100) | 0}% < min ${(minPassRate * 100) | 0}%${result.error ? ` (${result.error})` : ""}`);
697
+ }
698
+ return result.total > 0
699
+ ? `${result.passed}/${result.total} cases passed (${(result.passRate * 100) | 0}%)`
700
+ : "no cases — execution reward skipped";
701
+ }),
702
+ },
389
703
  };
390
704
  //# sourceMappingURL=steps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/workflow/steps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,aAAa,GAGd,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIvD,MAAM,SAAS,GACb,iEAAiE;IACjE,mDAAmD;IACnD,6DAA6D;IAC7D,2CAA2C,CAAC;AAE9C,IAAI,KAAK,GAAG,CAAC,CAAC;AAEd,kFAAkF;AAClF,SAAS,IAAI,CAAC,GAAuB,EAAE,GAAW,EAAE,GAAW;IAC7D,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACzC,CAAC;AACD,SAAS,IAAI,CAAC,GAAuB,EAAE,GAAW,EAAE,GAAW;IAC7D,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/D,CAAC;AACD,SAAS,KAAK,CAAC,GAAuB,EAAE,GAAW,EAAE,GAAY;IAC/D,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC1C,CAAC;AAED,8DAA8D;AAC9D,SAAS,SAAS,CAAC,IAAyB;IAC1C,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACxF,CAAC;AAED,SAAS,MAAM,CAAC,GAAuB,EAAE,KAAa,EAAE,YAAoB,EAAE,GAAqB;IACjG,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,YAAY,EAAE,GAAG,EAAE,CAAC;AACtE,CAAC;AAED,6EAA6E;AAC7E,SAAS,iBAAiB,CAAC,MAAc,EAAE,GAAiB;IAC1D,OAAO,MAAM;SACV,KAAK,CAAC,YAAY,CAAC;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SAChC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACtC,CAAC;AAOD,MAAM,CAAC,MAAM,aAAa,GAA+B;IACvD,+EAA+E;IAC/E,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,sCAAsC,EAAE;QACzH,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,2CAA2C,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3E,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7G,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YACvF,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC3E,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,KAAK,oBAAoB;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAChI,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;YACxB,OAAO,SAAS,GAAG,CAAC,SAAS,eAAe,GAAG,CAAC,MAAM,QAAQ,CAAC;QACjE,CAAC,CAAC;KACL;IACD,MAAM,EAAE;QACN,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;QACjH,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAClE,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,UAAmB,EAAE,CAAC,CAAC;YAC7G,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACnD,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC1F,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;YACvG,IAAI,CAAC,CAAC,OAAO,KAAK,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACvF,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;YAC9B,OAAO,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC,CAAC;KACL;IACD,GAAG,EAAE;QACH,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,wCAAwC,EAAE;QACvG,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/D,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3H,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5F,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAClJ,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;YAChC,OAAO,YAAY,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;QACnD,CAAC,CAAC;KACL;IACD,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,gCAAgC,EAAE;QACnG,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,mCAAmC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACnE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAgC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1F,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC3F,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACnE,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,OAAO,6BAA6B,CAAC;QACvC,CAAC,CAAC;KACL;IACD,aAAa,EAAE;QACb,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,mCAAmC,EAAE;QACtH,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,8CAA8C,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC9E,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAA+B,CAAC;YACtD,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,SAAqC,CAAC;YAChE,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,SAA0C,CAAC;YACrE,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,UAAwD,CAAC;YACpF,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAuD,CAAC;YAC9E,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACxI,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACxF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,MAAM,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YACjF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,4BAA4B;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAC1G,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC;KACL;IACD,aAAa,EAAE;QACb,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,iCAAiC,EAAE;QACpH,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,4CAA4C,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5E,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACjE,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1H,CAAC;YACD,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,iBAAiB,CAAC;QAC9C,CAAC,CAAC;KACL;IACD,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,6CAA6C,EAAE;QAC1H,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,iDAAiD,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACjF,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAA+B,CAAC;YACtD,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,SAAqC,CAAC;YAChE,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YAChG,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YACxI,MAAM,GAAG,GAAG,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAC/E,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YACtG,IAAI,KAAK,KAAK,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACrF,OAAO,YAAY,IAAI,CAAC,UAAU,wBAAwB,CAAC;QAC7D,CAAC,CAAC;KACL;IAED,gFAAgF;IAChF,iBAAiB,EAAE;QACjB,IAAI,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,gEAAgE,EAAE;QAC1J,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACjC,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;YACxB,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,OAAO,SAAS,GAAG,CAAC,SAAS,KAAK,SAAS,UAAU,CAAC;QACxD,CAAC,CAAC;KACL;IACD,aAAa,EAAE;QACb,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,sFAAsF,EAAE;QACxK,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7D,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAqC,CAAC;YAC1D,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAG,GAAG,CAAC,GAAG,CAAC,MAAiB,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACtF,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC;gBAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC;gBAC/B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;gBACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC;gBACrC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;aAC3B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnG,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,2EAA2E;YAC3E,iEAAiE;YACjE,GAAG,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC;YAClC,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO,WAAW,MAAM,gBAAgB,SAAS,CAAC,MAAM,eAAe,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,CAAC,CAAC;KACL;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,wDAAwD,EAAE;QACpI,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACnD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAA+B,CAAC;YACtD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAqC,CAAC;YAC1D,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAClF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5G,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC7E,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACrB,OAAO,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;QACzC,CAAC,CAAC;KACL;IACD,SAAS,EAAE;QACT,IAAI,EAAE;YACJ,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,WAAW;YAClB,WAAW,EACT,wJAAwJ;SAC3J;QACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAA+B,CAAC;YACtD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAqC,CAAC;YAC1D,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAClF,yEAAyE;YACzE,oEAAoE;YACpE,8DAA8D;YAC9D,MAAM,UAAU,GAAG,IAAI,CACrB,GAAG,EACH,YAAY,EACZ,6FAA6F,CAC9F,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,MAAM,GAAoB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;YAC5F,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC;YAE3B,yEAAyE;YACzE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;YACpD,IAAI,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,GAAG,aAAa,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,aAAa,2DAA2D,CACnI,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,OAAO,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CACb,kBAAkB,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACrG,CAAC;YACJ,CAAC;YACD,OAAO,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,MAAM,MAAM,CAAC;QACpO,CAAC,CAAC;KACL;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,6GAA6G,EAAE;QACvM,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACzD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAqC,CAAC;YAC1D,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAG,GAAG,CAAC,GAAG,CAAC,MAAiB,IAAI,EAAE,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAChE,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnE,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;YAE9D,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnJ,GAAG,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC;YAEjC,IAAI,KAAK,GAAG,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,YAAY,QAAQ,EAAE,CAAC,CAAC;YACxF,IAAI,SAAS,CAAC,MAAM,GAAG,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,CAAC,MAAM,MAAM,YAAY,wBAAwB,CAAC,CAAC;YACjJ,IAAI,cAAc,GAAG,iBAAiB;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,2BAA2B,CAAC,iBAAiB,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzK,OAAO,GAAG,KAAK,WAAW,SAAS,CAAC,MAAM,cAAc,OAAO,CAAC,SAAS,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QACvH,CAAC,CAAC;KACL;IACD,WAAW,EAAE;QACX,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,+EAA+E,EAAE;QACjK,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACzD,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,eAAuC,CAAC;YAChE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACvG,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,UAAU,IAAI,uBAAuB,CAAC,CAAC;YAChJ,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,2CAA2C;YACpF,IAAI,IAAI,IAAI,KAAK,GAAG,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC;YACxJ,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;YACzB,OAAO,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QACzF,CAAC,CAAC;KACL;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,+FAA+F,EAAE;QACzL,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,kCAAkC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACrE,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAA+B,CAAC;YACtD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAqC,CAAC;YAC1D,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAClF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACrC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;YAClD,iEAAiE;YACjE,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;YACjH,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YACjF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7G,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,OAAO,sBAAsB,IAAI,aAAa,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;QACvE,CAAC,CAAC;KACL;IACD,SAAS,EAAE;QACT,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,4FAA4F,EAAE;QAClL,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAClE,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAA+B,CAAC;YACtD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAqC,CAAC;YAC1D,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAClF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YACjF,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC9C,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC;gBACtC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,4BAA4B,CAAC,EAAE;aAC9E,CAAC,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1F,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YACvF,IAAI,KAAK,KAAK,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACvG,GAAG,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC9B,GAAG,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACnG,OAAO,YAAY,IAAI,CAAC,UAAU,0CAA0C,CAAC;QAC/E,CAAC,CAAC;KACL;IACD,OAAO,EAAE;QACP,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,qFAAqF,EAAE;QAC/J,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAA+B,CAAC;YACtD,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC1E,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC9C,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC;gBACtC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,CAAC,EAAE;aACxE,CAAC,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC9B,mEAAmE;YACnE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAqC,CAAC;YAC1D,IAAI,GAAG,EAAE,CAAC;gBACR,GAAG,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACrG,CAAC;YACD,OAAO,YAAY,IAAI,CAAC,UAAU,SAAS,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzE,CAAC,CAAC;KACL;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,QAAQ;YACf,WAAW,EACT,mIAAmI;SACtI;QACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAA+B,CAAC;YACtD,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC1E,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAqC,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAiB,CAAC;YAClE,IAAI,MAAM,KAAK,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,MAAM,GAAG,cAAc,CAC3B,KAAK,EACL,MAAM,EACN;gBACE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC;gBACpC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC;gBAC/B,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,+BAA+B,CAAC;gBACtE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC;aAChC,EACD,GAAG,CACJ,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,iFAAiF;YACjF,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;YACtF,OAAO,YAAY,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,aAAa,KAAK,WAAW,MAAM,CAAC,UAAU,SAAS,CAAC;QAC3G,CAAC,CAAC;KACL;CACF,CAAC"}
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/workflow/steps.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,21 @@ export declare const AGENTIC_SEVEN_LAYER: WorkflowConfig;
17
17
  * regenerates identical output). Pass your own text via the `corpus` param.
18
18
  */
19
19
  export declare const TRAIN_LLM: WorkflowConfig;
20
+ /**
21
+ * Teach Evermind to Code — the foundation pipeline for the coding skill.
22
+ *
23
+ * Distil a PANEL of teacher coders — Opus as the authority plus any cheaper
24
+ * models (gateway/OpenRouter/local) — into an execution-verified (prompt → code)
25
+ * corpus (best-of-N: only completions that pass their tests survive), learn a
26
+ * code tokenizer (train fresh by default; set `hfTokenizerUrl` on the tokenizer
27
+ * step to import merges from a proven code tokenizer instead), train the model,
28
+ * and gate it with the standard convergence/benchmark checks PLUS code-specific
29
+ * ones: structural/parse validity and an execution-grounded test reward.
30
+ *
31
+ * The code gates ship report-only (no thresholds) so the template completes and
32
+ * surfaces metrics; a real run sets `minScore` / `minPassRate` to enforce them.
33
+ */
34
+ export declare const TEACH_CODE: WorkflowConfig;
20
35
  export declare const WORKFLOW_TEMPLATES: WorkflowConfig[];
21
36
  export declare function getTemplate(id: string): WorkflowConfig | undefined;
22
37
  /** Deep-clone a template so a user can edit it as a custom workflow. */
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/workflow/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,EAAE,cAcjC,CAAC;AAqBF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,EAAE,cAevB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAAc,EAAqC,CAAC;AAErF,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAElE;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,cAAc,GAAG,SAAS,CAU7G"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/workflow/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,EAAE,cAcjC,CAAC;AAqBF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,EAAE,cAevB,CAAC;AAyBF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,EAAE,cAmBxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAAc,EAAiD,CAAC;AAEjG,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAElE;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,cAAc,GAAG,SAAS,CAU7G"}
@@ -62,7 +62,62 @@ export const TRAIN_LLM = {
62
62
  { id: "export", type: "export", params: { format: "huggingface", name: "my-llm", version: "1.0.0" } },
63
63
  ],
64
64
  };
65
- export const WORKFLOW_TEMPLATES = [AGENTIC_SEVEN_LAYER, TRAIN_LLM];
65
+ /**
66
+ * Out-of-the-box (prompt → code) exemplars so "Teach Evermind to Code" runs with
67
+ * no network. Each carries execution `cases` so the same best-of-N / exec-filter
68
+ * path a live run uses is exercised offline (an exemplar whose code fails its
69
+ * cases is dropped, never trained on).
70
+ *
71
+ * A real run instead sets a teacher PANEL on the `distill-corpus` step —
72
+ * `teachers: [{provider:"anthropic", model:"claude-opus-4-8", apiKey},
73
+ * {provider:"openai", baseUrl:<gateway>, model:<coder>, apiKey}]`
74
+ * (strongest first) — plus `tasks: [{prompt, cases}]`. Per task every teacher is
75
+ * queried, only completions that PASS the cases survive, and the strongest
76
+ * correct answer is kept: Opus is the authority, cheaper models contribute only
77
+ * where they are verifiably right.
78
+ */
79
+ const CODE_DISTILL_PAIRS = [
80
+ { prompt: "Write a JS function add(a, b) that returns their sum.", completion: "function add(a, b) {\n return a + b;\n}", cases: [{ call: "add(2, 3)", expect: 5 }] },
81
+ { prompt: "Write a JS function isEven(n) that returns true when n is even.", completion: "function isEven(n) {\n return n % 2 === 0;\n}", cases: [{ call: "isEven(4)", expect: true }, { call: "isEven(7)", expect: false }] },
82
+ { prompt: "Write a JS function max(a, b) returning the larger value.", completion: "function max(a, b) {\n return a > b ? a : b;\n}", cases: [{ call: "max(2, 9)", expect: 9 }] },
83
+ { prompt: "Write a JS function reverse(s) that reverses a string.", completion: "function reverse(s) {\n return s.split('').reverse().join('');\n}", cases: [{ call: "reverse('abc')", expect: "cba" }] },
84
+ { prompt: "Write a JS function clamp(x, lo, hi) bounding x to [lo, hi].", completion: "function clamp(x, lo, hi) {\n return Math.min(hi, Math.max(lo, x));\n}", cases: [{ call: "clamp(12, 0, 10)", expect: 10 }] },
85
+ { prompt: "Write a JS function sum(xs) that adds an array of numbers.", completion: "function sum(xs) {\n return xs.reduce((a, b) => a + b, 0);\n}", cases: [{ call: "sum([1, 2, 3])", expect: 6 }] },
86
+ ];
87
+ /**
88
+ * Teach Evermind to Code — the foundation pipeline for the coding skill.
89
+ *
90
+ * Distil a PANEL of teacher coders — Opus as the authority plus any cheaper
91
+ * models (gateway/OpenRouter/local) — into an execution-verified (prompt → code)
92
+ * corpus (best-of-N: only completions that pass their tests survive), learn a
93
+ * code tokenizer (train fresh by default; set `hfTokenizerUrl` on the tokenizer
94
+ * step to import merges from a proven code tokenizer instead), train the model,
95
+ * and gate it with the standard convergence/benchmark checks PLUS code-specific
96
+ * ones: structural/parse validity and an execution-grounded test reward.
97
+ *
98
+ * The code gates ship report-only (no thresholds) so the template completes and
99
+ * surfaces metrics; a real run sets `minScore` / `minPassRate` to enforce them.
100
+ */
101
+ export const TEACH_CODE = {
102
+ id: "teach-code",
103
+ name: "Teach Evermind to Code",
104
+ description: "Distil a teacher coder into a (prompt → code) corpus, train an EvermindLM on it, and validate with code-aware gates: structural parse + an execution test reward. Tokenizer supports both train-fresh and import-merges.",
105
+ steps: [
106
+ { id: "distill", type: "distill-corpus", params: { pairs: CODE_DISTILL_PAIRS } },
107
+ { id: "tok", type: "train-tokenizer", params: { numMerges: 200 } },
108
+ { id: "data", type: "dataset-quality", params: { minSequences: 3, minWords: 20 } },
109
+ { id: "model", type: "train-model", params: { epochs: 60, dModel: 24, numLayers: 2, hiddenDim: 32 } },
110
+ { id: "converge", type: "convergence" },
111
+ { id: "eval", type: "evaluate", params: { prompt: "function" } },
112
+ { id: "gen", type: "generate-check", params: { prompt: "function" } },
113
+ { id: "parse", type: "code-parse-check", params: { language: "js" } },
114
+ { id: "reward", type: "code-eval", params: { cases: [{ call: "add(2, 3)", expect: 5 }] } },
115
+ { id: "bench", type: "benchmark" },
116
+ { id: "pkg", type: "roundtrip", params: { name: "evermind-coder" } },
117
+ { id: "export", type: "export", params: { format: "huggingface", name: "evermind-coder", version: "1.0.0" } },
118
+ ],
119
+ };
120
+ export const WORKFLOW_TEMPLATES = [AGENTIC_SEVEN_LAYER, TRAIN_LLM, TEACH_CODE];
66
121
  export function getTemplate(id) {
67
122
  return WORKFLOW_TEMPLATES.find((t) => t.id === id);
68
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/workflow/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/workflow/templates.ts"],"names":[],"mappings":"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"}