clinkx 1.1.1 → 1.1.2
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 +29 -0
- package/README.md +34 -1
- package/clinkx-workflows/dist/architecture-comparison/admission.d.ts +5 -0
- package/clinkx-workflows/dist/architecture-comparison/admission.js +50 -0
- package/clinkx-workflows/dist/architecture-comparison/admission.js.map +1 -0
- package/clinkx-workflows/dist/architecture-comparison/contract.d.ts +995 -0
- package/clinkx-workflows/dist/architecture-comparison/contract.js +149 -0
- package/clinkx-workflows/dist/architecture-comparison/contract.js.map +1 -0
- package/clinkx-workflows/dist/architecture-comparison/runtime.d.ts +29 -0
- package/clinkx-workflows/dist/architecture-comparison/runtime.js +387 -0
- package/clinkx-workflows/dist/architecture-comparison/runtime.js.map +1 -0
- package/clinkx-workflows/dist/contained-file.js +1 -1
- package/clinkx-workflows/dist/contained-file.js.map +1 -1
- package/clinkx-workflows/dist/council-execution-policy.d.ts +4 -2
- package/clinkx-workflows/dist/council-execution-policy.js +5 -1
- package/clinkx-workflows/dist/council-execution-policy.js.map +1 -1
- package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +72 -72
- package/clinkx-workflows/dist/dashboard/contracts.d.ts +1564 -122
- package/clinkx-workflows/dist/dashboard/contracts.js +4 -0
- package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -1
- package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +12 -12
- package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.d.ts +8 -8
- package/clinkx-workflows/dist/dashboard/scanner.d.ts +3 -0
- package/clinkx-workflows/dist/dashboard/scanner.js +27 -0
- package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -1
- package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +48 -48
- package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +2 -0
- package/clinkx-workflows/dist/dashboard/session-log-redaction.js +4 -0
- package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -1
- package/clinkx-workflows/dist/dashboard/verified-repair-contract.d.ts +191 -0
- package/clinkx-workflows/dist/dashboard/verified-repair-contract.js +28 -0
- package/clinkx-workflows/dist/dashboard/verified-repair-contract.js.map +1 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/index-BdpmbPps.js +115 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/style-Im5i1iAs.css +1 -0
- package/clinkx-workflows/dist/dashboard-ui/index.html +2 -2
- package/clinkx-workflows/dist/engine.d.ts +6 -0
- package/clinkx-workflows/dist/engine.js +78 -7
- package/clinkx-workflows/dist/engine.js.map +1 -1
- package/clinkx-workflows/dist/index.d.ts +3 -0
- package/clinkx-workflows/dist/index.js +3 -2
- package/clinkx-workflows/dist/index.js.map +1 -1
- package/clinkx-workflows/dist/reducers/index.d.ts +9 -1
- package/clinkx-workflows/dist/reducers/index.js +22 -0
- package/clinkx-workflows/dist/reducers/index.js.map +1 -1
- package/clinkx-workflows/dist/state.js +17 -7
- package/clinkx-workflows/dist/state.js.map +1 -1
- package/clinkx-workflows/dist/validators/architecture-comparison.d.ts +2 -0
- package/clinkx-workflows/dist/validators/architecture-comparison.js +12 -0
- package/clinkx-workflows/dist/validators/architecture-comparison.js.map +1 -0
- package/clinkx-workflows/dist/validators/index.js +4 -0
- package/clinkx-workflows/dist/validators/index.js.map +1 -1
- package/clinkx-workflows/dist/validators/verified-repair.d.ts +2 -0
- package/clinkx-workflows/dist/validators/verified-repair.js +12 -0
- package/clinkx-workflows/dist/validators/verified-repair.js.map +1 -0
- package/clinkx-workflows/dist/verification-proof.d.ts +254 -0
- package/clinkx-workflows/dist/verification-proof.js +195 -0
- package/clinkx-workflows/dist/verification-proof.js.map +1 -0
- package/clinkx-workflows/dist/verified-repair/admission.d.ts +72 -0
- package/clinkx-workflows/dist/verified-repair/admission.js +63 -0
- package/clinkx-workflows/dist/verified-repair/admission.js.map +1 -0
- package/clinkx-workflows/dist/verified-repair/contract.d.ts +1910 -0
- package/clinkx-workflows/dist/verified-repair/contract.js +127 -0
- package/clinkx-workflows/dist/verified-repair/contract.js.map +1 -0
- package/clinkx-workflows/dist/verified-repair/host.d.ts +32 -0
- package/clinkx-workflows/dist/verified-repair/host.js +2 -0
- package/clinkx-workflows/dist/verified-repair/host.js.map +1 -0
- package/clinkx-workflows/dist/verified-repair/prompts.d.ts +12 -0
- package/clinkx-workflows/dist/verified-repair/prompts.js +58 -0
- package/clinkx-workflows/dist/verified-repair/prompts.js.map +1 -0
- package/clinkx-workflows/dist/verified-repair/result.d.ts +16 -0
- package/clinkx-workflows/dist/verified-repair/result.js +102 -0
- package/clinkx-workflows/dist/verified-repair/result.js.map +1 -0
- package/clinkx-workflows/dist/verified-repair/runtime.d.ts +28 -0
- package/clinkx-workflows/dist/verified-repair/runtime.js +186 -0
- package/clinkx-workflows/dist/verified-repair/runtime.js.map +1 -0
- package/clinkx-workflows/dist/workflow-tools.d.ts +3 -0
- package/clinkx-workflows/dist/workflow-tools.js +148 -14
- package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
- package/clinkx-workflows/dist/workflow-verification-contract.d.ts +539 -0
- package/clinkx-workflows/dist/workflow-verification-contract.js +52 -0
- package/clinkx-workflows/dist/workflow-verification-contract.js.map +1 -0
- package/clinkx-workflows/dist/workflow-verification.d.ts +15 -0
- package/clinkx-workflows/dist/workflow-verification.js +218 -0
- package/clinkx-workflows/dist/workflow-verification.js.map +1 -0
- package/clinkx-workflows/templates/architecture-comparison/candidate.txt +29 -0
- package/clinkx-workflows/templates/architecture-comparison/judge.txt +31 -0
- package/clinkx-workflows/templates/verified-repair/investigate.txt +20 -0
- package/clinkx-workflows/templates/verified-repair/repair.txt +11 -0
- package/clinkx-workflows/templates/verified-repair/review.txt +18 -0
- package/clinkx-workflows/workflows/architecture-comparison.yaml +133 -0
- package/clinkx-workflows/workflows/verified-repair.yaml +104 -0
- package/dist/allowed-roots.js +4 -1
- package/dist/allowed-roots.js.map +1 -1
- package/dist/codex/app-server-client.d.ts +1 -0
- package/dist/codex/app-server-client.js +3 -2
- package/dist/codex/app-server-client.js.map +1 -1
- package/dist/context-builder/diagnostics.d.ts +1 -0
- package/dist/context-builder/diagnostics.js +1 -1
- package/dist/context-builder/diagnostics.js.map +1 -1
- package/dist/context-builder/discovery.d.ts +18 -1
- package/dist/context-builder/discovery.js +69 -1
- package/dist/context-builder/discovery.js.map +1 -1
- package/dist/context-builder/handler.js +8 -1
- package/dist/context-builder/handler.js.map +1 -1
- package/dist/context-builder/lifecycle-contract.d.ts +24 -24
- package/dist/context-builder/refine-handler.js +16 -1
- package/dist/context-builder/refine-handler.js.map +1 -1
- package/dist/context-builder/secrets.d.ts +11 -0
- package/dist/context-builder/secrets.js +75 -0
- package/dist/context-builder/secrets.js.map +1 -1
- package/dist/context-builder/versions.d.ts +5 -2
- package/dist/context-builder/versions.js +5 -2
- package/dist/context-builder/versions.js.map +1 -1
- package/dist/dashboard-cli.js +10 -3
- package/dist/dashboard-cli.js.map +1 -1
- package/dist/dashboard-gateway/main.js +8 -3
- package/dist/dashboard-gateway/main.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/project-verification/contract.d.ts +537 -0
- package/dist/project-verification/contract.js +40 -0
- package/dist/project-verification/contract.js.map +1 -0
- package/dist/project-verification/files.d.ts +23 -0
- package/dist/project-verification/files.js +80 -0
- package/dist/project-verification/files.js.map +1 -0
- package/dist/project-verification/process.d.ts +7 -0
- package/dist/project-verification/process.js +115 -0
- package/dist/project-verification/process.js.map +1 -0
- package/dist/project-verification/runner.d.ts +35 -0
- package/dist/project-verification/runner.js +185 -0
- package/dist/project-verification/runner.js.map +1 -0
- package/dist/project-verification/service.d.ts +37 -0
- package/dist/project-verification/service.js +151 -0
- package/dist/project-verification/service.js.map +1 -0
- package/dist/provider-doctor.d.ts +22 -0
- package/dist/provider-doctor.js +22 -0
- package/dist/provider-doctor.js.map +1 -0
- package/dist/server.js +29 -1
- package/dist/server.js.map +1 -1
- package/dist/verification-tools.d.ts +90 -0
- package/dist/verification-tools.js +120 -0
- package/dist/verification-tools.js.map +1 -0
- package/dist/verified-repair/files.d.ts +22 -0
- package/dist/verified-repair/files.js +114 -0
- package/dist/verified-repair/files.js.map +1 -0
- package/dist/verified-repair/host.d.ts +14 -0
- package/dist/verified-repair/host.js +612 -0
- package/dist/verified-repair/host.js.map +1 -0
- package/docs/configuration.md +68 -1
- package/docs/engineering-recipes.md +415 -0
- package/docs/verification/README.md +59 -0
- package/docs/verification/dashboard-real-disk.md +436 -0
- package/docs/verification/project-checks.example.json +14 -0
- package/docs/verification/project-checks.md +444 -0
- package/docs/verification/workflow-handoff.md +113 -0
- package/package.json +10 -2
- package/scripts/provider-doctor-core.mjs +364 -0
- package/scripts/provider-doctor-probe.mjs +34 -0
- package/clinkx-workflows/dist/dashboard-ui/assets/index-JPHQVtn9.js +0 -106
- package/clinkx-workflows/dist/dashboard-ui/assets/style-DOMHk-j6.css +0 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { bytesDigest, canonicalJson } from "../architecture-comparison/contract.js";
|
|
2
|
+
import { VERIFIED_REPAIR_WORKFLOW, RepairRouteSchema } from "./contract.js";
|
|
3
|
+
import { REPAIR_FIXED_PROMPTS, REPAIR_PROMPTS } from "./prompts.js";
|
|
4
|
+
export const REPAIR_STAGE_BINDINGS = [
|
|
5
|
+
{ stage: "capture", call: "packet", reducer: "repair_capture_v1", validator: "repair_packet_v1", context: [], prompt: REPAIR_FIXED_PROMPTS.capture },
|
|
6
|
+
{ stage: "investigate", call: "proposal", route: "investigator", validator: "repair_investigation_v1", context: ["capture.packet"], template: "verified-repair/investigate.txt", prompt: REPAIR_PROMPTS.investigate },
|
|
7
|
+
{ stage: "reproduce", call: "proof", reducer: "repair_reproduce_v1", validator: "repair_packet_v1", context: ["investigate.proposal"], prompt: REPAIR_FIXED_PROMPTS.reproduce },
|
|
8
|
+
{ stage: "repair", call: "proposal", route: "repair_author", validator: "repair_fix_v1", context: ["reproduce.proof"], template: "verified-repair/repair.txt", prompt: REPAIR_PROMPTS.repair },
|
|
9
|
+
{ stage: "fixed", call: "proof", reducer: "repair_fixed_v1", validator: "repair_packet_v1", context: ["repair.proposal"], prompt: REPAIR_FIXED_PROMPTS.fixed },
|
|
10
|
+
{ stage: "review", call: "review", route: "verifier", validator: "repair_review_v1", context: ["fixed.proof"], template: "verified-repair/review.txt", prompt: REPAIR_PROMPTS.review },
|
|
11
|
+
{ stage: "independent", call: "proof", reducer: "repair_independent_v1", validator: "repair_packet_v1", context: ["review.review"], prompt: REPAIR_FIXED_PROMPTS.independent },
|
|
12
|
+
{ stage: "record", call: "record", reducer: "repair_record_v1", validator: "repair_record_v1", context: [], prompt: REPAIR_FIXED_PROMPTS.record },
|
|
13
|
+
];
|
|
14
|
+
/** A workflow name alone never grants the project-write capability. */
|
|
15
|
+
export function assertVerifiedRepairTopology(definition) {
|
|
16
|
+
if (definition.name !== VERIFIED_REPAIR_WORKFLOW)
|
|
17
|
+
throw new Error("repair capability requires the installed verified-repair topology");
|
|
18
|
+
if (definition.version !== "1.0.0" || definition.stages.length !== REPAIR_STAGE_BINDINGS.length || definition.settings.max_retries !== 0)
|
|
19
|
+
throw new Error("invalid verified-repair topology or retry policy");
|
|
20
|
+
for (const [index, expected] of REPAIR_STAGE_BINDINGS.entries()) {
|
|
21
|
+
const stage = definition.stages[index];
|
|
22
|
+
const call = stage?.calls[0];
|
|
23
|
+
if (stage === undefined || call === undefined || stage.id !== expected.stage || stage.parallel || stage.calls.length !== 1 || stage.on_failure !== "continue" || stage.retry.max_retries !== 0)
|
|
24
|
+
throw new Error(`invalid verified-repair stage ${expected.stage}`);
|
|
25
|
+
const reducer = "reducer" in expected ? expected.reducer : undefined;
|
|
26
|
+
if (call.id !== expected.call || call.reducer !== reducer || call.role !== "json" || call.validator_schema_id !== expected.validator || canonicalJson(call.context_from ?? []) !== canonicalJson(expected.context) || call.prompt !== expected.prompt || call.absolute_file_paths !== undefined || call.absolute_file_paths_from !== undefined || call.images !== undefined || call.images_from !== undefined || call.post_processor !== undefined || call.anonymize_context === true || call.plan_review_semantic_context !== undefined || call.plan_review_snapshot_text !== undefined)
|
|
27
|
+
throw new Error(`invalid verified-repair call binding ${expected.stage}.${expected.call}`);
|
|
28
|
+
if ("template" in expected && (call.template_path !== expected.template || call.template_hash !== bytesDigest(expected.prompt)))
|
|
29
|
+
throw new Error(`invalid verified-repair template ${expected.stage}`);
|
|
30
|
+
if (!("template" in expected) && (call.template_path !== undefined || call.template_hash !== undefined || call.model !== undefined || call.effort !== undefined))
|
|
31
|
+
throw new Error(`invalid fixed repair operation ${expected.stage}`);
|
|
32
|
+
}
|
|
33
|
+
const expectedNames = ["repair_contract_path", ...["investigator", "repair_author", "verifier"].flatMap((prefix) => [`${prefix}_cli`, `${prefix}_model`, `${prefix}_effort`])].sort();
|
|
34
|
+
if (canonicalJson(Object.keys(definition.variables).sort()) !== canonicalJson(expectedNames))
|
|
35
|
+
throw new Error("verified-repair variables differ from installed contract");
|
|
36
|
+
for (const [name, variable] of Object.entries(definition.variables)) {
|
|
37
|
+
if (variable.type !== "string" || variable.required !== (name === "repair_contract_path" || name.endsWith("_cli")) || variable.default !== undefined)
|
|
38
|
+
throw new Error(`invalid verified-repair variable ${name}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export function repairRoutesFromVariables(variables, available, validateOverrides) {
|
|
42
|
+
const routes = Object.fromEntries(["investigator", "repair_author", "verifier"].map((prefix) => {
|
|
43
|
+
const route = RepairRouteSchema.parse({ cli_name: variables[`${prefix}_cli`], ...(variables[`${prefix}_model`] !== undefined ? { model: variables[`${prefix}_model`] } : {}), ...(variables[`${prefix}_effort`] !== undefined ? { effort: variables[`${prefix}_effort`] } : {}) });
|
|
44
|
+
if (available !== undefined && !available.includes(route.cli_name))
|
|
45
|
+
throw new Error(`${prefix}_cli ${route.cli_name} is not an available JSON-capable route`);
|
|
46
|
+
validateOverrides?.(route.cli_name, { ...(route.model !== undefined ? { model: route.model } : {}), ...(route.effort !== undefined ? { effort: route.effort } : {}) });
|
|
47
|
+
return [prefix, route];
|
|
48
|
+
}));
|
|
49
|
+
return routes;
|
|
50
|
+
}
|
|
51
|
+
export function materializeVerifiedRepairRoutes(definition, variables, available, validateOverrides) {
|
|
52
|
+
if (definition.name !== VERIFIED_REPAIR_WORKFLOW)
|
|
53
|
+
return definition;
|
|
54
|
+
assertVerifiedRepairTopology(definition);
|
|
55
|
+
if (typeof variables["repair_contract_path"] !== "string" || variables["repair_contract_path"].trim() === "")
|
|
56
|
+
throw new Error("repair_contract_path must name reviewed host contract data");
|
|
57
|
+
const routes = repairRoutesFromVariables(variables, available, validateOverrides);
|
|
58
|
+
return { ...definition, stages: definition.stages.map((stage, index) => ({ ...stage, calls: stage.calls.map((call) => {
|
|
59
|
+
const binding = REPAIR_STAGE_BINDINGS[index];
|
|
60
|
+
return "route" in binding ? { ...call, ...routes[binding.route] } : { ...call, cli_name: routes.verifier.cli_name };
|
|
61
|
+
}) })) };
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=admission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admission.js","sourceRoot":"","sources":["../../src/verified-repair/admission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAEpF,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAqB,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEpE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,OAAO,EAAE;IACpJ,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,iCAAiC,EAAE,MAAM,EAAE,cAAc,CAAC,WAAW,EAAE;IACrN,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,SAAS,EAAE;IAC/K,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE;IAC9L,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE;IAC9J,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE;IACtL,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,WAAW,EAAE;IAC9K,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,EAAE;CACzI,CAAC;AAEX,uEAAuE;AACvE,MAAM,UAAU,4BAA4B,CAAC,UAAwC;IACnF,IAAI,UAAU,CAAC,IAAI,KAAK,wBAAwB;QAAE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvI,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,qBAAqB,CAAC,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAC9M,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACnQ,MAAM,OAAO,GAAG,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,mBAAmB,KAAK,QAAQ,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,KAAK,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,IAAI,IAAI,CAAC,wBAAwB,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,4BAA4B,KAAK,SAAS,IAAI,IAAI,CAAC,yBAAyB,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACrpB,IAAI,UAAU,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,KAAK,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACvM,IAAI,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACxO,CAAC;IACD,MAAM,aAAa,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,MAAM,EAAE,GAAG,MAAM,QAAQ,EAAE,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtL,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,aAAa,CAAC,aAAa,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC1K,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACpE,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,sBAAsB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;IACpN,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,SAA4C,EAAE,SAA6B,EAAE,iBAAqF;IAC1M,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7F,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,MAAM,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,MAAM,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnR,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,QAAQ,KAAK,CAAC,QAAQ,yCAAyC,CAAC,CAAC;QAC9J,iBAAiB,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvK,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC,CAAC;IACJ,OAAO,MAAsB,CAAC;AAChC,CAAC;AACD,MAAM,UAAU,+BAA+B,CAAC,UAAwC,EAAE,SAA4C,EAAE,SAA6B,EAAE,iBAAqF;IAC1P,IAAI,UAAU,CAAC,IAAI,KAAK,wBAAwB;QAAE,OAAO,UAAU,CAAC;IACpE,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,OAAO,SAAS,CAAC,sBAAsB,CAAC,KAAK,QAAQ,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC5L,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAClF,OAAO,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnH,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAE,CAAC;gBAC9C,OAAO,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtH,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACX,CAAC"}
|