@remnux/mcp-server 0.1.65 → 0.1.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +14 -7
  2. package/data/tools-index.json +16 -2
  3. package/dist/analysis/summarizer.d.ts.map +1 -1
  4. package/dist/analysis/summarizer.js +10 -3
  5. package/dist/analysis/summarizer.js.map +1 -1
  6. package/dist/catalog/index.d.ts.map +1 -1
  7. package/dist/catalog/index.js +7 -0
  8. package/dist/catalog/index.js.map +1 -1
  9. package/dist/file-type-mappings.d.ts.map +1 -1
  10. package/dist/file-type-mappings.js +16 -0
  11. package/dist/file-type-mappings.js.map +1 -1
  12. package/dist/handlers/analyze-file.d.ts +7 -0
  13. package/dist/handlers/analyze-file.d.ts.map +1 -1
  14. package/dist/handlers/analyze-file.js +35 -25
  15. package/dist/handlers/analyze-file.js.map +1 -1
  16. package/dist/handlers/get-server-info.d.ts +9 -0
  17. package/dist/handlers/get-server-info.d.ts.map +1 -0
  18. package/dist/handlers/get-server-info.js +52 -0
  19. package/dist/handlers/get-server-info.js.map +1 -0
  20. package/dist/handlers/output-spill.d.ts +29 -0
  21. package/dist/handlers/output-spill.d.ts.map +1 -0
  22. package/dist/handlers/output-spill.js +48 -0
  23. package/dist/handlers/output-spill.js.map +1 -0
  24. package/dist/handlers/run-tool.d.ts +15 -0
  25. package/dist/handlers/run-tool.d.ts.map +1 -1
  26. package/dist/handlers/run-tool.js +285 -14
  27. package/dist/handlers/run-tool.js.map +1 -1
  28. package/dist/handlers/suggest-tools.d.ts.map +1 -1
  29. package/dist/handlers/suggest-tools.js +10 -0
  30. package/dist/handlers/suggest-tools.js.map +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +18 -6
  33. package/dist/index.js.map +1 -1
  34. package/dist/schemas/tools.d.ts +2 -0
  35. package/dist/schemas/tools.d.ts.map +1 -1
  36. package/dist/schemas/tools.js +12 -2
  37. package/dist/schemas/tools.js.map +1 -1
  38. package/dist/tools/definitions.d.ts.map +1 -1
  39. package/dist/tools/definitions.js +28 -0
  40. package/dist/tools/definitions.js.map +1 -1
  41. package/package.json +1 -1
package/README.md CHANGED
@@ -267,13 +267,14 @@ claude mcp add remnux --transport http http://REMNUX_IP:3000/mcp \
267
267
  | `suggest_tools` | Detect file type and return recommended tools with analysis hints (no execution) |
268
268
  | `get_tool_help` | Get usage help (`--help` output) for any installed REMnux tool |
269
269
  | `check_tools` | Check which REMnux analysis tools are installed and available |
270
+ | `get_server_info` | Report the server version, connector mode and transport, and the REMnux distro version on the target (best-effort; `null` when the target cannot report it) |
270
271
  | `get_report_template` | Return a bundled malware analysis report template (CC BY 4.0, by Lenny Zeltser) for drafting a report offline. The response also carries an `optional_section_convention` explaining that headings marked `(Optional)` are conditional markers to resolve, not literal heading text |
271
272
  | `get_report_guidance` | Return bundled report writing guidelines (sections, confidence, capabilities, IOC tiering, anti-patterns); `topic` narrows the digest, or `topic='triage_checklist'` returns the pre-claim artifact-vs-behavior triage discipline checklist |
272
273
  | `get_osint_guidance` | Return bundled, offline OSINT triage guidance for malware indicators. Enrichment tradecraft (hash-first, disclosure-aware, do-not-tip-off-the-adversary, leads-not-verdicts) plus a curated, PR-maintained catalog of free and freemium lookup services. `topic` selects the guidance slice, `ioc_type` narrows the catalog. Makes no network calls and holds no API keys |
273
274
 
274
275
  ### Key Behaviors
275
276
 
276
- **Discouraged patterns:** Some commands trigger warnings with guidance to use better alternatives. For example, raw `yara` is discouraged in favor of `yara-forge` or `yara-rules`, which are pre-configured with structured output parsers. Add `--acknowledge-raw` to proceed anyway.
277
+ **Discouraged patterns:** Some commands trigger warnings with guidance to use better alternatives. For example, raw `yara` is discouraged in favor of `yara-forge` or `yara-rules`, which are pre-configured with structured output parsers. Add `--acknowledge-raw` to proceed anyway. Non-blocking `advisory` messages cover softer cases: plain `strings` (ASCII only; use `pestr` or `strings -el`) and a pipeline ending in `head`/`tail` (`PARTIAL`: the stage discarded output the server returns whole up to 100 KB).
277
278
 
278
279
  **Depth tiers:** `analyze_file` supports three depth levels — `quick` (fast triage, ~15 tools), `standard` (default, ~60 tools), and `deep` (maximum coverage, ~78 tools). Higher tiers include all tools from lower tiers. The tools selected depend on detected file type; examine the tool definitions in the source for specifics.
279
280
 
@@ -295,12 +296,16 @@ claude mcp add remnux --transport http http://REMNUX_IP:3000/mcp \
295
296
  "timeout": 600
296
297
  }
297
298
 
298
- // Extract embedded content from OOXML document
299
+ // Extract embedded content from OOXML document. input_file is appended after
300
+ // the whole command, so a piped command names the sample inline by absolute
301
+ // path (commands run in the user's home, not the samples directory).
299
302
  {
300
- "command": "zipdump.py -s 3 -d sample.docx | xmldump.py pretty"
303
+ "command": "zipdump.py -s 3 -d /home/remnux/files/samples/sample.docx | xmldump.py pretty"
301
304
  }
302
305
  ```
303
306
 
307
+ `input_file` resolves a name relative to the samples directory and appends it as the final argument. Without it, reference samples by absolute path (`list_files` reports the samples directory path); a bare relative name does not resolve. Output up to 100 KB is returned whole, so there is no need to pre-cap with `| head` (see [Getting output out](#file-workflow)).
308
+
304
309
  ### Example: analyze_file
305
310
 
306
311
  ```jsonc
@@ -373,7 +378,7 @@ Unexpected AI behavior during analysis may indicate prompt injection strings in
373
378
 
374
379
  **Getting samples in:** Use `upload_from_host` to transfer files from the host filesystem into the REMnux samples directory. For HTTP transport deployments where the MCP server runs inside REMnux, use scp/sftp to place files in the samples directory directly.
