@barivia/barsom-mcp 0.6.5 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +7 -5
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/shared.d.ts +85 -0
  5. package/dist/shared.d.ts.map +1 -1
  6. package/dist/shared.js +50 -2
  7. package/dist/shared.js.map +1 -1
  8. package/dist/tools/account.js +1 -1
  9. package/dist/tools/account.js.map +1 -1
  10. package/dist/tools/explore_map.d.ts +2 -1
  11. package/dist/tools/explore_map.d.ts.map +1 -1
  12. package/dist/tools/explore_map.js +121 -31
  13. package/dist/tools/explore_map.js.map +1 -1
  14. package/dist/tools/guide_barsom.d.ts.map +1 -1
  15. package/dist/tools/guide_barsom.js +2 -1
  16. package/dist/tools/guide_barsom.js.map +1 -1
  17. package/dist/tools/inference.d.ts.map +1 -1
  18. package/dist/tools/inference.js +29 -5
  19. package/dist/tools/inference.js.map +1 -1
  20. package/dist/tools/jobs.d.ts +58 -1
  21. package/dist/tools/jobs.d.ts.map +1 -1
  22. package/dist/tools/jobs.js +232 -92
  23. package/dist/tools/jobs.js.map +1 -1
  24. package/dist/tools/results.d.ts.map +1 -1
  25. package/dist/tools/results.js +56 -7
  26. package/dist/tools/results.js.map +1 -1
  27. package/dist/tools/training_guidance.js +1 -1
  28. package/dist/tools/training_guidance.js.map +1 -1
  29. package/dist/tools/training_prep.d.ts +4 -0
  30. package/dist/tools/training_prep.d.ts.map +1 -0
  31. package/dist/tools/training_prep.js +351 -0
  32. package/dist/tools/training_prep.js.map +1 -0
  33. package/dist/tools/training_review_store.d.ts +17 -0
  34. package/dist/tools/training_review_store.d.ts.map +1 -0
  35. package/dist/tools/training_review_store.js +54 -0
  36. package/dist/tools/training_review_store.js.map +1 -0
  37. package/dist/views/src/views/results-explorer/index.html +357 -0
  38. package/dist/views/src/views/training-prep/index.html +359 -0
  39. package/dist/viz-server.d.ts.map +1 -1
  40. package/dist/viz-server.js +51 -1
  41. package/dist/viz-server.js.map +1 -1
  42. package/package.json +2 -2
@@ -35,7 +35,7 @@ action=download: Save figures to disk. Use so user can open, share, or version f
35
35
 
36
36
  action=recolor: Change colormap or output format — no retraining. Returns a new job_id; auto-polls 60s.
37
37
  AFTER: use results(action=get, job_id=NEW_JOB_ID).
38
- Colormaps: viridis, plasma, inferno, magma, cividis, turbo, coolwarm, balance, RdBu, Spectral.
38
+ Colormaps: viridis, plasma, inferno, magma, cividis, turbo, coolwarm, balance, hsv, twilight, RdBu, Spectral. Also: thermal, hot, grays, RdYlBu, delta, curl, phase, rainbow, tol_bright, tol_muted.
39
39
 
40
40
  action=transition_flow: Temporal state transition arrows on the map grid. Only use when rows are in chronological order. If your data has no temporal ordering, transition_flow will still run but the arrows are meaningless — use for time-ordered data only.
41
41
  - You pass the training job_id; the API returns a new result job_id. Use that new job_id for results(get) or results(download).
@@ -50,7 +50,7 @@ NOT FOR: Jobs that haven't completed. Use jobs(action=status) to check first.`,
50
50
  figures: z
51
51
  .union([z.enum(["default", "combined_only", "all", "images"]), z.array(z.string())])
52
52
  .optional()
53
- .describe("action=get: omit=combined only; 'all'=all plots; array=specific (combined,umatrix,hit_histogram,correlation,component_1..N). action=download: 'all'=all image files; array=specific filenames."),
53
+ .describe("action=get: omit=combined only; 'all'=all plots; array=specific (combined,umatrix,hit_histogram,learning_curve,correlation,component_1..N). action=download: 'all'=all image files; array=specific filenames."),
54
54
  include_individual: z
55
55
  .boolean()
56
56
  .optional()
@@ -68,7 +68,7 @@ NOT FOR: Jobs that haven't completed. Use jobs(action=status) to check first.`,
68
68
  colormap: z
69
69
  .string()
70
70
  .optional()
