@coreyuan/vector-mind 1.0.4 → 1.0.8

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.
package/README.md CHANGED
@@ -17,7 +17,7 @@ VectorMind 通过本地文件监听 + SQLite 关系记忆,把“需求 → 改
17
17
  - **符号索引(symbols)**:实时维护类/函数/类型等符号表,用于快速 query 定位定义位置。
18
18
  - **项目总结 & 笔记(memory_items)**:把“项目总结/关键决策/约束/待办”等上下文以结构化条目持久化到本地。
19
19
  - **代码片段 & 文档分块索引(memory_items)**:监听文件变更,把代码/文档切成可检索的 chunk 存入本地。
20
- - **语义检索(embeddings + semantic_search)**:使用本地 embedding 模型把上述内容向量化,支持跨需求/意图/笔记/代码/文档的语义召回。
20
+ - **上下文检索(semantic_search)**:默认使用本地 SQLite FTS 做召回(无需模型);可选开启 embeddings,用向量相似度增强语义召回。
21
21
  - **会话恢复(brain dump)**:新会话开始时一键拉取最近需求与对应的改动意图,AI 直接接着做。
22
22
 
23
23
  ## 工作流(强烈推荐)
@@ -33,6 +33,9 @@ VectorMind 通过本地文件监听 + SQLite 关系记忆,把“需求 → 改
33
33
 
34
34
  ## MCP Tools
35
35
 
36
+ > 提示:所有 tools 都支持可选参数 `project_root?: string`。当你的 MCP Client 无法提供正确的 workspace root(例如 Codex VS Code 插件 cwd/roots 不可靠)时,**务必显式传入**。
37
+ > `project_root` 既可以是目录,也可以是某个文件路径/`file://` URI(服务端会向上查找 `.git/`、`package.json`、`pyproject.toml` 等标记来推断项目根目录)。
38
+
36
39
  ### `start_requirement`
37
40
  - 入参:`{ title: string, background?: string }`
38
41
  - 用途:创建并激活一个需求(后续改动意图会自动关联到最新 `active` 需求)
@@ -48,7 +51,7 @@ VectorMind 通过本地文件监听 + SQLite 关系记忆,把“需求 → 改
48
51
 
49
52
  ### `bootstrap_context`
50
53
  - 入参:`{ query?: string, top_k?: number, kinds?: string[], include_content?: boolean }`
51
- - 用途:返回 brain dump + pending changes;如果传入 `query`,会额外返回本地向量库的语义检索结果(推荐新会话开始就用它)
54
+ - 用途:返回 brain dump + pending changes;如果传入 `query`,会额外返回本地记忆库的检索结果(推荐新会话开始就用它)
52
55
 
53
56
  ### `get_pending_changes`
54
57
  - 入参:`{}`
@@ -68,19 +71,21 @@ VectorMind 通过本地文件监听 + SQLite 关系记忆,把“需求 → 改
68
71
 
69
72
  ### `semantic_search`
70
73
  - 入参:`{ query: string, top_k?: number, kinds?: string[], include_content?: boolean }`
71
- - 用途:对本地向量库进行语义检索(覆盖需求/意图/笔记/项目总结/代码 chunk/文档 chunk
74
+ - 用途:对本地记忆库进行检索(覆盖需求/意图/笔记/项目总结/代码 chunk/文档 chunk)。如启用 embeddings,会优先走向量相似度;否则使用本地 FTS/LIKE。
72
75
 
73
76
  ## 本地数据与监听
74
77
 
75
78
  - 数据库:默认使用 MCP `roots/list` 提供的 workspace root(否则回退到 `process.cwd()`,也可用 `VECTORMIND_ROOT` 强制指定)创建 `.vectormind/vectormind.db`(默认已在 `.gitignore` 中忽略整个 `.vectormind/` 目录)
76
79
  - 监听范围:默认监听 workspace root(同上)下文件变动(忽略 `.git/`、`node_modules/`、`dist/`、数据库文件)
77
80
  - 符号抽取:目前为轻量正则抽取(非 AST 解析),支持常见语言如 TS/JS、Python、Go、Rust、C/C++
78
- - 语义向量:默认使用本地 embedding 模型(`@xenova/transformers`),首次运行可能需要下载模型权重(无云端 API 调用,向量与数据都保存在本地)
81
+ - 检索:默认使用本地 SQLite FTS(无需模型);当你设置 `VECTORMIND_EMBEDDINGS=on` 才会启用向量化(`@xenova/transformers`),并优先用向量相似度做语义召回(首次启用可能下载模型权重,向量与数据都在本地)
82
+
83
+ > 注意:当 `root_source` 为 `fallback`(例如被 VS Code/Codex 在 `C:\Windows\System32` 启动,且 client 不支持 `roots/list`)时,为避免错误目录被大量扫描,VectorMind 会 **禁用文件监听/索引**(`watcher_enabled=false`)。此时请使用 `project_root` 绑定到正确项目。
79
84
 
80
- ## 向量化配置(可选)
85
+ ## 检索/向量化配置(可选)
81
86
 
82
87
  - `VECTORMIND_ROOT=...`:强制指定“项目根目录”(当你的 MCP Client 无法提供 workspace roots 或启动目录不对时使用)
83
- - `VECTORMIND_EMBEDDINGS=off`:关闭向量化(不会启动本地 embedding 模型;`semantic_search` 不可用;也不会为需求/意图/笔记/总结/代码&文档 chunk 生成向量)
88
+ - `VECTORMIND_EMBEDDINGS=on|off`:是否启用向量化(默认 `off`;开启后会启动本地 embedding 模型,`semantic_search` 优先走向量相似度;关闭则走本地 FTS/LIKE,不会生成向量/启动模型)
84
89
  - `VECTORMIND_EMBED_FILES=all|changed|none`:控制是否向量化“代码/文档 chunk”(默认 `all`;`none` 只影响 chunk,仍会向量化需求/意图/笔记/总结;`changed` 仅在 change/manual 时向量化 chunk)
85
90
  - `VECTORMIND_EMBED_MODEL=...`:指定 embedding 模型(默认 `Xenova/all-MiniLM-L6-v2`)
86
91
  - `VECTORMIND_EMBED_CACHE_DIR=...`:指定模型缓存目录
@@ -157,8 +162,12 @@ npx -y @coreyuan/vector-mind
157
162
 
158
163
  ### Codex(`config.toml`):不要固定 MCP Server 的 `cwd`(让它跟随项目)
159
164
 
160
- Codex 目前不会通过 MCP `roots/list` 提供 workspace roots;VectorMind 会用 `VECTORMIND_ROOT`(优先)或 `process.cwd()` 来决定项目根目录。
161
- 因此要实现“每个项目一个 `<project>/.vectormind/`”,请让 Codex 在你的项目目录启动(或用 `codex -C <project>` 指定工作目录),并 **不要** 在 MCP server 配置里把 `cwd` 固定到某个全局目录。
165
+ Codex 目前不会通过 MCP `roots/list` 提供 workspace roots;因此要实现“每个项目一个 `<project>/.vectormind/`”,推荐两种方式:
166
+
167
+ 1) **让 Codex 在你的项目目录启动**(或用 `codex -C <project>` 指定工作目录),然后 VectorMind 就会用 `process.cwd()` 作为 `project_root`。
168
+ 2) **在每次工具调用里显式传 `project_root`**(当你的 Codex/VS Code 启动 MCP server 的工作目录不等于项目根目录时尤其有用)。
169
+
170
+ > `project_root` 可以作为 VectorMind 所有 tools 的可选参数;一旦提供,VectorMind 会切换到该项目并在 `<project_root>/.vectormind/` 下读写数据库与索引。
162
171
 
163
172
  ```toml
164
173
  [mcp_servers.vector-mind]
@@ -172,21 +181,8 @@ args = ["-y", "@coreyuan/vector-mind"]
172
181
  - `cwd = "..."`(会把 VectorMind 锁死到一个项目)
173
182
  - `env = { VECTORMIND_ROOT = "..." }`(同样会锁死到一个项目)
174
183
 
175
- 你贴出来的这种配置会导致:无论你在多少个新项目里使用 Codex,VectorMind 都只会在这个写死目录里生成/更新 `.vectormind/`:
176
-
177
- ```toml
178
- [mcp_servers.vector-mind]
179
- type = "stdio"
180
- command = "npx"
181
- args = ["-y", "@coreyuan/vector-mind"]
182
- cwd = "H:\\\\2024\\\\SJiuTool\\\\SJiuTool"
183
- env = { VECTORMIND_ROOT = "H:\\\\2024\\\\SJiuTool\\\\SJiuTool" }
184
- ```
185
-
186
184
  > 如果你确实要固定到单一项目(少见):那就可以设置 `cwd` 或 `VECTORMIND_ROOT`;但这会破坏“多项目隔离”。
187
185
 
188
- **注意**:VectorMind 的 `project_root` 是在 MCP server 启动时确定的;如果你在同一个 Codex 进程里切换到另一个项目,需要重启 Codex(或重启编辑器)让 MCP server 重新拉起,才能绑定到新项目目录。
189
-
190
186
  配置完成后,客户端会在初始化阶段拿到该服务器的 tools + instructions;AI 就能“知道它存在”,并在需要时调用,而不是盲猜。
191
187
 
192
188
  ## Skills(可选:让用户“无感”自动调用)
@@ -195,8 +191,10 @@ env = { VECTORMIND_ROOT = "H:\\\\2024\\\\SJiuTool\\\\SJiuTool" }
195
191
 
196
192
  ### Codex Skills(OpenAI Codex)
197
193
 
198
- - 安装:把 `skills/vector-mind-autopilot` 复制到 `~/.codex/skills/vector-mind-autopilot`(Windows: `C:\Users\<you>\.codex\skills\vector-mind-autopilot`),或直接使用打包文件 `skill-dist/vector-mind-autopilot.skill`
199
- - 使用:重启后正常聊天即可;如未触发,可在对话里提一次 `$vector-mind-autopilot`
194
+ - 安装:把 `skills/vector-mind-autopilot` 复制到 `~/.codex/skills/vector-mind-autopilot`(Windows: `C:\Users\<you>\.codex\skills\vector-mind-autopilot`)
195
+ - `skill-dist/vector-mind-autopilot.skill` 只是一个 zip 包;Codex 不会“放进去就识别”,需要解压到上面的目录结构里才会生效。
196
+ - 使用:**重启 Codex(或重启 VS Code)并开启一个新会话/新 Agent** 后正常聊天即可;如未触发,可在对话里提一次 `$vector-mind-autopilot`
197
+ - 验证是否加载:新会话开头的 `## Skills` 列表里应包含 `vector-mind-autopilot`;如果你一直在同一个会话里对话,更新 skill 不会热加载。
200
198
 
