@claudexor/orchestrator 5.0.2 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/dist/account-evidence.d.ts +7 -0
  2. package/dist/account-evidence.d.ts.map +1 -1
  3. package/dist/account-evidence.js +12 -0
  4. package/dist/account-evidence.js.map +1 -1
  5. package/dist/account-pool.d.ts +4 -0
  6. package/dist/account-pool.d.ts.map +1 -1
  7. package/dist/account-pool.js +8 -1
  8. package/dist/account-pool.js.map +1 -1
  9. package/dist/account-resolution.d.ts.map +1 -1
  10. package/dist/account-resolution.js +7 -5
  11. package/dist/account-resolution.js.map +1 -1
  12. package/dist/attemptFinalize.d.ts +22 -7
  13. package/dist/attemptFinalize.d.ts.map +1 -1
  14. package/dist/attemptFinalize.js +29 -7
  15. package/dist/attemptFinalize.js.map +1 -1
  16. package/dist/attemptTelemetry.d.ts +19 -18
  17. package/dist/attemptTelemetry.d.ts.map +1 -1
  18. package/dist/attemptTelemetry.js +33 -79
  19. package/dist/attemptTelemetry.js.map +1 -1
  20. package/dist/attemptUsage.d.ts.map +1 -1
  21. package/dist/attemptUsage.js +6 -14
  22. package/dist/attemptUsage.js.map +1 -1
  23. package/dist/attemptUsageCost.d.ts +11 -2
  24. package/dist/attemptUsageCost.d.ts.map +1 -1
  25. package/dist/attemptUsageCost.js +16 -3
  26. package/dist/attemptUsageCost.js.map +1 -1
  27. package/dist/candidateEvidence.d.ts +33 -8
  28. package/dist/candidateEvidence.d.ts.map +1 -1
  29. package/dist/candidateEvidence.js +58 -24
  30. package/dist/candidateEvidence.js.map +1 -1
  31. package/dist/candidateReview.d.ts.map +1 -1
  32. package/dist/candidateReview.js +4 -2
  33. package/dist/candidateReview.js.map +1 -1
  34. package/dist/candidateTerminals.d.ts +27 -1
  35. package/dist/candidateTerminals.d.ts.map +1 -1
  36. package/dist/candidateTerminals.js +51 -2
  37. package/dist/candidateTerminals.js.map +1 -1
  38. package/dist/carrier-planner.d.ts +5 -2
  39. package/dist/carrier-planner.d.ts.map +1 -1
  40. package/dist/carrier-planner.js +6 -3
  41. package/dist/carrier-planner.js.map +1 -1
  42. package/dist/command-telemetry.d.ts +15 -0
  43. package/dist/command-telemetry.d.ts.map +1 -0
  44. package/dist/command-telemetry.js +27 -0
  45. package/dist/command-telemetry.js.map +1 -0
  46. package/dist/continuation-evidence-io.d.ts +13 -3
  47. package/dist/continuation-evidence-io.d.ts.map +1 -1
  48. package/dist/continuation-evidence-io.js +36 -4
  49. package/dist/continuation-evidence-io.js.map +1 -1
  50. package/dist/continuation-evidence.d.ts +7 -2
  51. package/dist/continuation-evidence.d.ts.map +1 -1
  52. package/dist/continuation-evidence.js +16 -4
  53. package/dist/continuation-evidence.js.map +1 -1
  54. package/dist/continuation-later.d.ts.map +1 -1
  55. package/dist/continuation-later.js +6 -6
  56. package/dist/continuation-later.js.map +1 -1
  57. package/dist/continuity-facts.d.ts +27 -1
  58. package/dist/continuity-facts.d.ts.map +1 -1
  59. package/dist/continuity-facts.js +72 -4
  60. package/dist/continuity-facts.js.map +1 -1
  61. package/dist/continuity-notice.d.ts.map +1 -1
  62. package/dist/continuity-notice.js +2 -1
  63. package/dist/continuity-notice.js.map +1 -1
  64. package/dist/continuity-summary.d.ts +7 -1
  65. package/dist/continuity-summary.d.ts.map +1 -1
  66. package/dist/continuity-summary.js +33 -13
  67. package/dist/continuity-summary.js.map +1 -1
  68. package/dist/continuity.d.ts +36 -8
  69. package/dist/continuity.d.ts.map +1 -1
  70. package/dist/continuity.js +96 -21
  71. package/dist/continuity.js.map +1 -1
  72. package/dist/credential-cooldown.d.ts +7 -0
  73. package/dist/credential-cooldown.d.ts.map +1 -1
  74. package/dist/credential-cooldown.js +31 -5
  75. package/dist/credential-cooldown.js.map +1 -1
  76. package/dist/credential-differential.d.ts +15 -1
  77. package/dist/credential-differential.d.ts.map +1 -1
  78. package/dist/credential-differential.js +32 -17
  79. package/dist/credential-differential.js.map +1 -1
  80. package/dist/credential-execution.d.ts.map +1 -1
  81. package/dist/credential-execution.js +14 -15
  82. package/dist/credential-execution.js.map +1 -1
  83. package/dist/credential-preflight.js +1 -1
  84. package/dist/credential-preflight.js.map +1 -1
  85. package/dist/credential-profile-rotation.d.ts +1 -0
  86. package/dist/credential-profile-rotation.d.ts.map +1 -1
  87. package/dist/credential-profile-rotation.js +1 -1
  88. package/dist/credential-profile-rotation.js.map +1 -1
  89. package/dist/deepScanReducer.d.ts.map +1 -1
  90. package/dist/deepScanReducer.js +8 -18
  91. package/dist/deepScanReducer.js.map +1 -1
  92. package/dist/delegatedHome.d.ts +12 -7
  93. package/dist/delegatedHome.d.ts.map +1 -1
  94. package/dist/delegatedHome.js +16 -4
  95. package/dist/delegatedHome.js.map +1 -1
  96. package/dist/delegationFailure.d.ts +9 -8
  97. package/dist/delegationFailure.d.ts.map +1 -1
  98. package/dist/delegationFailure.js +7 -5
  99. package/dist/delegationFailure.js.map +1 -1
  100. package/dist/directoryCandidate.d.ts.map +1 -1
  101. package/dist/directoryCandidate.js +35 -5
  102. package/dist/directoryCandidate.js.map +1 -1
  103. package/dist/harnessFailure.d.ts +26 -5
  104. package/dist/harnessFailure.d.ts.map +1 -1
  105. package/dist/harnessFailure.js +41 -6
  106. package/dist/harnessFailure.js.map +1 -1
  107. package/dist/index.d.ts +2 -2
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +2 -1
  110. package/dist/index.js.map +1 -1
  111. package/dist/inrun-continuity-carrier.d.ts +4 -1
  112. package/dist/inrun-continuity-carrier.d.ts.map +1 -1
  113. package/dist/inrun-continuity-carrier.js +2 -0
  114. package/dist/inrun-continuity-carrier.js.map +1 -1
  115. package/dist/inrun-continuity.d.ts +2 -2
  116. package/dist/inrun-continuity.d.ts.map +1 -1
  117. package/dist/inrun-continuity.js +22 -19
  118. package/dist/inrun-continuity.js.map +1 -1
  119. package/dist/inrun-retained-output.d.ts +18 -4
  120. package/dist/inrun-retained-output.d.ts.map +1 -1
  121. package/dist/inrun-retained-output.js +39 -8
  122. package/dist/inrun-retained-output.js.map +1 -1
  123. package/dist/interaction.d.ts +14 -1
  124. package/dist/interaction.d.ts.map +1 -1
  125. package/dist/interaction.js +91 -22
  126. package/dist/interaction.js.map +1 -1
  127. package/dist/laneStreamEvents.d.ts +9 -10
  128. package/dist/laneStreamEvents.d.ts.map +1 -1
  129. package/dist/laneStreamEvents.js +21 -7
  130. package/dist/laneStreamEvents.js.map +1 -1
  131. package/dist/modelGovernance.d.ts +10 -4
  132. package/dist/modelGovernance.d.ts.map +1 -1
  133. package/dist/modelGovernance.js +21 -1
  134. package/dist/modelGovernance.js.map +1 -1
  135. package/dist/native-retry-telemetry.d.ts +4 -1
  136. package/dist/native-retry-telemetry.d.ts.map +1 -1
  137. package/dist/native-retry-telemetry.js +6 -1
  138. package/dist/native-retry-telemetry.js.map +1 -1
  139. package/dist/orchestrator.d.ts +7 -1
  140. package/dist/orchestrator.d.ts.map +1 -1
  141. package/dist/orchestrator.js +129 -139
  142. package/dist/orchestrator.js.map +1 -1
  143. package/dist/planRun.d.ts.map +1 -1
  144. package/dist/planRun.js +7 -8
  145. package/dist/planRun.js.map +1 -1
  146. package/dist/plannerAttempt.d.ts +1 -0
  147. package/dist/plannerAttempt.d.ts.map +1 -1
  148. package/dist/plannerAttempt.js +14 -19
  149. package/dist/plannerAttempt.js.map +1 -1
  150. package/dist/pool-attempt-evidence.d.ts +5 -1
  151. package/dist/pool-attempt-evidence.d.ts.map +1 -1
  152. package/dist/pool-attempt-evidence.js +36 -4
  153. package/dist/pool-attempt-evidence.js.map +1 -1
  154. package/dist/processing-telemetry.d.ts +3 -1
  155. package/dist/processing-telemetry.d.ts.map +1 -1
  156. package/dist/processing-telemetry.js +11 -0
  157. package/dist/processing-telemetry.js.map +1 -1
  158. package/dist/quota-refusal-scope.d.ts +1 -0
  159. package/dist/quota-refusal-scope.d.ts.map +1 -1
  160. package/dist/quota-refusal-scope.js +29 -1
  161. package/dist/quota-refusal-scope.js.map +1 -1
  162. package/dist/rawPatchLane.d.ts +68 -0
  163. package/dist/rawPatchLane.d.ts.map +1 -0
  164. package/dist/rawPatchLane.js +116 -0
  165. package/dist/rawPatchLane.js.map +1 -0
  166. package/dist/readonlyTerminals.d.ts +0 -3
  167. package/dist/readonlyTerminals.d.ts.map +1 -1
  168. package/dist/readonlyTerminals.js +36 -14
  169. package/dist/readonlyTerminals.js.map +1 -1
  170. package/dist/requestRequirements.d.ts +5 -4
  171. package/dist/requestRequirements.d.ts.map +1 -1
  172. package/dist/requestRequirements.js +6 -5
  173. package/dist/requestRequirements.js.map +1 -1
  174. package/dist/retainedOutput.d.ts +19 -2
  175. package/dist/retainedOutput.d.ts.map +1 -1
  176. package/dist/retainedOutput.js +83 -12
  177. package/dist/retainedOutput.js.map +1 -1
  178. package/dist/reviewerInventory.d.ts +2 -8
  179. package/dist/reviewerInventory.d.ts.map +1 -1
  180. package/dist/reviewerInventory.js +2 -3
  181. package/dist/reviewerInventory.js.map +1 -1
  182. package/dist/reviewerPanel.d.ts +1 -1
  183. package/dist/reviewerPanel.d.ts.map +1 -1
  184. package/dist/reviewerPanel.js +9 -4
  185. package/dist/reviewerPanel.js.map +1 -1
  186. package/dist/route-admission.d.ts.map +1 -1
  187. package/dist/route-admission.js +3 -1
  188. package/dist/route-admission.js.map +1 -1
  189. package/dist/routeControls.d.ts +32 -0
  190. package/dist/routeControls.d.ts.map +1 -0
  191. package/dist/routeControls.js +47 -0
  192. package/dist/routeControls.js.map +1 -0
  193. package/dist/run-input-resolution.d.ts +5 -0
  194. package/dist/run-input-resolution.d.ts.map +1 -1
  195. package/dist/run-input-resolution.js +12 -6
  196. package/dist/run-input-resolution.js.map +1 -1
  197. package/dist/run-runtime-root.d.ts +16 -0
  198. package/dist/run-runtime-root.d.ts.map +1 -0
  199. package/dist/run-runtime-root.js +16 -0
  200. package/dist/run-runtime-root.js.map +1 -0
  201. package/dist/runAdmission.d.ts.map +1 -1
  202. package/dist/runAdmission.js +2 -1
  203. package/dist/runAdmission.js.map +1 -1
  204. package/dist/runFacts.d.ts +5 -2
  205. package/dist/runFacts.d.ts.map +1 -1
  206. package/dist/runFacts.js +11 -11
  207. package/dist/runFacts.js.map +1 -1
  208. package/dist/runScope.d.ts +2 -0
  209. package/dist/runScope.d.ts.map +1 -1
  210. package/dist/runScope.js +3 -2
  211. package/dist/runScope.js.map +1 -1
  212. package/dist/runSupport.d.ts +3 -1
  213. package/dist/runSupport.d.ts.map +1 -1
  214. package/dist/runSupport.js +6 -3
  215. package/dist/runSupport.js.map +1 -1
  216. package/dist/runTelemetryWriter.d.ts +18 -5
  217. package/dist/runTelemetryWriter.d.ts.map +1 -1
  218. package/dist/runTelemetryWriter.js +7 -2
  219. package/dist/runTelemetryWriter.js.map +1 -1
  220. package/dist/runTerminalResults.d.ts.map +1 -1
  221. package/dist/runTerminalResults.js +36 -9
  222. package/dist/runTerminalResults.js.map +1 -1
  223. package/dist/runTerminals.d.ts.map +1 -1
  224. package/dist/runTerminals.js +13 -5
  225. package/dist/runTerminals.js.map +1 -1
  226. package/dist/secretDiff.d.ts.map +1 -1
  227. package/dist/secretDiff.js +2 -1
  228. package/dist/secretDiff.js.map +1 -1
  229. package/dist/transientClassify.d.ts +17 -9
  230. package/dist/transientClassify.d.ts.map +1 -1
  231. package/dist/transientClassify.js +33 -9
  232. package/dist/transientClassify.js.map +1 -1
  233. package/dist/webEvidence.d.ts +41 -0
  234. package/dist/webEvidence.d.ts.map +1 -0
  235. package/dist/webEvidence.js +99 -0
  236. package/dist/webEvidence.js.map +1 -0
  237. package/dist/workReportEnvelope.d.ts +12 -0
  238. package/dist/workReportEnvelope.d.ts.map +1 -1
  239. package/dist/workReportEnvelope.js +19 -0
  240. package/dist/workReportEnvelope.js.map +1 -1
  241. package/package.json +17 -17
  242. package/dist/continuation-chain.test-support.d.ts +0 -473
  243. package/dist/continuation-chain.test-support.d.ts.map +0 -1
  244. package/dist/continuation-chain.test-support.js +0 -206
  245. package/dist/continuation-chain.test-support.js.map +0 -1
  246. package/dist/inrun-continuity.test-support.d.ts +0 -504
  247. package/dist/inrun-continuity.test-support.d.ts.map +0 -1
  248. package/dist/inrun-continuity.test-support.js +0 -212
  249. package/dist/inrun-continuity.test-support.js.map +0 -1