71
- .describe("action=recolor: colormap name (default: coolwarm). action=transition_flow: U-matrix background colormap (default: grays). Examples: viridis, plasma, balance, RdBu."),
71
+ .describe("action=recolor: colormap name (default: coolwarm). action=transition_flow: U-matrix background colormap (default: grays). Examples: viridis, plasma, balance, hsv, twilight, RdBu, phase, rainbow."),
72
72
  output_format: z
73
73
  .enum(["png", "pdf", "svg"])
74
74
  .optional()
@@ -219,6 +219,49 @@ NOT FOR: Jobs that haven't completed. Use jobs(action=status) to check first.`,
219
219
  `Use results(action=download, job_id="${job_id}") to save predictions.csv.`,
220
220
  ].join("\n") });
221
221
  }
222
+ else if (jobType === "train_floop_siom") {
223
+ const siom = summary.siom ?? {};
224
+ const coverage = summary.coverage_assessment ?? {};
225
+ const hitStats = summary.hit_stats ?? {};
226
+ const growthEvents = summary.growth_events ?? [];
227
+ const files = summary.files ?? [];
228
+ const lines = [
229
+ `FLooP-SIOM training ${resultsHeader}`,
230
+ `Topology: ${summary.topology ?? "free"} | Nodes: ${summary.final_length ?? "?"} / ${summary.max_nodes ?? "?"} (${summary.max_nodes_source ?? "user"}) | Features: ${summary.n_features ?? 0} | Samples: ${summary.n_samples ?? 0}`,
231
+ `Passes: ${summary.n_passes ?? "?"} | Growth interval: ${summary.growth_interval ?? "?"} | Ring: ${summary.is_ring ?? false}`,
232
+ `Converged: ${summary.converged ?? false} | Total steps: ${summary.total_steps ?? "?"}`,
233
+ summary.training_duration_seconds !== undefined ? `Training duration: ${summary.training_duration_seconds}s` : "",
234
+ ``,
235
+ `Coverage Assessment:`,
236
+ ` Status: ${String(coverage.status ?? "unknown")}`,
237
+ ` Diagnosis: ${String(coverage.diagnosis ?? "No plain-language diagnosis available.")}`,
238
+ ` Utilization: ${siom.utilization !== undefined ? Number(siom.utilization).toFixed(4) : "N/A"}`,
239
+ ` Dead fraction: ${siom.dead_fraction !== undefined ? Number(siom.dead_fraction).toFixed(4) : "N/A"}`,
240
+ ` Occupied nodes:${hitStats.occupied_nodes !== undefined ? ` ${hitStats.occupied_nodes}` : " N/A"}`,
241
+ ` Top hit share: ${hitStats.top_hit_share !== undefined ? Number(hitStats.top_hit_share).toFixed(4) : "N/A"}`,
242
+ ` Gini: ${siom.gini !== undefined ? Number(siom.gini).toFixed(4) : "N/A"}`,
243
+ ` Entropy: ${siom.entropy !== undefined ? Number(siom.entropy).toFixed(4) : "N/A"}`,
244
+ ``,
245
+ `Quality Metrics:`,
246
+ ` Quantization Error: ${summary.quantization_error !== undefined ? Number(summary.quantization_error).toFixed(4) : "N/A"} (lower is better)`,
247
+ ` Topographic Error: ${summary.topographic_error !== undefined ? Number(summary.topographic_error).toFixed(4) : "N/A"} (lower is better)`,
248
+ ...(Array.isArray(coverage.recommended_actions) && coverage.recommended_actions.length > 0
249
+ ? ["", "Recommended next steps:", ...coverage.recommended_actions.map((step) => ` - ${String(step)}`)]
250
+ : []),
251
+ ``,
252
+ `Features: ${(summary.features ?? []).join(", ")}`,
253
+ growthEvents.length > 0 ? `Growth events: ${growthEvents.length} (latest length ${growthEvents.at(-1)?.length ?? "?"})` : "Growth events: none recorded",
254
+ files.length > 0 ? `Artifacts: ${files.join(", ")}` : "",
255
+ ].filter((l) => l !== "");
256
+ content.push({ type: "text", text: lines.join("\n") });
257
+ for (const name of getResultsImagesToFetch(jobType, summary, figures, include_individual)) {
258
+ const cap = getCaptionForImage(name);
259
+ if (cap)
260
+ content.push({ type: "text", text: cap });
261
+ await tryAttachImage(content, job_id, name);
262
+ inlinedImages.add(name);
263
+ }
264
+ }
222
265
  else {
223
266
  const grid = summary.grid ?? [0, 0];
224
267
  const features = summary.features ?? [];
@@ -252,6 +295,7 @@ NOT FOR: Jobs that haven't completed. Use jobs(action=status) to check first.`,
252
295
  const topCorrLine = topCorrs && topCorrs.length > 0
253
296
  ? `Strongest feature correlations: ${topCorrs.map((t) => `${t.f1 ?? "?"} & ${t.f2 ?? "?"} (${typeof t.r === "number" ? Number(t.r).toFixed(2) : t.r})`).join(", ")}`
254
297
  : "";
298
+ const siom = summary.siom;
255
299
  const textSummary = [
256
300
  `Map training ${resultsHeader}`,
257
301
  `Grid: ${grid[0]}×${grid[1]} | Features: ${summary.n_features ?? 0} | Samples: ${summary.n_samples ?? 0}`,
@@ -272,6 +316,11 @@ NOT FOR: Jobs that haven't completed. Use jobs(action=status) to check first.`,
272
316
  ...(compLines ? [`Component value ranges:\n${compLines}`] : []),
273
317
  ...(clusterLines ? ["", "Cluster map (defining features):", clusterLines] : []),
274
318
  ...(topCorrLine ? ["", topCorrLine] : []),
319
+ ...(siom ? ["", "SIOM coverage metrics:",
320
+ ` Utilization: ${siom.utilization !== undefined ? Number(siom.utilization).toFixed(4) : "N/A"}`,
321
+ ` Dead fraction: ${siom.dead_fraction !== undefined ? Number(siom.dead_fraction).toFixed(4) : "N/A"}`,
322
+ ` Gini: ${siom.gini !== undefined ? Number(siom.gini).toFixed(4) : "N/A"}`,
323
+ ` Entropy: ${siom.entropy !== undefined ? Number(siom.entropy).toFixed(4) : "N/A"}`] : []),
275
324
  ``, `Features: ${features.join(", ")}`,
276
325
  summary.selected_columns ? `Selected columns: ${summary.selected_columns.join(", ")}` : "",
277
326
  summary.transforms ? `Transforms: ${Object.entries(summary.transforms).map(([k, v]) => `${k}=${v}`).join(", ")}` : "",
@@ -285,7 +334,7 @@ NOT FOR: Jobs that haven't completed. Use jobs(action=status) to check first.`,
285
334
  return "";
286
335
  return `Columns not used in training: ${excluded.join(", ")}. You can project them onto this map with inference(action=project_columns, job_id=${job_id}, dataset_id=<dataset_id>, columns=[${excluded.map((c) => `"${c}"`).join(", ")}]) to see how they distribute across the topology. If you ran datasets(action=analyze) before training, any columns it recommended as "project later" are especially good candidates.`;
287
336
  })(),
