@tiangong-ai/cli 0.0.59 → 0.0.60

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 (61) hide show
  1. package/AGENTS.md +2 -2
  2. package/README.md +126 -21
  3. package/dist/research/orchestration.js +101 -44
  4. package/dist/research/orchestration.js.map +1 -1
  5. package/dist/research/workspace/acquisition-forecast.d.ts +3 -0
  6. package/dist/research/workspace/acquisition-forecast.js +28 -3
  7. package/dist/research/workspace/acquisition-forecast.js.map +1 -1
  8. package/dist/research/workspace/acquisition-revision.d.ts +13 -0
  9. package/dist/research/workspace/acquisition-revision.js +142 -0
  10. package/dist/research/workspace/acquisition-revision.js.map +1 -0
  11. package/dist/research/workspace/acquisition.d.ts +3 -1
  12. package/dist/research/workspace/acquisition.js +67 -35
  13. package/dist/research/workspace/acquisition.js.map +1 -1
  14. package/dist/research/workspace/analysis-run.d.ts +2 -0
  15. package/dist/research/workspace/analysis-run.js +28 -0
  16. package/dist/research/workspace/analysis-run.js.map +1 -0
  17. package/dist/research/workspace/artifacts.d.ts +3 -0
  18. package/dist/research/workspace/artifacts.js +13 -0
  19. package/dist/research/workspace/artifacts.js.map +1 -1
  20. package/dist/research/workspace/audit-bundle.d.ts +5 -0
  21. package/dist/research/workspace/audit-bundle.js +17 -0
  22. package/dist/research/workspace/audit-bundle.js.map +1 -1
  23. package/dist/research/workspace/content-evidence.d.ts +3 -0
  24. package/dist/research/workspace/content-evidence.js +149 -22
  25. package/dist/research/workspace/content-evidence.js.map +1 -1
  26. package/dist/research/workspace/project-authority.d.ts +21 -0
  27. package/dist/research/workspace/project-authority.js +186 -0
  28. package/dist/research/workspace/project-authority.js.map +1 -0
  29. package/dist/research/workspace/project-mutations.d.ts +26 -0
  30. package/dist/research/workspace/project-mutations.js +330 -0
  31. package/dist/research/workspace/project-mutations.js.map +1 -0
  32. package/dist/research/workspace/projects.d.ts +2 -1
  33. package/dist/research/workspace/projects.js +132 -91
  34. package/dist/research/workspace/projects.js.map +1 -1
  35. package/dist/research/workspace/publication-workflow.d.ts +3 -0
  36. package/dist/research/workspace/publication-workflow.js +15 -3
  37. package/dist/research/workspace/publication-workflow.js.map +1 -1
  38. package/dist/research/workspace/runtime.d.ts +5 -0
  39. package/dist/research/workspace/runtime.js +83 -54
  40. package/dist/research/workspace/runtime.js.map +1 -1
  41. package/dist/research/workspace/schemas.d.ts +6 -0
  42. package/dist/research/workspace/schemas.js +13 -2
  43. package/dist/research/workspace/schemas.js.map +1 -1
  44. package/dist/research/workspace/scientific-review-execution.js +2 -0
  45. package/dist/research/workspace/scientific-review-execution.js.map +1 -1
  46. package/dist/research/workspace/scientific-review.d.ts +3 -1
  47. package/dist/research/workspace/scientific-review.js +9 -2
  48. package/dist/research/workspace/scientific-review.js.map +1 -1
  49. package/dist/research/workspace/setup-catalog.js +2 -2
  50. package/dist/research/workspace/task-acceptance.d.ts +126 -0
  51. package/dist/research/workspace/task-acceptance.js +480 -0
  52. package/dist/research/workspace/task-acceptance.js.map +1 -0
  53. package/dist/research/workspace/task-audit.d.ts +12 -0
  54. package/dist/research/workspace/task-audit.js +181 -0
  55. package/dist/research/workspace/task-audit.js.map +1 -0
  56. package/dist/research/workspace/task-contract.d.ts +139 -0
  57. package/dist/research/workspace/task-contract.js +485 -0
  58. package/dist/research/workspace/task-contract.js.map +1 -0
  59. package/dist/research/workspace/workspace.js +11 -8
  60. package/dist/research/workspace/workspace.js.map +1 -1
  61. package/package.json +1 -1