201
199
  ### Claude Skills(Claude Code / myclaude)
202
200
 
@@ -231,7 +229,7 @@ AI:在对话里写一段阶段总结后,调用 `upsert_project_summary("..."
231
229
  怎么确认它真的调用了:
232
230
 
233
231
  对话里会出现一次 tool 调用记录/卡片(不同客户端 UI 不一样)
234
- 或者你让它把 bootstrap_context 返回的 JSON 原样输出(里面会有 ok: true;新版还会带 project_root/db_path 用来确认落库位置)
232
+ 或者你让它把 bootstrap_context 返回的 JSON 原样输出(里面会有 ok: true;新版还会带 project_root/root_source/watcher_enabled/db_path 用来确认落库与监听是否在正确项目)
235
233
 
236
234
  如果你希望“每次都自动调用”,就在你的固定/system 指令里加一句:
237
235
 
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
12
12
  import { toJsonSchemaCompat } from "@modelcontextprotocol/sdk/server/zod-json-schema-compat.js";
13
13
  import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
14
14
  const SERVER_NAME = "vector-mind";
15
- const SERVER_VERSION = "1.0.4";
15
+ const SERVER_VERSION = "1.0.8";
16
16
  const rootFromEnv = process.env.VECTORMIND_ROOT?.trim() ?? "";
17
17
  const ROOTS_LIST_TIMEOUT_MS = (() => {
18
18
  const raw = process.env.VECTORMIND_ROOTS_TIMEOUT_MS?.trim();
@@ -23,6 +23,15 @@ const ROOTS_LIST_TIMEOUT_MS = (() => {
23
23
  return 750;
24
24
  return n;
25
25
  })();
26
+ const BOOTSTRAP_SEMANTIC_TIMEOUT_MS = (() => {
27
+ const raw = process.env.VECTORMIND_SEMANTIC_TIMEOUT_MS?.trim();
28
+ if (!raw)
29
+ return 2500;
30
+ const n = Number.parseInt(raw, 10);
31
+ if (!Number.isFinite(n) || n <= 0)
32
+ return 2500;
33
+ return n;
34
+ })();
26
35
  let initialized = false;
27
36
  let rootSource = "cwd";
28
37
  let projectRoot = "";
@@ -52,10 +61,41 @@ let deleteSymbolsForFileStmt;
52
61
  let upsertSymbolStmt;
53
62
  let searchSymbolsStmt;
54
63
  let indexFileSymbolsTx = null;
64
+ const FTS_TABLE_NAME = "memory_items_fts";
65
+ let ftsAvailable = false;
55
66
  function isProbablyVscodeInstallDir(dir) {
56
67
  const lower = dir.replace(/\\/g, "/").toLowerCase();
57
68
  return lower.includes("/microsoft vs code");
58
69
  }
70
+ function isProbablySystemDir(dir) {
71
+ if (process.platform !== "win32")
72
+ return false;
73
+ const candidate = path.resolve(dir);
74
+ const sysRootRaw = process.env.SystemRoot?.trim();
75
+ const sysRoot = sysRootRaw ? path.resolve(sysRootRaw) : null;
76
+ if (sysRoot) {
77
+ const rel = path.relative(sysRoot, candidate);
78
+ if (!!rel && !rel.startsWith("..") && !path.isAbsolute(rel))
79
+ return true;
80
+ }
81
+ const windowsFallback = path.resolve("C:\\Windows");
82
+ {
83
+ const rel = path.relative(windowsFallback, candidate);
84
+ if (!!rel && !rel.startsWith("..") && !path.isAbsolute(rel))
85
+ return true;
86
+ }
87
+ const programFiles = [
88
+ process.env["ProgramFiles"],
89
+ process.env["ProgramFiles(x86)"],
90
+ process.env["ProgramW6432"],
91
+ ].filter(Boolean);
92
+ for (const pf of programFiles) {
93
+ const rel = path.relative(path.resolve(pf), candidate);
94
+ if (!!rel && !rel.startsWith("..") && !path.isAbsolute(rel))
95
+ return true;
96
+ }
97
+ return false;
98
+ }
59
99
  function getVsCodeUserDirCandidate() {
60
100
  const platform = process.platform;
61
101
  if (platform === "win32") {
@@ -91,6 +131,98 @@ function parseFileUriToPath(uri) {
91
131
  return null;
92
132
  }
93
133
  }
134
+ function isProjectRootMarkerPresent(dir) {
135
+ const markers = [
136
+ ".git",
137
+ ".hg",
138
+ ".svn",
139
+ "package.json",
140
+ "pnpm-workspace.yaml",
141
+ "pnpm-lock.yaml",
142
+ "yarn.lock",
143
+ "package-lock.json",
144
+ "tsconfig.json",
145
+ "pyproject.toml",
146
+ "requirements.txt",
147
+ "Pipfile",
148
+ "poetry.lock",
149
+ "go.mod",
150
+ "Cargo.toml",
151
+ "Cargo.lock",
152
+ "pom.xml",
153
+ "build.gradle",
154
+ "build.gradle.kts",
155
+ ];
156
+ for (const m of markers) {
157
+ try {
158
+ if (fs.existsSync(path.join(dir, m)))
159
+ return true;
160
+ }
161
+ catch {
162
+ // ignore
163
+ }
164
+ }
165
+ // Visual Studio solutions: check for any *.sln at this level.
166
+ try {
167
+ for (const ent of fs.readdirSync(dir, { withFileTypes: true })) {
168
+ if (ent.isFile() && ent.name.toLowerCase().endsWith(".sln"))
169
+ return true;
170
+ }
171
+ }
172
+ catch {
173
+ // ignore
174
+ }
175
+ return false;
176
+ }
177
+ function findNearestProjectRoot(startDir) {
178
+ let dir = path.resolve(startDir);
179
+ for (let i = 0; i < 50; i++) {
180
+ if (isProjectRootMarkerPresent(dir))
181
+ return dir;
182
+ const parent = path.dirname(dir);
183
+ if (parent === dir)
184
+ break;
185
+ dir = parent;
186
+ }
187
+ return path.resolve(startDir);
188
+ }
189
+ function resolveRootFromToolArgOrThrow(raw) {
190
+ if (typeof raw !== "string")
191
+ return null;
192
+ const trimmed = raw.trim();
193
+ if (!trimmed)
194
+ return null;
195
+ const uriPath = trimmed.startsWith("file:") ? parseFileUriToPath(trimmed) : null;
196
+ const abs = path.resolve(uriPath ?? trimmed);
197
+ const parent = path.dirname(abs);
198
+ let startDir;
199
+ try {
200
+ const st = fs.statSync(abs);
201
+ startDir = st.isDirectory() ? abs : parent;
202
+ }
203
+ catch {
204
+ // If the user provided a file path that doesn't exist yet, accept its parent directory.
205
+ try {
206
+ const st2 = fs.statSync(parent);
207
+ if (!st2.isDirectory())
208
+ throw new Error("parent is not a directory");
209
+ startDir = parent;
210
+ }
211
+ catch (err) {
212
+ throw new Error(`[VectorMind] Invalid project_root: ${abs}. (${String(err)})`);
213
+ }
214
+ }
215
+ const root = findNearestProjectRoot(startDir);
216
+ try {
217
+ const st = fs.statSync(root);
218
+ if (!st.isDirectory())
219
+ throw new Error("not a directory");
220
+ }
221
+ catch (err) {
222
+ throw new Error(`[VectorMind] Invalid project_root: ${root}. (${String(err)})`);
223
+ }
224
+ return { root, source: "tool_arg" };
225
+ }
94
226
  function resolveRootFromEnvOrThrow() {
95
227
  if (!rootFromEnv)
96
228
  return null;
@@ -483,43 +615,42 @@ function removeFileIndexes(absPath) {
483
615
  console.error("[vectormind] failed to remove file chunks:", filePath, err);
484
616
  }
485
617
  }
486
- const StartRequirementArgsSchema = z.object({
618
+ const ProjectRootArgSchema = z.object({
619
+ project_root: z.string().optional(),
620
+ });
621
+ const StartRequirementArgsSchema = ProjectRootArgSchema.merge(z.object({
487
622
  title: z.string().min(1),
488
623
  background: z.string().optional().default(""),
489
- });
490
- const SyncChangeIntentArgsSchema = z
491
- .object({
624
+ }));
625
+ const SyncChangeIntentArgsSchema = ProjectRootArgSchema.merge(z.object({
492
626
  intent: z.string().min(1),
493
627
  files: z.array(z.string().min(1)).optional(),
494
628
  affected_files: z.array(z.string().min(1)).optional(),
495
- })
496
- .transform((v) => ({
497
- intent: v.intent,
498
- files: (v.files ?? v.affected_files ?? []).filter(Boolean),
499
629
  }));
500
- const QueryCodebaseArgsSchema = z.object({
630
+ const QueryCodebaseArgsSchema = ProjectRootArgSchema.merge(z.object({
501
631
  query: z.string().min(1),
502
- });
503
- const UpsertProjectSummaryArgsSchema = z.object({
632
+ }));
633
+ const UpsertProjectSummaryArgsSchema = ProjectRootArgSchema.merge(z.object({
504
634
  summary: z.string().min(1),
505
- });
506
- const AddNoteArgsSchema = z.object({
635
+ }));
636
+ const AddNoteArgsSchema = ProjectRootArgSchema.merge(z.object({
507
637
  title: z.string().optional().default(""),
508
638
  content: z.string().min(1),
509
639
  tags: z.array(z.string().min(1)).optional(),
510
- });
511
- const BootstrapContextArgsSchema = z.object({
640
+ }));
641
+ const BootstrapContextArgsSchema = ProjectRootArgSchema.merge(z.object({
512
642
  query: z.string().optional(),
513
643
  top_k: z.number().int().min(1).max(50).optional().default(10),
514
644
  kinds: z.array(z.string().min(1)).optional(),
515
645
  include_content: z.boolean().optional().default(false),
516
- });
517
- const SemanticSearchArgsSchema = z.object({
646
+ }));
647
+ const SemanticSearchArgsSchema = ProjectRootArgSchema.merge(z.object({
518
648
  query: z.string().min(1),
519
649
  top_k: z.number().int().min(1).max(50).optional().default(10),
520
650
  kinds: z.array(z.string().min(1)).optional(),
521
651
  include_content: z.boolean().optional().default(false),
522
- });
652
+ }));
653
+ const ProjectRootOnlyArgsSchema = ProjectRootArgSchema;
523
654
  function escapeLike(pattern) {
524
655
  return pattern.replace(/[\\\\%_]/g, (m) => `\\${m}`);
525
656
  }
@@ -536,7 +667,7 @@ function safeJson(value) {
536
667
  return null;
537
668
  }
538
669
  }
539
- const embeddingsEnabled = !["0", "false", "off", "disabled"].includes((process.env.VECTORMIND_EMBEDDINGS ?? "on").toLowerCase());
670
+ const embeddingsEnabled = !["0", "false", "off", "disabled"].includes((process.env.VECTORMIND_EMBEDDINGS ?? "off").toLowerCase());
540
671
  const embedFilesMode = (process.env.VECTORMIND_EMBED_FILES ?? "all").toLowerCase();
541
672
  const embedModelName = process.env.VECTORMIND_EMBED_MODEL ?? "Xenova/all-MiniLM-L6-v2";
542
673
  const embedCacheDir = process.env.VECTORMIND_EMBED_CACHE_DIR ??
@@ -665,11 +796,38 @@ function dotProduct(a, b) {
665
796
  s += a[i] * b[i];
666
797
  return s;
667
798
  }
799
+ function makePreviewText(content) {
800
+ const max = 400;
801
+ if (content.length <= max)
802
+ return content;
803
+ return `${content.slice(0, max)}...`;
804
+ }
805
+ function toSemanticMatch(row, score, includeContent) {
806
+ const preview = makePreviewText(row.content);
807
+ return {
808
+ score,
809
+ item: {
810
+ id: row.id,
811
+ kind: row.kind,
812
+ title: row.title,
813
+ file_path: row.file_path,
814
+ start_line: row.start_line,
815
+ end_line: row.end_line,
816
+ req_id: row.req_id,
817
+ preview,
818
+ content: includeContent ? row.content : undefined,
819
+ metadata_json: row.metadata_json,
820
+ updated_at: row.updated_at,
821
+ },
822
+ };
823
+ }
668
824
  async function semanticSearchInternal(opts) {
669
825
  if (!embeddingsEnabled) {
670
826
  throw new Error("Embeddings are disabled");
671
827
  }
672
828
  const q = opts.query.trim();
829
+ if (!q)
830
+ return { query: "", top_k: opts.topK, mode: "embeddings", matches: [] };
673
831
  const embedder = await getEmbedder();
674
832
  const qVec = await embedder(q);
675
833
  let candidateRows = [];
@@ -710,35 +868,172 @@ async function semanticSearchInternal(opts) {
710
868
  const item = getMemoryItemByIdStmt.get(t.memory_id);
711
869
  if (!item)
712
870
  return null;
713
- const preview = item.content.length > 400 ? `${item.content.slice(0, 400)}…` : item.content;
714
- return {
715
- score: t.score,
716
- item: {
717
- id: item.id,
718
- kind: item.kind,
719
- title: item.title,
720
- file_path: item.file_path,
721
- start_line: item.start_line,
722
- end_line: item.end_line,
723
- req_id: item.req_id,
724
- preview,
725
- content: opts.includeContent ? item.content : undefined,
726
- metadata_json: item.metadata_json,
727
- updated_at: item.updated_at,
728
- },
729
- };
871
+ return toSemanticMatch(item, t.score, opts.includeContent);
730
872
  })
731
873
  .filter(Boolean);
732
- return { query: q, top_k: opts.topK, matches };
874
+ return { query: q, top_k: opts.topK, mode: "embeddings", matches };
875
+ }
876
+ function buildFtsMatchQuery(raw) {
877
+ const terms = raw
878
+ .trim()
879
+ .split(/\s+/)
880
+ .map((t) => t.trim())
881
+ .filter(Boolean)
882
+ .slice(0, 20);
883
+ if (!terms.length)
884
+ return '""';
885
+ return terms.map((t) => `"${t.replaceAll('"', '""')}"`).join(" AND ");
886
+ }
887
+ function ftsSearchInternal(opts) {
888
+ if (!ftsAvailable) {
889
+ throw new Error("FTS is unavailable");
890
+ }
891
+ const q = opts.query.trim();
892
+ if (!q)
893
+ return { query: "", top_k: opts.topK, mode: "fts", matches: [] };
894
+ const matchQuery = buildFtsMatchQuery(q);
895
+ const rows = (() => {
896
+ if (opts.kinds?.length) {
897
+ const placeholders = opts.kinds.map(() => "?").join(", ");
898
+ const stmt = db.prepare(`
899
+ SELECT
900
+ m.id as id,
901
+ m.kind as kind,
902
+ m.title as title,
903
+ m.content as content,
904
+ m.file_path as file_path,
905
+ m.start_line as start_line,
906
+ m.end_line as end_line,
907
+ m.req_id as req_id,
908
+ m.metadata_json as metadata_json,
909
+ m.updated_at as updated_at,
910
+ bm25(${FTS_TABLE_NAME}) as rank
911
+ FROM ${FTS_TABLE_NAME}
912
+ JOIN memory_items m ON m.id = ${FTS_TABLE_NAME}.rowid
913
+ WHERE ${FTS_TABLE_NAME} MATCH ?
914
+ AND m.kind IN (${placeholders})
915
+ ORDER BY rank ASC
916
+ LIMIT ?
917
+ `);
918
+ return stmt.all(matchQuery, ...opts.kinds, opts.topK);
919
+ }
920
+ const stmt = db.prepare(`
921
+ SELECT
922
+ m.id as id,
923
+ m.kind as kind,
924
+ m.title as title,
925
+ m.content as content,
926
+ m.file_path as file_path,
927
+ m.start_line as start_line,
928
+ m.end_line as end_line,
929
+ m.req_id as req_id,
930
+ m.metadata_json as metadata_json,
931
+ m.updated_at as updated_at,
932
+ bm25(${FTS_TABLE_NAME}) as rank
933
+ FROM ${FTS_TABLE_NAME}
934
+ JOIN memory_items m ON m.id = ${FTS_TABLE_NAME}.rowid
935
+ WHERE ${FTS_TABLE_NAME} MATCH ?
936
+ ORDER BY rank ASC
937
+ LIMIT ?
938
+ `);
939
+ return stmt.all(matchQuery, opts.topK);
940
+ })();
941
+ const matches = rows.map((r) => toSemanticMatch(r, -Number(r.rank), opts.includeContent));
942
+ return { query: q, top_k: opts.topK, mode: "fts", matches };
943
+ }
944
+ function likeSearchInternal(opts) {
945
+ const q = opts.query.trim();
946
+ if (!q)
947
+ return { query: "", top_k: opts.topK, mode: "like", matches: [] };
948
+ const escaped = escapeLike(q);
949
+ const like = `%${escaped}%`;
950
+ const rows = (() => {
951
+ if (opts.kinds?.length) {
952
+ const placeholders = opts.kinds.map(() => "?").join(", ");
953
+ const stmt = db.prepare(`
954
+ SELECT
955
+ id,
956
+ kind,
957
+ title,
958
+ content,
959
+ file_path,
960
+ start_line,
961
+ end_line,
962
+ req_id,
963
+ metadata_json,
964
+ updated_at,
965
+ CASE
966
+ WHEN title LIKE ? ESCAPE '\\' THEN 3
967
+ WHEN file_path LIKE ? ESCAPE '\\' THEN 2
968
+ ELSE 1
969
+ END AS score
970
+ FROM memory_items
971
+ WHERE (content LIKE ? ESCAPE '\\'
972
+ OR title LIKE ? ESCAPE '\\'
973
+ OR file_path LIKE ? ESCAPE '\\')
974
+ AND kind IN (${placeholders})
975
+ ORDER BY score DESC, updated_at DESC, id DESC
976
+ LIMIT ?
977
+ `);
978
+ return stmt.all(like, like, like, like, like, ...opts.kinds, opts.topK);
979
+ }
980
+ const stmt = db.prepare(`
981
+ SELECT
982
+ id,
983
+ kind,
984
+ title,
985
+ content,
986
+ file_path,
987
+ start_line,
988
+ end_line,
989
+ req_id,
990
+ metadata_json,
991
+ updated_at,
992
+ CASE
993
+ WHEN title LIKE ? ESCAPE '\\' THEN 3
994
+ WHEN file_path LIKE ? ESCAPE '\\' THEN 2
995
+ ELSE 1
996
+ END AS score
997
+ FROM memory_items
998
+ WHERE (content LIKE ? ESCAPE '\\'
999
+ OR title LIKE ? ESCAPE '\\'
1000
+ OR file_path LIKE ? ESCAPE '\\')
1001
+ ORDER BY score DESC, updated_at DESC, id DESC
1002
+ LIMIT ?
1003
+ `);
1004
+ return stmt.all(like, like, like, like, like, opts.topK);
1005
+ })();
1006
+ const matches = rows.map((r) => toSemanticMatch(r, Number(r.score), opts.includeContent));
1007
+ return { query: q, top_k: opts.topK, mode: "like", matches };
1008
+ }
1009
+ async function semanticSearchHybridInternal(opts) {
1010
+ if (embeddingsEnabled) {
1011
+ try {
1012
+ return await semanticSearchInternal(opts);
1013
+ }
1014
+ catch (err) {
1015
+ console.error("[vectormind] embeddings semantic_search failed; falling back:", err);
1016
+ }
1017
+ }
1018
+ if (ftsAvailable) {
1019
+ try {
1020
+ return ftsSearchInternal(opts);
1021
+ }
1022
+ catch (err) {
1023
+ console.error("[vectormind] fts semantic_search failed; falling back:", err);
1024
+ }
1025
+ }
1026
+ return likeSearchInternal(opts);
733
1027
  }