375
380
 
376
- **Getting output out:** Most analysis tools write to stdout, which `run_tool` captures directly. For tools that write output files, use `download_file` to retrieve them from the output directory.
381
+ **Getting output out:** Most analysis tools write to stdout, which `run_tool` captures directly and returns whole up to 100 KB (stderr up to 50 KB). Larger output is cut: the captured stdout (up to 500 KB) is saved to the output directory under a deterministic name (`run_tool-<tool>-<hash>.stdout.txt`, reported as `stdout_saved_file`), and the response carries a `truncation_notice` with the returned line range and a `sed -n 'N,$p'` / `grep` recipe on that file (or a `> '%OUTPUT%/<file>'` re-run recipe when saving was not possible), so an AI agent never needs to pre-cap output with `| head`, which would silently drop the tail. Saved files are overwritten by re-runs of the same command and are never deleted automatically; clear the output directory when a case is done. Note that the output directory may be host-mounted, so saved and redirected tool output lands wherever that directory lives.
377
382
 
378
383
  ### Docker Volume Mounts
379
384
 
@@ -390,10 +395,10 @@ docker run -d --name remnux \
390
395
  # -v ~/remnux-workspace/output:/home/remnux/files/output:rw
391
396
  ```
392
397
 
393
- Then reference mounted files using the subdirectory path:
398
+ Then reference mounted files by absolute path (`vol3 -f` takes the image before the plugin name, so `input_file`, which is appended last, does not fit here):
394
399
 
395
400
  ```jsonc