@@ -0,0 +1,142 @@
1
+ import { join } from "node:path";
2
+ import { CliError } from "../../errors.js";
3
+ import { loadCurrentEvidenceSnapshot } from "./acquisition.js";
4
+ import { appendJournalEvent, readVerifiedJournal } from "./journal.js";
5
+ import { assertProjectAuthority, projectAuthorityIndex } from "./project-authority.js";
6
+ import { beginProjectMutation, prepareProjectMutation, projectMutationBinding, settleProjectMutation, } from "./project-mutations.js";
7
+ import { loadProject } from "./projects.js";
8
+ import { configuredResearchSecrets, sanitizeResearchText } from "./sanitization.js";
9
+ import { canonicalJson, isObject, pathExists, sha256Text, workspacePaths } from "./storage.js";
10
+ import { withWorkspaceLock } from "./workspace.js";
11
+ /** Reopen only acquisition; scientific-design changes still require a new generation. */
12
+ export async function reviseProjectAcquisition(input) {
13
+ const reason = input.reason.trim();
14
+ if (!/^[a-f0-9]{64}$/.test(input.expectedSnapshotSha256) ||
15
+ reason.length < 8 ||
16
+ reason.length > 2000 ||
17
+ sanitizeResearchText(reason, configuredResearchSecrets(process.env)) !== reason) {
18
+ throw new CliError("Acquisition revision requires an exact snapshot SHA-256 and a safe 8-2000 character reason.", {
19
+ code: "RESEARCH_ACQUISITION_REVISION_INVALID",
20
+ exitCode: 2,
21
+ });
22
+ }
23
+ return withWorkspaceLock(input.root, "research.acquisition.revise", async () => {
24
+ const paths = workspacePaths(input.root);
25
+ const project = await loadProject(input.root, input.projectId);
26
+ const events = await readVerifiedJournal(paths.journal);
27
+ assertProjectAuthority(project, projectAuthorityIndex(events));
28
+ const requestSha256 = sha256Text(canonicalJson({
29
+ projectId: project.id,
30
+ expectedSnapshotSha256: input.expectedSnapshotSha256,
31
+ reason,
32
+ includeDiscovery: input.includeDiscovery ?? false,
33
+ }));
34
+ const prior = events.findLast((event) => event.scope === project.id &&
35
+ event.type === "project.acquisition.revision.requested" &&
36
+ event.payload.parentSnapshotSha256 === input.expectedSnapshotSha256);
37
+ if (prior) {
38
+ if (!isObject(prior.payload.mutation) ||
39
+ prior.payload.mutation.requestSha256 !== requestSha256) {
40
+ throw conflict();
41
+ }
42
+ return {
43
+ projectId: project.id,
44
+ parentSnapshotSha256: input.expectedSnapshotSha256,
45
+ operationId: prior.payload.mutation.operationId,
46
+ replayed: true,
47
+ };
48
+ }
49
+ if (project.evidenceState.currentSnapshotSha256 !== input.expectedSnapshotSha256)
50
+ throw conflict();
51
+ const acquireIndex = project.packages.findIndex((item) => item.stage === "acquire");
52
+ const reopenIndex = input.includeDiscovery
53
+ ? project.packages.findIndex((item) => item.stage === "discover")
54
+ : acquireIndex;
55
+ const acquire = project.packages[acquireIndex];
56
+ const projectRoot = join(paths.projects, project.id);
57
+ if (!acquire ||
58
+ acquire.status !== "complete" ||
59
+ project.handoff.state !== "agent-actionable" ||
60
+ project.status === "complete" ||
61
+ project.packages
62
+ .slice(acquireIndex + 1)
63
+ .some((item) => item.attempts > 0 ||
64
+ item.startedAt !== null ||
65
+ !["pending", "ready"].includes(item.status)) ||
66
+ (await pathExists(join(projectRoot, "native", "active.json"))) ||
67
+ (await pathExists(join(projectRoot, "outputs", "inference-snapshot.json")))) {
68
+ throw new CliError("Acquisition can be revised only before analysis, without an active session or unresolved handoff. Use the existing abort, handoff or new-generation workflow as appropriate.", {
69
+ code: "RESEARCH_ACQUISITION_REVISION_UNAVAILABLE",
70
+ exitCode: 3,
71
+ });
72
+ }
73
+ const snapshot = await loadCurrentEvidenceSnapshot(input.root, project.id);
74
+ if (snapshot.snapshotSha256 !== input.expectedSnapshotSha256)
75
+ throw conflict();
76
+ if ([snapshot.evidenceRecord, snapshot.acquisitionRecord].some((record) => record.path !== `evidence/records/${record.sha256}.json`)) {
77
+ throw new CliError("This snapshot predates immutable acquisition records. Preserve it and use the existing new-generation recovery path; in-place migration is not supported.", {
78
+ code: "RESEARCH_ACQUISITION_REVISION_UNAVAILABLE",
79
+ exitCode: 3,
80
+ });
81
+ }
82
+ let mutation = await beginProjectMutation(input.root, "acquisition-revision", project, requestSha256);
83
+ try {
84
+ for (const [index, item] of project.packages.entries()) {
85
+ if (index < reopenIndex)
86
+ continue;
87
+ item.status = index === reopenIndex ? "ready" : "pending";
88
+ if (index <= acquireIndex)
89
+ item.maxAttempts = Math.max(item.maxAttempts, item.attempts + 1);
90
+ item.startedAt = null;
91
+ item.completedAt = null;
92
+ item.lastError = null;
93
+ item.lastFailureKind = null;
94
+ item.retryNotBefore = null;
95
+ }
96
+ if (project.scientificDesign) {
97
+ for (const role of ["evidence-construct", "pilot-methods"]) {
98
+ project.scientificDesign.gates[role] = {
99
+ status: "pending",
100
+ packetSha256: null,
101
+ assessmentSha256: null,
102
+ reviewSha256: null,
103
+ reviewerSessionSha256: null,
104
+ };
105
+ }
106
+ }
107
+ project.status = "ready";
108
+ project.updatedAt = new Date().toISOString();
109
+ mutation = await prepareProjectMutation(input.root, mutation, project);
110
+ await appendJournalEvent(paths.journal, "project.acquisition.revision.requested", project.id, {
111
+ projectId: project.id,
112
+ parentSnapshotId: snapshot.snapshotId,
113
+ parentSnapshotSha256: snapshot.snapshotSha256,
114
+ reasonSha256: sha256Text(reason),
115
+ preservedArtifacts: snapshot.artifacts.length,
116
+ includedDiscovery: input.includeDiscovery ?? false,
117
+ invalidatedScientificRoles: project.scientificDesign
118
+ ? ["evidence-construct", "pilot-methods"]
119
+ : [],
120
+ mutation: projectMutationBinding(mutation),
121
+ });
122
+ await settleProjectMutation(input.root, mutation);
123
+ }
124
+ catch (error) {
125
+ if (!(await settleProjectMutation(input.root, mutation)))
126
+ throw error;
127
+ }
128
+ return {
129
+ projectId: project.id,
130
+ parentSnapshotSha256: snapshot.snapshotSha256,
131
+ operationId: mutation.identity.operationId,
132
+ replayed: false,
133
+ };
134
+ });
135
+ }
136
+ function conflict() {
137
+ return new CliError("Acquisition revision does not match the current snapshot or its committed request. Inspect status and use the exact intended parent; do not retry against an assumed latest version.", {
138
+ code: "RESEARCH_ACQUISITION_REVISION_CONFLICT",
139
+ exitCode: 3,
140
+ });
141
+ }
142
+ //# sourceMappingURL=acquisition-revision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acquisition-revision.js","sourceRoot":"","sources":["../../../src/research/workspace/acquisition-revision.ts"],"names":[],"mappings":"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"}
@@ -71,14 +71,16 @@ export interface EvidenceSnapshot {
71
71
  export declare function materializeAcquisitionAudit(root: string, project: ProjectState, value: Record<string, unknown>, options?: {
72
72
  readOnly?: boolean;
73
73
  }): Promise<MaterializedAcquisitionAudit>;
74
+ export declare function inputCanProvideReadableArtifact(input: ProjectState["inputs"][number]): boolean;
74
75
  export declare function commitAcquisitionAssessments(root: string, projectId: string, audit: MaterializedAcquisitionAudit): Promise<void>;
75
76
  export declare function freezeEvidenceSnapshot(root: string, project: ProjectState): Promise<EvidenceSnapshot>;
76
- export declare function projectAcquisitionSources(sources: Array<Record<string, unknown>>, audit: MaterializedAcquisitionAudit): Array<Record<string, unknown>>;
77
+ export declare function projectAcquisitionSources(sources: Array<Record<string, unknown>>, audit: MaterializedAcquisitionAudit, inputReadability?: ReadonlyMap<string, boolean>): Array<Record<string, unknown>>;
77
78
  export declare function loadCurrentEvidenceSnapshot(root: string, projectId: string): Promise<EvidenceSnapshot>;
78
79
  /** Operation-local verified view; callers cannot inject unverified artifact records. */
79
80
  export declare function loadVerifiedEvidencePreparationView(root: string, projectId: string): Promise<{
80
81
  snapshot: EvidenceSnapshot;
81
82
  artifacts: EvidenceArtifactRecord[];
83
+ ancestorSnapshotSha256s: string[];
82
84
  }>;
83
85
  export declare function loadInferenceReadyEvidenceSnapshot(root: string, projectId: string): Promise<EvidenceSnapshot>;
84
86
  export declare function loadImmutableEvidenceSnapshotChain(root: string, projectId: string, leafSnapshotSha256: string): Promise<EvidenceSnapshot[]>;
@@ -1,7 +1,7 @@
1
1
  import { chmod, readFile } from "node:fs/promises";
2
2
  import { dirname, join } from "node:path";
3
3
  import { CliError } from "../../errors.js";
4
- import { loadEvidenceArtifactRecords, registerEvidenceArtifact, } from "./artifacts.js";
4
+ import { loadEvidenceArtifactRecords, producerVisibleMediaType, producerReadableArtifactPath, registerEvidenceArtifact, } from "./artifacts.js";
5
5
  import { loadProjectEvidenceReceipts } from "./evidence.js";
6
6
  import { appendEvidenceLedgerEvent, evidenceLedgerPath, verifyEvidenceLedger, } from "./evidence-ledger.js";
7
7
  import { readJournal } from "./journal.js";
@@ -99,17 +99,7 @@ export async function materializeAcquisitionAudit(root, project, value, options
99
99
  source?.fullTextAvailable === true &&
100
100
  !(options.readOnly && provenance.kind === "input") &&
101
101
  !boundArtifacts.some((artifact) => producerVisibleMediaType(artifact.mediaType))) {
102
- throw new CliError(`Accepted full-text input ${decision.sourceId} requires a producer-readable artifact before acquisition can close.`, {
103
- code: "RESEARCH_INPUT_ATOMIZATION_REQUIRED",
104
- exitCode: 3,
105
- details: {
106
- sourceId: decision.sourceId,
107
- candidateId: decision.candidateId,
108
- artifactIds: normalizedArtifactIds,
109
- acceptedMediaTypes: ["application/json", "text/csv", "text/markdown", "text/plain"],
110
- recovery: "Register the exact local input or a readable derivative during the active acquire stage, then include its artifact ID in this decision.",
111
- },
112
- });
102
+ throw inputAtomizationError(decision.sourceId, decision.candidateId, normalizedArtifactIds);
113
103
  }
114
104
  decisions.push({ ...decision, artifactIds: normalizedArtifactIds, artifacts: boundArtifacts });
115
105
  }
