pi-subagents 0.72.1 → 0.73.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.
- package/CHANGELOG.md +34 -0
- package/docs/agents.md +3 -1
- package/docs/standalone-background.md +1 -1
- package/docs/tool-reference.md +1 -1
- package/docs/workflows.md +5 -1
- package/package.json +1 -1
- package/src/agents/advertised-agent-prompt.d.ts +6 -4
- package/src/agents/advertised-agent-prompt.d.ts.map +1 -1
- package/src/agents/advertised-agent-prompt.js +16 -30
- package/src/agents/advertised-agent-prompt.js.map +1 -1
- package/src/extension/index.d.ts.map +1 -1
- package/src/extension/index.js +11 -8
- package/src/extension/index.js.map +1 -1
- package/src/extension/tool-activation.js +1 -1
- package/src/extension/tool-activation.js.map +1 -1
- package/src/runs/background/control-channel.d.ts +4 -0
- package/src/runs/background/control-channel.d.ts.map +1 -1
- package/src/runs/background/control-channel.js +16 -1
- package/src/runs/background/control-channel.js.map +1 -1
- package/src/runs/background/run-status.d.ts.map +1 -1
- package/src/runs/background/run-status.js +1 -0
- package/src/runs/background/run-status.js.map +1 -1
- package/src/runs/background/subagent-runner.d.ts.map +1 -1
- package/src/runs/background/subagent-runner.js +8 -1
- package/src/runs/background/subagent-runner.js.map +1 -1
- package/src/runs/foreground/async-stop-action.d.ts.map +1 -1
- package/src/runs/foreground/async-stop-action.js +4 -2
- package/src/runs/foreground/async-stop-action.js.map +1 -1
- package/src/runs/foreground/subagent-executor.d.ts.map +1 -1
- package/src/runs/foreground/subagent-executor.js +142 -64
- package/src/runs/foreground/subagent-executor.js.map +1 -1
- package/src/runs/shared/async-status-projection.d.ts +3 -0
- package/src/runs/shared/async-status-projection.d.ts.map +1 -1
- package/src/runs/shared/async-status-projection.js +3 -0
- package/src/runs/shared/async-status-projection.js.map +1 -1
- package/src/runs/shared/mcp-direct-tool-allowlist.d.ts.map +1 -1
- package/src/runs/shared/mcp-direct-tool-allowlist.js +11 -12
- package/src/runs/shared/mcp-direct-tool-allowlist.js.map +1 -1
- package/src/shared/extension-context.d.ts +2 -0
- package/src/shared/extension-context.d.ts.map +1 -1
- package/src/shared/extension-context.js +4 -0
- package/src/shared/extension-context.js.map +1 -1
- package/src/shared/model-info.d.ts +4 -0
- package/src/shared/model-info.d.ts.map +1 -1
- package/src/shared/model-info.js +9 -0
- package/src/shared/model-info.js.map +1 -1
- package/src/shared/types.d.ts +2 -0
- package/src/shared/types.d.ts.map +1 -1
- package/src/shared/types.js.map +1 -1
- package/src/tui/fleet-status.d.ts.map +1 -1
- package/src/tui/fleet-status.js +12 -6
- package/src/tui/fleet-status.js.map +1 -1
- package/src/tui/fleet.d.ts.map +1 -1
- package/src/tui/fleet.js +12 -1
- package/src/tui/fleet.js.map +1 -1
- package/src/tui/render.d.ts.map +1 -1
- package/src/tui/render.js +54 -34
- package/src/tui/render.js.map +1 -1
- package/src/tui/running-tone.d.ts +11 -0
- package/src/tui/running-tone.d.ts.map +1 -0
- package/src/tui/running-tone.js +23 -0
- package/src/tui/running-tone.js.map +1 -0
- package/src/workflows/scripted-workflow.d.ts +6 -4
- package/src/workflows/scripted-workflow.d.ts.map +1 -1
- package/src/workflows/scripted-workflow.js +100 -35
- package/src/workflows/scripted-workflow.js.map +1 -1
- package/src/workflows/workflow-checklist.d.ts +4 -0
- package/src/workflows/workflow-checklist.d.ts.map +1 -1
- package/src/workflows/workflow-checklist.js +3 -0
- package/src/workflows/workflow-checklist.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.73.1] - 2026-09-27
|
|
6
|
+
|
|
7
|
+
### Highlights
|
|
8
|
+
|
|
9
|
+
- Turning on `subagent` mid-session no longer throws away the prompt cache, so the next message no longer resends the whole conversation.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Turning on `subagent` no longer throws away the prompt cache. The catalog of advertised agents is now sent as its own `advertised_subagents` prompt section, which Pi adds at the end of the conversation. Before, pi-subagents rewrote the whole system prompt, so the first message after `subagents_enable` resent the entire conversation to the cache. Fixes [#2518](https://github.com/nicobailon/pi-subagents/issues/2518). Thanks to [@javapacr](https://github.com/javapacr) for [#2519](https://github.com/nicobailon/pi-subagents/pull/2519).
|
|
14
|
+
- Stopping a background run while it was shutting down could report "Stop requested" even though the runner never read the stop, so an interrupted run finished as paused instead of stopped. The stop now fails with a message to retry once the runner has exited, and that retry stops a paused run.
|
|
15
|
+
|
|
16
|
+
## [0.73.0] - 2026-09-27
|
|
17
|
+
|
|
18
|
+
### Highlights
|
|
19
|
+
|
|
20
|
+
- Failed workflows now say what kind of failure happened, such as a bad script, a failed child, or a timeout, so callers can react without parsing error text.
|
|
21
|
+
- Huge workflow results no longer flood the parent's context. Output is capped, every cut is marked, and the full text is saved to a file.
|
|
22
|
+
- A typo in a workflow's agent name now stops the workflow before any child starts, and `validate` suggests the name you probably meant.
|
|
23
|
+
- Running subagent spinners now use the same thinking-level colors as Pi's prompt box.
|
|
24
|
+
- `mcp:` tool selections work with pi-mcp-adapter 3.0's `mcp-adapter.json` files.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- Failed workflows now include a `failureKind` in foreground details and async status: `validation`, `script`, `child`, `return-serialization`, `timeout`, `detached-child`, or `runtime`. Callers no longer need to parse the error text to tell these apart. Fixes [#2506](https://github.com/nicobailon/pi-subagents/issues/2506).
|
|
29
|
+
- A running subagent's spinner now uses Pi's prompt-box thinking color. A spinner for one child uses that child's thinking level, or the main session's level when the child has none. A spinner for several children, such as a widget header, a parallel or chain card, or a workflow phase, uses the main session's level. `thinking` labels still show the configured level. Thanks to [@pwguler](https://github.com/pwguler) for [#2512](https://github.com/nicobailon/pi-subagents/pull/2512).
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- `mcp:` direct-tool selections now read pi-mcp-adapter 3.0's `mcp-adapter.json` files (the global one and a project's `.pi/mcp-adapter.json`), so a migrated setup no longer fails to launch children with `Unresolved MCP direct-tool selectors`. Pi's own `mcp.json` files are no longer read, because they belong to Pi's built-in MCP support. If your adapter servers are still listed there, move them to `mcp-adapter.json`. Thanks to [@qsgy-edge](https://github.com/qsgy-edge) for [#2511](https://github.com/nicobailon/pi-subagents/pull/2511).
|
|
34
|
+
- Large workflow results no longer flood the parent's context. A foreground workflow caps its Return, Emitted, and Console sections and its failure error at 200 KB or 5000 lines (or your `maxOutput`), shortens each call-trace error to 500 characters, marks each cut, and saves the full text to a file. Async completion notices and `action: "status"` now end cut text in `…` and point to the run's `status.json`. Before, they cut the return value without saying so and showed the full error however long it was. Fixes [#2505](https://github.com/nicobailon/pi-subagents/issues/2505).
|
|
35
|
+
- A workflow script with a misspelled agent name now fails before any child starts, instead of running the earlier children first. `action: "validate"` reports the same error with its line, column, and the closest agent name when there is one (for example `Did you mean 'reviewer'?`). Names built at runtime, and children with their own `cwd`, `agentScope`, or `resume`, are still checked when they launch. Fixes [#2504](https://github.com/nicobailon/pi-subagents/issues/2504).
|
|
36
|
+
- On providers that fix the tool list for a whole prompt, such as bridges to another agent SDK, `subagent` only appears after the next user prompt. The `subagents_enable` result now says so, which stops the model from retrying `subagent` in the same prompt, and it names `--exclude-tools subagents_enable` for keeping `subagent` always available. Fixes [#2513](https://github.com/nicobailon/pi-subagents/issues/2513).
|
|
37
|
+
- A `timeoutMs` or `maxRuntimeMs` above 2,147,483,647 ms (about 24.8 days), the longest delay Node.js timers support, is now rejected before launch, and `action: "resume"` checks its `timeoutMs` the same way. Node shortened such a timer to about 1 ms, so the run timed out almost immediately. Thanks to [@quifox](https://github.com/quifox) for [#2517](https://github.com/nicobailon/pi-subagents/pull/2517).
|
|
38
|
+
|
|
5
39
|
## [0.72.1] - 2026-09-26
|
|
6
40
|
|
|
7
41
|
### Fixed
|
package/docs/agents.md
CHANGED
|
@@ -271,6 +271,8 @@ Advertisement is opt-in discovery, not automatic routing. The catalog is sorted
|
|
|
271
271
|
|
|
272
272
|
The file catalog snapshot refreshes at session start/reload and after extension-owned agent-management mutations. External file or settings edits require `/reload`; ordinary turns do not poll the filesystem. Tool availability and capability-ceiling filtering are checked in memory on every prompt. A failed management-triggered refresh withdraws the catalog until a successful refresh, without changing the persisted mutation's result.
|
|
273
273
|
|
|
274
|
+
The catalog is sent as Pi's `advertised_subagents` prompt section. When it changes mid-session, Pi appends it as a small system message instead of changing the system prompt, so the provider prompt cache is kept. This only works if no other loaded extension returns a replacement `systemPrompt` from `before_agent_start`; in that case Pi folds section changes back into the system prompt and the cache is lost for that request.
|
|
275
|
+
|
|
274
276
|
## Prompt assembly
|
|
275
277
|
|
|
276
278
|
Subagents are narrow by default. Custom agents start with a clean system prompt and only the context you intentionally give them. They do not automatically inherit Pi's whole base prompt, project instruction files, or discovered skills catalog.
|
|
@@ -460,7 +462,7 @@ Examples:
|
|
|
460
462
|
- `allowNestedSubagents: true` with `tools` omitted: normal builtin tools (and, for background children, ambient extensions) remain inherited, and the child-safe nested `subagent` runtime is added.
|
|
461
463
|
- `tools: read, fixture_search` plus `subagentOnlyExtensions: ./tools/fixture-search.ts`: the provider loads only in this agent's child sessions, and the registered `fixture_search` name survives the strict allowlist.
|
|
462
464
|
|
|
463
|
-
Direct MCP tools require [pi-mcp-adapter](https://github.com/nicobailon/pi-mcp-adapter). Subagents only receive direct MCP tools when `mcp:` entries are listed in their frontmatter; global `directTools: true` in
|
|
465
|
+
Direct MCP tools require [pi-mcp-adapter](https://github.com/nicobailon/pi-mcp-adapter). Subagents only receive direct MCP tools when `mcp:` entries are listed in their frontmatter; global `directTools: true` in the adapter's MCP config is not enough by itself. The generic `mcp` proxy tool can still be used for discovery when available. The adapter caches tool metadata at startup, so after connecting a new MCP server for the first time, restart Pi before relying on direct tools. Server `includeTools` and `excludeTools` policies are enforced while resolving cached metadata for children: both accept exact names and `*`/`?` glob patterns against raw, generated-resource, and server/short/mcp/none-prefixed names, with `excludeTools` taking precedence. `mcp:` entries must name servers from the adapter's configuration files. A server that exists only in the adapter's runtime snapshot (registered at runtime, not persisted) cannot be provided to a child: children are pi sessions inside the parent or the runner process, not `pi` processes that could receive an MCP config argument, so such a launch fails with an error saying that MCP tools must come from an ambient adapter extension in a background child. An `mcp:` entry named `subagent` does not authorize nested fanout; declare the builtin `subagent` tool or set `allowNestedSubagents: true`. If a resolved direct MCP name is missing from the child registry, pi-subagents keeps the launch failed under the strict allowlist and reports the registration mismatch; check the resolved names against what the host or pi-mcp-adapter actually registers before child startup.
|
|
464
466
|
|
|
465
467
|
`extensions` controls child extension loading:
|
|
466
468
|
|
|
@@ -33,7 +33,7 @@ The `official-standalone` CI job runs this gate. Both archive and executable has
|
|
|
33
33
|
|
|
34
34
|
The matrix covers public launch/notification, workflows, same-run concurrent sessions, parallel stop, targeted steer/interrupt, child/tool/run deadlines, missing bootstrap, post-spawn persistence/authorization failures, SDK initialization failure, malformed bootstrap input/EOF with an authorized positive control, and competing revival. The provider is deterministic, but SDK sessions, runner and public extension are real. Only startup-failure writes are faulted.
|
|
35
35
|
|
|
36
|
-
`matrix.json` records complete/partial results; `inputs.json` freezes source identities and every mode must use
|
|
36
|
+
`matrix.json` records complete/partial results with per-mode durations; `inputs.json` freezes source identities. The candidate is built and packed once and every mode must use that package hash. Modes run one at a time; they are CPU-bound and miss their deadlines when run concurrently. Inspect per-mode logs, `identity.json`, lifecycle/notification evidence, `status.json` and `process-terminal.json`. A persisted result is not exit proof: the gate separately awaits observed close, verifies dead PIDs before sandbox teardown and checks session shutdown/lease release. CI retains receipts and at most 32 MiB compressed lifecycle evidence. Contributor-head passes do not establish acceptance for a different integration snapshot.
|
|
37
37
|
|
|
38
38
|
For a focused diagnostic, use `node test/smoke/standalone-background.mjs "$release_dir/pi/pi" "$(mktemp -d)/check" bootstrap-errors` (or another matrix mode). A focused pass is not the complete gate.
|
|
39
39
|
|
package/docs/tool-reference.md
CHANGED
|
@@ -126,7 +126,7 @@ The complete plain-JSON inventory is validated before the first launch (maximum
|
|
|
126
126
|
| `preflight` | object | none | Advisory lane hints for `workflowScript` or `workflowScriptPath` only; not accepted with named workflows or direct children. See [bounded workflows](workflows.md#opt-in-bounded-workflows). |
|
|
127
127
|
| `cwd` | string | runtime cwd | Override working directory. With `machine`, the directory on that machine. |
|
|
128
128
|
| `machine` | string | - | Herdr saved machine (label or profile id) for external-cli agents; see [agents.md](agents.md#running-external-cli-agents-on-a-herdr-saved-machine). |
|
|
129
|
-
| `maxOutput` | object | none | Final output truncation limits `{ bytes?, lines? }`.
|
|
129
|
+
| `maxOutput` | object | none | Final output truncation limits `{ bytes?, lines? }`. For child runs it is only applied when set; there is no default cap on the inline path, so use `outputMode: "file-only"` for large outputs. For `workflowScript` results, the Return, Emitted, and Console sections are always capped, at 200 KB / 5000 lines unless `maxOutput` sets other limits. |
|
|
130
130
|
| `artifacts` | boolean | true | Write debug artifacts. |
|
|
131
131
|
| `includeProgress` | boolean | false | Include full progress in result. |
|
|
132
132
|
| `share` | boolean | false | Upload session export to GitHub Gist. |
|
package/docs/workflows.md
CHANGED
|
@@ -25,6 +25,8 @@ A failure in the subagent workflow, child launch, prompt runtime, extension load
|
|
|
25
25
|
|
|
26
26
|
Stop and report the exact failure, run/status, and repository/cwd/worktree/branch/ref state. Before a same-protocol retry or asking the owner, verify the worktree is clean or capture the partial diff. Retry or fix the `subagent` path only through a clear same-protocol action. For backlog lanes and other subagent-governed workflows, external/foreground/CLI fallback requires explicit owner approval. `interactive_shell` remains valid when the user explicitly requests visible foreground/CLI work or the task is outside the governed subagent protocol.
|
|
27
27
|
|
|
28
|
+
Failed workflow details and async `status.json` include `workflow.failureKind` as `validation`, `script`, `child`, `return-serialization`, `timeout`, `detached-child`, or `runtime`. `validation` means the host rejected the script before it ran (syntax or portability) or at completion (unawaited calls); errors thrown into a running script, including rejected `runs.run` parameters and runtime `SyntaxError`s, are `script` because the script could catch them, and failed children are `child`. `runtime` covers host setup and infrastructure failures, such as an unavailable cwd or a crashed worker. A workflow that is stopped or reloaded is not a failure and has no `failureKind`.
|
|
29
|
+
|
|
28
30
|
Pi core may print a generic `pi -ne` extension-load hint; that out-of-repo hint is not protocol-approved fallback. A verified compaction abort may continue the retained child once on its already resolved model; it does not authorize an execution-mode or model switch.
|
|
29
31
|
|
|
30
32
|
## Prompt shortcuts
|
|
@@ -120,7 +122,7 @@ These controls are opt-in. Avoid tight hard budgets for mutation-capable workers
|
|
|
120
122
|
|
|
121
123
|
The optional `preflight` lane hints apply only to raw `workflowScript` or `workflowScriptPath` requests, not named workflows or direct child calls. They are display-only: mismatched coverage warns but never changes execution authority.
|
|
122
124
|
|
|
123
|
-
The result is `{ ok, errors }`. Invalid scripts return a tool error and include line and column data when available. Validation checks syntax, portable nested-async rules, literal `runs.run` and `runs.all` keys and child `baseRef` values, duplicate literal keys in one `runs.all` group, direct keyed access to a known `runs.all` result, and statically clear non-JSON boundary values. Dynamic keys and other runtime-only values are accepted without a warning. Validation does not
|
|
125
|
+
The result is `{ ok, errors }`. Invalid scripts return a tool error and include line and column data when available. Validation checks syntax, portable nested-async rules, literal `runs.run` and `runs.all` keys and child `baseRef` values, duplicate literal keys in one `runs.all` group, direct keyed access to a known `runs.all` result, and statically clear non-JSON boundary values. It also looks up literal `agent` names in `runs.run`, `runs.all`, and `runs.lanes` children against the agents discovered for the request `cwd` and `agentScope`, and reports unknown or ambiguous names with a close match when one exists. Children with their own `cwd`, `agentScope`, or `resume`, object spreads, and names built at runtime are left to launch time. Dynamic keys and other runtime-only values are accepted without a warning. Validation does not launch children or create run artifacts. Executing a workflow runs the same agent-name check first, so an unknown literal agent fails before any child launches.
|
|
124
126
|
|
|
125
127
|
```js
|
|
126
128
|
subagent({ workflowScript: `
|
|
@@ -426,6 +428,8 @@ For watched same-repo workflows, pass `async:false` only when the parent must bl
|
|
|
426
428
|
|
|
427
429
|
Synchronous workflows publish trace and `emit(...)` updates through the tool update callback regardless of `chatProgress`, including RPC/headless and cross-repository runs. These updates include `details.workflow` and `details.workflowChildren`; `chatProgress: "off"` disables the live card, not transport progress. Running foreground child rows additionally expose bounded `activity` (current tool, timing, and counters), plus resolved model/thinking when available, keyed by `childId`. Activity-only updates coalesce over 100 ms; lifecycle updates remain immediate. Activity clears when children settle, and is not persisted for async workflows. Tool names are limited to 256 UTF-8 bytes and each activity object is below 2 KiB (including JSON escaping); arguments and transcripts are not forwarded.
|
|
428
430
|
|
|
431
|
+
The workflow result text keeps the Return, Emitted, and Console sections, and a failed workflow's error, under 200 KB and 5000 lines, or under `maxOutput` when set. Each call-trace error is cut to 500 characters. A cut adds a `[TRUNCATED: ... - full output at <path>]` line. The full text goes to the workflow `output` file when one is set, otherwise to `<run>_workflow-result.md` in the run's artifacts directory, outside the `outputs/` tree where children save their reports. That file has the same retention as the other run artifacts: age-based cleanup removes it from temp and session artifact directories, and `artifactDir: "project"` files are kept. The status line, the rest of each trace line, warnings, and output-path mappings are never cut. Async completion notices and `action: "status"` show short previews; a cut preview or async error ends in `…` and names the run's `status.json`, which holds the full `workflow.value`, `workflow.emits`, and `error`.
|
|
432
|
+
|
|
429
433
|
The legacy `/chain`, `/parallel`, and `/run-chain` commands are not registered.
|
|
430
434
|
|
|
431
435
|
## Direct commands
|
package/package.json
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { ResolvedSubagentCapabilityCeiling } from "../runs/shared/capability-ceiling.ts";
|
|
2
2
|
import type { AgentConfig } from "./agents.ts";
|
|
3
|
+
/**
|
|
4
|
+
* The catalog body without its `<advertised_subagents>` wrapper, for Pi's structured
|
|
5
|
+
* prompt sections, which add the tag from the section key. The byte budget applies to
|
|
6
|
+
* the wrapped form, so both deliveries carry the same entries.
|
|
7
|
+
*/
|
|
8
|
+
export declare function buildAdvertisedAgentCatalog(agents: readonly AgentConfig[], capabilityCeiling?: ResolvedSubagentCapabilityCeiling): string | undefined;
|
|
3
9
|
export declare function buildAdvertisedAgentPrompt(agents: readonly AgentConfig[], capabilityCeiling?: ResolvedSubagentCapabilityCeiling): string | undefined;
|
|
4
|
-
export declare function appendAdvertisedAgentPrompt(systemPrompt: string, advertisedPrompt: string | undefined): string;
|
|
5
|
-
export declare function appendAdvertisedAgentPrompt(systemPrompt: string[], advertisedPrompt: string | undefined): string[];
|
|
6
|
-
export declare function appendAdvertisedAgentPrompt(systemPrompt: undefined, advertisedPrompt: string | undefined): string | undefined;
|
|
7
|
-
export declare function appendAdvertisedAgentPrompt(systemPrompt: string | string[] | undefined, advertisedPrompt: string | undefined): string | string[] | undefined;
|
|
8
10
|
//# sourceMappingURL=advertised-agent-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertised-agent-prompt.d.ts","sourceRoot":"","sources":["../../../src/agents/advertised-agent-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAE9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"advertised-agent-prompt.d.ts","sourceRoot":"","sources":["../../../src/agents/advertised-agent-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAE9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA6B/C;;;;GAIG;AACH,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,iBAAiB,CAAC,EAAE,iCAAiC,GACnD,MAAM,GAAG,SAAS,CAyBpB;AAED,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,iBAAiB,CAAC,EAAE,iCAAiC,GACnD,MAAM,GAAG,SAAS,CAGpB"}
|
|
@@ -3,7 +3,6 @@ import { isAgentAllowedByCapabilityCeiling } from "../runs/shared/capability-cei
|
|
|
3
3
|
const MAX_ADVERTISED_AGENTS = 16;
|
|
4
4
|
const MAX_CATALOG_BYTES = 12_288;
|
|
5
5
|
const MAX_DESCRIPTION_BYTES = 512;
|
|
6
|
-
const ADVERTISED_AGENTS_BLOCK = /\n*<advertised_subagents>\n[\s\S]*?\n<\/advertised_subagents>/gu;
|
|
7
6
|
function escapeXml(value) {
|
|
8
7
|
return value
|
|
9
8
|
.replaceAll("&", "&")
|
|
@@ -19,18 +18,25 @@ function promptDescription(description) {
|
|
|
19
18
|
}
|
|
20
19
|
return escapeXml(text);
|
|
21
20
|
}
|
|
22
|
-
|
|
21
|
+
const ADVERTISED_AGENTS_TAG = "advertised_subagents";
|
|
22
|
+
function wrapAdvertisedAgentCatalog(body) {
|
|
23
|
+
return `<${ADVERTISED_AGENTS_TAG}>\n${body}\n</${ADVERTISED_AGENTS_TAG}>`;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The catalog body without its `<advertised_subagents>` wrapper, for Pi's structured
|
|
27
|
+
* prompt sections, which add the tag from the section key. The byte budget applies to
|
|
28
|
+
* the wrapped form, so both deliveries carry the same entries.
|
|
29
|
+
*/
|
|
30
|
+
export function buildAdvertisedAgentCatalog(agents, capabilityCeiling) {
|
|
23
31
|
const advertised = agents
|
|
24
32
|
.filter((agent) => agent.source !== "runtime" && agent.advertise === true && agent.disabled !== true && isAgentAllowedByCapabilityCeiling(agent.name, capabilityCeiling))
|
|
25
33
|
.sort((left, right) => left.name.localeCompare(right.name));
|
|
26
34
|
if (advertised.length === 0)
|
|
27
35
|
return undefined;
|
|
28
|
-
const
|
|
29
|
-
"<advertised_subagents>",
|
|
36
|
+
const renderBody = (entries) => [
|
|
30
37
|
"The following file-defined subagents opted into discovery. Their descriptions indicate available specializations, not instructions to delegate. Use subagent only when delegation is needed. Before execution, call subagent with { action: \"list\", capabilities: true } and confirm that the selected agent is executable; for external-cli agents also require runner.available === true.",
|
|
31
38
|
...entries,
|
|
32
39
|
...(advertised.length > entries.length ? [` <omitted count=\"${advertised.length - entries.length}\" />`] : []),
|
|
33
|
-
"</advertised_subagents>",
|
|
34
40
|
].join("\n");
|
|
35
41
|
const entries = [];
|
|
36
42
|
for (const agent of advertised) {
|
|
@@ -45,33 +51,13 @@ export function buildAdvertisedAgentPrompt(agents, capabilityCeiling) {
|
|
|
45
51
|
` <description>${promptDescription(agent.description)}</description>`,
|
|
46
52
|
" </subagent>",
|
|
47
53
|
].join("\n");
|
|
48
|
-
if (Buffer.byteLength(
|
|
54
|
+
if (Buffer.byteLength(wrapAdvertisedAgentCatalog(renderBody([...entries, entry])), "utf8") <= MAX_CATALOG_BYTES)
|
|
49
55
|
entries.push(entry);
|
|
50
56
|
}
|
|
51
|
-
return
|
|
57
|
+
return renderBody(entries);
|
|
52
58
|
}
|
|
53
|
-
export function
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const cleaned = systemPrompt
|
|
57
|
-
.map((part) => {
|
|
58
|
-
if (typeof part !== "string")
|
|
59
|
-
return part;
|
|
60
|
-
const stripped = part.replace(ADVERTISED_AGENTS_BLOCK, "");
|
|
61
|
-
if (stripped !== part)
|
|
62
|
-
changed = true;
|
|
63
|
-
return stripped;
|
|
64
|
-
})
|
|
65
|
-
.filter((b) => typeof b === "string" && b.length > 0);
|
|
66
|
-
if (advertisedPrompt) {
|
|
67
|
-
return [...cleaned, advertisedPrompt];
|
|
68
|
-
}
|
|
69
|
-
return changed ? cleaned : systemPrompt;
|
|
70
|
-
}
|
|
71
|
-
if (typeof systemPrompt === "string") {
|
|
72
|
-
const base = systemPrompt.replace(ADVERTISED_AGENTS_BLOCK, "");
|
|
73
|
-
return advertisedPrompt ? (base.trim() ? `${base.trimEnd()}\n\n${advertisedPrompt}` : advertisedPrompt) : base;
|
|
74
|
-
}
|
|
75
|
-
return advertisedPrompt;
|
|
59
|
+
export function buildAdvertisedAgentPrompt(agents, capabilityCeiling) {
|
|
60
|
+
const body = buildAdvertisedAgentCatalog(agents, capabilityCeiling);
|
|
61
|
+
return body === undefined ? undefined : wrapAdvertisedAgentCatalog(body);
|
|
76
62
|
}
|
|
77
63
|
//# sourceMappingURL=advertised-agent-prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advertised-agent-prompt.js","sourceRoot":"","sources":["../../../src/agents/advertised-agent-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAGzF,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,MAAM,qBAAqB,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"advertised-agent-prompt.js","sourceRoot":"","sources":["../../../src/agents/advertised-agent-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extension/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAAW,KAAK,YAAY,EAA8C,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extension/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAAW,KAAK,YAAY,EAA8C,MAAM,iCAAiC,CAAC;AAuCzH,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAyBjG,OAAO,EAGN,KAAK,aAAa,EAYlB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAgShE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,EAAE,CAgC7E;AAED,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA+yBxE"}
|
package/src/extension/index.js
CHANGED
|
@@ -19,7 +19,7 @@ import { keyText } from "@earendil-works/pi-coding-agent";
|
|
|
19
19
|
import { Box, Container, Spacer, Text, truncateToWidth, visibleWidth, wrapTextWithAnsi } from "@earendil-works/pi-tui";
|
|
20
20
|
import { clearAgentDiscoveryCache, discoverAgentSnapshot, discoverAgents, discoverAgentsAll } from "../agents/agents.js";
|
|
21
21
|
import { resolveGlobalNpmRoot } from "../agents/global-npm-root.js";
|
|
22
|
-
import {
|
|
22
|
+
import { buildAdvertisedAgentCatalog, buildAdvertisedAgentPrompt } from "../agents/advertised-agent-prompt.js";
|
|
23
23
|
import { clearRuntimeAgentsForPi, listRuntimeAgentConfigs, mergeRuntimeAgents } from "../agents/runtime-agent-registry.js";
|
|
24
24
|
import { registerRuntimeAgentEventListener } from "../agents/runtime-agent-events.js";
|
|
25
25
|
import { ensureAccessibleDir } from "../shared/accessible-dir.js";
|
|
@@ -32,6 +32,7 @@ import { cleanupOldChainDirs } from "../shared/settings.js";
|
|
|
32
32
|
import { clearLegacyResultAnimationTimer, renderSubagentResult, renderSubagentSummary, setInlineWorkflowCoverage } from "../tui/render.js";
|
|
33
33
|
import { getInspectorPlugins, registerInspectorEventListener } from "../inspectors/plugins.js";
|
|
34
34
|
import { SubagentFleetStatus, resolveFleetViewPlacement } from "../tui/fleet-status.js";
|
|
35
|
+
import { readMainThinkingLevel, setMainThinkingLevelSource } from "../tui/running-tone.js";
|
|
35
36
|
import { createSubagentParamsSchema } from "./schemas.js";
|
|
36
37
|
import { createAsyncJobTracker } from "../runs/background/async-job-tracker.js";
|
|
37
38
|
import { getActiveAsyncCapacitySnapshot, resolveAbandonedSlotReleaseAfterMs, resolveMaxActiveAsyncRunsPerSession } from "../runs/background/active-async-capacity.js";
|
|
@@ -372,6 +373,7 @@ export default function registerSubagentExtension(pi) {
|
|
|
372
373
|
return;
|
|
373
374
|
}
|
|
374
375
|
const runtimeRegistry = getRuntimeRegistry();
|
|
376
|
+
setMainThinkingLevelSource(() => readMainThinkingLevel(() => pi.getThinkingLevel()));
|
|
375
377
|
DIRS.results = ensureAccessibleDir(DIRS.results);
|
|
376
378
|
DIRS.async = ensureAccessibleDir(DIRS.async);
|
|
377
379
|
cleanupOldChainDirs();
|
|
@@ -775,14 +777,15 @@ export default function registerSubagentExtension(pi) {
|
|
|
775
777
|
pi.registerTool(tool);
|
|
776
778
|
pi.on("before_agent_start", async (event, ctx) => {
|
|
777
779
|
await waitForAdvertisement();
|
|
778
|
-
|
|
780
|
+
if (!event.systemPromptOptions.selectedTools.includes("subagent"))
|
|
781
|
+
return;
|
|
779
782
|
const sessionId = state.currentSessionId ?? resolveCurrentSessionId(ctx.sessionManager);
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
const
|
|
784
|
-
if (
|
|
785
|
-
|
|
783
|
+
// Structured sections let Pi append a transcript delta instead of replacing the
|
|
784
|
+
// cached system prompt. Set the section on every turn it applies: Pi rebuilds the
|
|
785
|
+
// options each turn, and an unset turn records a removal.
|
|
786
|
+
const catalog = buildAdvertisedAgentCatalog(advertisedAgents, resolveCurrentSubagentCapabilityCeiling(sessionId));
|
|
787
|
+
if (catalog)
|
|
788
|
+
event.systemPromptOptions.sections.advertised_subagents = catalog;
|
|
786
789
|
});
|
|
787
790
|
registerWaitTool(pi, state, waitToolConfig.enabled, waitSubscriptionManager, waitToolConfig.defaultTimeoutMs, undefined, supervisorChannel.hasPendingRequests);
|
|
788
791
|
pi.on("agent_end", async (_event, ctx) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extension/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,OAAO,EAAiE,MAAM,iCAAiC,CAAC;AACzH,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAkB,MAAM,wBAAwB,CAAC;AACvI,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAAqC,MAAM,qBAAqB,CAAC;AAC5J,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAC/G,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC3H,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC3I,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,kCAAkC,EAAE,mCAAmC,EAAE,MAAM,6CAA6C,CAAC;AACtK,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,MAAM,oCAAoC,CAAC;AAC/G,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AACxG,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EACN,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,GAE/B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAuB,MAAM,iCAAiC,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC/G,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;AACnH,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,0BAA0B,EAA4B,MAAM,8BAA8B,CAAC;AACjL,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,sBAAsB,EAAE,EAAE,0BAA0B,EAA8B,MAAM,8BAA8B,CAAC;AAC9H,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,8BAA8B,EAAuC,MAAM,uBAAuB,CAAC;AAChK,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,uCAAuC,EAAE,MAAM,sCAAsC,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAIN,IAAI,EACJ,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,EAC/B,sBAAsB,EACtB,8BAA8B,EAC9B,UAAU,EACV,kCAAkC,GAClC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,2BAA2B,EAC3B,2BAA2B,EAC3B,6BAA6B,GAE7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,0BAA0B,GAAG,6BAA6B,CAAC;AAkBjE,SAAS,kBAAkB;IAC1B,MAAM,WAAW,GAAG,UAAqC,CAAC;IAC1D,MAAM,QAAQ,GAAG,WAAW,CAAC,0BAA0B,CAAiD,CAAC;IACzG,IAAI,QAAQ,EAAE,gBAAgB,YAAY,OAAO,IAAI,QAAQ,CAAC,aAAa,YAAY,GAAG,EAAE,CAAC;QAC5F,IAAI,CAAC,CAAC,QAAQ,CAAC,qCAAqC,YAAY,OAAO,CAAC,EAAE,CAAC;YAC1E,QAAQ,CAAC,qCAAqC,GAAG,IAAI,OAAO,EAAE,CAAC;QAChE,CAAC;QACD,OAAO,QAAmC,CAAC;IAC5C,CAAC;IACD,MAAM,QAAQ,GAA4B;QACzC,gBAAgB,EAAE,IAAI,OAAO,EAAE;QAC/B,qCAAqC,EAAE,IAAI,OAAO,EAAE;QACpD,aAAa,EAAE,IAAI,GAAG,EAAE;KACxB,CAAC;IACF,WAAW,CAAC,0BAA0B,CAAC,GAAG,QAAQ,CAAC;IACnD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,SAAiB;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACvC,IAAI,OAAO,IAAI,oBAAoB;QAAE,OAAO,CAAC,KAAK,CAAC,0BAA0B,KAAK,UAAU,OAAO,KAAK,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACvC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAG,CAAC,GAAW,EAAQ,EAAE;QACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACF,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAW,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrG,MAAM,UAAU,GAAG,CAAC,KAAa,EAAU,EAAE;QAC5C,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;iBACrC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBACzC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC5C,KAAK,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC5C,KAAK,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC9C,CAAC;;gBAAM,MAAM;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,KAAa,EAA6C,EAAE;QAChF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG;YAAE,OAAO,SAAS,CAAC;QACtE,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACtB,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5B,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACV,CAAC;YACD,IAAI,KAAK,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,eAAe,GAAG,IAAI,CAAC;YAC5E,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK;gBAAE,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1H,IAAI,KAAK,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC;gBAAE,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;YAC9E,KAAK,IAAI,CAAC,CAAC;QACZ,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAU,EAAE;QACpD,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QACxC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,gBAAgB,GAAG,IAAI,CAAC;QAC5B,KAAK,KAAK,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACpD,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,OAAO,EAAE,CAAC;gBACb,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;gBACxB,SAAS;YACV,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3B,UAAU,IAAI,CAAC,CAAC;gBAChB,gBAAgB,GAAG,KAAK,CAAC;gBACzB,SAAS;YACV,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3B,UAAU,IAAI,CAAC,CAAC;gBAChB,IAAI,UAAU,KAAK,CAAC;oBAAE,OAAO,KAAK,GAAG,CAAC,CAAC;gBACvC,SAAS;YACV,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3B,WAAW,IAAI,CAAC,CAAC;gBACjB,IAAI,WAAW,KAAK,CAAC;oBAAE,iBAAiB,GAAG,UAAU,KAAK,CAAC,IAAI,gBAAgB,CAAC;gBAChF,gBAAgB,GAAG,KAAK,CAAC;gBACzB,SAAS;YACV,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3B,WAAW,IAAI,CAAC,CAAC;gBACjB,IAAI,WAAW,KAAK,CAAC;oBAAE,iBAAiB,GAAG,KAAK,CAAC;gBACjD,SAAS;YACV,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,UAAU,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBACpE,gBAAgB,GAAG,IAAI,CAAC;gBACxB,SAAS;YACV,CAAC;YACD,IAAI,iBAAiB,IAAI,WAAW,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvJ,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACpC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnF,IAAI,GAAG,EAAE,CAAC;oBACT,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACjC,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;wBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC1F,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gBACrB,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;QAC5C,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,OAAO,EAAE,CAAC;YACb,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;YACpB,SAAS;QACV,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClH,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjF,IAAI,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;oBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1F,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;gBAChB,SAAS;YACV,CAAC;QACF,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClH,KAAK,GAAG,kBAAkB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACtC,SAAS;QACV,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc;IAClD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC;QACJ,OAAO,8BAA8B,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1F,CAAC;AACF,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,KAAc,EAAE,OAAgB,EAAE,cAAwB;IACzG,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,oDAAoD,CAAC;IAClF,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,gFAAgF;IAChF,MAAM,IAAI,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAC3D,MAAM,SAAS,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAC;IAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,qBAAqB,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC/F,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,cAAc,IAAI,MAAM,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,iBAAgC;IAC/D,IAAI,iBAAiB,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA6B;IAC1D,OAAO,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;WACxE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC;WAC7E,KAAK,CAAC;AACX,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA6B;IACxD,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC;AACvH,CAAC;AAED,SAAS,2BAA2B,CACnC,SAAoB,EACpB,MAAgC,EAChC,OAA8B,EAC9B,KAAsC,EACtC,cAAyC,EACzC,wBAAiC;IAEjC,SAAS,CAAC,KAAK,EAAE,CAAC;IAClB,SAAS,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;IAC/H,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAChH,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,0BAA0B,CAClC,OAA4B,EAC5B,OAA8B,EAC9B,KAAsC,EACtC,cAAyC,EACzC,wBAAiC,EACjC,kBAAyD,GAAG,EAAE,CAAC,KAAK;IAEpE,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,SAAsD,CAAC;IAC3D,SAAS,CAAC,MAAM,GAAG,CAAC,KAAa,EAAY,EAAE;QAC9C,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW,IAAI,YAAY,KAAK,SAAS,IAAI,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7G,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC/B,SAAS,GAAG,YAAY,CAAC;YACzB,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC;QAC1H,CAAC;QACD,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,8BAA8B;IAClB,OAAO,CAAgC;IACvC,KAAK,CAAkC;IAExD,YAAY,OAAsC,EAAE,KAAsC;QACzF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,UAAU,KAAU,CAAC;IAErB,MAAM,CAAC,KAAa;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,CAAC,eAAe,CAAC,YAAY,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,GAAG,CAAC;QACvB,MAAM,MAAM,GAAG,eAAe,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;QACzE,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9F,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAoB;IAC1D,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,CAAC;IAC/E,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAA6D,CAAC;IAC1G,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,mBAAmB;YAAE,SAAS;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI;YAC5C,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACtD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,cAAc,EAAE,KAAK,CAAC,oBAAoB,KAAK,iBAAiB;aAChE,CAAC,CAAC;YACH,CAAC,CAAC,OAAO,CAAC,YAAY;gBACrB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,oBAAoB,KAAK,iBAAiB,EAAE,CAAC;gBACvG,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACpC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACrF,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC3B,4BAA4B,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;SAClC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACnC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrG,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;eACpE,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;eAC1E,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QACzD,OAAO;YACN,EAAE,EAAE,GAAG,CAAC,OAAO;YACf,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM;YAC5E,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,cAAc,EAAE,GAAG,CAAC,aAAa,KAAK,iBAAiB,IAAI,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC;SAC1G,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAAgB;IACjE,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,GAAG,EAAE,CAAC;QAC7C,OAAO;IACR,CAAC;IACD,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAE7C,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,mBAAmB,EAAE,CAAC;IAEtB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC;IACpD,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAChF,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC;IACxD,MAAM,wBAAwB,GAAG,MAAM,CAAC,iBAAiB,KAAK,SAAS,CAAC;IACxE,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,mBAAmB,GAAG,MAAM,CAAC,cAAc,EAAE,WAAW,IAAI,uBAAuB,CAAC,WAAW,CAAC;IACtG,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;IAC5C,IAAI,uBAAkE,CAAC;IAEvE,MAAM,KAAK,GAAkB;QAC5B,OAAO,EAAE,EAAE;QACX,gBAAgB,EAAE,IAAI;QACtB,yBAAyB,EAAE,IAAI;QAC/B,iBAAiB,EAAE,wBAAwB,EAAE;QAC7C,qBAAqB,EAAE,MAAM,CAAC,WAAW,IAAI,uBAAuB,CAAC,GAAG;QACxE,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,iBAAiB,EAAE,IAAI;QACvB,mBAAmB,EAAE,EAAE;QACvB,kBAAkB,EAAE,KAAK;QACzB,cAAc,EAAE;YACf,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,CAAC;YACR,eAAe,EAAE,kCAAkC,CAAC,MAAM,CAAC,2BAA2B,CAAC,IAAI,IAAI;YAC/F,OAAO,EAAE,CAAC;YACV,YAAY,EAAE,EAAE;SAChB;QACD,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mCAAmC,CAAC,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE;QACtH,iBAAiB,EAAE,IAAI,GAAG,EAAE;QAC5B,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,cAAc,EAAE,IAAI,GAAG,EAAE;QACzB,kBAAkB,EAAE,IAAI,GAAG,EAAE;QAC7B,uBAAuB,EAAE,IAAI;QAC7B,aAAa,EAAE,IAAI,GAAG,EAAE;QACxB,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,IAAI,GAAG,EAAE;QACzB,gBAAgB,EAAE,KAAK;QACvB,OAAO,EAAE,IAAI;QACb,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE;YACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;SACf;KACD,CAAC;IACF,MAAM,iBAAiB,GAAG,CAAI,GAAiC,EAAiB,EAAE;QACjF,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;QACnC,OAAO,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE;YACvC,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM;gBAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAChE,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,EAAE,EAAE,KAAK,EAAE;QAClE,wFAAwF;QACxF,qBAAqB,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,+BAA+B,EAAE,IAAI,EAAE;KAC9E,CAAC,CAAC;IACH,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACrE,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC1I,IAAI,0BAA2F,CAAC;IAChG,MAAM,WAAW,GAAG,gBAAgB;QACnC,CAAC,CAAC,IAAI,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAClD,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,IAAI,CAAC;gBACJ,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC9D,MAAM,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9M,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzC,IAAI,KAAK,CAAC,aAAa,KAAK,GAAG;wBAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC5D,OAAO;gBACR,CAAC;gBACD,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,CAAC;QAC1F,CAAC,CAAC,SAAS,CAAC;IACb,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,0BAA0B,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IAC1C,MAAM,kBAAkB,GAAG,MAAM,CAAC,aAAa,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACjJ,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;QACrD,MAAM;QACN,SAAS,EAAE,kBAAkB;QAC7B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,oBAAoB,EAAE,CAAC;YAC7B,OAAO,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAClF,CAAC;QACD,wBAAwB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,uCAAuC,CAAC,SAAS,CAAC;KAC3F,CAAC,CAAC;IACH,IAAI,qBAAqB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACrC,IAAI,gBAAgB,GAAkB,EAAE,CAAC;IACzC,IAAI,iBAAsE,CAAC;IAC3E,IAAI,uBAAuB,GAAG,CAAC,CAAC;IAChC,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,kBAAkB,GAAuC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/E,IAAI,mBAAmB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACnC,IAAI,cAAc,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACtD,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;QACvC,IAAI,OAAkC,CAAC;QACvC,GAAG,CAAC;YACH,OAAO,GAAG,kBAAkB,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;YAC7D,IAAI,OAAO,KAAK,kBAAkB,IAAI,MAAM;gBAAE,MAAM,MAAM,CAAC,KAAK,CAAC;QAClE,CAAC,QAAQ,OAAO,KAAK,kBAAkB,EAAE;IAC1C,CAAC,CAAC;IACF,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACpC,gBAAgB,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/B,wBAAwB,EAAE,CAAC;QAC3B,gBAAgB,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM;aACvI,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,CAAC,GAAqB,EAAE,EAAE;QACpD,MAAM,UAAU,GAAG,EAAE,uBAAuB,CAAC;QAC7C,mBAAmB,EAAE,CAAC;QACtB,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,GAAG,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,gBAAgB,GAAG,EAAE,CAAC;QACtB,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACvD,UAAU,GAAG,IAAI,CAAC;QAClB,kBAAkB,GAAG,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACzD,IAAI,UAAU,KAAK,uBAAuB;gBAAE,OAAO;YACnD,UAAU,GAAG,IAAI,CAAC;YAClB,uBAAuB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAClB,IAAI,UAAU,KAAK,uBAAuB;gBAAE,OAAO;YACnD,0EAA0E;YAC1E,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO,EAAE,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACpC,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAClH,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,IAAI,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACzE,OAAO,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACrE,CAAC,CAAC;IACF,MAAM,wBAAwB,GAAG,CAAC,GAAW,EAAE,KAAiB,EAAE,sBAA+B,EAAE,EAAE;QACpG,IAAI,uBAAuB,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;QACvI,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;QAChI,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC;QACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACzB,MAAM,gBAAgB,GAAkB;YACvC,GAAG,GAAG,CAAC,OAAO;YACd,GAAG,GAAG,CAAC,OAAO;YACd,GAAG,GAAG,CAAC,IAAI;YACX,GAAG,GAAG,CAAC,OAAO;SACd,CAAC;QACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC5G,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxD,OAAO;YACN,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC;SAC9I,CAAC;IACH,CAAC,CAAC;IACF,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,sBAAsB,EAAE,GAAG,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;QAClL,aAAa,EAAE,kBAAkB;QACjC,aAAa,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE;QAC5C,sBAAsB,EAAE,iBAAiB,CAAC,yBAAyB;KACnE,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,mBAAmB,CACxC,EAAE,EACF,KAAK,EACL,IAAI,CAAC,OAAO,EACZ,EAAE,GAAG,EAAE,GAAG,IAAI,EACd;QACC,QAAQ,EAAE,kBAAkB;QAC5B,SAAS,EAAE,uBAAuB;QAClC,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,MAAM,CAAC;QAChF,wBAAwB,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,wBAAwB,EAAE;QAC9E,iBAAiB,EAAE,uBAAuB;QAC1C,sBAAsB,EAAE,MAAM,CAAC,cAAc,EAAE,cAAc,KAAK,IAAI;QACtE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;KAC3C,CACD,CAAC;IACF,MAAM,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC;IAChH,qBAAqB,GAAG,aAAa,CAAC,qBAAqB,CAAC;IAC5D,MAAM,mBAAmB,GAAG,IAAI,eAAe,EAAE,CAAC;IAClD,IAAI,mBAA8D,CAAC;IACnE,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC9B,uBAAuB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzC,IAAI,CAAC;oBACJ,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;YACF,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,uBAAuB,CAAC,KAAK,EAAE,EAAE,CAAC;QACnC,CAAC;QACD,uBAAuB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1B,mBAAmB,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;gBAC3C,IAAI,CAAC;oBACJ,MAAM,qBAAqB,CAAC;wBAC3B,YAAY,EAAE,IAAI,CAAC,KAAK;wBACxB,UAAU,EAAE,IAAI,CAAC,OAAO;wBACxB,MAAM,EAAE,mBAAmB,CAAC,MAAM;wBAClC,eAAe,EAAE,IAAI,GAAG,CAAC;4BACxB,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;4BACzB,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;4BAC5C,GAAG,mBAAmB,CAAC,qBAAqB,EAAE;yBAC9C,CAAC;qBACF,CAAC,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;YACF,CAAC,EAAE,wBAAwB,CAAC,CAAC;YAC7B,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC;QAC/B,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,YAAY,GAAyB;QAC1C,EAAE;QACF,KAAK;QACL,MAAM;QACN,cAAc;QACd,eAAe,EAAE,cAAc,CAAC,OAAO;QACvC,wBAAwB,EAAE,cAAc,CAAC,gBAAgB;QACzD,wBAAwB,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC;QAC1F,QAAQ,EAAE,YAAY;QACtB,gBAAgB;QAChB,sBAAsB;QACtB,WAAW;QACX,cAAc,EAAE,wBAAwB;QACxC,iBAAiB,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;QACrG,eAAe,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC;gBACJ,uBAAuB,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,2EAA2E;gBAC3E,OAAO,CAAC,KAAK,CAAC,uEAAuE,EAAE,KAAK,CAAC,CAAC;YAC/F,CAAC;QACF,CAAC;QACD,2BAA2B,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;QACxE,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC;QACtE,qBAAqB,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE;QACpD,wBAAwB,EAAE,SAAS;KACnC,CAAC;IACF,IAAI,QAAsC,CAAC;IAC3C,IAAI,eAAsD,CAAC;IAC3D,MAAM,WAAW,GAAG,GAA8B,EAAE;QACnD,eAAe,KAAK,MAAM,CAAC,yCAAyC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,sBAAsB,EAAE,EAAE,EAAE;YACzG,QAAQ,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAChD,OAAO,QAAQ,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IACxB,CAAC,CAAC;IAEF,EAAE,CAAC,uBAAuB,CAAkC,+BAA+B,EAAE,uBAAuB,CAAC,CAAC;IACtH,MAAM,qBAAqB,GAAI,EAE7B,CAAC,qBAAqB,CAAC;IACzB,IAAI,OAAO,qBAAqB,KAAK,UAAU,EAAE,CAAC;QACjD,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,2BAA2B,EAAE,qBAAqB,CAAC,CAAC;IACpF,CAAC;IAED,EAAE,CAAC,uBAAuB,CAAsB,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC9F,MAAM,OAAO,GAAG,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,OAAO,0BAA0B,CAChC,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,CAAC,kBAAkB,EACzB,MAAM,CAAC,wBAAwB,EAC/B,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,CAAY,sBAAsB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC3F,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;YAClD,CAAC,CAAC,OAAO,CAAC,OAAO;YACjB,CAAC,CAAC,OAAO,CAAC,OAAO;iBACf,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;iBACxC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;iBAC1B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,CAAwB,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAChG,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAI,OAAO,CAAC,OAA6C,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC9G,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,WAAW;YAC1C,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC;YAC1B,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ;gBAC5B,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC;gBAC1B,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACrF,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACrF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACzI,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ;YACpC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1D,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7E,IAAI,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC9C,IAAI,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,SAAS,oBAAoB,CAAC,EAAE,CAAC;QACpE,CAAC;QACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;QAC1E,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YAC/B,IAAI,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACjK,CAAC;QACD,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;YACzC,IAAI,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,OAAO,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC;QAChG,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAClD,IAAI,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,KAAK,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACrG,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,CAAiC,8BAA8B,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QACvH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAqD,CAAC;QAC9E,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,CAAgC,6BAA6B,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QACrH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAoD,CAAC;QAC7E,IAAI,CAAC,OAAO,EAAE,KAAK;YAAE,OAAO,SAAS,CAAC;QACtC,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,OAAO,IAAI,8BAA8B,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC7H,CAAC,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,KAAK,EAAE,EAAU,EAAE,MAA0B,EAAE,MAAmB,EAAE,QAAkE,EAAE,GAAqB,EAAE,EAAE;QAC7L,MAAM,oBAAoB,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC;IACF,MAAM,wBAAwB,GAAG,CAAC,EAAU,EAAE,MAA0B,EAAE,MAAmB,EAAE,QAAkE,EAAE,GAAqB,EAAE,EAAE;QAC3L,IAAI,GAAG,CAAC,KAAK;YAAE,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,2BAA2B,CAAC;QAC/C,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa;QACrC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAC9C,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC;KAC5D,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,sCAAsC,CAAC;QACnE,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa;QACrC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CACrD,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC;QACnE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;YACrE,IAAI,GAAG,CAAC,KAAK;gBAAE,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,oBAAoB,EAAE,CAAC;YAC7B,OAAO,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACzF,CAAC;KACD,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,yBAAyB,CAAC;QAC3C,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa;QACrC,OAAO,EAAE,oBAAoB;QAC7B,KAAK;KACL,CAAC,CAAC;IAGH,MAAM,UAAU,GAAG,0BAA0B,EAAE,CAAC;IAChD,MAAM,IAAI,GAA+C;QACxD,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,4BAA4B,CAAC,MAAM,CAAC;QACjD,GAAG,+BAA+B,CAAC,MAAM,CAAC;QAC1C,UAAU;QAEV,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;YAC9C,OAAO,kBAAkB,CAAC,MAAM,wBAAwB,CAAC,EAAE,EAAE,MAA4B,EAAE,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QACpJ,CAAC;QAED,UAAU,CAAC,IAAI,EAAE,KAAK;YACrB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,IAAI,CAAC,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChC,OAAO,IAAI,IAAI,CACd,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACpF,CAAC,EAAE,CAAC,CACJ,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,cAAc;gBACtB,OAAO,IAAI,IAAI,CACd,GAAG,KAAK,GAAG,GAAG,GAAG,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EACjG,CAAC,EACD,CAAC,CACD,CAAC;YACH,IAAI,IAAI,CAAC,kBAAkB;gBAC1B,OAAO,IAAI,IAAI,CACd,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACnP,CAAC,EACD,CAAC,CACD,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,OAAO,IAAI,IAAI,CACd,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,UAAU,EAAE,EACrE,CAAC,EACD,CAAC,CACD,CAAC;QACH,CAAC;QAED,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;YAC3C,+BAA+B,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/D,OAAO,wBAAwB;gBAC9B,CAAC,CAAC,qBAAqB,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC;gBACvD,CAAC,CAAC,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAChI,CAAC;KAED,CAAC;IAEF,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAEtB,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAChD,MAAM,oBAAoB,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,KAAK,CAAC,mBAAmB,EAAE,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvI,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,IAAI,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACxF,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC1F,CAAC,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,uCAAuC,CAAC,SAAS,CAAC,CAAC;YAClG,CAAC,CAAC,SAAS,CAAC;QACb,MAAM,YAAY,GAAG,2BAA2B,CAAC,KAAK,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACvF,IAAI,YAAY,KAAK,KAAK,CAAC,YAAY;YAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,uBAAuB,EAAE,cAAc,CAAC,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAE/J,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,2BAA2B,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC5I,MAAM,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC9C,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,UAAU,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,2BAA2B,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACtI,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC1E,KAAK,MAAM,MAAM,IAAI,8BAA8B,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;gBACzH,2BAA2B,CAAC;oBAC3B,EAAE;oBACF,KAAK;oBACL,qBAAqB,EAAE,IAAI,GAAG,EAAE;oBAChC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE;iBAC5E,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE;QAC7D,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;KACzD,CAAC,CAAC;IAEH,IAAI,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;QACnD,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,OAAO,EAAE,eAAe;QACxB,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM;QACxH,KAAK,CAAC,QAAQ,CAAC,IAAI;YAClB,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAChF,CAAC;KACD,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;QAChD,2BAA2B,CAAC;YAC3B,EAAE;YACF,KAAK;YACL,qBAAqB;YACrB,OAAO,EAAE,OAAwC;SACjD,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAE,EAAE;QAClD,4BAA4B,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAyC,EAAE,CAAC,CAAC;IACjG,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;QAChD,aAAa,CAAC,OAAO,CAAC,CAAC;QACvB,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;QACtC,qBAAqB,EAAE,CAAC;QACxB,WAAW,EAAE,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,EAAE;QACjD,cAAc,CAAC,OAAO,CAAC,CAAC;QACxB,qBAAqB,EAAE,CAAC;QACxB,0BAA0B,EAAE,CAAC;QAC7B,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACnD,WAAW,EAAE,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC;IACF,MAAM,iBAAiB,GAAG;QACzB,iCAAiC,CAAC,EAAE,CAAC;QACrC,8BAA8B,CAAC,EAAE,CAAC;QAClC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,4BAA4B,EAAE,mBAAmB,CAAC;QAC/D,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;QACjE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YAClD,0BAA0B,EAAE,CAAC;YAC7B,WAAW,EAAE,OAAO,EAAE,CAAC;QACxB,CAAC,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;QACzD,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,8BAA8B,EAAE,qBAAqB,CAAC;QACnE,iBAAiB,CAAC,OAAO;QACzB,SAAS,CAAC,OAAO;KACjB,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACnC,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO;QAC1C,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO;QACvB,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC;QAC1B,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;QAC5C,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,cAAc;YAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACxE,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,WAAW,EAAE,OAAO,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9B,aAAa,CAAC,GAAG,CAAC,CAAC;YACnB,YAAY,EAAE,CAAC;QAChB,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,MAAM,uBAAuB,GAAG,CAAC,GAAqB,EAAE,EAAE;QACzD,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;YACxD,IAAI,WAAW,EAAE,CAAC;gBACjB,mBAAmB,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC,CAAC;YACxE,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,8DAA8D;QAC/D,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,GAAG,EAAE;QACxC,IAAI,KAAK,CAAC,gBAAgB;YAAE,OAAO;QACnC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC9B,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;QACpE,WAAW,EAAE,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC;IACF,MAAM,4BAA4B,GAAG,GAAG,EAAE;QACzC,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAAE,OAAO;QACpC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/B,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,WAAW,EAAE,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,0BAA0B,GAAG,GAAG,EAAE;QACvC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC7B,KAAK,CAAC,mBAAmB,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mCAAmC,CAAC,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9H,OAAO;QACR,CAAC;QACD,KAAK,CAAC,mBAAmB,GAAG,8BAA8B,CACzD,KAAK,CAAC,gBAAgB,EACtB,mCAAmC,CAAC,MAAM,CAAC,4BAA4B,CAAC,EACxE,EAAE,kBAAkB,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,2BAA2B,EAAE,kCAAkC,CAAC,MAAM,CAAC,QAAQ,EAAE,2BAA2B,CAAC,EAAE,CACvL,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,GAAqB,EAAE,UAAmB,EAAE,mBAA4B,EAAE,EAAE;QACtG,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/B,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;QACxB,UAAU,GAAG,CAAC,CAAC;QACf,MAAM,wBAAwB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACxD,uBAAuB,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;QACxF,KAAK,CAAC,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACrE,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC;QAC3E,wBAAwB,EAAE,CAAC;QAC3B,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QAC9D,KAAK,CAAC,sBAAsB,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,KAAK,CAAC,mBAAmB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1F,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACrF,CAAC,CAAC,CAAC;QACJ,KAAK,CAAC,cAAc,GAAG;YACtB,SAAS,EAAE,KAAK,CAAC,gBAAgB;YACjC,KAAK,EAAE,CAAC;YACR,eAAe,EAAE,kCAAkC,CAAC,MAAM,CAAC,2BAA2B,CAAC,IAAI,IAAI;YAC/F,OAAO,EAAE,CAAC;YACV,YAAY,EAAE,EAAE;SAChB,CAAC;QACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnD,gCAAgC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9K,0EAA0E;QAC1E,+EAA+E;QAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC;QAC1B,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,0BAA0B,EAAE,CAAC;QAC7B,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAChD,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC7B,YAAY,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;QACzD,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACjC,0BAA0B,EAAE,KAAK,EAAE,CAAC;QACpC,0BAA0B,GAAG,SAAS,CAAC;QACvC,YAAY,CAAC,wBAAwB,GAAG,SAAS,CAAC;QAClD,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACrC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,SAAS,CAAC,GAAG,CAAC,CAAC;QACf,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAC3C,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,2BAA2B,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;QACnD,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,YAAY,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;QACnD,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrC,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAC/C,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,0BAA0B,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5D,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAChD,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,uBAAuB,CAAC,OAAO,EAAE,CAAC;QAClC,YAAY,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;QACnD,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,kBAAkB,EAAE,CAAC;QACrB,YAAY,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;QACrD,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;QACnD,YAAY,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAC7C,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,YAAY,GAAyB;QAC1C,cAAc,EAAE,IAAI;QACpB,qBAAqB;QACrB,OAAO;YACN,IAAI,cAAc;gBAAE,OAAO;YAC3B,cAAc,GAAG,IAAI,CAAC;YACtB,0BAA0B,EAAE,CAAC;YAC7B,0BAA0B,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;YACtC,wEAAwE;YACxE,8DAA8D;YAC9D,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;gBACpE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC,CAAC;YACzI,CAAC;YACD,KAAK,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC;YACnC,KAAK,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC;YAClC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,uBAAuB;gBAAE,YAAY,CAAC,uBAAuB,CAAC,CAAC;YACnE,uBAAuB,GAAG,SAAS,CAAC;YACpC,IAAI,mBAAmB;gBAAE,YAAY,CAAC,mBAAmB,CAAC,CAAC;YAC3D,mBAAmB,GAAG,SAAS,CAAC;YAChC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC5B,iBAAiB,EAAE,CAAC;YACpB,uBAAuB,CAAC,KAAK,EAAE,CAAC;YAChC,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC7B,YAAY,CAAC,OAAO,EAAE,CAAC;YACvB,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC3B,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC5B,uBAAuB,CAAC,OAAO,EAAE,CAAC;YAClC,WAAW,EAAE,OAAO,EAAE,CAAC;YACvB,sBAAsB,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YACtE,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC5B,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,0BAA0B,EAAE,KAAK,EAAE,CAAC;YACpC,0BAA0B,GAAG,SAAS,CAAC;YACvC,YAAY,CAAC,wBAAwB,GAAG,SAAS,CAAC;YAClD,KAAK,MAAM,WAAW,IAAI,iBAAiB,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACJ,WAAW,EAAE,CAAC;gBACf,CAAC;gBAAC,MAAM,CAAC;oBACR,iDAAiD;gBAClD,CAAC;YACF,CAAC;YACD,oBAAoB,CAAC,OAAO,EAAE,CAAC;YAC/B,WAAW,CAAC,SAAS,EAAE,CAAC;YACxB,WAAW,CAAC,OAAO,EAAE,CAAC;YACtB,oBAAoB,CAAC,SAAS,EAAE,CAAC;YACjC,oBAAoB,CAAC,OAAO,EAAE,CAAC;YAC/B,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC/B,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC9B,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACtC,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACvC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC/B,IAAI,YAAY,CAAC,cAAc,IAAI,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,YAAY,EAAE,CAAC;gBACvH,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YACtE,CAAC;YACD,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC;gBAAE,mBAAmB,EAAE,CAAC;YACpE,IAAI,CAAC;gBACJ,IAAI,KAAK,CAAC,aAAa,EAAE,KAAK;oBAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACzF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;YACvD,CAAC;YACD,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;KACD,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,GAAqB,EAAE,EAAE;QAChD,IAAI,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;QAChH,CAAC;QACD,MAAM,cAAc,GAAG,GAAG,CAAC,cAAwB,CAAC;QACpD,MAAM,eAAe,GAAG,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7E,MAAM,6BAA6B,GAAG,eAAe,CAAC,qCAAqC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAChH,IAAI,6BAA6B,EAAE,CAAC;YACnC,qBAAqB,GAAG,6BAA6B,CAAC;QACvD,CAAC;aAAM,CAAC;YACP,eAAe,CAAC,qCAAqC,CAAC,GAAG,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;QAClG,CAAC;QACD,YAAY,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QAC3D,IAAI,YAAY,CAAC,cAAc,IAAI,YAAY,CAAC,cAAc,KAAK,cAAc;eAC7E,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,YAAY,EAAE,CAAC;YACxF,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACtE,CAAC;QACD,YAAY,CAAC,cAAc,GAAG,cAAc,CAAC;QAC7C,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACnE,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,eAAe,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC;YACzD,IAAI,CAAC;gBACJ,eAAe,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACR,qEAAqE;YACtE,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,4BAA4B,EAAE,CAAC;QAC/B,iBAAiB,CAAC,YAAY,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QAC3B,4BAA4B,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,2BAA2B,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;QACtC,MAAM,kBAAkB,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC5H,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAAE,OAAO;QAClE,EAAE,CAAC,WAAW,CACb;YACC,UAAU,EAAE,4BAA4B;YACxC,OAAO,EAAE,oHAAoH;YAC7H,OAAO,EAAE,KAAK;SACd,EACD,EAAE,WAAW,EAAE,IAAI,EAAE,CACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACrC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpB,uBAAuB,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;QACxG,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC9D,0BAA0B,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,SAAS;YACzB,CAAC,CAAC,4BAA4B,CAAC;gBAC9B,SAAS;gBACT,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,QAAQ,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,kBAAkB,EAAE;aACrF,CAAC;YACF,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;QAC5C,0BAA0B,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC9C,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzB,0BAA0B,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;YACrE,YAAY,CAAC,wBAAwB,GAAG,0BAA0B,CAAC,KAAK,CAAC;QAC1E,CAAC;QACD,iBAAiB,CAAC,cAAc,CAAC;YAChC,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,IAAI;YACzB,IAAI,EAAE,eAAe,EAAE;SACvB,CAAC,CAAC;QACH,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACzB,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC1B,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QACpC,YAAY,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC;YACJ,MAAM,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjE,8BAA8B,CAAC,EAAE,EAAE;QAClC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC5B,MAAM,oBAAoB,EAAE,CAAC;YAC7B,OAAO,0BAA0B,CAAC,gBAAgB,EAAE,uCAAuC,CAAC,KAAK,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC;QACnI,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extension/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -160,7 +160,7 @@ export function registerSubagentToolActivation(pi, options) {
|
|
|
160
160
|
};
|
|
161
161
|
const advertised = await options.advertisedPrompt();
|
|
162
162
|
return {
|
|
163
|
-
content: [{ type: "text", text: `Enabled: subagent. On the next model request, call subagent({action:\"list\",capabilities:true}) for current capabilities.${advertised ? `\n\n${advertised}` : ""}` }],
|
|
163
|
+
content: [{ type: "text", text: `Enabled: subagent. On the next model request, call subagent({action:\"list\",capabilities:true}) for current capabilities. Some providers, such as bridges to another agent SDK, fix the tool list for a whole prompt. With those, subagent appears only after the next user prompt, so do not retry it in this one. The operator can start Pi with --exclude-tools subagents_enable to keep subagent always available.${advertised ? `\n\n${advertised}` : ""}` }],
|
|
164
164
|
details: { enabled: [SUBAGENT_NAME] },
|
|
165
165
|
};
|
|
166
166
|
},
|