734
1028
  const server = new Server({ name: SERVER_NAME, version: SERVER_VERSION }, {
735
1029
  capabilities: { tools: {} },
736
1030
  instructions: [
737
1031
  "VectorMind MCP is available in this session. Use it to avoid guessing project context.",
738
- "Project root is resolved from VECTORMIND_ROOT (override; avoid hardcoding in global config), else MCP roots/list (best-effort; falls back quickly if unsupported), else process.cwd() (so start your MCP client in the project directory for per-project isolation).",
1032
+ "Project root resolution order: tool argument project_root (recommended for clients without roots/list), then VECTORMIND_ROOT (avoid hardcoding in global config), then MCP roots/list (best-effort; falls back quickly if unsupported), then process.cwd() (so start your MCP client in the project directory for per-project isolation).",
1033
+ "If root_source is fallback, file watching/indexing is disabled (pass project_root to enable per-project tracking).",
739
1034
  "",
740
1035
  "Required workflow:",
741
- "- On every new conversation/session: call bootstrap_context({ query: <current goal> }) first (or at least get_brain_dump()) to restore context and retrieve relevant matches from the local vector store.",
1036
+ "- On every new conversation/session: call bootstrap_context({ query: <current goal> }) first (or at least get_brain_dump()) to restore context and retrieve relevant matches from the local memory store (vector if enabled; otherwise FTS/LIKE).",
742
1037
  "- BEFORE editing code: call start_requirement(title, background) to set the active requirement.",
743
1038
  "- AFTER editing + saving: call get_pending_changes() to see unsynced files, then call sync_change_intent(intent, files). (You can omit files to auto-link all pending changes.)",
744
1039
  "- After major milestones/decisions: call upsert_project_summary(summary) and/or add_note(...) to persist durable context locally.",
@@ -781,11 +1076,81 @@ async function resolveProjectRoot() {
781
1076
  if (rootFromMcp)
782
1077
  return { root: rootFromMcp, source: "mcp_roots" };
783
1078
  const cwd = process.cwd();
784
- if (isProbablyVscodeInstallDir(cwd)) {
1079
+ if (isProbablyVscodeInstallDir(cwd) || isProbablySystemDir(cwd)) {
785
1080
  return { root: resolveSafeFallbackRootDir(), source: "fallback" };
786
1081
  }
787
1082
  return { root: cwd, source: "cwd" };
788
1083
  }
1084
+ function initMemoryItemsFts() {
1085
+ ftsAvailable = false;
1086
+ try {
1087
+ const existed = db
1088
+ .prepare(`SELECT 1 FROM sqlite_master WHERE type='table' AND name=?`)
1089
+ .get(FTS_TABLE_NAME);
1090
+ const alreadyExists = !!existed;
1091
+ if (!alreadyExists) {
1092
+ try {
1093
+ db.exec(`
1094
+ CREATE VIRTUAL TABLE ${FTS_TABLE_NAME} USING fts5(
1095
+ kind,
1096
+ title,
1097
+ content,
1098
+ file_path,
1099
+ metadata_json,
1100
+ content='memory_items',
1101
+ content_rowid='id',
1102
+ tokenize='trigram'
1103
+ );
1104
+ `);
1105
+ }
1106
+ catch {
1107
+ db.exec(`
1108
+ CREATE VIRTUAL TABLE ${FTS_TABLE_NAME} USING fts5(
1109
+ kind,
1110
+ title,
1111
+ content,
1112
+ file_path,
1113
+ metadata_json,
1114
+ content='memory_items',
1115
+ content_rowid='id'
1116
+ );
1117
+ `);
1118
+ }
1119
+ try {
1120
+ db.exec(`INSERT INTO ${FTS_TABLE_NAME}(${FTS_TABLE_NAME}) VALUES('rebuild');`);
1121
+ }
1122
+ catch (err) {
1123
+ console.error("[vectormind] fts rebuild failed:", err);
1124
+ }
1125
+ }
1126
+ db.exec(`
1127
+ CREATE TRIGGER IF NOT EXISTS vectormind_memory_items_fts_ai
1128
+ AFTER INSERT ON memory_items BEGIN
1129
+ INSERT INTO ${FTS_TABLE_NAME}(rowid, kind, title, content, file_path, metadata_json)
1130
+ VALUES (new.id, new.kind, new.title, new.content, new.file_path, new.metadata_json);
1131
+ END;
1132
+
1133
+ CREATE TRIGGER IF NOT EXISTS vectormind_memory_items_fts_ad
1134
+ AFTER DELETE ON memory_items BEGIN
1135
+ INSERT INTO ${FTS_TABLE_NAME}(${FTS_TABLE_NAME}, rowid, kind, title, content, file_path, metadata_json)
1136
+ VALUES ('delete', old.id, old.kind, old.title, old.content, old.file_path, old.metadata_json);
1137
+ END;
1138
+
1139
+ CREATE TRIGGER IF NOT EXISTS vectormind_memory_items_fts_au
1140
+ AFTER UPDATE ON memory_items BEGIN
1141
+ INSERT INTO ${FTS_TABLE_NAME}(${FTS_TABLE_NAME}, rowid, kind, title, content, file_path, metadata_json)
1142
+ VALUES ('delete', old.id, old.kind, old.title, old.content, old.file_path, old.metadata_json);
1143
+ INSERT INTO ${FTS_TABLE_NAME}(rowid, kind, title, content, file_path, metadata_json)
1144
+ VALUES (new.id, new.kind, new.title, new.content, new.file_path, new.metadata_json);
1145
+ END;
1146
+ `);
1147
+ db.prepare(`SELECT rowid FROM ${FTS_TABLE_NAME} LIMIT 1`).get();
1148
+ ftsAvailable = true;
1149
+ }
1150
+ catch (err) {
1151
+ ftsAvailable = false;
1152
+ }
1153
+ }
789
1154
  function initDatabase() {
790
1155
  const vmDir = path.join(projectRoot, ".vectormind");
791
1156
  try {
@@ -916,6 +1281,7 @@ function initDatabase() {
916
1281
  CREATE INDEX IF NOT EXISTS idx_pending_changes_updated_at
917
1282
  ON pending_changes(updated_at DESC);
918
1283
  `);
1284
+ initMemoryItemsFts();
919
1285
  insertRequirementStmt = db.prepare(`INSERT INTO requirements (title, context_data, status) VALUES (?, ?, 'active')`);
920
1286
  getActiveRequirementStmt = db.prepare(`SELECT id, title, status, context_data, created_at
921
1287
  FROM requirements
@@ -1004,23 +1370,21 @@ function initWatcher() {
1004
1370
  watcherReady = false;
1005
1371
  watcher = chokidar.watch(projectRoot, {
1006
1372
  ignored: (p) => shouldIgnorePath(p),
1007
- ignoreInitial: false,
1373
+ // Avoid indexing the entire tree on startup; track changes after the server is running.
1374
+ ignoreInitial: true,
1008
1375
  persistent: true,
1009
1376
  awaitWriteFinish: { stabilityThreshold: 200, pollInterval: 50 },
1010
1377
  });
1011
1378
  watcher.on("add", (p) => {
1012
- if (watcherReady)
1013
- recordPendingChange(p, "add");
1379
+ recordPendingChange(p, "add");
1014
1380
  indexFile(p, "add");
1015
1381
  });
1016
1382
  watcher.on("change", (p) => {
1017
- if (watcherReady)
1018
- recordPendingChange(p, "change");
1383
+ recordPendingChange(p, "change");
1019
1384
  indexFile(p, "change");
1020
1385
  });
1021
1386
  watcher.on("unlink", (p) => {
1022
- if (watcherReady)
1023
- recordPendingChange(p, "unlink");
1387
+ recordPendingChange(p, "unlink");
1024
1388
  removeFileIndexes(p);
1025
1389
  });
1026
1390
  watcher.on("ready", () => {
@@ -1028,10 +1392,10 @@ function initWatcher() {
1028
1392
  });
1029
1393
  watcher.on("error", (err) => console.error("[vectormind] watcher error:", err));
1030
1394
  }
1031
- async function initializeIfNeeded() {
1395
+ async function initializeIfNeeded(forced) {
1032
1396
  if (initialized)
1033
1397
  return;
1034
- const resolved = await resolveProjectRoot();
1398
+ const resolved = forced ?? (await resolveProjectRoot());
1035
1399
  projectRoot = resolved.root;
1036
1400
  rootSource = resolved.source;
1037
1401
  try {
@@ -1042,9 +1406,17 @@ async function initializeIfNeeded() {
1042
1406
  }
1043
1407
  try {
1044
1408
  initDatabase();
1045
- initWatcher();
1409
+ if (rootSource === "fallback") {
1410
+ // If we can't confidently determine the project root (e.g. Codex VS Code started us in System32),
1411
+ // don't watch/index the fallback directory. Callers should pass `project_root`.
1412
+ watcher = null;
1413
+ watcherReady = false;
1414
+ }
1415
+ else {
1416
+ initWatcher();
1417
+ }
1046
1418
  initialized = true;
1047
- console.error(`[vectormind] project_root=${projectRoot} source=${rootSource} db=${dbPath}`);
1419
+ console.error(`[vectormind] project_root=${projectRoot} source=${rootSource} db=${dbPath} watcher=${watcher ? "on" : "off"}`);
1048
1420
  }
1049
1421
  catch (err) {
1050
1422
  try {
@@ -1061,11 +1433,11 @@ async function initializeIfNeeded() {
1061
1433
  throw err;
1062
1434
  }
1063
1435
  }
1064
- async function ensureInitialized() {
1436
+ async function ensureInitialized(forced) {
1065
1437
  if (initialized)
1066
1438
  return;
1067
1439
  if (!initializationPromise) {
1068
- initializationPromise = initializeIfNeeded().finally(() => {
1440
+ initializationPromise = initializeIfNeeded(forced).finally(() => {
1069
1441
  if (initialized)
1070
1442
  return;
1071
1443
  initializationPromise = null;
@@ -1073,9 +1445,46 @@ async function ensureInitialized() {
1073
1445
  }
1074
1446
  await initializationPromise;
1075
1447
  }
1448
+ async function switchProjectRootIfNeeded(next) {
1449
+ const same = projectRoot && path.resolve(projectRoot) === path.resolve(next.root) && initialized;
1450
+ if (same)
1451
+ return;
1452
+ try {
1453
+ await watcher?.close();
1454
+ }
1455
+ catch (err) {
1456
+ console.error("[vectormind] watcher close error:", err);
1457
+ }
1458
+ watcher = null;
1459
+ watcherReady = false;
1460
+ try {
1461
+ db?.close();
1462
+ }
1463
+ catch (err) {
1464
+ console.error("[vectormind] db close error:", err);
1465
+ }
1466
+ initialized = false;
1467
+ initializationPromise = null;
1468
+ await ensureInitialized(next);
1469
+ }
1470
+ async function ensureInitializedForArgs(rawArgs) {
1471
+ const fromToolArg = resolveRootFromToolArgOrThrow(rawArgs.project_root);
1472
+ if (fromToolArg) {
1473
+ await switchProjectRootIfNeeded(fromToolArg);
1474
+ return;
1475
+ }
1476
+ await ensureInitialized();
1477
+ }
1076
1478
  server.oninitialized = () => {
1077
- void ensureInitialized();
1479
+ // Do not eagerly initialize: prefer initializing on first tool call so callers can
1480
+ // provide `project_root` when the MCP client doesn't support roots/list.
1078
1481
  };
1482
+ process.on("unhandledRejection", (reason) => {
1483
+ console.error("[vectormind] unhandledRejection:", reason);
1484
+ });
1485
+ process.on("uncaughtException", (err) => {
1486
+ console.error("[vectormind] uncaughtException:", err);
1487
+ });
1079
1488
  server.setRequestHandler(ListToolsRequestSchema, async () => {
1080
1489
  return {
1081
1490
  tools: [
@@ -1091,18 +1500,18 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
1091
1500
  },
1092
1501
  {
1093
1502
  name: "get_brain_dump",
1094
- description: "Restore recent requirements/changes/notes/summary/pending changes. Prefer bootstrap_context() at session start when you also want semantic recall from the local vector store.",
1095
- inputSchema: { type: "object", properties: {}, additionalProperties: false },
1503
+ description: "Restore recent requirements/changes/notes/summary/pending changes. Prefer bootstrap_context() at session start when you also want recall from the local memory store.",
1504
+ inputSchema: toJsonSchemaCompat(ProjectRootOnlyArgsSchema),
1096
1505
  },
1097
1506
  {
1098
1507
  name: "bootstrap_context",
1099
- description: "MUST call at the start of every new chat/session. Returns brain dump + pending changes, and (if you pass query) semantic matches from the local vector store to avoid guessing.",
1508
+ description: "MUST call at the start of every new chat/session. Returns brain dump + pending changes, and (if you pass query) matches from the local memory store to avoid guessing.",
1100
1509
  inputSchema: toJsonSchemaCompat(BootstrapContextArgsSchema),
1101
1510
  },
1102
1511
  {
1103
1512
  name: "get_pending_changes",
1104
1513
  description: "List files that changed locally but have not been acknowledged by sync_change_intent yet. Use this to see what needs syncing (or omit files in sync_change_intent to auto-link them).",
1105
- inputSchema: { type: "object", properties: {}, additionalProperties: false },
1514
+ inputSchema: toJsonSchemaCompat(ProjectRootOnlyArgsSchema),
1106
1515
  },
1107
1516
  {
1108
1517
  name: "query_codebase",
@@ -1131,7 +1540,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
1131
1540
  const toolName = request.params.name;
1132
1541
  const rawArgs = (request.params.arguments ?? {});
1133
1542
  try {
1134
- await ensureInitialized();
1543
+ await ensureInitializedForArgs(rawArgs);
1135
1544
  if (toolName === "start_requirement") {
1136
1545
  const args = StartRequirementArgsSchema.parse(rawArgs);
1137
1546
  const info = insertRequirementStmt.run(args.title, args.background || null);
@@ -1152,6 +1561,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
1152
1561
  }
1153
1562
  if (toolName === "sync_change_intent") {
1154
1563
  const args = SyncChangeIntentArgsSchema.parse(rawArgs);
1564
+ const explicitFiles = (args.files ?? args.affected_files ?? []).filter((f) => typeof f === "string" && f.length > 0);
1155
1565
  const active = getActiveRequirementStmt.get();
1156
1566
  if (!active) {
1157
1567
  return {
@@ -1171,9 +1581,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
1171
1581
  const synced_files = [];
1172
1582
  const insertTx = db.transaction(() => {
1173
1583
  const targets = [];
1174
- if (args.files.length) {
1175
- for (const f of args.files) {
1176
- const rawFile = String(f);
1584
+ if (explicitFiles.length) {
1585
+ for (const rawFile of explicitFiles) {
1177
1586
  const dbFilePath = normalizeToDbPath(rawFile);
1178
1587
  targets.push({ rawFile, dbFilePath, event: "manual", source: "args" });
1179
1588
  }
@@ -1252,12 +1661,18 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
1252
1661
  const recent_notes = listRecentNotesStmt.all(10);
1253
1662
  const pending_changes = listPendingChangesStmt.all();
1254
1663
  const q = args.query?.trim() ?? "";
1255
- const semantic = q && embeddingsEnabled
1256
- ? await semanticSearchInternal({
1257
- query: q,
1258
- topK: args.top_k,
1259
- kinds: args.kinds?.length ? args.kinds : null,
1260
- includeContent: args.include_content,
1664
+ const semantic = q
1665
+ ? await Promise.race([
1666
+ semanticSearchHybridInternal({
1667
+ query: q,
1668
+ topK: args.top_k,
1669
+ kinds: args.kinds?.length ? args.kinds : null,
1670
+ includeContent: args.include_content,
1671
+ }),
1672
+ new Promise((resolve) => setTimeout(resolve, BOOTSTRAP_SEMANTIC_TIMEOUT_MS, null)),
1673
+ ]).catch((err) => {
1674
+ console.error("[vectormind] bootstrap semantic_search failed:", err);
1675
+ return null;
1261
1676
  })
1262
1677
  : null;
1263
1678
  return {
@@ -1270,6 +1685,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
1270
1685
  project_root: projectRoot,
1271
1686
  root_source: rootSource,
1272
1687
  db_path: dbPath,
1688
+ watcher_enabled: !!watcher,
1273
1689
  watcher_ready: watcherReady,
1274
1690
  embeddings: {
1275
1691
  enabled: embeddingsEnabled,
@@ -1305,6 +1721,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
1305
1721
  project_root: projectRoot,
1306
1722
  root_source: rootSource,
1307
1723
  db_path: dbPath,
1724
+ watcher_enabled: !!watcher,
1308
1725
  watcher_ready: watcherReady,
1309
1726
  embeddings: {
1310
1727
  enabled: embeddingsEnabled,
@@ -1380,22 +1797,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
1380
1797
  };
1381
1798
  }
1382
1799
  if (toolName === "semantic_search") {
1383
- if (!embeddingsEnabled) {
1384
- return {
1385
- isError: true,
1386
- content: [
1387
- {
1388
- type: "text",
1389
- text: JSON.stringify({
1390
- ok: false,
1391
- error: "Embeddings are disabled (set VECTORMIND_EMBEDDINGS=on) so semantic_search is unavailable.",
1392
- }, null, 2),
1393
- },
1394
- ],
1395
- };
1396
- }
1397
1800
  const args = SemanticSearchArgsSchema.parse(rawArgs);
1398
- const result = await semanticSearchInternal({
1801
+ const result = await semanticSearchHybridInternal({
1399
1802
  query: args.query,
1400
1803
  topK: args.top_k,
1401
1804
  kinds: args.kinds?.length ? args.kinds : null,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,QAA4B,MAAM,UAAU,CAAC;AACpD,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAChG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AA8C5C,MAAM,WAAW,GAAG,aAAa,CAAC;AAClC,MAAM,cAAc,GAAG,OAAO,CAAC;AAI/B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAE9D,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,CAAC;IAC5D,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACrB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAC9C,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,6BAA6B,GAAG,CAAC,GAAG,EAAE;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,EAAE,CAAC;IAC/D,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,EAAE,CAAC;AAEL,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,UAAU,GAAe,KAAK,CAAC;AACnC,IAAI,WAAW,GAAG,EAAE,CAAC;AACrB,IAAI,MAAM,GAAG,EAAE,CAAC;AAEhB,IAAI,EAAqB,CAAC;AAC1B,IAAI,OAAO,GAAqB,IAAI,CAAC;AACrC,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,IAAI,qBAAqB,GAAyB,IAAI,CAAC;AAEvD,IAAI,qBAAyC,CAAC;AAC9C,IAAI,wBAA4C,CAAC;AACjD,IAAI,0BAA8C,CAAC;AACnD,IAAI,gCAAoD,CAAC;AACzD,IAAI,mBAAuC,CAAC;AAC5C,IAAI,oBAAwC,CAAC;AAC7C,IAAI,qBAAyC,CAAC;AAC9C,IAAI,wBAA4C,CAAC;AACjD,IAAI,qBAAyC,CAAC;AAC9C,IAAI,mBAAuC,CAAC;AAC5C,IAAI,wBAA4C,CAAC;AACjD,IAAI,oBAAwC,CAAC;AAC7C,IAAI,mBAAuC,CAAC;AAC5C,IAAI,uBAA2C,CAAC;AAChD,IAAI,sBAA0C,CAAC;AAC/C,IAAI,uBAA2C,CAAC;AAChD,IAAI,2BAA+C,CAAC;AACpD,IAAI,wBAA4C,CAAC;AACjD,IAAI,gBAAoC,CAAC;AACzC,IAAI,iBAAqC,CAAC;AAE1C,IAAI,kBAAkB,GAEX,IAAI,CAAC;AAEhB,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAC1C,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,SAAS,0BAA0B,CAAC,GAAW;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,OAAO,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3E,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;QACC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3E,CAAC;IACD,MAAM,YAAY,GAAG;QACnB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;KAC5B,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;IAC9B,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,0BAA0B;IACjC,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC;IAC9C,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,EAAE,CAAC,WAAW,EAAE;gBAAE,OAAO,SAAS,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,MAAM,OAAO,GAAG;QACd,MAAM;QACN,KAAK;QACL,MAAM;QACN,cAAc;QACd,qBAAqB;QACrB,gBAAgB;QAChB,WAAW;QACX,mBAAmB;QACnB,eAAe;QACf,gBAAgB;QAChB,kBAAkB;QAClB,SAAS;QACT,aAAa;QACb,QAAQ;QACR,YAAY;QACZ,YAAY;QACZ,SAAS;QACT,cAAc;QACd,kBAAkB;KACnB,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,IAAI,CAAC;QACH,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC3E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,0BAA0B,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,6BAA6B,CAAC,GAAY;IACjD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,QAAQ,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,wFAAwF;QACxF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACrE,QAAQ,GAAG,MAAM,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,yBAAyB;IAChC,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,yCAAyC,GAAG,+CAA+C,MAAM,CAAC,GAAG,CAAC,GAAG,CAC1G,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACvF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACpC,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB;IACzC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACtD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gEAAgE;IAChE,IACE,QAAQ,KAAK,gBAAgB;QAC7B,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACtC,QAAQ,KAAK,wBAAwB,EACrC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;QACtB,KAAK;QACL,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,KAAK;QACL,KAAK;QACL,KAAK;QACL,OAAO;QACP,KAAK;QACL,KAAK;QACL,IAAI;QACJ,KAAK;QACL,MAAM;QACN,IAAI;QACJ,MAAM;KACP,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;QAC1B,mBAAmB;QACnB,gBAAgB;QAChB,WAAW;QACX,WAAW;QACX,YAAY;QACZ,eAAe;KAChB,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC;QACrB,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,MAAM;QACN,OAAO;QACP,MAAM;QACN,OAAO;QACP,OAAO;QACP,MAAM;QACN,MAAM;QACN,MAAM;KACP,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IACxC,IAAI,qBAAqB,CAAC,QAAQ,CAAC;QAAE,OAAO,YAAY,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,IAAI,uBAAuB,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AAChD,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAe;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpD,IACE,GAAG,KAAK,KAAK;QACb,GAAG,KAAK,MAAM;QACd,GAAG,KAAK,KAAK;QACb,GAAG,KAAK,MAAM;QACd,GAAG,KAAK,MAAM;QACd,GAAG,KAAK,MAAM,EACd,CAAC;QACD,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEvC,IAAI,KAA8B,CAAC;QAEnC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC9E,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACpE,SAAS;QACX,CAAC;QAED,KAAK,GAAG,OAAO,CAAC,KAAK,CACnB,4DAA4D,CAC7D,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QAED,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACvE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QAED,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACnE,SAAS;QACX,CAAC;QAED,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAClE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACnE,SAAS;QACX,CAAC;QAED,KAAK,GAAG,OAAO,CAAC,KAAK,CACnB,iEAAiE,CAClE,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QAED,KAAK,GAAG,OAAO,CAAC,KAAK,CACnB,wEAAwE,CACzE,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAElD,IAAI,KAA8B,CAAC;QACnC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACrD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACpE,SAAS;QACX,CAAC;QACD,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACjE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEnD,IAAI,KAA8B,CAAC;QACnC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5E,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;QACD,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC9D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEnD,IAAI,KAA8B,CAAC;QACnC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;QACD,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACvD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QACD,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACnE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACjF,SAAS;QAEX,IAAI,KAA8B,CAAC;QACnC,KAAK,GAAG,OAAO,CAAC,KAAK,CACnB,qDAAqD,CACtD,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;QAED,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAC1E,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAID,SAAS,gBAAgB,CACvB,OAAe,EACf,IAA4C;IAE5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAE1C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxF,MAAM,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtE,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC;YACpB,YAAY,GAAG,EAAE,CAAC;YAClB,YAAY,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,YAAY,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAC7B,UAAkB,EAClB,OAAe,EACf,OAAe,EACf,MAAmB;IAEnB,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,IAAI,GACR,IAAI,KAAK,YAAY;QACnB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE;QACrC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAEnC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7B,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,GAAG,UAAU,KAAK,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACpE,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CACnC,IAAI,EACJ,KAAK,EACL,KAAK,CAAC,OAAO,EACb,UAAU,EACV,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,OAAO,EACb,IAAI,EACJ,QAAQ,EACR,WAAW,CACZ,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9C,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,EAAE,EAAE,CAAC;IACP,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAID,SAAS,mBAAmB,CAAC,OAAe,EAAE,KAAyB;IACrE,IAAI,gBAAgB,CAAC,OAAO,CAAC;QAAE,OAAO;IACtC,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChF,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,uBAAuB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,MAAmB;IACrD,IAAI,gBAAgB,CAAC,OAAO,CAAC;QAAE,OAAO;IACtC,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY;QAAE,OAAO;IAE3C,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QAAE,OAAO;IAC3B,IAAI,IAAI,CAAC,IAAI,GAAG,SAAS;QAAE,OAAO;IAElC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO;IAEvC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,kBAAkB,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,IAAI,gBAAgB,CAAC,OAAO,CAAC;QAAE,OAAO;IACtC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC;QACH,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,KAAK,CAC3D,CAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC9C,CAAC,CACH,CAAC;AAEF,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,KAAK,CAC3D,CAAC,CAAC,MAAM,CAAC;IACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC,CACH,CAAC;AAEF,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,KAAK,CACxD,CAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CACH,CAAC;AAEF,MAAM,8BAA8B,GAAG,oBAAoB,CAAC,KAAK,CAC/D,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CACH,CAAC;AAEF,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAClD,CAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CACH,CAAC;AAEF,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,KAAK,CAC3D,CAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACvD,CAAC,CACH,CAAC;AAEF,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,KAAK,CACzD,CAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACvD,CAAC,CACH,CAAC;AAEF,MAAM,yBAAyB,GAAG,oBAAoB,CAAC;AAEvD,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,QAAQ,CACnE,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAC3D,CAAC;AACF,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACnF,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,yBAAyB,CAAC;AACvF,MAAM,aAAa,GACjB,OAAO,CAAC,GAAG,CAAC,0BAA0B;IACtC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAClD,MAAM,iBAAiB,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CACvD,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CACrE,CAAC;AAIF,SAAS,qBAAqB,CAAC,MAAmB;IAChD,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,cAAc,KAAK,MAAM,IAAI,cAAc,KAAK,KAAK,IAAI,cAAc,KAAK,UAAU;QACxF,OAAO,KAAK,CAAC;IACf,IAAI,cAAc,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,MAAM,KAAK,KAAK,CAAC;AAC1B,CAAC;AAED,IAAI,eAAe,GAER,IAAI,CAAC;AAEhB,KAAK,UAAU,WAAW;IACxB,IAAI,eAAe;QAAE,OAAO,eAAe,CAAC;IAE5C,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;QAC5B,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,GAAG,GAAQ,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACtD,MAAM,GAAG,GAAQ,GAAG,CAAC,GAAG,CAAC;QACzB,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACnE,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC;YAC/B,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,SAAS,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACtF,GAAG,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YAC5C,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,GAAG,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACpF,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC;QACnC,MAAM,SAAS,GAAQ,MAAM,QAAQ,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;QAE5E,OAAO,KAAK,EAAE,IAAY,EAAyB,EAAE;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;YACjC,MAAM,GAAG,GAAQ,MAAM,SAAS,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9E,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,CAAC;YAC9B,IAAI,IAAI,YAAY,YAAY;gBAAE,OAAO,IAAI,CAAC;YAC9C,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAa,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,OAAO,GAAG,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;gBACtC,OAAO,YAAY,CAAC,IAAI,CAAE,GAAG,CAAC,MAAM,EAAe,CAAC,IAAI,CAAC,QAAQ,CAAa,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAmB;IAC9C,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,WAAW,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;QAAE,WAAW,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,SAAS;QAAE,WAAW,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAChE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrD,WAAW,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,IAAI,CAAC,KAAK;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAChC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACjD,IAAI,CAAC,iBAAiB;QAAE,OAAO;IAE/B,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAA8B,CAAC;IAC9E,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAErC,CAAC;IACd,IAAI,QAAQ,EAAE,YAAY,KAAK,SAAS;QAAE,OAAO;IAEjD,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;IAErC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACvB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAC9E,CAAC;IACF,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,cAAc,GAAa,EAAE,CAAC;AACpC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;AAC1C,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC,SAAS,gBAAgB,CAAC,QAAgB;IACxC,IAAI,CAAC,iBAAiB;QAAE,OAAO;IAC/B,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO;IAC1C,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,KAAK,kBAAkB,EAAE,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,IAAI,sBAAsB;QAAE,OAAO;IACnC,sBAAsB,GAAG,IAAI,CAAC;IAC9B,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,EAAE,IAAI,IAAI;gBAAE,MAAM;YACtB,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,sBAAsB,GAAG,KAAK,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,CAAe,EAAE,CAAe;IAClD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,CAAC;AACX,CAAC;AAiDD,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,GAAG,GAAG,GAAG,CAAC;IAChB,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,OAAO,CAAC;IAC1C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;AACvC,CAAC;AAED,SAAS,eAAe,CACtB,GAAwB,EACxB,KAAa,EACb,cAAuB;IAEvB,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO;QACL,KAAK;QACL,IAAI,EAAE;YACJ,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO;YACP,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACjD,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,IAAwB;IAC5D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAChF,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE/B,IAAI,aAAa,GAA8D,EAAE,CAAC;IAClF,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB;;;0BAGoB,YAAY,GAAG,CACpC,CAAC;QACF,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAIpC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,EAAE;aACf,OAAO,CAAC,+CAA+C,CAAC;aACxD,GAAG,EAA+D,CAAC;IACxE,CAAC;IAED,MAAM,GAAG,GAAgD,EAAE,CAAC;IAC5D,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;QACvB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QAC/C,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC3E,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;YAAE,SAAS;QAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAElC,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YACtC,SAAS;QACX,CAAC;QACD,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK;YAAE,SAAS;QACjD,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,OAAO,GAAG,GAAG;SAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAA8B,CAAC;QACjF,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAef,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,KAAK,GAAG,GAAG;SACd,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC;SACf,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAwB;IACjD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACzE,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAEzC,MAAM,IAAI,GAAwB,CAAC,GAAG,EAAE;QACtC,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;iBAYb,cAAc;eAChB,cAAc;wCACW,cAAc;gBACtC,cAAc;2BACH,YAAY;;;OAGhC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAwB,CAAC;QAC/E,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;eAYb,cAAc;aAChB,cAAc;sCACW,cAAc;cACtC,cAAc;;;KAGvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAwB,CAAC;IAChE,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1F,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC;AAKD,SAAS,kBAAkB,CAAC,IAAwB;IAClD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC;IAE5B,MAAM,IAAI,GAAyB,CAAC,GAAG,EAAE;QACvC,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;yBAqBL,YAAY;;;OAG9B,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAyB,CAAC;QAClG,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;KAuBvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAyB,CAAC;IACnF,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1F,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,IAAwB;IAClE,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,+DAA+D,EAAE,GAAG,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,GAAG,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,EAC9C;IACE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3B,YAAY,EAAE;QACZ,wFAAwF;QACxF,2UAA2U;QAC3U,oHAAoH;QACpH,EAAE;QACF,oBAAoB;QACpB,mPAAmP;QACnP,iGAAiG;QACjG,iLAAiL;QACjL,mIAAmI;QACnI,oGAAoG;QACpG,0HAA0H;QAC1H,EAAE;QACF,mEAAmE;KACpE,CAAC,IAAI,CAAC,IAAI,CAAC;CACb,CACF,CAAC;AAEF,KAAK,UAAU,8BAA8B;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE,KAAK;QAAE,OAAO,IAAI,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAC9E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,EAAE,CAAC,WAAW,EAAE;oBAAE,OAAO,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAChD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,MAAM,WAAW,GAAG,MAAM,8BAA8B,EAAE,CAAC;IAC3D,IAAI,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAEnE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,0BAA0B,CAAC,GAAG,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,kBAAkB;IACzB,YAAY,GAAG,KAAK,CAAC;IAErB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE;aACf,OAAO,CAAC,2DAA2D,CAAC;aACpE,GAAG,CAAC,cAAc,CAAC,CAAC;QACvB,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC;QAEhC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC;iCACiB,cAAc;;;;;;;;;;SAUtC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,EAAE,CAAC,IAAI,CAAC;iCACiB,cAAc;;;;;;;;;SAStC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,eAAe,cAAc,IAAI,cAAc,sBAAsB,CAAC,CAAC;YACjF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,EAAE,CAAC,IAAI,CAAC;;;sBAGU,cAAc;;;;;;sBAMd,cAAc,IAAI,cAAc;;;;;;sBAMhC,cAAc,IAAI,cAAc;;sBAEhC,cAAc;;;KAG/B,CAAC,CAAC;QAEH,EAAE,CAAC,OAAO,CAAC,qBAAqB,cAAc,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAChE,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACrD,MAAM,GAAG,UAAU,CAAC;IAEpB,6FAA6F;IAC7F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,GAAG,YAAY,MAAM,CAAC;QACxC,MAAM,SAAS,GAAG,GAAG,YAAY,MAAM,CAAC;QACxC,MAAM,aAAa,GAAG,GAAG,YAAY,UAAU,CAAC;QAChD,MAAM,OAAO,GAAG,GAAG,UAAU,MAAM,CAAC;QACpC,MAAM,OAAO,GAAG,GAAG,UAAU,MAAM,CAAC;QACpC,MAAM,WAAW,GAAG,GAAG,UAAU,UAAU,CAAC;QAE5C,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;oBAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC7F,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;oBAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC7F,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAChE,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,MAAM,GAAG,YAAY,CAAC;QACxB,CAAC;IACH,CAAC;IACD,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE1B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFP,CAAC,CAAC;IAEH,kBAAkB,EAAE,CAAC;IAErB,qBAAqB,GAAG,EAAE,CAAC,OAAO,CAChC,gFAAgF,CACjF,CAAC;IACF,wBAAwB,GAAG,EAAE,CAAC,OAAO,CACnC;;;;aAIS,CACV,CAAC;IACF,0BAA0B,GAAG,EAAE,CAAC,OAAO,CACrC;;;aAGS,CACV,CAAC;IACF,gCAAgC,GAAG,EAAE,CAAC,OAAO,CAC3C;;;;aAIS,CACV,CAAC;IACF,mBAAmB,GAAG,EAAE,CAAC,OAAO,CAC9B,8EAA8E,CAC/E,CAAC;IAEF,oBAAoB,GAAG,EAAE,CAAC,OAAO,CAC/B;;;kCAG8B,CAC/B,CAAC;IACF,qBAAqB,GAAG,EAAE,CAAC,OAAO,CAChC;;kBAEc,CACf,CAAC;IACF,wBAAwB,GAAG,EAAE,CAAC,OAAO,CACnC;;;;;;;sCAOkC,CACnC,CAAC;IACF,qBAAqB,GAAG,EAAE,CAAC,OAAO,CAChC;;;aAGS,CACV,CAAC;IACF,mBAAmB,GAAG,EAAE,CAAC,OAAO,CAC9B;;;;aAIS,CACV,CAAC;IACF,wBAAwB,GAAG,EAAE,CAAC,OAAO,CACnC;;uDAEmD,CACpD,CAAC;IAEF,oBAAoB,GAAG,EAAE,CAAC,OAAO,CAC/B;;yBAEqB,CACtB,CAAC;IACF,mBAAmB,GAAG,EAAE,CAAC,OAAO,CAC9B;;;;;;sCAMkC,CACnC,CAAC;IAEF,uBAAuB,GAAG,EAAE,CAAC,OAAO,CAClC;;;;sCAIkC,CACnC,CAAC;IACF,sBAAsB,GAAG,EAAE,CAAC,OAAO,CACjC;;8BAE0B,CAC3B,CAAC;IACF,uBAAuB,GAAG,EAAE,CAAC,OAAO,CAClC,iDAAiD,CAClD,CAAC;IACF,2BAA2B,GAAG,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAExE,wBAAwB,GAAG,EAAE,CAAC,OAAO,CACnC,yCAAyC,CAC1C,CAAC;IACF,gBAAgB,GAAG,EAAE,CAAC,OAAO,CAC3B,uFAAuF,CACxF,CAAC;IACF,iBAAiB,GAAG,EAAE,CAAC,OAAO,CAC5B;;;;;;;;;;;aAWS,CACV,CAAC;IAEF,kBAAkB,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,QAAgB,EAAE,OAA0B,EAAE,EAAE;QACnF,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW;IAClB,YAAY,GAAG,KAAK,CAAC;IACrB,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE;QACpC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACnC,wFAAwF;QACxF,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;QAChB,gBAAgB,EAAE,EAAE,kBAAkB,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE;KAChE,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE;QAC9B,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9B,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE;QACjC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE;QACjC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACvB,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAA6C;IAC7E,IAAI,WAAW;QAAE,OAAO;IACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;IACxD,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC5B,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE7B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IAED,IAAI,CAAC;QACH,YAAY,EAAE,CAAC;QACf,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC9B,kGAAkG;YAClG,gFAAgF;YAChF,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,WAAW,EAAE,CAAC;QAChB,CAAC;QACD,WAAW,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,KAAK,CACX,6BAA6B,WAAW,WAAW,UAAU,OAAO,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAC/G,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,CAAC;YACH,EAAE,EAAE,KAAK,EAAE,CAAC;QACd,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,kBAAkB;QAClB,WAAW,GAAG,KAAK,CAAC;QACpB,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAA6C;IAC5E,IAAI,WAAW;QAAE,OAAO;IACxB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,qBAAqB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YAC9D,IAAI,WAAW;gBAAE,OAAO;YACxB,qBAAqB,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,qBAAqB,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,IAA0C;IACjF,MAAM,IAAI,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;IACjG,IAAI,IAAI;QAAE,OAAO;IAEjB,IAAI,CAAC;QACH,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,IAAI,CAAC;IACf,YAAY,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,EAAE,EAAE,KAAK,EAAE,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAED,WAAW,GAAG,KAAK,CAAC;IACpB,qBAAqB,GAAG,IAAI,CAAC;IAC7B,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,OAAgC;IACtE,MAAM,WAAW,GAAG,6BAA6B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACxE,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IACD,MAAM,iBAAiB,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE;IAC1B,mFAAmF;IACnF,yEAAyE;AAC3E,CAAC,CAAC;AAEF,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;IAC1C,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;IACtC,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EACT,mLAAmL;gBACrL,WAAW,EAAE,kBAAkB,CAAC,0BAA0B,CAAC;aAC5D;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,mOAAmO;gBACrO,WAAW,EAAE,kBAAkB,CAAC,0BAA0B,CAAC;aAC5D;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EACT,uKAAuK;gBACzK,WAAW,EAAE,kBAAkB,CAAC,yBAAyB,CAAC;aAC3D;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EACT,wKAAwK;gBAC1K,WAAW,EAAE,kBAAkB,CAAC,0BAA0B,CAAC;aAC5D;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EACT,uLAAuL;gBACzL,WAAW,EAAE,kBAAkB,CAAC,yBAAyB,CAAC;aAC3D;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EACT,qLAAqL;gBACvL,WAAW,EAAE,kBAAkB,CAAC,uBAAuB,CAAC;aACzD;YACD;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EACT,mLAAmL;gBACrL,WAAW,EAAE,kBAAkB,CAAC,8BAA8B,CAAC;aAChE;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EACT,iKAAiK;gBACnK,WAAW,EAAE,kBAAkB,CAAC,iBAAiB,CAAC;aACnD;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EACT,+LAA+L;gBACjM,WAAW,EAAE,kBAAkB,CAAC,wBAAwB,CAAC;aAC1D;SACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAC;IAE5E,IAAI,CAAC;QACH,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;YAC5E,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAExC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3E,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CACzC,aAAa,EACb,IAAI,CAAC,KAAK,EACV,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAC9B,SAAS,CAAC,OAAO,CAAC,CACnB,CAAC;YACF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACrD,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAE5B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EACpF,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,CACpE,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAC1D,CAAC;YACF,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,EAAgC,CAAC;YAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;gCACE,EAAE,EAAE,KAAK;gCACT,KAAK,EACH,gGAAgG;6BACnG,EACD,IAAI,EACJ,CAAC,CACF;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAMR,EAAE,CAAC;YACR,MAAM,YAAY,GAIb,EAAE,CAAC;YACR,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;gBACnC,MAAM,OAAO,GAKR,EAAE,CAAC;gBAER,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;oBACzB,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;wBACpC,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;wBAC9C,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;oBACzE,CAAC;oBACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAIxC,CAAC;oBACH,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACnB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;4BACxB,OAAO,CAAC,IAAI,CAAC;gCACX,OAAO,EAAE,CAAC,CAAC,SAAS;gCACpB,UAAU,EAAE,CAAC,CAAC,SAAS;gCACvB,KAAK,EAAE,CAAC,CAAC,UAAU;gCACnB,MAAM,EAAE,SAAS;6BAClB,CAAC,CAAC;wBACL,CAAC;wBACD,2BAA2B,CAAC,GAAG,EAAE,CAAC;oBACpC,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC;4BACX,OAAO,EAAE,eAAe;4BACxB,UAAU,EAAE,eAAe;4BAC3B,KAAK,EAAE,QAAQ;4BACf,MAAM,EAAE,aAAa;yBACtB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,KAAK,eAAe,CAAC;oBACvD,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjF,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;oBAEzD,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CACzC,eAAe,EACf,MAAM,CAAC,KAAK,EACZ,IAAI,CAAC,MAAM,EACX,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EACnC,IAAI,EACJ,IAAI,EACJ,MAAM,CAAC,EAAE,EACT,QAAQ,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAC7D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CACvB,CAAC;oBACF,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;oBAC1D,gBAAgB,CAAC,cAAc,CAAC,CAAC;oBAEjC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjF,OAAO,CAAC,IAAI,CAAC;wBACX,SAAS,EAAE,CAAC,CAAC,UAAU;wBACvB,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,aAAa;wBACb,cAAc;qBACf,CAAC,CAAC;oBAEH,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;4BACpC,CAAC,CAAC,CAAC,CAAC,OAAO;4BACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;wBACtC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC;YAEX,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,EAAE,EAAE,IAAI;4BACR,qBAAqB,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;4BAC7D,YAAY;4BACZ,OAAO;yBACR,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEvD,MAAM,MAAM,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAqB,CAAC;YACrE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,gCAAgC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAmB,CAAC;gBACnF,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,EAA+B,CAAC;YACjF,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAoB,CAAC;YACpE,MAAM,eAAe,GAAG,sBAAsB,CAAC,GAAG,EAIhD,CAAC;YAEH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACnC,MAAM,QAAQ,GACZ,CAAC;gBACC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjB,4BAA4B,CAAC;wBAC3B,KAAK,EAAE,CAAC;wBACR,IAAI,EAAE,IAAI,CAAC,KAAK;wBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC7C,cAAc,EAAE,IAAI,CAAC,eAAe;qBACrC,CAAC;oBACF,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,6BAA6B,EAAE,IAAI,CAAC,CAAC;iBACzF,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACf,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAC;oBACrE,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC;YAEX,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,EAAE,EAAE,IAAI;4BACR,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACrC,YAAY,EAAE,WAAW;4BACzB,WAAW,EAAE,UAAU;4BACvB,OAAO,EAAE,MAAM;4BACf,eAAe,EAAE,CAAC,CAAC,OAAO;4BAC1B,aAAa,EAAE,YAAY;4BAC3B,UAAU,EAAE;gCACV,OAAO,EAAE,iBAAiB;gCAC1B,KAAK,EAAE,cAAc;gCACtB,WAAW,EAAE,cAAc;6BAC5B;4BACD,eAAe,EAAE,eAAe,IAAI,IAAI;4BACxC,YAAY;4BACZ,eAAe;4BACf,KAAK;4BACL,QAAQ;yBACT,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAqB,CAAC;YACrE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,gCAAgC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAmB,CAAC;gBACnF,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,EAA+B,CAAC;YACjF,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAoB,CAAC;YACpE,MAAM,eAAe,GAAG,sBAAsB,CAAC,GAAG,EAIhD,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,EAAE,EAAE,IAAI;4BACR,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACrC,YAAY,EAAE,WAAW;4BACzB,WAAW,EAAE,UAAU;4BACvB,OAAO,EAAE,MAAM;4BACf,eAAe,EAAE,CAAC,CAAC,OAAO;4BAC1B,aAAa,EAAE,YAAY;4BAC3B,UAAU,EAAE;gCACV,OAAO,EAAE,iBAAiB;gCAC1B,KAAK,EAAE,cAAc;gCACtB,WAAW,EAAE,cAAc;6BAC5B;4BACD,eAAe,EAAE,eAAe,IAAI,IAAI;4BACxC,YAAY;4BACZ,eAAe;4BACf,KAAK;yBACN,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAIxC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACrD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC;YAC5B,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAgB,CAAC;YAE3E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACrE;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,KAAK,wBAAwB,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,8BAA8B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACvC,wBAAwB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YAEtF,MAAM,GAAG,GAAG,qBAAqB,CAAC,GAAG,EAA+B,CAAC;YACrE,IAAI,GAAG;gBAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAElC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,IAAI,IAAI,EAAE,EAC1C,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CACnC,MAAM,EACN,KAAK,IAAI,IAAI,EACb,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,EACnC,SAAS,CAAC,OAAO,CAAC,CACnB,CAAC;YACF,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACxC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAErB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC1D;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC;gBAChD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBAC7C,cAAc,EAAE,IAAI,CAAC,eAAe;aACrC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,EACvB,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,QAAQ,EAAE,EAAE,CAAC;SAC/D,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;SAC/C,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEhC,KAAK,UAAU,QAAQ,CAAC,MAAc;IACpC,IAAI,CAAC;QACH,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC;QACH,EAAE,EAAE,KAAK,EAAE,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coreyuan/vector-mind",
3
- "version": "1.0.4",
3
+ "version": "1.0.8",
4
4
  "description": "VectorMind MCP: requirement-driven context memory linking file changes to developer intent.",
5
5
  "type": "module",
6
6
  "bin": {