@@ -1,212 +0,0 @@
1
- /**
2
- * In-run continuation contract on a scripted fake harness (no vendor calls):
3
- * the owner's "auto-rotation inside the work". Each scenario scripts what the
4
- * fake does per (profile, try) and asserts the engine's carrier, the spec the
5
- * next process receives, the receipts and the terminal `resumable` block.
6
- */
7
- import { afterEach } from "vitest";
8
- import { execFileSync } from "node:child_process";
9
- import { existsSync, mkdtempSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs";
10
- import { tmpdir } from "node:os";
11
- import { join } from "node:path";
12
- import { ConformanceReport, CredentialProfile, HarnessManifest, } from "@claudexor/schema";
13
- import { Orchestrator } from "./orchestrator.js";
14
- import { readSessionCapsule } from "./session-capsule.js";
15
- const roots = [];
16
- afterEach(() => roots.splice(0).forEach((root) => rmSync(root, { recursive: true, force: true })));
17
- export const RESET = "2026-10-06T21:00:00.000Z";
18
- function gitRepo() {
19
- const root = mkdtempSync(join(tmpdir(), "cx-inrun-"));
20
- roots.push(root);
21
- execFileSync("git", ["init", "-b", "main"], { cwd: root, stdio: "pipe" });
22
- writeFileSync(join(root, "README.md"), "fixture\n");
23
- execFileSync("git", ["add", "README.md"], { cwd: root });
24
- execFileSync("git", ["-c", "user.name=Fixture", "-c", "user.email=fixture@example.test", "commit", "-m", "base"], { cwd: root, stdio: "pipe" });
25
- return root;
26
- }
27
- /** A movable fake store: sessions live under `<locator>/sessions/<sid>.jsonl`. */
28
- export function fileStoreContinuity(over = {}) {
29
- const fileFor = (env, sid) => join(String(env["CLAUDEXOR_PROFILE_LOCATOR"] ?? "/nowhere"), "sessions", `${sid}.jsonl`);
30
- return {
31
- async locate(ref, env) {
32
- const file = fileFor(env, ref.nativeSessionId);
33
- return existsSync(file)
34
- ? { found: true, file, mtimeMs: Date.now(), sidecars: [] }
35
- : { found: false };
36
- },
37
- async move(located, _fromEnv, toEnv, _cwd) {
38
- const sid = located.nativeSessionId ?? "?";
39
- const target = fileFor(toEnv, sid);
40
- execFileSync("mkdir", ["-p", join(target, "..")]);
41
- writeFileSync(target, readFileSync(located.file));
42
- return { ok: true, resumeRef: { nativeSessionId: sid }, retire: () => rmSync(located.file) };
43
- },
44
- ...over,
45
- };
46
- }
47
- export async function run(scenario) {
48
- const root = gitRepo();
49
- const configDir = process.env.CLAUDEXOR_CONFIG_DIR;
50
- const stores = Object.fromEntries(scenario.profiles.map((id) => [id, join(root, `store-${id}`)]));
51
- const profiles = scenario.profiles.map((id) => CredentialProfile.parse({
52
- profile_id: id,
53
- harness_id: "fake",
54
- display_name: id,
55
- credential_kind: "config_dir_login",
56
- isolation_locator: stores[id],
57
- }));
58
- writeFileSync(join(configDir, "config.yaml"), JSON.stringify({
59
- runtime: {
60
- transient_retry: {
61
- max_retries: scenario.maxRetries ?? 2,
62
- initial_delay_ms: 1,
63
- max_delay_ms: 2,
64
- },
65
- },
66
- credential_profiles: scenario.registryProfiles?.(profiles) ?? profiles,
67
- harnesses: {
68
- fake: {
69
- profile_policy: {
70
- limit_action: scenario.limitAction ?? "rotate",
71
- ...(scenario.headroomThreshold
72
- ? { headroom_threshold: scenario.headroomThreshold }
73
- : {}),
74
- },
75
- },
76
- },
77
- }));
78
- const spawns = [];
79
- const perProfile = new Map();
80
- const adapter = {
81
- id: "fake",
82
- ...(scenario.continuity === null
83
- ? {}
84
- : { continuity: scenario.continuity ?? fileStoreContinuity() }),
85
- async discover() {
86
- return HarnessManifest.parse({
87
- id: "fake",
88
- display_name: "fake",
89
- kind: "local_cli",
90
- provider_family: "local",
91
- capabilities: {
92
- implement: true,
93
- read_files: true,
94
- effort_levels: ["high"],
95
- repair: true,
96
- explain: true,
97
- audit: true,
98
- known_models: ["m1"],
99
- ...scenario.capabilities,
100
- },
101
- auth_modes: ["local_session"],
102
- access_profiles_supported: ["workspace_write", "readonly"],
103
- });
104
- },
105
- async doctor() {
106
- return ConformanceReport.parse({
107
- harness_id: "fake",
108
- status: "ok",
109
- enabled_intents: ["implement", "repair", "explain", "audit", "plan"],
110
- auth_sources: [
111
- { source: "native_session", availability: "available", verification: "passed" },
112
- ],
113
- });
114
- },
115
- async probeCredentialProfile(profile) {
116
- await scenario.onProbe?.(profile.profile_id);
117
- return {
118
- profile_id: profile.profile_id,
119
- harness_id: "fake",
120
- availability: "available",
121
- verification: "passed",
122
- verification_source: "local_store",
123
- last_verified_at: new Date().toISOString(),
124
- };
125
- },
126
- async models(query) {
127
- if (scenario.models)
128
- return scenario.models(query?.credentialProfile?.profile_id ?? null);
129
- return [{ id: "m1", label: null, context_window: null, routes: null }];
130
- },
131
- async *run(spec) {
132
- const profile = spec.credential_profile.profile_id;
133
- const tryOfProfile = (perProfile.get(profile) ?? 0) + 1;
134
- perProfile.set(profile, tryOfProfile);
135
- const ctx = {
136
- profile,
137
- resume: spec.resume_session_id ?? null,
138
- prompt: spec.prompt,
139
- model: spec.model_hint ?? null,
140
- tryOfProfile,
141
- };
142
- spawns.push(ctx);
143
- const emit = (ev) => ({
144
- session_id: spec.session_id,
145
- ts: new Date().toISOString(),
146
- credential_route: "vendor_native",
147
- credential_profile_id: profile,
148
- ...ev,
149
- });
150
- yield* scenario.script({ ...ctx, spec, emit });
151
- },
152
- };
153
- const events = [];
154
- const result = await new Orchestrator({
155
- registry: new Map([["fake", adapter]]),
156
- reviewers: scenario.reviewers ?? [],
157
- quotaSnapshots: () => scenario.snapshots ?? [],
158
- ...scenario.deps,
159
- }).run({
160
- repoRoot: root,
161
- ...(scenario.mode === "agent" ? { inPlace: true } : {}),
162
- mode: scenario.mode,
163
- prompt: "WORK-ORDER-7f3a: build the dashboard",
164
- harnesses: ["fake"],
165
- review: false,
166
- ...(scenario.model === null ? {} : { models: { fake: scenario.model ?? "m1" } }),
167
- effort: "high",
168
- authPreference: "subscription",
169
- web: "off",
170
- ...(scenario.pinned ? { credentialProfileId: scenario.pinned } : {}),
171
- ...scenario.input,
172
- onEvent: (event) => events.push(event),
173
- });
174
- const attemptsDir = join(result.runDir, "attempts");
175
- const attemptId = existsSync(attemptsDir) ? readdirSync(attemptsDir).sort()[0] : undefined;
176
- const receipts = events
177
- .filter((e) => e.type === "run.continuity")
178
- .map((e) => e.payload["receipt"]);
179
- const terminal = events.find((e) => ["run.failed", "run.completed", "run.blocked"].includes(e.type));
180
- return {
181
- root,
182
- stores,
183
- result,
184
- spawns,
185
- events,
186
- receipts,
187
- rotated: events.filter((e) => e.type === "route.profile.rotated").map((e) => e.payload),
188
- resumable: terminal?.payload["resumable"],
189
- capsule: attemptId ? readSessionCapsule(join(attemptsDir, attemptId)) : null,
190
- attemptDir: attemptId ? join(attemptsDir, attemptId) : null,
191
- };
192
- }
193
- /** Script helpers. */
194
- export function seedSession(root, profile, sid) {
195
- const dir = join(root, `store-${profile}`, "sessions");
196
- execFileSync("mkdir", ["-p", dir]);
197
- writeFileSync(join(dir, `${sid}.jsonl`), `{"sid":"${sid}"}\n`);
198
- }
199
- export const limit = (emit, resetsAt = RESET) => [
200
- emit({
201
- type: "status",
202
- status: { kind: "api_retry", error_category: "rate_limit" },
203
- rate_limit: { resets_at: resetsAt, retry_delay_ms: null, constraint_id: "five_hour" },
204
- }),
205
- emit({ type: "error", error: "usage limit reached" }),
206
- emit({ type: "completed" }),
207
- ];
208
- export const crash = (emit) => [
209
- emit({ type: "error", error: "connection reset" }),
210
- emit({ type: "completed", payload: { exit_code: 1, harness_reported_error: true } }),
211
- ];
212
- //# sourceMappingURL=inrun-continuity.test-support.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inrun-continuity.test-support.js","sourceRoot":"","sources":["../src/inrun-continuity.test-support.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAMhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,KAAK,GAAa,EAAE,CAAC;AAC3B,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAwCnG,MAAM,CAAC,MAAM,KAAK,GAAG,0BAA0B,CAAC;AAEhD,SAAS,OAAO;IACd,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;IACpD,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,YAAY,CACV,KAAK,EACL,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAC5F,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAC7B,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CACjC,IAAI,GAAyC,EAAE;IAE/C,MAAM,OAAO,GAAG,CAAC,GAA8C,EAAE,GAAW,EAAE,EAAE,CAC9E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,GAAG,GAAG,QAAQ,CAAC,CAAC;IAC3F,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG;YACnB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;YAC/C,OAAO,UAAU,CAAC,IAAI,CAAC;gBACrB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC1D,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI;YACvC,MAAM,GAAG,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,CAAC;YAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACnC,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/F,CAAC;QACD,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,QAAkB;IAC1C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAqB,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAC5C,iBAAiB,CAAC,KAAK,CAAC;QACtB,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,MAAM;QAClB,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,kBAAkB;QACnC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC;KAC9B,CAAC,CACH,CAAC;IACF,aAAa,CACX,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAC9B,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE;YACP,eAAe,EAAE;gBACf,WAAW,EAAE,QAAQ,CAAC,UAAU,IAAI,CAAC;gBACrC,gBAAgB,EAAE,CAAC;gBACnB,YAAY,EAAE,CAAC;aAChB;SACF;QACD,mBAAmB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ;QACtE,SAAS,EAAE;YACT,IAAI,EAAE;gBACJ,cAAc,EAAE;oBACd,YAAY,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ;oBAC9C,GAAG,CAAC,QAAQ,CAAC,iBAAiB;wBAC5B,CAAC,CAAC,EAAE,kBAAkB,EAAE,QAAQ,CAAC,iBAAiB,EAAE;wBACpD,CAAC,CAAC,EAAE,CAAC;iBACR;aACF;SACF;KACF,CAAC,CACH,CAAC;IACF,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,OAAO,GAAmB;QAC9B,EAAE,EAAE,MAAM;QACV,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,IAAI;YAC9B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,mBAAmB,EAAE,EAAE,CAAC;QACjE,KAAK,CAAC,QAAQ;YACZ,OAAO,eAAe,CAAC,KAAK,CAAC;gBAC3B,EAAE,EAAE,MAAM;gBACV,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,WAAW;gBACjB,eAAe,EAAE,OAAO;gBACxB,YAAY,EAAE;oBACZ,SAAS,EAAE,IAAI;oBACf,UAAU,EAAE,IAAI;oBAChB,aAAa,EAAE,CAAC,MAAM,CAAC;oBACvB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI;oBACX,YAAY,EAAE,CAAC,IAAI,CAAC;oBACpB,GAAG,QAAQ,CAAC,YAAY;iBACzB;gBACD,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,yBAAyB,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,MAAM;YACV,OAAO,iBAAiB,CAAC,KAAK,CAAC;gBAC7B,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,IAAI;gBACZ,eAAe,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;gBACpE,YAAY,EAAE;oBACZ,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE;iBAChF;aACF,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,OAAO;YAClC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7C,OAAO;gBACL,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,UAAU,EAAE,MAAM;gBAClB,YAAY,EAAE,WAAW;gBACzB,YAAY,EAAE,QAAQ;gBACtB,mBAAmB,EAAE,aAAa;gBAClC,gBAAgB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAC3C,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,KAAK;YAChB,IAAI,QAAQ,CAAC,MAAM;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,IAAI,IAAI,CAAC,CAAC;YAC1F,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAmB,CAAC,UAAU,CAAC;YACpD,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACxD,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACtC,MAAM,GAAG,GAAU;gBACjB,OAAO;gBACP,MAAM,EAAE,IAAI,CAAC,iBAAiB,IAAI,IAAI;gBACtC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;gBAC9B,YAAY;aACb,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,IAAI,GAAG,CAAC,EAAyB,EAAgB,EAAE,CACvD,CAAC;gBACC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,gBAAgB,EAAE,eAAe;gBACjC,qBAAqB,EAAE,OAAO;gBAC9B,GAAG,EAAE;aACN,CAAiB,CAAC;YACrB,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;KACF,CAAC;IACF,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,YAAY,CAAC;QACpC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACtC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE;QACnC,cAAc,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE;QAC9C,GAAG,QAAQ,CAAC,IAAI;KACjB,CAAC,CAAC,GAAG,CAAC;QACL,QAAQ,EAAE,IAAI;QACd,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,sCAAsC;QAC9C,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,KAAK;QACb,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,EAAE,CAAC;QAChF,MAAM,EAAE,MAAM;QACd,cAAc,EAAE,cAAc;QAC9B,GAAG,EAAE,KAAK;QACV,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,QAAQ,CAAC,KAAK;QACjB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;KACvC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,MAAM,QAAQ,GAAG,MAAM;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAA4B,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACjC,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAChE,CAAC;IACF,OAAO;QACL,IAAI;QACJ,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,QAAQ;QACR,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACvF,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAwC;QAChF,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5E,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;KAC5D,CAAC;AACJ,CAAC;AAED,sBAAsB;AACtB,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAAe,EAAE,GAAW;IACpE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;IACvD,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACnC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;AACjE,CAAC;AACD,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,IAAiD,EACjD,QAAQ,GAAkB,KAAK,EAC/B,EAAE,CAAC;IACH,IAAI,CAAC;QACH,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE;QAC3D,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE;KACtF,CAAC;IACF,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IACrD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;CAC5B,CAAC;AACF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAiD,EAAE,EAAE,CAAC;IAC1E,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAClD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,CAAC;CACrF,CAAC"}