@@ -120,6 +110,23 @@ export async function materializeAcquisitionAudit(root, project, value, options
120
110
  gaps: parsed.gaps,
121
111
  };
122
112
  }
113
+ export function inputCanProvideReadableArtifact(input) {
114
+ return (producerReadableArtifactPath(input.path) ||
115
+ Boolean(input.contextPath && producerReadableArtifactPath(input.contextPath)));
116
+ }
117
+ function inputAtomizationError(sourceId, candidateId, artifactIds) {
118
+ return new CliError(`Accepted full-text input ${sourceId} requires a producer-readable artifact before acquisition can close.`, {
119
+ code: "RESEARCH_INPUT_ATOMIZATION_REQUIRED",
120
+ exitCode: 3,
121
+ details: {
122
+ sourceId,
123
+ candidateId,
124
+ artifactIds,
125
+ acceptedMediaTypes: ["application/json", "text/csv", "text/markdown", "text/plain"],
126
+ recovery: "Register the exact local input or a readable derivative during the active acquire stage, then include its artifact ID in this decision.",
127
+ },
128
+ });
129
+ }
123
130
  function artifactHasDownloadProvenance(artifact, artifacts, visited = new Set()) {
124
131
  if (artifact.downloadBinding)
125
132
  return true;
@@ -156,8 +163,12 @@ export async function freezeEvidenceSnapshot(root, project) {
156
163
  const projectRoot = join(workspacePaths(root).projects, project.id);
157
164
  const evidencePath = join(projectRoot, "outputs", "evidence.json");
158
165
  const acquisitionPath = join(projectRoot, "outputs", "acquisition.json");
159
- const evidence = parseEvidenceRecord(await readFile(evidencePath, "utf8"));
160
- const audit = parseMaterializedAcquisitionAudit(JSON.parse(await readFile(acquisitionPath, "utf8")));
166
+ const evidenceBytes = await readFile(evidencePath, "utf8");
167
+ const acquisitionBytes = await readFile(acquisitionPath, "utf8");
168
+ const evidence = parseEvidenceRecord(evidenceBytes);
169
+ const audit = parseMaterializedAcquisitionAudit(JSON.parse(acquisitionBytes));
170
+ const evidenceRecord = await persistSnapshotRecord(projectRoot, evidenceBytes);
171
+ const acquisitionRecord = await persistSnapshotRecord(projectRoot, acquisitionBytes);
161
172
  const includedSources = projectAcquisitionSources(evidence.sources, audit);
162
173
  const coverage = computeSnapshotCoverage(project, includedSources, isObject(evidence.coverage) ? evidence.coverage : {});
163
174
  const inferenceReasons = [...new Set([...audit.gaps, ...coverage.gaps])];
@@ -203,14 +214,8 @@ export async function freezeEvidenceSnapshot(root, project) {
203
214
  questionSha256: sha256Text(project.question),
204
215
  createdAt: new Date().toISOString(),
205
216
  ledgerHead: ledger.head,
206
- evidenceRecord: {
207
- path: "outputs/evidence.json",
208
- sha256: await sha256File(evidencePath),
209
- },
210
- acquisitionRecord: {
211
- path: "outputs/acquisition.json",
212
- sha256: await sha256File(acquisitionPath),
213
- },
217
+ evidenceRecord,
218
+ acquisitionRecord,
214
219
  receipts: receipts.map((receipt) => ({
215
220
  attemptId: receipt.attemptId,
216
221
  capabilityId: receipt.capabilityId,
@@ -277,7 +282,21 @@ export async function freezeEvidenceSnapshot(root, project) {
277
282
  project.evidenceState.currentSnapshotSha256 = snapshot.snapshotSha256;
278
283
  return snapshot;
279
284
  }
280
- export function projectAcquisitionSources(sources, audit) {
285
+ async function persistSnapshotRecord(projectRoot, bytes) {
286
+ const sha256 = sha256Text(bytes);
287
+ const logicalPath = `evidence/records/${sha256}.json`;
288
+ const destination = resolveContained(projectRoot, logicalPath);
289
+ if (await pathExists(destination)) {
290
+ if ((await sha256File(destination)) !== sha256)
291
+ throw snapshotError("Immutable snapshot record drifted.");
292
+ }
293
+ else {
294
+ await ensureDirectory(dirname(destination));
295
+ await writeTextAtomic(destination, bytes, 0o444);
296
+ }
297
+ return { path: logicalPath, sha256 };
298
+ }
299
+ export function projectAcquisitionSources(sources, audit, inputReadability) {
281
300
  const decisions = new Map(audit.decisions.map((decision) => [decision.sourceId, decision]));
282
301
  return sources.flatMap((source) => {
283
302
  const sourceId = String(source.id);
@@ -289,7 +308,8 @@ export function projectAcquisitionSources(sources, audit) {
289
308
  .filter((artifact) => producerVisibleMediaType(artifact.mediaType))
290
309
  .map((artifact) => artifact.artifactId);
291
310
  const registeredInputFullText = source.fullTextAvailable === true;
292
- const producerContextLevel = registeredInputFullText
311
+ const readableInput = registeredInputFullText && (inputReadability?.get(sourceId) ?? true);
312
+ const producerContextLevel = readableInput
293
313
  ? "full-input"
294
314
  : producerVisibleArtifactIds.length
295
315
  ? "bounded-text-artifact"
@@ -312,12 +332,6 @@ export function projectAcquisitionSources(sources, audit) {
312
332
  ];
313
333
  });
314
334
  }
315
- function producerVisibleMediaType(mediaType) {
316
- // HTML is frequently a login, paywall, challenge, or error page returned in
317
- // place of the requested file. Keep it auditable as an artifact, but never
318
- // let it mechanically satisfy producer-visible/full-text coverage.
319
- return ["application/json", "text/plain", "text/markdown", "text/csv"].includes(mediaType);
320
- }
321
335
  export async function loadCurrentEvidenceSnapshot(root, projectId) {
322
336
  return (await loadVerifiedEvidencePreparationView(root, projectId)).snapshot;
323
337
  }
@@ -345,9 +359,23 @@ export async function loadVerifiedEvidencePreparationView(root, projectId) {
345
359
  if (canonicalJson(chain[0]) !== canonicalJson(snapshot)) {
346
360
  throw snapshotError("Current evidence snapshot does not match the immutable chain leaf.");
347
361
  }
348
- for (const record of [snapshot.evidenceRecord, snapshot.acquisitionRecord]) {
349
- if ((await sha256File(resolveContained(projectRoot, record.path))) !== record.sha256) {
350
- throw snapshotError(`Snapshot-bound output drifted: ${record.path}.`);
362
+ const verifiedRecords = new Set();
363
+ for (const historical of chain) {
364
+ for (const record of [historical.evidenceRecord, historical.acquisitionRecord]) {
365
+ if (verifiedRecords.has(record.path + record.sha256))
366
+ continue;
367
+ if ((await sha256File(resolveContained(projectRoot, record.path))) !== record.sha256) {
368
+ throw snapshotError(`Snapshot-bound record drifted: ${record.path}.`);
369
+ }
370
+ verifiedRecords.add(record.path + record.sha256);
371
+ }
372
+ }
373
+ for (const [name, record] of [
374
+ ["evidence.json", snapshot.evidenceRecord],
375
+ ["acquisition.json", snapshot.acquisitionRecord],
376
+ ]) {
377
+ if ((await sha256File(join(projectRoot, "outputs", name))) !== record.sha256) {
378
+ throw snapshotError(`Current snapshot output drifted: ${name}.`);
351
379
  }
352
380
  }
353
381
  const receipts = await loadProjectEvidenceReceipts(root, projectId);
@@ -389,7 +417,11 @@ export async function loadVerifiedEvidencePreparationView(root, projectId) {
389
417
  throw snapshotError(`Snapshot artifact binding drifted: ${artifact.artifactId}.`);
390
418
  }
391
419
  }
392
- return { snapshot, artifacts };
420
+ return {
421
+ snapshot,
422
+ artifacts,
423
+ ancestorSnapshotSha256s: chain.slice(1).map((item) => item.snapshotSha256),
424
+ };
393
425
  }
394
426
  export async function loadInferenceReadyEvidenceSnapshot(root, projectId) {
395
427
  const snapshot = await loadCurrentEvidenceSnapshot(root, projectId);
@@ -556,7 +588,7 @@ function isActivitySummary(value) {
556
588
  }
557
589
  function isSnapshotOutputRecord(value, path) {
558
590
  return (isObject(value) &&
559
- value.path === path &&
591
+ (value.path === path || value.path === `evidence/records/${value.sha256}.json`) &&
560
592
  typeof value.sha256 === "string" &&
561
593
  /^[0-9a-f]{64}$/.test(value.sha256));
562
594
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acquisition.js","sourceRoot":"","sources":["../../../src/research/workspace/acquisition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GAEzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EACL,aAAa,EACb,eAAe,EACf,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC;AAsEtB,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAAY,EACZ,OAAqB,EACrB,KAA8B,EAC9B,OAAO,GAA2B,EAAE;IAEpC,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAyC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,gBAAgB,GAAG,MAAM,0BAA0B,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,IACE,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI;QAC1C,iBAAiB,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;QACzC,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EACnE,CAAC;QACD,MAAM,sBAAsB,CAC1B,qFAAqF,CACtF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,CAAC,MAAM,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACpE,MAAM,CAAC,UAAU;QACjB,MAAM;KACP,CAAC,CACH,CAAC;IACF,MAAM,SAAS,GAA8C,EAAE,CAAC;IAChE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzE,MAAM,sBAAsB,CAC1B,wBAAwB,QAAQ,CAAC,QAAQ,wCAAwC,CAClF,CAAC;QACJ,CAAC;QACD,MAAM,qBAAqB,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YAC9D,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC/D,MAAM,sBAAsB,CAC1B,wBAAwB,QAAQ,CAAC,QAAQ,sDAAsD,CAChG,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,IACE,QAAQ,CAAC,MAAM,KAAK,UAAU;YAC9B,MAAM,EAAE,iBAAiB,KAAK,IAAI;YAClC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAChF,UAAU,CAAC,IAAI,KAAK,OAAO,EAC3B,CAAC;YACD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;YAChF,MAAM,aAAa,GAAG,YAAY;gBAChC,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvD,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,oBAAoB,GAAG,YAAY,EAAE,WAAW;gBACpD,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC;YACT,IACE,CAAC,YAAY;gBACb,aAAa,KAAK,YAAY,CAAC,MAAM;gBACrC,CAAC,YAAY,CAAC,WAAW;oBACvB,CAAC,CAAC,YAAY,CAAC,aAAa,IAAI,oBAAoB,KAAK,YAAY,CAAC,aAAa,CAAC,CAAC,EACvF,CAAC;gBACD,MAAM,IAAI,QAAQ,CAChB,4BAA4B,QAAQ,CAAC,QAAQ,wCAAwC,EACrF;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,IAAI,IAAI,EAAE;iBACzE,CACF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC;oBACnD,IAAI;oBACJ,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,IAAI,EAAE,YAAY,CAAC,IAAI;iBACxB,CAAC,CAAC;gBACH,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;gBACvD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9D,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBACrD,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACrC,CAAC;gBACD,IACE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAChF,YAAY,CAAC,WAAW,EACxB,CAAC;oBACD,MAAM,eAAe,GAAG,MAAM,wBAAwB,CAAC;wBACrD,IAAI;wBACJ,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;wBACjC,IAAI,EAAE,YAAY,CAAC,WAAW;wBAC9B,qBAAqB,EAAE,aAAa,CAAC,UAAU;qBAChD,CAAC,CAAC;oBACH,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;oBAC3D,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;wBAChE,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;wBACvD,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,IACE,UAAU,CAAC,IAAI,KAAK,QAAQ;YAC5B,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,6BAA6B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EACtF,CAAC;YACD,MAAM,sBAAsB,CAC1B,kBAAkB,QAAQ,CAAC,QAAQ,0EAA0E,CAC9G,CAAC;QACJ,CAAC;QACD,IACE,QAAQ,CAAC,MAAM,KAAK,UAAU;YAC9B,MAAM,EAAE,iBAAiB,KAAK,IAAI;YAClC,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC;YAClD,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAChF,CAAC;YACD,MAAM,IAAI,QAAQ,CAChB,4BAA4B,QAAQ,CAAC,QAAQ,sEAAsE,EACnH;gBACE,IAAI,EAAE,qCAAqC;gBAC3C,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE;oBACP,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,WAAW,EAAE,qBAAqB;oBAClC,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,CAAC;oBACnF,QAAQ,EACN,yIAAyI;iBAC5I;aACF,CACF,CAAC;QACJ,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,SAAS;QACT,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,QAAgC,EAChC,SAA8C,EAC9C,OAAO,GAAgB,IAAI,GAAG,EAAE;IAEhC,IAAI,QAAQ,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC,QAAQ,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,IAAY,EACZ,SAAiB,EACjB,KAAmC;IAEnC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,MAAM;SACH,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC;SACrD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAC1D,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG;YACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC;QACF,MAAM,gBAAgB,GAAG,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,IAAI,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAAE,SAAS;QAC9C,MAAM,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE;YACpE,GAAG,UAAU;YACb,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,OAAqB;IAErB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACnE,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,iCAAiC,CAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CACpD,CAAC;IACF,MAAM,eAAe,GAAG,yBAAyB,CAC/C,QAAQ,CAAC,OAAyC,EAClD,KAAK,CACN,CAAC;IACF,MAAM,QAAQ,GAAG,uBAAuB,CACtC,OAAO,EACP,eAAe,EACf,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CACrD,CAAC;IACF,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG;QACpB,QAAQ,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAoB;QACxE,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;QACnC,OAAO,EAAE,gBAAgB;KAC1B,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,KAAK,CAAC,SAAS;SACZ,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC;SACpD,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC/C,CAAC;IACF,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9E,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACtC,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7C,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7C,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;KAClD,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CACxD,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC7C,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,GAAG,YAAY,CAAC;SACpC,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;IACrD,MAAM,gBAAgB,GACpB,OAAO,aAAa,EAAE,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAClG,MAAM,oBAAoB,GACxB,OAAO,aAAa,EAAE,OAAO,CAAC,cAAc,KAAK,QAAQ;QACvD,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc;QACtC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACzC,MAAM,yBAAyB,GAAG,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;IACrF,MAAM,cAAc,GAAG,oBAAoB;QACzC,CAAC,CAAC,MAAM,6BAA6B,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,oBAAoB,CAAC;QAC7E,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;IAC1F,MAAM,cAAc,GAA2B,EAAE,CAAC;IAClD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,IAAI,GAAG;QACX,aAAa,EAAE,CAAU;QACzB,IAAI,EAAE,4BAAqC;QAC3C,gBAAgB,EAAE,yBAAyB;QAC3C,oBAAoB;QACpB,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,cAAc,EAAE;YACd,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,MAAM,UAAU,CAAC,YAAY,CAAC;SACvC;QACD,iBAAiB,EAAE;YACjB,IAAI,EAAE,0BAA0B;YAChC,MAAM,EAAE,MAAM,UAAU,CAAC,eAAe,CAAC;SAC1C;QACD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC,CAAC;QACH,SAAS;QACT,OAAO,EAAE,eAAe;QACxB,eAAe,EAAE;YACf,KAAK,EAAE,cAAc,CAAC,MAAM;YAC5B,MAAM,EAAE,cAAc;YACtB,iBAAiB,EAAE,cAAc,CAAC,MAAM,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,MAAM,CACpF,CAAC,MAAM;YACR,kBAAkB,EAAE;gBAClB,GAAG,IAAI,GAAG,CACR,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;oBACvC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAC/B,CAAC,WAAW,EAAyB,EAAE,CAAC,OAAO,WAAW,KAAK,QAAQ,CACxE;oBACH,CAAC,CAAC,EAAE,CACP,CACF;aACF,CAAC,IAAI,EAAE;SACT;QACD,QAAQ;QACR,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,aAAa;QACb,WAAW,EAAE;YACX,GAAI,QAAQ,CAAC,WAAwB;YACrC,GAAG,KAAK,CAAC,WAAW;YACpB,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;SAC/D,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;QACnE,KAAK;KACN,CAAC;IACF,MAAM,UAAU,GAAG,YAAY,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC9E,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAqB;QACjC,GAAG,WAAW;QACd,cAAc,EAAE,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;KACvD,CAAC;IACF,MAAM,WAAW,GAAG,sBAAsB,QAAQ,CAAC,cAAc,OAAO,CAAC;IACzE,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACzD,IAAI,MAAM,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,MAAM,aAAa,CAAC,qDAAqD,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9C,MAAM,eAAe,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,wBAAwB,CAAC,EAAE,OAAO,CAAC,CAAC;IACvF,MAAM,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,iBAAiB,EAAE;QACnE,UAAU;QACV,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,gBAAgB,EAAE,yBAAyB;QAC3C,oBAAoB;QACpB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,eAAe,CAAC,MAAM;QACnC,aAAa,EAAE,SAAS,CAAC,MAAM;QAC/B,QAAQ;QACR,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,aAAa;KACd,CAAC,CAAC;IACH,OAAO,CAAC,aAAa,CAAC,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC9D,OAAO,CAAC,aAAa,CAAC,qBAAqB,GAAG,QAAQ,CAAC,cAAc,CAAC;IACtE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAuC,EACvC,KAAmC;IAEnC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5F,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO,EAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC9E,MAAM,0BAA0B,GAAG,QAAQ,CAAC,SAAS;aAClD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAClE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,KAAK,IAAI,CAAC;QAClE,MAAM,oBAAoB,GAAG,uBAAuB;YAClD,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,0BAA0B,CAAC,MAAM;gBACjC,CAAC,CAAC,uBAAuB;gBACzB,CAAC,CAAC,eAAe,CAAC;QACtB,OAAO;YACL;gBACE,GAAG,MAAM;gBACT,iBAAiB,EAAE,oBAAoB,KAAK,eAAe;gBAC3D,kBAAkB,EAAE,uBAAuB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBACrE,oBAAoB;gBACpB,0BAA0B;gBAC1B,qBAAqB,EAAE,uBAAuB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBACxE,eAAe,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;gBACvC,gBAAgB,EAAE,KAAK;gBACvB,iBAAiB,EAAE,QAAQ,CAAC,MAAM;gBAClC,oBAAoB,EAAE,QAAQ,CAAC,SAAS;gBACxC,sBAAsB,EAAE,QAAQ,CAAC,WAAW;gBAC5C,WAAW;aACZ;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAiB;IACjD,4EAA4E;IAC5E,2EAA2E;IAC3E,mEAAmE;IACnE,OAAO,CAAC,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAAY,EACZ,SAAiB;IAEjB,OAAO,CAAC,MAAM,mCAAmC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/E,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,IAAY,EACZ,SAAiB;IAEjB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC;IACpE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,aAAa,CAAC,sDAAsD,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,aAAa,CAAC,2DAA2D,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC;IACpD,IAAI,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QAC9D,MAAM,aAAa,CAAC,4CAA4C,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,EAAE,sBAAsB,cAAc,OAAO,CAAC,CAAC;IACjG,IACE,CAAC,CAAC,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC;QAClC,CAAC,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,EAC9D,CAAC;QACD,MAAM,aAAa,CAAC,+DAA+D,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,kCAAkC,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACxF,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,MAAM,aAAa,CAAC,oEAAoE,CAAC,CAAC;IAC5F,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC3E,IAAI,CAAC,MAAM,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACrF,MAAM,aAAa,CAAC,kCAAkC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrF,IACE,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM;QAC5C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAChC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClD,OAAO,CACL,CAAC,OAAO;gBACR,aAAa,CAAC,MAAM,CAAC;oBACnB,aAAa,CAAC;wBACZ,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,aAAa,EAAE,OAAO,CAAC,aAAa;wBACpC,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,cAAc,EAAE,OAAO,CAAC,cAAc;qBACvC,CAAC,CACL,CAAC;QACJ,CAAC,CAAC,EACF,CAAC;QACD,MAAM,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,CAAC,MAAM,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CACpF,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,iBAAiB;QAChC,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU;QAChD,KAAK,CAAC,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,cAAc,CAC3D,CAAC;IACF,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACxC,IACE,cAAc,CAAC,MAAM,KAAK,CAAC;QAC3B,CAAC,aAAa;QACd,aAAa,CAAC,YAAY,KAAK,QAAQ,CAAC,UAAU;QAClD,aAAa,CAAC,OAAO,CAAC,IAAI,KAAK,sBAAsB,QAAQ,CAAC,cAAc,OAAO;QACnF,aAAa,CAAC,OAAO,CAAC,gBAAgB,KAAK,QAAQ,CAAC,gBAAgB;QACpE,aAAa,CAAC,OAAO,CAAC,oBAAoB,KAAK,QAAQ,CAAC,oBAAoB,EAC5E,CAAC;QACD,MAAM,aAAa,CAAC,4DAA4D,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACzF,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnE,MAAM,aAAa,CAAC,sCAAsC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,IAAY,EACZ,SAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpE,IAAI,QAAQ,CAAC,aAAa,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC/C,MAAM,IAAI,QAAQ,CAAC,0DAA0D,EAAE;YAC7E,IAAI,EAAE,iCAAiC;YACvC,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE;gBACP,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,gBAAgB,EAAE,QAAQ,CAAC,aAAa,CAAC,gBAAgB;gBACzD,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO;aACxC;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,IAAY,EACZ,SAAiB,EACjB,kBAA0B;IAE1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC/C,MAAM,aAAa,CAAC,+CAA+C,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,UAAU,GAAkB,kBAAkB,CAAC;IACnD,IAAI,KAAK,GAA4B,IAAI,CAAC;IAC1C,OAAO,UAAU,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACrD,MAAM,aAAa,CAAC,gEAAgE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAClF,IACE,KAAK;YACL,CAAC,KAAK,CAAC,oBAAoB,KAAK,QAAQ,CAAC,cAAc;gBACrD,KAAK,CAAC,gBAAgB,KAAK,QAAQ,CAAC,UAAU,CAAC,EACjD,CAAC;YACD,MAAM,aAAa,CAAC,8CAA8C,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,KAAK,IAAI,CAAC,EAAE,CAAC;YACtF,MAAM,aAAa,CAAC,kDAAkD,CAAC,CAAC;QAC1E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,KAAK,GAAG,QAAQ,CAAC;QACjB,UAAU,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,IAAY,EACZ,SAAiB,EACjB,cAAsB;IAEtB,MAAM,IAAI,GAAG,gBAAgB,CAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAC9C,sBAAsB,cAAc,OAAO,CAC5C,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,aAAa,CAAC,+DAA+D,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC;IACpE,IACE,cAAc,KAAK,cAAc;QACjC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,KAAK,cAAc,EACzD,CAAC;QACD,MAAM,aAAa,CAAC,mDAAmD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CACpB,MAA+B,EAC/B,OAAuC,EACvC,SAAmC;IAEnC,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAChF,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAChG,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CACjE,CAAC;IACF,OAAO;QACL,cAAc,EAAE,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;aACvC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAClD,IAAI,EAAE;QACT,gBAAgB,EAAE,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;aACzC,MAAM,CACL,CAAC,QAAQ,EAAE,EAAE,CACX,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC3B,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAC/D;aACA,IAAI,EAAE;QACT,gBAAgB,EAAE,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;aACxC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aACnD,IAAI,EAAE;QACT,kBAAkB,EAAE,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;aAC3C,MAAM,CACL,CAAC,QAAQ,EAAE,EAAE,CACX,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC3B,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAC/D;aACA,IAAI,EAAE;QACT,gBAAgB,EAAE,CAAC,GAAG,kBAAkB,CAAC;aACtC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aAC1D,IAAI,EAAE;QACT,kBAAkB,EAAE,CAAC,GAAG,iBAAiB,CAAC;aACvC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aAC3D,IAAI,EAAE;KACV,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA8B;IAK3D,IACE,KAAK,CAAC,aAAa,KAAK,CAAC;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QACjC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1B,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACpE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EACnD,CAAC;QACD,MAAM,sBAAsB,CAAC,wCAAwC,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,KAIN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAAc;IAC9D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,aAAa,CAAC,4CAA4C,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC5C,IACE,MAAM,CAAC,SAAS,CAAC,IAAI,CACnB,CAAC,QAAQ,EAAE,EAAE,CACX,CAAC,KAAK,CAAC,OAAO,CAAE,QAA+C,CAAC,SAAS,CAAC;QACzE,QAAgD,CAAC,SAAS,CAAC,IAAI,CAC9D,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAClC,CACJ,EACD,CAAC;QACD,MAAM,aAAa,CAAC,yDAAyD,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,KAAgD,CAAC;AAC1D,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,KAAK,CAAC,aAAa,KAAK,CAAC;QACzB,KAAK,CAAC,IAAI,KAAK,4BAA4B;QAC3C,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACpC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QACxC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QAC5C,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QACxC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QAC5C,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACpC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACxC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,CAAC,KAAK,CAAC,gBAAgB,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,CAAC;QAC/E,CAAC,KAAK,CAAC,oBAAoB,KAAK,IAAI;YAClC,CAAC,OAAO,KAAK,CAAC,oBAAoB,KAAK,QAAQ;gBAC7C,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACxD,CAAC,sBAAsB,CAAC,KAAK,CAAC,cAAc,EAAE,uBAAuB,CAAC;QACtE,CAAC,sBAAsB,CAAC,KAAK,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;QAC5E,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC/B,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CAAC;QACzC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;QACjD,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC;QACrC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QACjC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC;QACtE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CACnF,EACD,CAAC;QACD,MAAM,aAAa,CAAC,iCAAiC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,KAAoC,CAAC;AAC9C,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACjE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC;QAC3D,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CACpF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QACxB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3F,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC;QACpC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACvC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,WAAW,KAAK,QAAQ,CAAC,CACjF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc,EAAE,IAAY;IAC1D,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,CAAC,IAAI,KAAK,IAAI;QACnB,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACnC,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QACvC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC1C,KAAK,CAAC,OAAO,KAAK,oBAAoB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE;QAChF,KAAK,CAAC,cAAc;YAClB,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,aAAa,EAAE,CAC/E,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QAChC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QAC3D,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QAChC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,IAAY,EACZ,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IACE,KAAK,CAAC,IAAI,KAAK,oBAAoB;YACnC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,QAAQ,EAC7C,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAqB,EACrB,OAAuC,EACvC,aAAsC;IAEtC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC;QAC7D,IAAI,CAAC,IAAI,CACP,YAAY,OAAO,CAAC,oBAAoB,CAAC,UAAU,qBAAqB,OAAO,CAAC,MAAM,EAAE,CACzF,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;IAC7F,IAAI,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;QACtE,IAAI,CAAC,IAAI,CACP,YAAY,OAAO,CAAC,oBAAoB,CAAC,kBAAkB,+BAA+B,eAAe,EAAE,CAC5G,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAC9B,CAAC,QAAQ,EAAE,EAAE,CACX,CAAC,OAAO,CAAC,oBAAoB,CAAC,mBAAmB,KAAK,IAAI;QACxD,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;QACtE,CAAC,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,KAAK,IAAI;YACtD,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CACzE,CAAC,MAAM,CAAC;IACT,IAAI,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,eAAe,EAAE,CAAC;QAC3D,IAAI,CAAC,IAAI,CACP,YAAY,OAAO,CAAC,oBAAoB,CAAC,eAAe,2DAA2D,OAAO,EAAE,CAC7H,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5F,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QAClE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC;QAC7D,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC3C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3E,MAAM,SAAS,GAAG,OAAO;aACtB,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,CACT,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC5F;aACA,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aAClC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QACtE,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;YACpD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YAC/E,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,uBAAuB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC7B,CAAC;QACF,MAAM,MAAM,GAAsC,SAAS,CAAC,MAAM;YAChE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,IAAI,uBAAuB;gBACtD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS;YACb,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,OAAO;QACL,UAAU;QACV,WAAW;QACX,eAAe;QACf,YAAY,EAAE,SAAS,CAAC,MAAM;QAC9B,oBAAoB,EAAE;YACpB,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI;YAC7F,MAAM,EAAE,SAAS,CAAC,MAAM;gBACtB,CAAC,CAAC,SAAS;qBACN,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;qBAClC,IAAI,EAAE;qBACN,EAAE,CAAC,CAAC,CAAC,CAAE;gBACZ,CAAC,CAAC,IAAI;SACT;QACD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM;QAC/C,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACxD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAChE,OAAO;YACL,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK;YACtC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;SACtE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,OAAO,IAAI,qBAAqB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,aAAa,CAAC,OAAe,EAAE,OAAiC;IACvE,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;QAC3B,IAAI,EAAE,oCAAoC;QAC1C,QAAQ,EAAE,CAAC;QACX,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"acquisition.js","sourceRoot":"","sources":["../../../src/research/workspace/acquisition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** Mode consistency, not a claim that the declared computation was executed. */
2
+ export declare function isConsistentAnalysisRunMetadata(value: unknown): boolean;
@@ -0,0 +1,28 @@
1
+ import { isObject } from "./storage.js";
2
+ /** Mode consistency, not a claim that the declared computation was executed. */
3
+ export function isConsistentAnalysisRunMetadata(value) {
4
+ if (!isObject(value))
5
+ return false;
6
+ const implementations = value.implementationSha256s;
7
+ const environments = value.environmentSha256s;
8
+ const inputs = value.inputArtifactSha256s;
9
+ if (![implementations, environments, inputs].every((items) => Array.isArray(items) &&
10
+ items.every((item) => typeof item === "string" && /^[a-f0-9]{64}$/.test(item))))
11
+ return false;
12
+ if (value.mode === "qualitative") {
13
+ return (value.status === "not-applicable" &&
14
+ value.command === null &&
15
+ value.randomSeed === null &&
16
+ implementations.length === 0 &&
17
+ environments.length === 0);
18
+ }
19
+ return ((value.mode === "computational" || value.mode === "mixed") &&
20
+ value.status === "reproduced" &&
21
+ typeof value.command === "string" &&
22
+ value.command.trim().length > 0 &&
23
+ typeof value.randomSeed === "string" &&
24
+ value.randomSeed.trim().length > 0 &&
25
+ implementations.length > 0 &&
26
+ environments.length > 0);
27
+ }
28
+ //# sourceMappingURL=analysis-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis-run.js","sourceRoot":"","sources":["../../../src/research/workspace/analysis-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,gFAAgF;AAChF,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,eAAe,GAAG,KAAK,CAAC,qBAAqB,CAAC;IACpD,MAAM,YAAY,GAAG,KAAK,CAAC,kBAAkB,CAAC;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,oBAAoB,CAAC;IAC1C,IACE,CAAC,CAAC,eAAe,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK,CAC5C,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACjF;QAED,OAAO,KAAK,CAAC;IACf,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,gBAAgB;YACjC,KAAK,CAAC,OAAO,KAAK,IAAI;YACtB,KAAK,CAAC,UAAU,KAAK,IAAI;YACxB,eAA4B,CAAC,MAAM,KAAK,CAAC;YACzC,YAAyB,CAAC,MAAM,KAAK,CAAC,CACxC,CAAC;IACJ,CAAC;IACD,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;QAC1D,KAAK,CAAC,MAAM,KAAK,YAAY;QAC7B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC/B,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACpC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACjC,eAA4B,CAAC,MAAM,GAAG,CAAC;QACvC,YAAyB,CAAC,MAAM,GAAG,CAAC,CACtC,CAAC;AACJ,CAAC"}
@@ -59,3 +59,6 @@ export declare function loadEvidenceArtifactRecords(root: string, projectId: str
59
59
  export declare function verifyEvidenceArtifact(root: string, record: EvidenceArtifactRecord): Promise<void>;
60
60
  export declare function stageEvidenceArtifacts(root: string, projectId: string, capsuleProject: string, selectedArtifactIds?: ReadonlySet<string>): Promise<EvidenceArtifactRecord[]>;
61
61
  export declare function cloneProjectArtifactRecords(root: string, sourceProjectId: string, targetProjectId: string): Promise<EvidenceArtifactRecord[]>;
62
+ /** The registration media contract, without reading or inventing artifact bytes. */
63
+ export declare function producerReadableArtifactPath(path: string): boolean;
64
+ export declare function producerVisibleMediaType(mediaType: string): boolean;
@@ -537,6 +537,19 @@ function canonicalSourceUrl(value) {
537
537
  url.searchParams.sort();
538
538
  return url.toString();
539
539
  }
540
+ /** The registration media contract, without reading or inventing artifact bytes. */
541
+ export function producerReadableArtifactPath(path) {
542
+ try {
543
+ return producerVisibleMediaType(inferMediaType(path));
544
+ }
545
+ catch {
546
+ return false;
547
+ }
548
+ }
549
+ export function producerVisibleMediaType(mediaType) {
550
+ // HTML can be a login/challenge response; it is auditable but not atom-capable.
551
+ return ["application/json", "text/plain", "text/markdown", "text/csv"].includes(mediaType);
552
+ }
540
553
  function inferMediaType(path) {
541
554
  const extension = extname(path).toLowerCase();
542
555
  const byExtension = {