396
- { "command": "vol3 -f evidence/memory.raw windows.pslist" }
401
+ { "command": "vol3 -f /home/remnux/files/samples/evidence/memory.raw windows.pslist" }
397
402
  ```
398
403
 
399
404
  ## Troubleshooting
@@ -407,7 +412,9 @@ Then reference mounted files using the subdirectory path:
407
412
  | "Invalid file path" | Path traversal or special chars | Use simple relative paths without `..` |
408
413
  | "Invalid file path" (with `--sandbox`) | Path outside samples/output dirs | Use a relative path or remove `--sandbox` |
409
414
  | "Command timed out" | Tool took too long | Increase `--timeout` value |
410
- | "[Truncated at ...]" | Output exceeded per-tool budget | Full output saved to output dir, use `download_file` to retrieve |
415
+ | "[Truncated at ...]" (`analyze_file`) | A tool's output exceeded its per-tool budget | The full output is saved to the output directory and the marker names it as `%OUTPUT%/<file>`; query it with `run_tool` (grep, jq) or fetch it with `download_file` |
416
+ | `truncated: true` (`run_tool`) | stdout over 100 KB or stderr over 50 KB | Follow `truncation_notice`: the captured stdout (up to 500 KB) is saved as `stdout_saved_file` in the output directory, and the notice gives a `sed -n 'N,$p' '%OUTPUT%/<file>'` recipe for the omitted lines (or a `> '%OUTPUT%/<file>'` re-run recipe when it could not be saved). `head` returns another prefix and cannot recover the tail |
417
+ | `advisory: PARTIAL: ...` (`run_tool`) | A pipeline stage is `head` or `tail` | The stage discards producer output the server would have returned whole (up to 100 KB); drop it, or filter by content with `grep` |
411
418
 
412
419
  ### Debug Tips
413
420
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "updated": "2026-08-06",
3
+ "updated": "2026-08-17",
4
4
  "tools": [
5
5
  {
6
6
  "command": "1768",
@@ -394,6 +394,13 @@
394
394
  "description": "Examine IRC activities with this IRC client.",
395
395
  "website": "https://www.epicsol.org/"
396
396
  },
397
+ {
398
+ "command": "etl-parser",
399
+ "name": "etl-parser",
400
+ "category": "Gather and Analyze Data",
401
+ "description": "Parse Windows Event Trace Log (ETL) files.",
402
+ "website": "https://github.com/airbus-cert/etl-parser"
403
+ },
397
404
  {
398
405
  "command": "evilclippy",
399
406
  "name": "EvilClippy",
@@ -1108,6 +1115,13 @@
1108
1115
  "description": "Manipulate (merge, convert, transform) PDF files.",
1109
1116
  "website": "http://qpdf.sourceforge.net/"
1110
1117
  },
1118
+ {
1119
+ "command": "r2decomp",
1120
+ "name": "r2decomp",
1121
+ "category": "Statically Analyze Code: General",
1122
+ "description": "Decompile the function behind a capa match using radare2 and the Ghidra decompiler.",
1123
+ "website": "https://github.com/lennyzeltser/r2decomp"
1124
+ },
1111
1125
  {
1112
1126
  "command": "r2pipe",
1113
1127
  "name": "r2pipe",
@@ -1168,7 +1182,7 @@
1168
1182
  "command": "restrict-egress",
1169
1183
  "name": "restrict-egress",
1170
1184
  "category": "General Utilities",
1171
- "description": "Restrict outbound network access to an allowlist of domains and CIDRs using an nftables default-deny egress policy. It installs a persistent, self-refreshing lockdown on a VM or host, or enforces a one-shot lockdown inside a container with the apply command.",
1185
+ "description": "Restrict outbound network access to an allowlist of domains and CIDRs using an nftables default-deny egress policy. It installs a persistent, self-refreshing lockdown on a VM or host, or enforces a one-shot lockdown inside a container with the apply command. Where dnsmasq and systemd-resolved are present, domain entries are coupled to DNS: a local dnsmasq inserts each answered IP into the allow set before the client sees it, so rotating load-balancer addresses never miss.",
1172
1186
  "website": "https://github.com/REMnux/distro/blob/master/files/restrict-egress"
1173
1187
  },
1174
1188
  {
@@ -1 +1 @@
1
- {"version":3,"file":"summarizer.d.ts","sourceRoot":"","sources":["../../src/analysis/summarizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarizer.d.ts","sourceRoot":"","sources":["../../src/analysis/summarizer.ts"],"names":[],"mappings":"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"}
@@ -155,8 +155,15 @@ export function generateSummary(file, detectedType, category, depth, triageSumma
155
155
  for (const tool of toolsRun) {
156
156
  const status = getToolStatus(tool);
157
157
  const keyLines = extractKeyLines(tool.output);
158
- // Track which files were saved for full output retrieval
159
- const savedMatch = tool.output?.match(/Full output: output\/([^\s\]]+)/);
158
+ // Track which files were saved for full output retrieval. The marker is
159
+ // written by analyze_file's truncation path as
160
+ // "Saved in full as %OUTPUT%/<file> (...)" (legacy form: "Full output: output/<file>").
161
+ // Only trust the marker when the server actually truncated this tool's
162
+ // output: sample-derived text could otherwise forge a saved_to entry.
163
+ const savedMatch = tool.truncated
164
+ ? (tool.output?.match(/Saved in full as %OUTPUT%\/([^\s\](]+)/) ??
165
+ tool.output?.match(/Full output: output\/([^\s\]]+)/))
166
+ : null;
160
167
  const savedTo = savedMatch ? savedMatch[1] : undefined;
161
168
  if (savedTo)
162
169
  savedFiles.push(savedTo);
@@ -188,7 +195,7 @@ export function generateSummary(file, detectedType, category, depth, triageSumma
188
195
  ioc_summary: iocSummary,
189
196
  suggested_next_steps: nextSteps,
190
197
  full_output_hint: savedFiles.length > 0
191
- ? `Full tool outputs saved to output directory. Use download_file to retrieve: ${savedFiles.join(", ")}`
198
+ ? `Full tool outputs saved to the output directory: ${savedFiles.join(", ")}. Query them with run_tool using %OUTPUT%/<file> (e.g. grep), or fetch with download_file.`
192
199
  : "Use run_tool to re-run specific tools for full output.",
193
200
  analysis_guidance: analysisGuidance,
194
201
  ...(workflowHint && { workflow_hint: workflowHint }),
@@ -1 +1 @@
1
- {"version":3,"file":"summarizer.js","sourceRoot":"","sources":["../../src/analysis/summarizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarizer.js","sourceRoot":"","sources":["../../src/analysis/summarizer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/catalog/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AA8DD,cAAM,WAAW;IACf,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,cAAc,CAA6B;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,KAAK,EAAE,UAAU;IA0B7B,gCAAgC;IAChC,GAAG,IAAI,SAAS,WAAW,EAAE;IAI7B,sEAAsE;IACtE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE;IAIlD,oDAAoD;IACpD,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,EAAE;IAIpD,yCAAyC;IACzC,UAAU,IAAI,MAAM,EAAE;IAItB,wBAAwB;IACxB,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAqBD,kCAAkC;AAClC,eAAO,MAAM,WAAW,aAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/catalog/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAqED,cAAM,WAAW;IACf,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,cAAc,CAA6B;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,KAAK,EAAE,UAAU;IA0B7B,gCAAgC;IAChC,GAAG,IAAI,SAAS,WAAW,EAAE;IAI7B,sEAAsE;IACtE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE;IAIlD,oDAAoD;IACpD,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,EAAE;IAIpD,yCAAyC;IACzC,UAAU,IAAI,MAAM,EAAE;IAItB,wBAAwB;IACxB,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAqBD,kCAAkC;AAClC,eAAO,MAAM,WAAW,aAAmC,CAAC"}
@@ -10,6 +10,13 @@ import { fileURLToPath } from "node:url";
10
10
  /**
11
11
  * Maps salt-states categories to MCP file-type category names.
12
12
  * Multiple salt-states categories can map to one MCP category.
13
+ *
14
+ * Deliberately unmapped: grab-bag salt categories such as "Gather and Analyze
15
+ * Data", "Perform Memory Forensics", and "Explore Network Interactions: *".
16
+ * Tools from those categories reach the AI through registry entries plus a
17
+ * file-type category instead (volatility3 → Memory, tshark → PCAP,
18
+ * etl-parser → ETL). Mapping a grab-bag category here would dump its unrelated
19
+ * tools into one file type's additional_tools — do not "fix" the omission.
13
20
  */
14
21
  const SALT_TO_MCP_CATEGORY = {
15
22
  // PE
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/catalog/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAgBzC;;;GAGG;AACH,MAAM,oBAAoB,GAA2B;IACnD,KAAK;IACL,qCAAqC,EAAE,IAAI;IAC3C,mCAAmC,EAAE,IAAI;IACzC,oCAAoC,EAAE,IAAI;IAE1C,OAAO;IACP,iCAAiC,EAAE,QAAQ;IAC3C,+BAA+B,EAAE,QAAQ;IAEzC,MAAM;IACN,wBAAwB,EAAE,KAAK;IAE/B,wCAAwC;IACxC,qCAAqC,EAAE,MAAM;IAE7C,WAAW;IACX,sCAAsC,EAAE,KAAK;IAC7C,+BAA+B,EAAE,KAAK;IACtC,8CAA8C,EAAE,KAAK;IAErD,SAAS;IACT,iCAAiC,EAAE,QAAQ;IAE3C,UAAU;IACV,kCAAkC,EAAE,QAAQ;IAC5C,4CAA4C,EAAE,QAAQ;IAEtD,WAAW;IACX,+BAA+B,EAAE,KAAK;IAEtC,QAAQ;IACR,mCAAmC,EAAE,OAAO;IAE5C,cAAc;IACd,kCAAkC,EAAE,KAAK;IAEzC,0DAA0D;IAC1D,4BAA4B,EAAE,MAAM;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,sBAAsB,GAA0B,IAAI,GAAG,EAAE,CAAC;AAChE,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC5D,sBAAsB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;AACrD,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;AAEnD,MAAM,WAAW;IACP,KAAK,CAAgB;IACrB,aAAa,CAA6B;IAC1C,cAAc,CAA6B;IAC1C,OAAO,CAAS;IAChB,OAAO,CAAS;IAEzB,YAAY,KAAiB;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC;QAE1C,gCAAgC;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,sBAAsB,EAAE,CAAC;YACxD,MAAM,KAAK,GAAkB,EAAE,CAAC;YAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,sEAAsE;IACtE,cAAc,CAAC,WAAmB;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACnD,CAAC;IAED,oDAAoD;IACpD,eAAe,CAAC,YAAoB;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,yCAAyC;IACzC,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,wBAAwB;IACxB,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;CACF;AAED,yCAAyC;AACzC,SAAS,SAAS;IAChB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,6EAA6E;IAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,CAAC;AACvC,CAAC;AAED,4FAA4F;AAC5F,SAAS,aAAa;IACpB,IAAI,CAAC;QACH,OAAO,SAAS,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,8EAA8E,EAAE,GAAG,CAAC,CAAC;QACnG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,kCAAkC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/catalog/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-type-mappings.d.ts","sourceRoot":"","sources":["../src/file-type-mappings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,yEAAyE;AACzE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAEtD,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,EAAE,SAAS,SAAS,EAA2C,CAAC;AAE7F,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,EAsFlD,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsBnD,CAAC;AAmCF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAgErF"}
1
+ {"version":3,"file":"file-type-mappings.d.ts","sourceRoot":"","sources":["../src/file-type-mappings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,yEAAyE;AACzE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAEtD,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,EAAE,SAAS,SAAS,EAA2C,CAAC;AAE7F,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,EA0FlD,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuBnD,CAAC;AA0CF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAsErF"}
@@ -84,6 +84,10 @@ export const FILE_TYPE_CATEGORIES = [
84
84
  name: "PCAP",
85
85
  patterns: [/pcap capture/i, /tcpdump/i, /pcapng/i, /pcap-ng/i],
86
86
  },
87
+ {
88
+ name: "ETL",
89
+ patterns: [/Windows Event Trace Log/i],
90
+ },
87
91
  // Archive must come AFTER OOXML and JAR: those are zip-based too, and their
88
92
  // more specific patterns (and the OOXML zip-archive extension fallback below)
89
93
  // win first. Only unambiguous archive signatures match here — a bare "Zip
@@ -115,6 +119,7 @@ export const CATEGORY_TAG_MAP = {
115
119
  Email: "email",
116
120
  APK: "apk",
117
121
  PCAP: "pcap",
122
+ ETL: "etl",
118
123
  Archive: "fallback",
119
124
  Memory: "memory",
120
125
  Shellcode: "shellcode",
@@ -129,6 +134,12 @@ const SCRIPT_EXTENSIONS = /\.(vbs|vbe|ps1|bat|cmd|sh|py|pl|rb)$/i;
129
134
  const PYTHON_EXTENSIONS = /\.(pyc|pyo)$/i;
130
135
  /** PCAP file extensions — used as fallback for network captures. */
131
136
  const PCAP_EXTENSIONS = /\.(pcap|pcapng|cap)$/i;
137
+ /** ETL file extensions — used as fallback for Windows Event Trace Logs.
138
+ * Not gated on `file` reporting "data": libmagic identifies some real ETL
139
+ * variants correctly ("Windows Event Trace Log") but misidentifies others —
140
+ * logman kernel-session captures can collide with the Apple HFS/HFS+ resource
141
+ * fork magic — so the extension must win whenever no category pattern matched. */
142
+ const ETL_EXTENSIONS = /\.etl$/i;
132
143
  /** Memory image extensions — used as fallback when `file` reports "data". */
133
144
  const MEMORY_EXTENSIONS = /\.(img|raw|mem|vmem|dmp|lime)$/i;
134
145
  /** Shellcode extensions — used as fallback when `file` reports "data". */
@@ -190,6 +201,11 @@ export function matchFileType(fileOutput, filename) {
190
201
  if (filename && PCAP_EXTENSIONS.test(filename)) {
191
202
  return FILE_TYPE_CATEGORIES.find((c) => c.name === "PCAP");
192
203
  }
204
+ // Fallback: ETL traces — unconditional like PCAP (see ETL_EXTENSIONS comment:
205
+ // `file` misidentifies logman kernel-session captures as HFS resource forks)
206
+ if (filename && ETL_EXTENSIONS.test(filename)) {
207
+ return FILE_TYPE_CATEGORIES.find((c) => c.name === "ETL");
208
+ }
193
209
  // Fallback: memory images — `file` reports "data" for raw memory dumps
194
210
  if (filename && MEMORY_EXTENSIONS.test(filename) && /^data$/i.test(typeOutput)) {
195
211
  return { name: "Memory", patterns: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"file-type-mappings.js","sourceRoot":"","sources":["../src/file-type-mappings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-type-mappings.js","sourceRoot":"","sources":["../src/file-type-mappings.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,13 @@ interface ToolSkipped {
22
22
  }
23
23
  /** Generate suggested next steps based on file category and analysis results */
24
24
  export declare function generateNextSteps(category: string, depth: DepthTier, toolsRun: ToolRun[], toolsSkipped: ToolSkipped[], iocCount: number): string[];
25
+ /**
26
+ * Parsing hints for querying saved (oversized) tool output with jq/grep.
27
+ * Every hint is a runnable run_tool command: `%OUTPUT%/<file>` is the sentinel
28
+ * the server resolves to the output directory (a bare `output/<file>` is not
29
+ * shell-resolvable from the samples cwd, so it is never used here).
30
+ */
31
+ export declare const PARSING_HINTS: Record<string, string[]>;
25
32
  export declare function handleAnalyzeFile(deps: HandlerDeps, args: AnalyzeFileArgs): Promise<{
26
33
  content: Array<{
27
34
  type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-file.d.ts","sourceRoot":"","sources":["../../src/handlers/analyze-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAgBnD,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,SAAS,EAAE,eAAe,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;CACtE;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,WAAW,EAAE,EAC3B,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAqFV;AAsKD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,eAAe;;;;;;GAyctB"}
1
+ {"version":3,"file":"analyze-file.d.ts","sourceRoot":"","sources":["../../src/handlers/analyze-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAgBnD,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,SAAS,EAAE,eAAe,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;CACtE;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,WAAW,EAAE,EAC3B,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAyFV;AA+ID;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CA0BlD,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,eAAe;;;;;;GAmctB"}
@@ -1,3 +1,4 @@
1
+ import { saveOversizedOutput } from "./output-spill.js";
1
2
  import { validateFilePath } from "../security/blocklist.js";
2
3
  import { matchFileType, CATEGORY_TAG_MAP } from "../file-type-mappings.js";
3
4
  import { toolRegistry } from "../tools/registry.js";
@@ -64,6 +65,10 @@ export function generateNextSteps(category, depth, toolsRun, toolsSkipped, iocCo
64
65
  steps.push("Dump suspicious process: run_tool command='vol3 -f <file> windows.memmap --pid <pid> --dump'");
65
66
  steps.push("Extract injected code: run_tool command='vol3 -f <file> windows.malfind --dump'");
66
67
  break;
68
+ case "ETL":
69
+ steps.push("Recover AMSI-scanned script content from the decoded trace: run_tool command='grep -B2 -A8 AmsiScript %OUTPUT%/etl2xml.xml' (manifest/logman captures log Microsoft_Antimalware_Scan_Interface events instead) — no matches means the trace holds no AMSI events, not that it is clean");
70
+ steps.push("If %OUTPUT%/etl2pcap.pcap is larger than the 24-byte empty header, triage the extracted packets: run_tool command='capinfos %OUTPUT%/etl2pcap.pcap', then tshark, or copy the pcap into the samples directory to run analyze_file on it");
71
+ break;
67
72
  case "Archive":
68
73
  steps.push("Unpack with the extract_archive tool (not raw unzip) — it auto-tries malware passwords (infected, malware, virus) and handles WinZip AES-256 .zip and header-encrypted .7z (-mhe=on) via 7z");
69
74
  steps.push("After extraction, run analyze_file or suggest_tools on each extracted file to continue analysis");
@@ -184,7 +189,6 @@ function generateTriageSummary(category, toolsRun, iocCount) {
184
189
  }
185
190
  const DEFAULT_OUTPUT_BUDGET = 40 * 1024; // 40KB default
186
191
  const TOTAL_RESPONSE_BUDGET = 120 * 1024; // 120KB total across all tools
187
- const MAX_SAVED_OUTPUT_SIZE = 500 * 1024; // 500KB max saved file
188
192
  // Per-tool cap on the full output retained for IOC extraction / advisories.
189
193
  // Bounds memory when a tool streams a very large output, while staying well
190
194
  // above where real IOCs sit (e.g. a C2 URL ~25KB into webcrack output).
@@ -214,25 +218,37 @@ const TOOL_OUTPUT_BUDGETS = {
214
218
  "tshark-tls": 15 * 1024,
215
219
  "tshark-fingerprint": 15 * 1024,
216
220
  };
217
- /** Parsing hints for querying large output files with jq/grep */
218
- const PARSING_HINTS = {
221
+ /**
222
+ * Parsing hints for querying saved (oversized) tool output with jq/grep.
223
+ * Every hint is a runnable run_tool command: `%OUTPUT%/<file>` is the sentinel
224
+ * the server resolves to the output directory (a bare `output/<file>` is not
225
+ * shell-resolvable from the samples cwd, so it is never used here).
226
+ */
227
+ export const PARSING_HINTS = {
219
228
  capa: [
220
- "Count capabilities: run_tool command='jq \".rules | keys | length\" output/<file>'",
221
- "List ATT&CK techniques: run_tool command='jq -r \".rules[].attack[].technique\" output/<file> | sort -u'",
222
- "Show specific capability: run_tool command='jq \".rules[\\\"<capability-name>\\\"]\" output/<file>'",
229
+ "Count capabilities: run_tool command='jq \".rules | keys | length\" \"%OUTPUT%/<file>\"'",
230
+ "List ATT&CK techniques: run_tool command='jq -r \".rules[].attack[].technique\" \"%OUTPUT%/<file>\" | sort -u'",
231
+ "Show specific capability: run_tool command='jq \".rules[\\\"<capability-name>\\\"]\" \"%OUTPUT%/<file>\"'",
223
232
  ],
224
233
  floss: [
225
- "Search for URLs: run_tool command='grep -oE \"https?://[^\\\"]+\" output/<file> | sort -u'",
226
- "Search for IPs: run_tool command='grep -oE \"[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\" output/<file> | sort -u'",
227
- "Find base64 strings: run_tool command='grep -E \"^[A-Za-z0-9+/]{20,}=*$\" output/<file>'",
234
+ "Search for URLs: run_tool command='grep -oE \"https?://[^\\\"]+\" \"%OUTPUT%/<file>\" | sort -u'",
235
+ "Search for IPs: run_tool command='grep -oE \"[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\" \"%OUTPUT%/<file>\" | sort -u'",
236
+ "Find base64 strings: run_tool command='grep -E \"^[A-Za-z0-9+/]{20,}=*$\" \"%OUTPUT%/<file>\"'",
228
237
  ],
229
238
  olevba: [
230
- "Show VBA code only: run_tool command='grep -A 100 \"VBA MACRO\" output/<file>'",
231
- "Find suspicious keywords: run_tool command='grep -iE \"shell|exec|powershell|cmd\" output/<file>'",
239
+ "Show VBA code only: run_tool command='grep -A 100 \"VBA MACRO\" \"%OUTPUT%/<file>\"'",
240
+ "Find suspicious keywords: run_tool command='grep -iE \"shell|exec|powershell|cmd\" \"%OUTPUT%/<file>\"'",
232
241
  ],
233
242
  strings: [
234
- "Search for URLs: run_tool command='grep -oE \"https?://[^\\\"]+\" output/<file> | sort -u'",
235
- "Search for paths: run_tool command='grep -E \"[A-Za-z]:\\\\\\\\|/usr/|/etc/\" output/<file>'",
243
+ "Search for URLs: run_tool command='grep -oE \"https?://[^\\\"]+\" \"%OUTPUT%/<file>\" | sort -u'",
244
+ "Search for paths: run_tool command='grep -E \"[A-Za-z]:\\\\\\\\|/usr/|/etc/\" \"%OUTPUT%/<file>\"'",
245
+ ],
246
+ // pestr output is long and its interesting strings (URLs, paths, mutexes)
247
+ // can sit anywhere, so query the saved file by content rather than paging it.
248
+ pestr: [
249
+ "Search for URLs: run_tool command='grep -oE \"https?://[^\\\"[:space:]]+\" \"%OUTPUT%/<file>\" | sort -u'",
250
+ "Search for IPs: run_tool command='grep -oE \"[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\" \"%OUTPUT%/<file>\" | sort -u'",
251
+ "Search for paths: run_tool command='grep -E \"[A-Za-z]:\\\\\\\\|/usr/|/etc/\" \"%OUTPUT%/<file>\"'",
236
252
  ],
237
253
  };
238
254
  export async function handleAnalyzeFile(deps, args) {
@@ -432,26 +448,20 @@ export async function handleAnalyzeFile(deps, args) {
432
448
  // Save full output to output dir for later retrieval (if under size limit)
433
449
  const safeFile = args.file.replace(/[^a-zA-Z0-9._-]/g, "_");
434
450
  const outFilename = `${tool.name}-${safeFile}.txt`;
435
- if (fullLen <= MAX_SAVED_OUTPUT_SIZE) {
436
- try {
437
- const outPath = `${config.outputDir}/${outFilename}`;
438
- await connector.writeFile(outPath, Buffer.from(output, "utf-8"));
439
- savedOutputFile = outFilename;
440
- }
441
- catch {
442
- // Non-fatal: truncation hint won't include file reference
443
- }
444
- }
451
+ // Non-fatal: on any failure the truncation hint simply carries no file reference
452
+ const spill = await saveOversizedOutput(connector, config.outputDir, outFilename, output);
453
+ if (spill.saved)
454
+ savedOutputFile = outFilename;
445
455
  // Build truncation message with optional parsing hints
446
456
  const hints = PARSING_HINTS[tool.name]?.map(h => h.replace(/<file>/g, outFilename));
447
457
  let truncationMsg;
448
458
  if (savedOutputFile) {
449
- truncationMsg = `\n\n[Truncated at ${Math.round(budget / 1024)}KB of ${Math.round(fullLen / 1024)}KB total. Full output: output/${savedOutputFile}]`;
459
+ truncationMsg = `\n\n[Truncated at ${Math.round(budget / 1024)}KB of ${Math.round(fullLen / 1024)}KB total. Saved in full as %OUTPUT%/${savedOutputFile} (query it with run_tool, or download_file '${savedOutputFile}')]`;
450
460
  if (hints && hints.length > 0) {
451
461
  truncationMsg += `\n[Query with: ${hints[0]}]`;
452
462
  }
453
463
  }
454
- else if (fullLen > MAX_SAVED_OUTPUT_SIZE) {
464
+ else if (!spill.saved && spill.reason === "too_large") {
455
465
  truncationMsg = `\n\n[Output too large (${Math.round(fullLen / 1024)}KB) to save. Re-run tool with filters.]`;
456
466
  }
457
467
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-file.js","sourceRoot":"","sources":["../../src/handlers/analyze-file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACrG,OAAO,EACL,kBAAkB,GAEnB,MAAM,wBAAwB,CAAC;AAsBhC,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,KAAgB,EAChB,QAAmB,EACnB,YAA2B,EAC3B,QAAgB;IAEhB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,0BAA0B;IAC1B,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAC9F,CAAC;SAAM,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,wHAAwH,CAAC,CAAC;IACvI,CAAC;IAED,gCAAgC;IAChC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClF,KAAK,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;YAC7G,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;YACjG,KAAK,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;YACnH,KAAK,CAAC,IAAI,CAAC,oLAAoL,CAAC,CAAC;YACjM,MAAM;QACR,KAAK,KAAK;YACR,KAAK,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;YAClG,KAAK,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;YACpG,MAAM;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,KAAK,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;YACtG,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;YACvF,MAAM;QACR,KAAK,WAAW;YACd,KAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YACzF,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;YAC3F,MAAM;QACR,KAAK,qBAAqB;YACxB,KAAK,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;YAC9G,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;YAChF,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;YACrF,MAAM;QACR,KAAK,MAAM;YACT,KAAK,CAAC,IAAI,CAAC,uGAAuG,CAAC,CAAC;YACpH,KAAK,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC;YAC7G,KAAK,CAAC,IAAI,CAAC,8HAA8H,CAAC,CAAC;YAC3I,KAAK,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;YACtH,KAAK,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;YACtG,MAAM;QACR,KAAK,QAAQ;YACX,KAAK,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;YAC3G,KAAK,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;YAC9F,MAAM;QACR,KAAK,SAAS;YACZ,KAAK,CAAC,IAAI,CAAC,6LAA6L,CAAC,CAAC;YAC1M,KAAK,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;YAC9G,MAAM;IACV,CAAC;IAED,iFAAiF;IACjF,iEAAiE;IACjE,sEAAsE;IAEtE,wBAAwB;IACxB,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;IAC7G,CAAC;IAED,iCAAiC;IACjC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC,CAAC;IAC/E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,qEAAqE,CAAC,CAAC;IAC1G,CAAC;IAED,uFAAuF;IACvF,kFAAkF;IAClF,iFAAiF;IACjF,+EAA+E;IAC/E,MAAM,qBAAqB,GACzB,QAAQ,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1E,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,aAAa,GACjB,4GAA4G;YAC5G,8FAA8F,CAAC;QACjG,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,uCAAuC;AACnE,CAAC;AAED,4DAA4D;AAC5D,SAAS,qBAAqB,CAC5B,QAAgB,EAChB,QAAmB,EACnB,QAAgB;IAEhB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,6BAA6B;IAC7B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM;oBAAE,SAAS,EAAE,CAAC;qBAClC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ;oBAAE,WAAW,EAAE,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACxC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CACzD,CAAC;IACF,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAC7E,CAAC;IACF,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAC5E,CAAC;IACF,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACnC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CACpF,CAAC;IACF,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CACtG,CAAC;IACF,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACvD,mEAAmE;QACnE,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC;gBAClB,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;gBAC/B,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACrC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAClE,CAAC;IACF,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACxC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC5C,CAAC,CAAC,MAAM,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAC5D,CAAC;IACF,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CACzE,CAAC;IACF,MAAM,wBAAwB,GAAG,YAAY,IAAI,eAAe,IAAI,aAAa,CAAC;IAElF,gBAAgB;IAChB,QAAQ,CAAC,IAAI,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;IAExC,gEAAgE;IAChE,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE9D,IAAI,2CAA2C,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,wBAAwB;QAAE,QAAQ,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACpH,IAAI,kBAAkB;QAAE,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACnE,IAAI,UAAU;QAAE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvD,IAAI,eAAe;QAAE,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACtE,IAAI,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACnD,IAAI,kBAAkB;QAAE,QAAQ,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACvE,IAAI,cAAc;QAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAExD,IAAI,SAAS,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,2BAA2B,CAAC,CAAC;SACrE,IAAI,WAAW,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,6BAA6B,CAAC,CAAC;IAErF,IAAI,QAAQ,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,mBAAmB,CAAC,CAAC;IAEhE,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,oBAAoB,CAAC,CAAC;IAErD,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,eAAe;AACxD,MAAM,qBAAqB,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,+BAA+B;AACzE,MAAM,qBAAqB,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,uBAAuB;AACjE,4EAA4E;AAC5E,4EAA4E;AAC5E,wEAAwE;AACxE,MAAM,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,iBAAiB;AAElD,wFAAwF;AACxF,MAAM,mBAAmB,GAA2B;IAClD,IAAI,EAAE,EAAE,GAAG,IAAI;IACf,SAAS,EAAE,EAAE,GAAG,IAAI;IACpB,KAAK,EAAE,EAAE,GAAG,IAAI;IAChB,QAAQ,EAAE,EAAE,GAAG,IAAI;IACnB,QAAQ,EAAE,EAAE,GAAG,IAAI;IACnB,OAAO,EAAE,EAAE,GAAG,IAAI;IAClB,OAAO,EAAE,EAAE,GAAG,IAAI;IAClB,MAAM,EAAE,EAAE,GAAG,IAAI;IACjB,OAAO,EAAE,EAAE,GAAG,IAAI;IAClB,QAAQ,EAAE,EAAE,GAAG,IAAI;IACnB,OAAO,EAAE,EAAE,GAAG,IAAI;IAClB,UAAU,EAAE,EAAE,GAAG,IAAI;IACrB,aAAa,EAAE,EAAE,GAAG,IAAI;IACxB,QAAQ,EAAE,EAAE,GAAG,IAAI;IACnB,QAAQ,EAAE,EAAE,GAAG,IAAI;IACnB,GAAG,EAAE,EAAE,GAAG,IAAI;IACd,IAAI,EAAE,EAAE,GAAG,IAAI;IACf,QAAQ,EAAE,EAAE,GAAG,IAAI;IACnB,gBAAgB,EAAE,EAAE,GAAG,IAAI;IAC3B,YAAY,EAAE,EAAE,GAAG,IAAI;IACvB,YAAY,EAAE,EAAE,GAAG,IAAI;IACvB,oBAAoB,EAAE,EAAE,GAAG,IAAI;CAChC,CAAC;AAEF,iEAAiE;AACjE,MAAM,aAAa,GAA6B;IAC9C,IAAI,EAAE;QACJ,oFAAoF;QACpF,0GAA0G;QAC1G,qGAAqG;KACtG;IACD,KAAK,EAAE;QACL,4FAA4F;QAC5F,2GAA2G;QAC3G,0FAA0F;KAC3F;IACD,MAAM,EAAE;QACN,gFAAgF;QAChF,mGAAmG;KACpG;IACD,OAAO,EAAE;QACP,4FAA4F;QAC5F,8FAA8F;KAC/F;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAiB,EACjB,IAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC;QACL,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAc,CAAC;QAEtD,sCAAsC;QACtC,MAAM,YAAY,GAAG,KAAK,KAAK,MAAM;YACnC,CAAC,CAAC,2LAA2L;YAC7L,CAAC,CAAC,SAAS,CAAC;QAEd,6CAA6C;QAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACrB,OAAO,WAAW,CAAC,cAAc,EAAE,IAAI,WAAW,CAChD,UAAU,CAAC,KAAK,IAAI,mBAAmB,EACvC,cAAc,EACd,YAAY,EACZ,kDAAkD,CACnD,EAAE,SAAS,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAClG,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAE5D,yCAAyC;QACzC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,SAAS;YAAE,OAAO,WAAW,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAExE,2BAA2B;QAC3B,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/E,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,WAAW,CAAC,cAAc,EAAE,IAAI,WAAW,CAChD,qDAAqD,EACrD,cAAc,EACd,cAAc,EACd,4CAA4C,CAC7C,EAAE,SAAS,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YACtG,OAAO,WAAW,CAAC,cAAc,EAAE,IAAI,WAAW,CAChD,GAAG,EACH,cAAc,EACd,cAAc,EACd,4CAA4C,CAC7C,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC;QAED,uEAAuE;QACvE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,OAAO,CACxC,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,mBAAmB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,EAC7J,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;YACF,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAI,IAAI,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,4DAA4D,CAAC,CAAC;QAExE,uEAAuE;QACvE,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC;QAC1D,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEpD,wCAAwC;QACxC,IAAI,YAAY,GAAG,QAAQ,CAAC;QAC5B,MAAM,iBAAiB,GAAsF,EAAE,CAAC;QAEhH,KAAK,MAAM,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;oBACtE,OAAO,EAAE,KAAK;oBACd,GAAG,EAAE,MAAM,CAAC,UAAU;iBACvB,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;oBAAE,SAAS,CAAC,iBAAiB;gBAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,SAAS,iBAAiB,EAAE,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC1E,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;oBAChF,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,GAAG,EAAE,MAAM,CAAC,UAAU;iBACvB,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC1B,YAAY,GAAG,OAAO,CAAC;oBACvB,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC9F,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,aAAa,MAAM,CAAC,QAAQ,EAAE;qBAC/D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iBAAiB,CAAC,IAAI,CAAC;oBACrB,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,WAAW,EAAE,EAAE,CAAC,WAAW;oBAC3B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAiB,EAAE,CAAC;QACrC,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,4EAA4E;QAC5E,0EAA0E;QAC1E,8EAA8E;QAC9E,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,wBAAwB;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,mEAAmE;YACnE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,UAAU,EAAE,uBAAuB,CAAC,IAAI,CAAC;oBACzC,MAAM,EAAE,0DAA0D;oBAClE,SAAS,EAAE,oBAAoB;iBAChC,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,0BAA0B,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,0EAA0E;gBAC1E,uEAAuE;gBACvE,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,uEAAuE;YACvE,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACtD,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC1C,8EAA8E;oBAC9E,2EAA2E;oBAC3E,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3E,IAAI,CAAC;wBACH,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC3E,CAAC;oBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,mEAAmE;YACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAE/E,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE;oBAC/C,OAAO,EAAE,gBAAgB;oBACzB,GAAG,EAAE,MAAM,CAAC,UAAU;iBACvB,CAAC,CAAC;gBAEH,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;gBACjC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAEnC,6EAA6E;gBAC7E,2EAA2E;gBAC3E,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC;oBAC7C,wCAAwC,CAAC,IAAI,CAAC,MAAM,CAAC;oBACrD,+HAA+H,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC5I,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAErC,IAAI,iBAAiB,EAAE,CAAC;oBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;wBAChD,6CAA6C,MAAM,CAAC,KAAK,CAAC,wIAAwI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC;oBAC9N,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,OAAO,EAAE,GAAG;wBACZ,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,gBAAgB;qBAC5B,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,gFAAgF;gBAChF,yFAAyF;gBACzF,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,KAAK,GAAG;oBAC5C,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;oBACjC,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9G,IAAI,cAAc,EAAE,CAAC;oBACnB,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,OAAO,EAAE,GAAG;wBACZ,MAAM,EAAE,oBAAoB;wBAC5B,SAAS,EAAE,eAAe;qBAC3B,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,mFAAmF;gBACnF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,CAAC;gBACrE,IAAI,SAAS,EAAE,CAAC;oBACd,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;oBACxE,SAAS;gBACX,CAAC;gBAED,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,IAAI,aAAa,CAAC;gBACtD,MAAM,UAAU,GAAG,MAAM,CAAC;gBAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC9B,wEAAwE;gBACxE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,qBAAqB,GAAG,eAAe,CAAC,CAAC;gBACpF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,qBAAqB,EAAE,eAAe,CAAC,CAAC;gBAClG,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC/C,IAAI,eAAmC,CAAC;gBACxC,IAAI,eAAe,EAAE,CAAC;oBACpB,2EAA2E;oBAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;oBAC5D,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,MAAM,CAAC;oBAEnD,IAAI,OAAO,IAAI,qBAAqB,EAAE,CAAC;wBACrC,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC;4BACrD,MAAM,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;4BACjE,eAAe,GAAG,WAAW,CAAC;wBAChC,CAAC;wBAAC,MAAM,CAAC;4BACP,0DAA0D;wBAC5D,CAAC;oBACH,CAAC;oBAED,uDAAuD;oBACvD,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;oBACpF,IAAI,aAAqB,CAAC;oBAC1B,IAAI,eAAe,EAAE,CAAC;wBACpB,aAAa,GAAG,qBAAqB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,iCAAiC,eAAe,GAAG,CAAC;wBACrJ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC9B,aAAa,IAAI,kBAAkB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;wBACjD,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,GAAG,qBAAqB,EAAE,CAAC;wBAC3C,aAAa,GAAG,0BAA0B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,yCAAyC,CAAC;oBAChH,CAAC;yBAAM,CAAC;wBACN,aAAa,GAAG,qBAAqB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;oBAC/G,CAAC;oBAED,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC;gBACnD,CAAC;gBAED,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC;gBAEjC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAElD,0CAA0C;gBAC1C,MAAM,aAAa,GAA4B,EAAE,CAAC;gBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,IAAI,EAAE,CAAC;oBACT,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC;gBACpC,CAAC;gBAED,6DAA6D;gBAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1E,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC3C,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;4BACnB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAkE,CAAC;4BAC1F,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,CAClC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;qCACjB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;qCAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3B,CAAC,CAAC;4BACH,aAAa,CAAC,YAAY,GAAG;gCAC3B,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;gCAC3C,iBAAiB,EAAE,gBAAgB;gCACnC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;6BAClD,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,6CAA6C;oBAC/C,CAAC;gBACH,CAAC;gBAED,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBACpG,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,GAAG;oBACZ,MAAM;oBACN,SAAS,EAAE,MAAM,CAAC,QAAQ;oBAC1B,GAAG,CAAC,eAAe,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC;oBACxE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI;wBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,aAAa,EAAE;qBACnD,CAAC;oBACF,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;iBAC5F,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBACrE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1C,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC1E,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;aAC5C,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC3C,6FAA6F;QAC7F,qEAAqE;QACrE,MAAM,cAAc,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;QAE9C,6DAA6D;QAC7D,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvB,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,yCAAyC;QACzC,MAAM,aAAa,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5F,MAAM,kBAAkB,GAAG,iBAAiB,CAC1C,QAAQ,CAAC,IAAI,EACb,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,SAAS,CAAC,IAAI,CAAC,MAAM,CACtB,CAAC;QAEF,iFAAiF;QACjF,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,kBAAkB,CAAC,IAAI,CACrB,qGAAqG;gBACrG,qFAAqF,CACtF,CAAC;QACJ,CAAC;QAED,gFAAgF;QAChF,+EAA+E;QAC/E,gFAAgF;QAChF,yCAAyC;QACzC,MAAM,eAAe,GAAoB;YACvC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM;aACnC,CAAC,CAAC;YACH,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC;YACH,QAAQ,EAAE,QAAQ,CAAC,IAAI;SACxB,CAAC;QACF,MAAM,UAAU,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAEvD,6EAA6E;QAC7E,+EAA+E;QAC/E,kFAAkF;QAClF,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAEjE,MAAM,gBAAgB,GACpB,qGAAqG;YACrG,wGAAwG;YACxG,sGAAsG;YACtG,yGAAyG;YACzG,2DAA2D;YAC3D,0GAA0G;YAC1G,4GAA4G;YAC5G,uFAAuF;YACvF,6DAA6D;YAC7D,wFAAwF;YACxF,+CAA+C;YAC/C,uEAAuE;YACvE,+GAA+G;YAC/G,kCAAkC;YAClC,uGAAuG;YACvG,+FAA+F;YAC/F,kGAAkG;YAClG,qGAAqG;YACrG,2EAA2E;YAC3E,oFAAoF;YACpF,mGAAmG;YACnG,oGAAoG;YACpG,oGAAoG;YACpG,qGAAqG;YACrG,wGAAwG;YACxG,0GAA0G;YAC1G,uGAAuG;YACvG,kEAAkE,CAAC;QAErE,yEAAyE;QACzE,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,eAAe,CAC7B,IAAI,CAAC,IAAI,EACT,UAAU,EACV,QAAQ,CAAC,IAAI,EACb,KAAK,EACL,aAAa,EACb,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,OAAO,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,UAAU,CAAC,MAAM,GAAG,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,WAAW,EAAE,CAAC,CAAC,WAAW;iBAC3B,CAAC,CAAC;gBACL,CAAC,CAAC,SAAS,CACd,CAAC;YACF,IAAI,kBAAkB;gBAAE,OAAO,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;YACzE,OAAO,cAAc,CAAC,cAAc,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,cAAc,CAAC,cAAc,EAAE;YACpC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI;gBAC3B,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtC,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,WAAW,EAAE,CAAC,CAAC,WAAW;iBAC3B,CAAC,CAAC;aACJ,CAAC;YACF,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,UAAU;YACzB,gBAAgB,EAAE,QAAQ,CAAC,IAAI;YAC/B,KAAK;YACL,cAAc,EAAE,aAAa;YAC7B,GAAG,CAAC,kBAAkB,IAAI,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;YACtE,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;YACzE,iBAAiB,EAAE,gBAAgB;YACnC,GAAG,CAAC,YAAY,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;YACpD,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI;gBACxB,OAAO,EAAE,qCAAqC,QAAQ,CAAC,IAAI,eAAe,KAAK,+CAA+C;aAC/H,CAAC;YACF,oBAAoB,EAAE,kBAAkB;YACxC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,WAAW,EAAE,SAAS,CAAC,OAAO;YAC9B,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,WAAW;YACzB,aAAa,EAAE,YAAY;SAC5B,EAAE,SAAS,CAAC,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,WAAW,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;IACxF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"analyze-file.js","sourceRoot":"","sources":["../../src/handlers/analyze-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { HandlerDeps } from "./types.js";
2
+ export declare function handleGetServerInfo(deps: HandlerDeps, serverVersion: string): Promise<{
3
+ content: Array<{
4
+ type: "text";
5
+ text: string;
6
+ }>;
7
+ isError?: boolean;
8
+ }>;
9
+ //# sourceMappingURL=get-server-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-server-info.d.ts","sourceRoot":"","sources":["../../src/handlers/get-server-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA0C9C,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM;;;;;;GAYjF"}