288
- ...(jobType === "train_som" ? ["", `Next: results(action=export, export_type=training_log) for learning curve; results(action=download) to save figures; jobs(action=compare, job_ids=[...]) to compare runs; inference(action=predict) to score new data; inference(action=project_columns) to project other variables onto the map.`] : []),
337
+ ...((jobType === "train_som" || jobType === "train_siom") ? ["", `Next: results(action=export, export_type=training_log) for learning curve; results(action=download) to save figures; jobs(action=compare, job_ids=[...]) to compare runs; inference(action=predict) to score new data; inference(action=project_columns) to project other variables onto the map.`] : []),
289
338
  ].filter((l) => l !== "").join("\n");
290
339
  content.push({ type: "text", text: textSummary });
291
340
  const imagesToFetch = getResultsImagesToFetch(jobType, summary, figures, include_individual);
@@ -309,13 +358,13 @@ NOT FOR: Jobs that haven't completed. Use jobs(action=status) to check first.`,
309
358
  await tryAttachImage(content, job_id, fname);
310
359
  }
311
360
  }
312
- if (hasExportableJson && (jobType2 === "train_som" || jobType2 === "render_variant")) {
361
+ if (hasExportableJson && (jobType2 === "train_som" || jobType2 === "train_siom" || jobType2 === "render_variant")) {
313
362
  content.push({ type: "text", text: `Structured data: results(action=export, export_type=weights|nodes|training_log)` });
314
363
  }
315
364
  const featuresForLog = summary.features ?? [];
316
365
  const showAvailable = files.length > 0 && !(figures === "all" || figures === "images");
317
366
  if (showAvailable) {
318
- const logicalNames = jobType2 === "train_som" || jobType2 === "render_variant"
367
+ const logicalNames = jobType2 === "train_som" || jobType2 === "train_siom" || jobType2 === "render_variant"
319
368
  ? `Logical names: combined, umatrix, hit_histogram, correlation, ${featuresForLog.map((_, i) => `component_${i + 1}`).join(", ")}. `
320
369
  : "";
321
370
  content.push({ type: "text", text: `Available: ${files.join(", ")}. ${logicalNames}Use results(action=get, figures=[...]) for specific plots or results(action=get, figures=all) for all plots.` });
@@ -324,7 +373,7 @@ NOT FOR: Jobs that haven't completed. Use jobs(action=status) to check first.`,
324
373
  }
325
374
  if (action === "export") {
326
375
  if (!exportType)
327
- throw new Error("results(export) requires export_type param: training_log, weights, or nodes");
376
+ throw new Error("results(export) requires export_type: training_log, weights, nodes, clusters, or transition_matrix");
328
377
  if (exportType === "training_log") {
329
378
  const data = (await apiCall("GET", `/v1/results/${job_id}/training-log`));
330
379
  const ordErrors = data.ordering_errors ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/tools/results.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,OAAO,EACP,UAAU,EACV,qBAAqB,EACrB,WAAW,EAEX,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,GAGhB,MAAM,cAAc,CAAC;AAEtB,MAAM,UAAU,mBAAmB,CACjC,MAA0F;IAE1F,MAAM,CAAC,IAAI,CACT,SAAS,EACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EAuC0E,EAC1E;QACE,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;aACjE,QAAQ,CAAC,+LAA+L,CAAC;QAC5M,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACxD,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACnF,QAAQ,EAAE;aACV,QAAQ,CAAC,gMAAgM,CAAC;QAC7M,kBAAkB,EAAE,CAAC;aAClB,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,mGAAmG,CAAC;QAChH,YAAY,EAAE,CAAC;aACZ,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,iEAAiE,CAAC;QAC9E,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6IAA6I,CAAC;QAC1J,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,qKAAqK,CAAC;QAClL,aAAa,EAAE,CAAC;aACb,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;aAC3B,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,sEAAsE,CAAC;QACnF,UAAU,EAAE,CAAC;aACV,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;aACrC,QAAQ,EAAE;aACV,OAAO,CAAC,QAAQ,CAAC;aACjB,QAAQ,CAAC,6DAA6D,CAAC;QAC1E,eAAe,EAAE,CAAC;aACf,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CAAC,0IAA0I,CAAC;QACvJ,WAAW,EAAE,CAAC;aACX,IAAI,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;aAC3E,QAAQ,EAAE;aACV,QAAQ,CAAC,iKAAiK,CAAC;QAC9K,GAAG,EAAE,CAAC;aACH,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;aACrB,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;aACrB,QAAQ,CAAC,uIAAuI,CAAC;QACpJ,eAAe,EAAE,CAAC;aACf,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;aACrB,QAAQ,EAAE;aACV,QAAQ,CAAC,8GAA8G,CAAC;QAC3H,KAAK,EAAE,CAAC;aACL,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;aACrB,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aACtB,QAAQ,CAAC,6EAA6E,CAAC;KAC3F,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,EACjE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAC7E,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,EAAE;QACxC,MAAM,MAAM,GAA2B,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAE5E,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,MAAM,EAAE,CAAC,CAA4B,CAAC;YACxF,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrF,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,QAAQ,aAAa,MAAM,GAAG,CAAC,CAAC,CAAC,uBAAuB,MAAM,EAAE,CAAC;YACjH,MAAM,OAAO,GAAkB,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;YACxC,MAAM,OAAO,GAAI,OAAO,CAAC,QAA+B,IAAI,WAAW,CAAC;YAExE,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAI,OAAO,CAAC,GAA0B,IAAI,CAAC,CAAC;gBACxD,MAAM,KAAK,GAAI,OAAO,CAAC,UAAsC,IAAI,EAAE,CAAC;gBACpE,MAAM,QAAQ,GAAI,KAAK,CAAC,cAAiD,IAAI,EAAE,CAAC;gBAChF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;oBAClC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC,MAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzH,OAAO,UAAU,CAAC,CAAC,UAAU,eAAe,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC;oBAChH,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACf,CAAC,CAAC,UAAU,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;wBACjC,mBAAmB,aAAa,EAAE;wBAClC,mBAAmB,OAAO,CAAC,aAAa,IAAI,KAAK,WAAW,MAAM,eAAe,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE;wBACzG,EAAE,EAAE,kBAAkB;wBACtB,0BAA0B,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;wBAChH,0BAA0B,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;wBAC9G,0BAA0B,KAAK,CAAC,iBAAiB,IAAI,KAAK,EAAE;wBAC5D,0BAA0B,KAAK,CAAC,eAAe,IAAI,KAAK,mBAAmB;wBAC3E,mBAAmB;wBACnB,QAAQ;wBACR,EAAE,EAAE,+FAA+F;wBACnG,4GAA4G;qBAC7G,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,KAAK,MAAM,IAAI,IAAI,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAqE,EAAE,kBAAkB,CAAC,EAAE,CAAC;oBACxJ,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,GAAG;wBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;oBACnD,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAI,OAAO,CAAC,aAAoC,IAAI,UAAU,CAAC;gBAC5E,MAAM,GAAG,GAAI,OAAO,CAAC,WAAkC,IAAI,MAAM,CAAC;gBAClE,MAAM,KAAK,GAAI,OAAO,CAAC,cAA0C,IAAI,EAAE,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;wBACjC,uBAAuB,OAAO,KAAK,GAAG,OAAO,aAAa,EAAE;wBAC5D,mBAAmB,OAAO,CAAC,aAAa,IAAI,KAAK,eAAe,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE;wBACxF,EAAE,EAAE,iCAAiC,GAAG,IAAI;wBAC5C,UAAU,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;wBAC1E,UAAU,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;wBAC1E,WAAW,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;wBAC7E,sBAAsB,KAAK,CAAC,iBAAiB,IAAI,KAAK,EAAE;qBACzD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,KAAK,MAAM,IAAI,IAAI,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAqE,EAAE,kBAAkB,CAAC,EAAE,CAAC;oBACxJ,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,GAAG;wBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;oBACnD,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAI,OAAO,CAAC,OAAoB,IAAI,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAI,OAAO,CAAC,YAAwD,IAAI,EAAE,CAAC;gBACzF,MAAM,KAAK,GAAG;oBACZ,qBAAqB,aAAa,EAAE;oBACpC,mBAAmB,OAAO,CAAC,aAAa,IAAI,KAAK,eAAe,OAAO,CAAC,UAAU,IAAI,KAAK,eAAe,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE;oBAClI,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC7B,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAC3C,KAAK,GAAG,WAAW,CAAC,CAAC,iBAAiB,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;iBAC/K,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvD,KAAK,MAAM,IAAI,IAAI,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAqE,EAAE,kBAAkB,CAAC,EAAE,CAAC;oBACxJ,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,GAAG;wBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;oBACnD,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAI,OAAO,CAAC,gBAAmD,IAAI,EAAE,CAAC;gBAClF,MAAM,IAAI,GAAI,OAAO,CAAC,cAAiD,IAAI,EAAE,CAAC;gBAC9E,MAAM,OAAO,GAAG,CAAC,CAA0B,EAAE,EAAE,CAC7C,UAAU,CAAC,CAAC,UAAU,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,MAAkB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/J,MAAM,KAAK,GAAG;oBACZ,wBAAwB,aAAa,EAAE;oBACvC,mBAAmB,OAAO,CAAC,aAAa,IAAI,KAAK,iBAAiB,OAAO,CAAC,QAAQ,IAAI,GAAG,sBAAsB,OAAO,CAAC,QAAQ,IAAI,GAAG,OAAO;oBAC7I,qBAAqB;oBACrB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;oBAClC,mBAAmB;oBACnB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;iBACjC,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvD,KAAK,MAAM,IAAI,IAAI,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAqE,EAAE,kBAAkB,CAAC,EAAE,CAAC;oBACxJ,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,GAAG;wBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;oBACnD,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAI,OAAO,CAAC,KAAkB,IAAI,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;wBACjC,oBAAoB,aAAa,EAAE;wBACnC,mBAAmB,OAAO,CAAC,aAAa,IAAI,KAAK,eAAe,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE;wBACxF,WAAW,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBACjE,wCAAwC,MAAM,0BAA0B;qBACzE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;iBAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAI,OAAO,CAAC,KAAkB,IAAI,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;wBACjC,aAAa,aAAa,EAAE;wBAC5B,mBAAmB,OAAO,CAAC,aAAa,IAAI,KAAK,eAAe,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE;wBACxF,WAAW,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBACjE,wCAAwC,MAAM,6BAA6B;qBAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAI,OAAO,CAAC,IAAiB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAI,OAAO,CAAC,QAAqB,IAAI,EAAE,CAAC;gBACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;gBACzK,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACzF,MAAM,QAAQ,GAAG,OAAO,CAAC,yBAA+C,CAAC;gBACzE,MAAM,SAAS,GAAG,OAAO,CAAC,eAAuC,CAAC;gBAClE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAgD,CAAC;gBAC1E,MAAM,OAAO,GAAG,QAAQ;oBACtB,CAAC,CAAC,iBAAiB,QAAQ,CAAC,UAAU,IAAI,KAAK,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,QAAQ,CAAC,QAAQ,IAAI,KAAK,cAAc,QAAQ,CAAC,WAAW,IAAI,KAAK,EAAE;oBAClO,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,MAAM,GAAG,OAAO,CAAC,cAAsC,CAAC;gBAC9D,MAAM,UAAU,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjH,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAwD,CAAC;gBACpF,MAAM,SAAS,GAAG,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;oBAChE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC9F,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,cAAc,GAAG,OAAO,CAAC,eAA6D,CAAC;gBAC7F,MAAM,YAAY,GAAG,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;oBAC9D,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACvB,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC;wBAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC;wBAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC;wBACjC,MAAM,GAAG,GAAI,CAAC,CAAC,YAAqC,IAAI,EAAE,CAAC;wBAC3D,OAAO,aAAa,EAAE,KAAK,KAAK,WAAW,IAAI,uBAAuB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC1F,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACf,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAA8D,CAAC;gBACxF,MAAM,WAAW,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;oBACjD,CAAC,CAAC,mCAAmC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACpK,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,WAAW,GAAG;oBAClB,gBAAgB,aAAa,EAAE;oBAC/B,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,UAAU,IAAI,CAAC,eAAe,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE;oBACzG,UAAU,OAAO,CAAC,KAAK,IAAI,KAAK,cAAc,QAAQ,EAAE;oBACxD,aAAa,OAAO,CAAC,QAAQ,IAAI,IAAI,iBAAiB,OAAO,CAAC,SAAS,IAAI,MAAM,EAAE;oBACnF,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;oBAClE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAsB,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE;oBAC/D,EAAE,EAAE,kBAAkB;oBACtB,yBAAyB,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,qBAAqB;oBAC7E,yBAAyB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,mBAAmB;oBAC1E,yBAAyB,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,kBAAkB;oBAC1E,yBAAyB,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,8BAA8B;oBAC9E,yBAAyB,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,yBAAyB;oBAC7E,yBAAyB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,uBAAuB;oBAC9E,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,wEAAwE,CAAC,CAAC,CAAC,EAAE;oBACrK,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,kCAAkC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/E,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,EAAE,EAAE,aAAa,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACtC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,qBAAsB,OAAO,CAAC,gBAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;oBACxG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAoC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;oBAC/I,CAAC,GAAG,EAAE;wBACJ,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAwC,CAAC;wBAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAyC,CAAC;wBACnE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM;4BAAE,OAAO,EAAE,CAAC;wBACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAO,EAAE,CAAC;wBACrC,OAAO,iCAAiC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sFAAsF,MAAM,uCAAuC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,uLAAuL,CAAC;oBACha,CAAC,CAAC,EAAE;oBACJ,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,mSAAmS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9U,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;gBAClD,MAAM,aAAa,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAqE,EAAE,kBAAkB,CAAC,CAAC;gBAC3J,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,GAAG;wBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;oBACnD,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAI,OAAO,CAAC,KAAkB,IAAI,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAI,OAAO,CAAC,QAA+B,IAAI,WAAW,CAAC;YACzE,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9F,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,CAAC;YACzF,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChD,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBACtC,IAAI,GAAG;wBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;oBACnD,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,IAAI,iBAAiB,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,gBAAgB,CAAC,EAAE,CAAC;gBACrF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iFAAiF,EAAE,CAAC,CAAC;YAC1H,CAAC;YACD,MAAM,cAAc,GAAI,OAAO,CAAC,QAAqB,IAAI,EAAE,CAAC;YAC5D,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC;YACvF,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,gBAAgB;oBAC5E,CAAC,CAAC,iEAAiE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBACpI,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,YAAY,8GAA8G,EAAE,CAAC,CAAC;YACtM,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;YAChH,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,MAAM,eAAe,CAAC,CAA4B,CAAC;gBACrG,MAAM,SAAS,GAAI,IAAI,CAAC,eAAmC,IAAI,EAAE,CAAC;gBAClE,MAAM,UAAU,GAAI,IAAI,CAAC,kBAAsC,IAAI,EAAE,CAAC;gBACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAA0C,CAAC;gBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAyB,CAAC;gBAC9C,MAAM,SAAS,GAAG,CAAC,GAAa,EAAU,EAAE;oBAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,WAAW,CAAC;oBACzC,MAAM,MAAM,GAAG,UAAU,CAAC;oBAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;oBAAC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;oBAAC,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;oBACzF,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3F,CAAC,CAAC;gBACF,MAAM,KAAK,GAAa;oBACtB,sBAAsB,MAAM,EAAE;oBAC9B,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE;oBACpE,WAAW,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE;oBACjF,aAAa,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE;oBACnF,aAAa,IAAI,CAAC,UAAU,IAAI,GAAG,eAAe,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE;oBACzE,EAAE,EAAE,mBAAmB,SAAS,CAAC,MAAM,WAAW;oBAClD,eAAe,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,gBAAgB,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBACnG,eAAe,SAAS,CAAC,SAAS,CAAC,EAAE;iBACtC,CAAC;gBACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,UAAU,CAAC,MAAM,WAAW,EAC/D,eAAe,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,gBAAgB,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EACrG,eAAe,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC5C,CAAC;qBAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,0CAA0C,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAmC,CAAC;gBACzD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAmC,CAAC;gBACzD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvG,CAAC;gBACD,MAAM,OAAO,GAAkB,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnF,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,KAAK,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC;wBACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,UAAU,CAAC,eAAe,MAAM,yBAAyB,KAAK,EAAE,CAAC,CAAC;wBAChG,MAAM,IAAI,GAAG,eAAe,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;wBACxD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;wBAChJ,QAAQ,GAAG,IAAI,CAAC;wBAChB,MAAM;oBACR,CAAC;oBAAC,MAAM,CAAC;wBACP,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,QAAQ;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mJAAmJ,EAAE,CAAC,CAAC;gBACzM,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,MAAM,UAAU,CAAC,CAA4B,CAAC;gBAChG,MAAM,QAAQ,GAAI,IAAI,CAAC,QAAqB,IAAI,EAAE,CAAC;gBACnD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAiB,IAAI,CAAC,CAAC;gBAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAG;oBACZ,qBAAqB,MAAM,EAAE;oBAC7B,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,MAAM,gBAAgB,QAAQ,CAAC,MAAM,EAAE;oBAC/E,aAAa,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAClC,EAAE,EAAE,sBAAsB;iBAC3B,CAAC;gBACF,MAAM,SAAS,GAAI,IAAI,CAAC,mBAA8D,IAAI,EAAE,CAAC;gBAC7F,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBAClD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChF,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uFAAuF,CAAC,CAAC;gBACxG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1I,CAAC;YACD,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,MAAM,kBAAkB,CAAC,CAA8B,CAAC;gBAC1G,MAAM,KAAK,GAAG;oBACZ,yBAAyB,MAAM,EAAE;oBACjC,mBAAmB,IAAI,CAAC,MAAM,EAAE;oBAChC,EAAE;oBACF,2CAA2C;oBAC3C,2CAA2C;iBAC5C,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,YAAwB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,UAAU,MAAM,OAAO,IAAI,CAAC,CAAC;gBAClF,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iCAAiC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7K,CAAC;YAED,IAAI,UAAU,KAAK,mBAAmB,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,MAAM,oBAAoB,CAAC,CAAe,CAAC;gBAC7F,MAAM,KAAK,GAAG;oBACZ,2BAA2B,MAAM,EAAE;oBACnC,gBAAgB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;oBAC5C,kHAAkH;iBACnH,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,mCAAmC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/K,CAAC;YAED,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,MAAM,QAAQ,CAAC,CAA8B,CAAC;gBAChG,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAmB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAmB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpH,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,SAAoB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAmB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjF,MAAM,KAAK,GAAG;oBACZ,yBAAyB,MAAM,EAAE;oBACjC,gBAAgB,IAAI,CAAC,MAAM,cAAc,IAAI,CAAC,MAAM,GAAG,UAAU,aAAa,UAAU,kBAAkB,SAAS,EAAE;oBACrH,EAAE,EAAE,8BAA8B;oBAClC,iCAAiC,EAAE,iCAAiC;iBACrE,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,IAAK,CAAC,CAAC,SAAoB,KAAK,CAAC;wBAAE,MAAM;oBACzC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAkB,CAAC;oBACpC,MAAM,GAAG,GAAG,CAAC,CAAE,CAAC,CAAC,SAAoB,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACrE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,CAAC,CAAC;gBAC1H,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iCAAiC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7K,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAClE,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,MAAM,EAAE,CAAC,CAA4B,CAAC;YACxF,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrF,MAAM,KAAK,GAAI,OAAO,CAAC,KAAkB,IAAI,EAAE,CAAC;YAChD,MAAM,OAAO,GAAI,OAAO,CAAC,QAA+B,IAAI,WAAW,CAAC;YACxE,MAAM,aAAa,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1F,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9F,IAAI,UAAoB,CAAC;YACzB,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACvE,UAAU,GAAG,aAAa,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7E,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,UAAU,GAAG,OAAO,CAAC;gBACrB,IAAI,YAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAAE,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,cAAc,CAAC,CAAC;YACzG,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3E,IAAI,QAAQ,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBACnF,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,OAAO,KAAK,gBAAgB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;gBAC7E,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,UAAU,CAAC,eAAe,MAAM,UAAU,QAAQ,EAAE,CAAC,CAAC;oBAClF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC1D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;gBAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,eAAe,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,6DAA6D,EAAE,CAAC,EAAE,CAAC;QAC9M,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACrE,MAAM,IAAI,GAA4B;gBACpC,QAAQ;gBACR,OAAO,EAAE,eAAe,IAAI,CAAC,UAAU,CAAC;gBACxC,aAAa,EAAE,aAAa,IAAI,KAAK;gBACrC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC;aAChD,CAAC;YACF,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,eAAe,MAAM,SAAS,EAAE,IAAI,CAAC,CAA4B,CAAC;YACtG,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAY,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAkB,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,8BAA8B,QAAQ,kBAAkB,QAAQ,GAAG,EAAE,CAAC,CAAC;gBACtI,KAAK,MAAM,GAAG,IAAI,eAAe,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClD,MAAM,GAAG,GAAG,aAAa,IAAI,KAAK,CAAC;oBACnC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;oBACxD,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACjD,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,eAAe,QAAQ,qDAAqD,QAAQ,wCAAwC,QAAQ,KAAK,EAAE,CAAC,EAAE,CAAC;QACnM,CAAC;QAED,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;YACjC,MAAM,IAAI,GAA4B,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,aAAa,EAAE,aAAa,IAAI,KAAK,EAAE,CAAC;YAC/F,IAAI,eAAe,KAAK,SAAS;gBAAE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YAC1E,IAAI,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAC5C,IAAI,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACrD,IAAI,UAAU,IAAI,UAAU,KAAK,QAAQ;gBAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACrF,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,eAAe,MAAM,kBAAkB,EAAE,IAAI,CAAC,CAA4B,CAAC;YAC/G,MAAM,SAAS,GAAG,IAAI,CAAC,EAAY,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,SAAS,EAAE,CAAC,CAA4B,CAAC;gBAC1F,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;gBAC/D,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;gBACpE,MAAM,OAAO,GAAkB,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE;4BAC7D,yBAAyB,SAAS,mBAAmB,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE;4BAChF,sBAAsB,KAAK,CAAC,iBAAiB,IAAI,KAAK,yBAAyB,KAAK,CAAC,iBAAiB,IAAI,KAAK,EAAE;4BACjH,mBAAmB,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;yBAC1G,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAAC,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC,CAAC;gBACrG,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uBAAuB,SAAS,YAAY,IAAI,CAAC,KAAK,IAAI,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC;YACrI,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uBAAuB,SAAS,qDAAqD,SAAS,iDAAiD,SAAS,KAAK,EAAE,CAAC,EAAE,CAAC;QACvN,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/tools/results.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { fetchTrainingGuidanceFromApi } from "../shared.js";
2
2
  export function registerTrainingGuidanceTool(server) {
3
- server.tool("training_guidance", "Returns parameter guidance for jobs(action=train_map). Call when you need hints for grid, epochs, batch size, model, or periodic. Domain knowledge is served from the API; requires valid API key. Best for: Before or alongside jobs(action=train_map) when you need hints for grid, epochs, batch, model, or periodic. Not for: Full workflow steps — use guide_barsom_workflow or the prepare_training prompt for that.", {}, async () => {
3
+ server.tool("training_guidance", "Returns parameter guidance for jobs(action=train_map). Call when you need hints for grid, epochs, batch size, model, periodic, or what to do with categorical columns. Domain knowledge is served from the API; requires valid API key. Best for: Before or alongside jobs(action=train_map) when you need hints for grid, epochs, batch, model, periodic, or safe baseline categorical handling. Not for: Full workflow steps — use guide_barsom_workflow or the prepare_training prompt for that.", {}, async () => {
4
4
  const text = await fetchTrainingGuidanceFromApi();
5
5
  return { content: [{ type: "text", text }] };
6
6
  });
@@ -1 +1 @@
1
- {"version":3,"file":"training_guidance.js","sourceRoot":"","sources":["../../src/tools/training_guidance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,4ZAA4Z,EAC5Z,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,MAAM,4BAA4B,EAAE,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"training_guidance.js","sourceRoot":"","sources":["../../src/tools/training_guidance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,qeAAqe,EACre,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,MAAM,4BAA4B,EAAE,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare const TRAINING_PREP_URI = "ui://barsom/training-prep";
3
+ export declare function registerTrainingPrepTools(server: McpServer): void;
4
+ //# sourceMappingURL=training_prep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"training_prep.d.ts","sourceRoot":"","sources":["../../src/tools/training_prep.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsBzE,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAkT7D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+EjE"}