@promptframe/cli 0.1.29 → 0.1.31

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/README.md CHANGED
@@ -4,7 +4,7 @@ PromptFrame component authoring CLI.
4
4
 
5
5
  Use it to inspect the public component standard, check component folders, validate manifests, inspect the local preview envelope, package source archives, upload components, check build status, rebuild evidence indexes, and rerun layout/security probes.
6
6
 
7
- Current npm registry baseline is `@promptframe/cli@0.1.29`, `@promptframe/contracts@0.1.13`, `@promptframe/component-kit@0.1.11`, and `create-promptframe-component@0.1.17`. The published CLI consumes the contracts AST-aware public security policy evaluator, reports `securityPolicyDigest` / `securityEvaluatorMode` in JSON output, reports `publicResources` for component-level public assets, supports endpoint discovery, project list/current diagnostics, self-service CI token create/list/revoke, and packages sanitized lockfile evidence for platform admission.
7
+ Current npm registry baseline is `@promptframe/cli@0.1.31`, `@promptframe/contracts@0.1.13`, `@promptframe/component-kit@0.1.11`, and `create-promptframe-component@0.1.18`. The published CLI consumes the contracts AST-aware public security policy evaluator, reports `securityPolicyDigest` / `securityEvaluatorMode` in JSON output, reports `publicResources` for component-level public assets, keeps native `<img>` / `<video>` source checks case-sensitive so Remotion `<Img>` / `<Video>` remain valid, supports endpoint discovery, project list/current diagnostics, self-service CI token create/list/revoke, single-component and workspace GitHub workflow setup, `promptframe-workspace.json` validation, workspace upload source metadata headers, and packages sanitized lockfile evidence for platform admission.
8
8
 
9
9
  ```bash
10
10
  npm install -D @promptframe/cli
@@ -65,6 +65,42 @@ The upload-to-publish lifecycle has multiple gates. `upload` returning success m
65
65
 
66
66
  `setup-ci --provider github` writes `.github/workflows/promptframe-component.yml` for a component project. Pull requests run check-only diagnostics and GitHub annotations; `main` and release-style tag pushes upload with `${{ secrets.PROMPTFRAME_CI_TOKEN }}` against `${{ vars.PROMPTFRAME_API_BASE }}`. Add those values in GitHub repository settings. Do not paste the CI token into the workflow, README, issue, or component source.
67
67
 
68
+ ### Repository layouts and monorepos
69
+
70
+ The default CLI workflow assumes a single component repository: the current directory is the component package and contains `manifest.json`, `package.json`, `src/`, and optional `public/`.
71
+
72
+ Monorepos are allowed only when component mapping is explicit. `promptframe-workspace.json` is the supported workspace SSOT; it lists each component `id` and relative `path`. `workspace validate` confirms every path exists and every selected directory's `manifest.json` declares the same id before upload. `PROMPTFRAME_CI_TOKEN` authorizes the upload; it does not map a repository, commit, or tag to a component for you.
73
+
74
+ Create a workspace scaffold:
75
+
76
+ ```bash
77
+ npx -y create-promptframe-component@latest ./component-workspace \
78
+ --workspace \
79
+ --component image-particle-remotion \
80
+ --display-name "Image Particle Remotion"
81
+ cd component-workspace
82
+ npx promptframe workspace validate . --json
83
+ npx promptframe check . --workspace-component @marketplace/image-particle-remotion --json
84
+ npx promptframe setup-ci . --provider github --workspace
85
+ npx promptframe upload . --workspace-component @marketplace/image-particle-remotion --endpoint "$PROMPTFRAME_API_BASE" --json
86
+ ```
87
+
88
+ Add a component to an existing workspace:
89
+
90
+ ```bash
91
+ npx promptframe workspace add . components/motion-intro/image-particle-remotion --id @marketplace/image-particle-remotion
92
+ npx promptframe workspace validate . --json
93
+ ```
94
+
95
+ The path-explicit single-directory form remains valid if you intentionally run inside one component package:
96
+
97
+ ```bash
98
+ cd components/motion-intro/image-particle-remotion
99
+ npx promptframe upload . --endpoint "$PROMPTFRAME_API_BASE" --json
100
+ ```
101
+
102
+ Do not run `promptframe upload .` at a monorepo root unless the root itself is a valid component package. If you use tag triggers, treat the tag only as a CI trigger or human-readable version hint; the upload mapping still comes from `promptframe-workspace.json`, `--workspace-component`, and the uploaded manifest. Workspace uploads send source metadata headers so the platform can record the workspace config, selected component id, component path, and manifest id alongside the build record.
103
+
68
104
  For external CodingAI, the feedback order is: local CLI JSON diagnostics, GitHub Check annotations, Action summary, artifact report, then platform `status` / admission diagnostics. The CLI never needs internal PromptFrame REQ/TASK/QA docs, agent boards, private endpoint defaults, Auth0 subjects, cookies, or token secrets.
69
105
 
70
106
  Local and remote commands support stable JSON output:
@@ -78,6 +114,8 @@ npx promptframe upgrade . --dry-run --json
78
114
  npx promptframe dev . --dry-run --json
79
115
  npx promptframe preview . --json
80
116
  npx promptframe preview . --write-local-report --json
117
+ npx promptframe workspace validate . --json
118
+ npx promptframe check . --workspace-component @marketplace/my-component --json
81
119
  npx promptframe login --endpoint "$PROMPTFRAME_API_BASE" --json
82
120
  npx promptframe whoami --json
83
121
  npx promptframe discovery --json
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ const DEFAULT_CLI_LOGIN_SCOPES = ['component.upload', 'component.status.read'];
19
19
  const SECURITY_EVALUATOR_MODE = 'ast';
20
20
  const LOCKFILE_EVIDENCE_SCHEMA_VERSION = 'promptframe.lockfile-evidence.v0.1.0';
21
21
  const LOCKFILE_EVIDENCE_FILE_NAME = 'promptframe-lockfile-evidence.json';
22
+ const PROMPTFRAME_WORKSPACE_SCHEMA_VERSION = 'promptframe-workspace.v0.1.0';
22
23
  const PACKAGE_MANAGER_LOCKFILE_NAMES = [
23
24
  'package-lock.json',
24
25
  'npm-shrinkwrap.json',
@@ -93,6 +94,9 @@ async function run(name, argv) {
93
94
  case 'token':
94
95
  await ciToken(argv);
95
96
  break;
97
+ case 'workspace':
98
+ workspace(argv);
99
+ break;
96
100
  case 'setup-ci':
97
101
  setupCi(argv);
98
102
  break;
@@ -157,7 +161,8 @@ function doctor(argv) {
157
161
  console.log(`doctor passed: ${dir}`);
158
162
  }
159
163
  function validate(argv) {
160
- const dir = resolve(firstPositionalArg(argv) ?? '.');
164
+ const input = resolveComponentInput(argv);
165
+ const dir = input.dir;
161
166
  const manifest = validateComponentDirectory(dir);
162
167
  const publicResources = evaluateDirectoryPublicResources(dir);
163
168
  assertPublicResourcesAccepted(publicResources);
@@ -171,6 +176,7 @@ function validate(argv) {
171
176
  const output = {
172
177
  command: 'validate',
173
178
  dir,
179
+ source: input.source,
174
180
  manifest: {
175
181
  id: manifest.id,
176
182
  name: manifest.name,
@@ -195,7 +201,8 @@ function validate(argv) {
195
201
  printDiagnostics(diagnostics);
196
202
  }
197
203
  async function check(argv) {
198
- const dir = resolve(firstPositionalArg(argv) ?? '.');
204
+ const input = resolveComponentInput(argv);
205
+ const dir = input.dir;
199
206
  const target = resolveUploadTarget(argv);
200
207
  const manifest = validateComponentDirectory(dir);
201
208
  assertAuthoringPackageFreshness(dir, target);
@@ -214,6 +221,7 @@ async function check(argv) {
214
221
  const output = {
215
222
  command: 'check',
216
223
  dir,
224
+ source: input.source,
217
225
  manifest: manifestSummary(manifest),
218
226
  checkedRuleIds: VALIDATE_CHECKED_RULE_IDS,
219
227
  securityPolicyVersion: PROMPTFRAME_PUBLIC_SECURITY_POLICY.policyVersion,
@@ -267,7 +275,8 @@ function upgrade(argv) {
267
275
  }
268
276
  }
269
277
  function preview(argv) {
270
- const dir = resolve(firstPositionalArg(argv) ?? '.');
278
+ const input = resolveComponentInput(argv);
279
+ const dir = input.dir;
271
280
  const manifest = validateComponentDirectory(dir);
272
281
  const previewEnvelope = readPreviewProps(dir);
273
282
  const previewScript = resolveLocalPreviewScript(readPackageManifest(join(dir, 'package.json')));
@@ -282,6 +291,7 @@ function preview(argv) {
282
291
  const output = {
283
292
  command: 'preview',
284
293
  dir,
294
+ source: input.source,
285
295
  manifest: manifestSummary(manifest),
286
296
  renderingSystem: 'remotion',
287
297
  previewSource: 'src/preview-props.json',
@@ -302,7 +312,8 @@ function preview(argv) {
302
312
  console.log(`Run: npm run ${previewScript}`);
303
313
  }
304
314
  async function dev(argv) {
305
- const dir = resolve(firstPositionalArg(argv) ?? '.');
315
+ const input = resolveComponentInput(argv);
316
+ const dir = input.dir;
306
317
  const target = resolveUploadTarget(argv);
307
318
  const manifest = validateComponentDirectory(dir);
308
319
  assertAuthoringPackageFreshness(dir, target);
@@ -315,6 +326,7 @@ async function dev(argv) {
315
326
  const output = {
316
327
  command: 'dev',
317
328
  dir,
329
+ source: input.source,
318
330
  manifest: manifestSummary(manifest),
319
331
  renderingSystem: 'remotion-player',
320
332
  previewSource: 'src/preview-props.json',
@@ -343,13 +355,15 @@ async function dev(argv) {
343
355
  await runDevServer(dir, devCommand);
344
356
  }
345
357
  function packageComponent(argv) {
346
- const artifact = packageDirectory(argv[0] ?? '.', valueAfter(argv, '--out'));
358
+ const input = resolveComponentInput(argv);
359
+ const artifact = packageDirectory(input.dir, valueAfter(argv, '--out'));
347
360
  printJson({
348
361
  command: 'package',
349
362
  diagnostic: diagnostic('package.completed', 'info', 'Component source archive created.'),
350
363
  out: artifact.out,
351
364
  sizeBytes: artifact.sizeBytes,
352
365
  sha256: artifact.sha256,
366
+ source: input.source,
353
367
  publicResources: artifact.publicResources,
354
368
  });
355
369
  }
@@ -444,18 +458,25 @@ async function remoteCommand(name, argv) {
444
458
  }
445
459
  }
446
460
  async function uploadComponent(argv) {
447
- const target = resolve(argv[0] ?? '.');
461
+ const workspaceComponent = valueAfter(argv, '--workspace-component');
462
+ const target = resolve(componentPathArg(argv) ?? '.');
448
463
  const uploadTarget = resolveUploadTarget(argv);
449
464
  let localReusability;
465
+ if (workspaceComponent && target.endsWith('.zip')) {
466
+ fail('upload --workspace-component requires a workspace root, not a zip file.', 'workspace.component.zip_unsupported', 2);
467
+ }
468
+ const input = target.endsWith('.zip')
469
+ ? { dir: target, source: { mode: 'zip' } }
470
+ : resolveComponentInput(argv);
450
471
  const artifact = target.endsWith('.zip')
451
472
  ? packageZipForUpload(target, uploadTarget)
452
- : packageDirectoryForUploadWithLocalReusability(target, uploadTarget, valueAfter(argv, '--out'), (reusability) => {
473
+ : packageDirectoryForUploadWithLocalReusability(input.dir, uploadTarget, valueAfter(argv, '--out'), (reusability) => {
453
474
  localReusability = reusability;
454
475
  });
455
476
  const localDiagnostics = localReusability
456
477
  ? [
457
478
  ...reusabilityDiagnostics(localReusability),
458
- ...stylePropDiagnostics(target),
479
+ ...stylePropDiagnostics(input.dir),
459
480
  ...(artifact.publicResources?.diagnostics ?? []),
460
481
  ]
461
482
  : undefined;
@@ -470,6 +491,7 @@ async function uploadComponent(argv) {
470
491
  headers: {
471
492
  ...buildRemoteHeaders(endpoint, argv),
472
493
  ...buildSecurityPolicyHeaders(),
494
+ ...buildSourceMetadataHeaders(input.source),
473
495
  'x-promptframe-upload-target': uploadTarget,
474
496
  },
475
497
  }, 'upload.http.failed');
@@ -480,6 +502,7 @@ async function uploadComponent(argv) {
480
502
  uploadTarget,
481
503
  jobId: getBuildId(payload),
482
504
  package: artifact,
505
+ source: input.source,
483
506
  ...(localReusability ? { localReusability, diagnostics: localDiagnostics } : {}),
484
507
  diagnostic: diagnostic('upload.completed', 'info', 'Component upload accepted by platform.'),
485
508
  };
@@ -573,6 +596,324 @@ function buildFreshnessWarningDecision(target, code, message) {
573
596
  function formatRemoteStandardStaleFailure(remoteSourceHash) {
574
597
  return `PromptFrame component standard is stale: local=${COMPONENT_STANDARD_SOURCE_HASH}, platform=${remoteSourceHash}. Run promptframe upgrade . --apply before upload.`;
575
598
  }
599
+ function workspace(argv) {
600
+ const subcommand = argv[0] ?? 'validate';
601
+ const rest = argv.slice(argv[0] ? 1 : 0);
602
+ switch (subcommand) {
603
+ case 'validate':
604
+ workspaceValidate(rest);
605
+ break;
606
+ case 'list':
607
+ workspaceList(rest);
608
+ break;
609
+ case 'init':
610
+ workspaceInit(rest);
611
+ break;
612
+ case 'add':
613
+ workspaceAdd(rest);
614
+ break;
615
+ default:
616
+ fail(`Unknown workspace command: ${subcommand}`, 'workspace.command.unknown', 2);
617
+ }
618
+ }
619
+ function workspaceValidate(argv) {
620
+ const root = resolve(componentPathArg(argv) ?? '.');
621
+ const reports = collectWorkspaceComponentReports(root);
622
+ const output = {
623
+ command: 'workspace.validate',
624
+ workspace: workspaceSummary(root),
625
+ components: reports.map(workspaceReportForOutput),
626
+ diagnostic: diagnostic('workspace.validate.completed', 'info', 'PromptFrame workspace configuration is valid.'),
627
+ };
628
+ if (hasFlag(argv, '--json')) {
629
+ printJson(output);
630
+ return;
631
+ }
632
+ console.log(`workspace valid: ${root}`);
633
+ for (const component of reports) {
634
+ console.log(`${component.id} -> ${component.path}`);
635
+ }
636
+ }
637
+ function workspaceList(argv) {
638
+ const root = resolve(componentPathArg(argv) ?? '.');
639
+ const reports = collectWorkspaceComponentReports(root);
640
+ const output = {
641
+ command: 'workspace.list',
642
+ workspace: workspaceSummary(root),
643
+ components: reports.map(workspaceReportForOutput),
644
+ diagnostic: diagnostic('workspace.list.completed', 'info', 'PromptFrame workspace components listed.'),
645
+ };
646
+ if (hasFlag(argv, '--json')) {
647
+ printJson(output);
648
+ return;
649
+ }
650
+ for (const component of reports) {
651
+ console.log(`${component.id}\t${component.path}`);
652
+ }
653
+ }
654
+ function workspaceInit(argv) {
655
+ const root = resolve(componentPathArg(argv) ?? '.');
656
+ const configPath = workspaceConfigPath(root);
657
+ if (existsSync(configPath) && !hasFlag(argv, '--force')) {
658
+ fail(`PromptFrame workspace config already exists at ${configPath}. Use --force to overwrite.`, 'workspace.config.exists');
659
+ }
660
+ const componentPath = valueAfter(argv, '--component-path');
661
+ const componentId = valueAfter(argv, '--id');
662
+ const components = componentPath || componentId
663
+ ? [{
664
+ id: componentId ?? fail('--id is required when --component-path is provided.', 'workspace.component.id_missing', 2),
665
+ path: normalizeWorkspacePath(componentPath ?? fail('--component-path is required when --id is provided.', 'workspace.component.path_missing', 2)),
666
+ }]
667
+ : [];
668
+ writeWorkspaceConfig(root, components);
669
+ const output = {
670
+ command: 'workspace.init',
671
+ workspace: workspaceSummary(root),
672
+ components,
673
+ diagnostic: diagnostic('workspace.init.completed', 'info', 'PromptFrame workspace configuration written.'),
674
+ };
675
+ if (hasFlag(argv, '--json')) {
676
+ printJson(output);
677
+ return;
678
+ }
679
+ console.log(`Wrote PromptFrame workspace config: ${configPath}`);
680
+ }
681
+ function workspaceAdd(argv) {
682
+ const positionals = positionalArgs(argv);
683
+ const root = resolve(positionals.length >= 2 ? positionals[0] : '.');
684
+ const rawPath = positionals.length >= 2 ? positionals[1] : positionals[0];
685
+ const componentPath = normalizeWorkspacePath(rawPath ?? fail('workspace add requires a component path.', 'workspace.component.path_missing', 2));
686
+ const id = valueAfter(argv, '--id') ?? fail('workspace add requires --id <component-id>.', 'workspace.component.id_missing', 2);
687
+ const current = readWorkspaceConfig(root);
688
+ const components = [...current.components, { id, path: componentPath }];
689
+ assertNoDuplicateWorkspaceComponents(components);
690
+ writeWorkspaceConfig(root, components);
691
+ const output = {
692
+ command: 'workspace.add',
693
+ workspace: workspaceSummary(root),
694
+ component: { id, path: componentPath },
695
+ diagnostic: diagnostic('workspace.add.completed', 'info', 'PromptFrame workspace component added.'),
696
+ };
697
+ if (hasFlag(argv, '--json')) {
698
+ printJson(output);
699
+ return;
700
+ }
701
+ console.log(`Added workspace component: ${id} -> ${componentPath}`);
702
+ }
703
+ function resolveComponentInput(argv) {
704
+ const workspaceComponentId = valueAfter(argv, '--workspace-component');
705
+ if (!workspaceComponentId) {
706
+ return {
707
+ dir: resolve(componentPathArg(argv) ?? '.'),
708
+ source: {
709
+ mode: 'single_component',
710
+ componentPath: '.',
711
+ },
712
+ };
713
+ }
714
+ const root = resolve(componentPathArg(argv) ?? '.');
715
+ const report = resolveWorkspaceComponent(root, workspaceComponentId);
716
+ return {
717
+ dir: report.absolutePath,
718
+ source: {
719
+ mode: 'workspace',
720
+ workspaceConfig: 'promptframe-workspace.json',
721
+ workspaceComponentId: report.id,
722
+ componentPath: report.path,
723
+ manifestId: stringValue(report.manifest.id) ?? report.id,
724
+ },
725
+ };
726
+ }
727
+ function resolveWorkspaceComponent(root, componentId) {
728
+ const reports = collectWorkspaceComponentReports(root);
729
+ const report = reports.find((component) => component.id === componentId);
730
+ if (!report) {
731
+ fail(`PromptFrame workspace component not found: ${componentId}. Run promptframe workspace list ${root} to inspect configured ids.`, 'workspace.component.not_found', 2);
732
+ }
733
+ return report;
734
+ }
735
+ function collectWorkspaceComponentReports(root) {
736
+ const workspace = readWorkspaceConfig(root);
737
+ if (workspace.components.length === 0) {
738
+ fail('PromptFrame workspace config does not list any components.', 'workspace.components.empty', 2);
739
+ }
740
+ return workspace.components.map((component) => {
741
+ const absolutePath = resolve(root, component.path);
742
+ assertWorkspacePathInsideRoot(root, absolutePath, component.path);
743
+ if (!existsSync(absolutePath)) {
744
+ fail(`PromptFrame workspace component path does not exist: ${component.path}`, 'workspace.component.path_missing', 2);
745
+ }
746
+ const manifest = validateComponentDirectory(absolutePath);
747
+ if (manifest.id !== component.id) {
748
+ fail(`PromptFrame workspace component ${component.id} points to ${component.path}, but manifest.json declares ${manifest.id}. Keep promptframe-workspace.json and manifest.json ids identical.`, 'workspace.component.manifest_id_mismatch');
749
+ }
750
+ return {
751
+ ...component,
752
+ absolutePath,
753
+ manifest: manifestSummary(manifest),
754
+ };
755
+ });
756
+ }
757
+ function workspaceReportForOutput(report) {
758
+ return {
759
+ id: report.id,
760
+ path: report.path,
761
+ manifest: report.manifest,
762
+ };
763
+ }
764
+ function workspaceSummary(root) {
765
+ return {
766
+ schemaVersion: PROMPTFRAME_WORKSPACE_SCHEMA_VERSION,
767
+ root,
768
+ configPath: workspaceConfigPath(root),
769
+ };
770
+ }
771
+ function workspaceConfigPath(root) {
772
+ return join(root, 'promptframe-workspace.json');
773
+ }
774
+ function readWorkspaceConfig(root) {
775
+ const configPath = workspaceConfigPath(root);
776
+ if (!existsSync(configPath)) {
777
+ fail(`PromptFrame workspace config not found at ${configPath}.`, 'workspace.config.missing', 2);
778
+ }
779
+ let raw;
780
+ try {
781
+ raw = JSON.parse(readFileSync(configPath, 'utf8'));
782
+ }
783
+ catch {
784
+ fail(`PromptFrame workspace config must be valid JSON: ${configPath}`, 'workspace.config.invalid_json', 2);
785
+ }
786
+ const config = asRecord(raw);
787
+ if (!config) {
788
+ fail('PromptFrame workspace config must be a JSON object.', 'workspace.config.invalid', 2);
789
+ }
790
+ const schemaVersion = stringValue(config.schemaVersion);
791
+ if (schemaVersion !== PROMPTFRAME_WORKSPACE_SCHEMA_VERSION) {
792
+ fail(`Unsupported PromptFrame workspace schemaVersion: ${schemaVersion ?? '<missing>'}. Expected ${PROMPTFRAME_WORKSPACE_SCHEMA_VERSION}.`, 'workspace.config.schema_version_unsupported', 2);
793
+ }
794
+ const rawComponents = arrayValue(config.components);
795
+ const components = rawComponents.map((item, index) => {
796
+ const component = asRecord(item);
797
+ if (!component) {
798
+ fail(`PromptFrame workspace components[${index}] must be a JSON object.`, 'workspace.component.invalid', 2);
799
+ }
800
+ const id = stringValue(component.id);
801
+ const path = stringValue(component.path);
802
+ if (!id) {
803
+ fail(`PromptFrame workspace components[${index}].id is required.`, 'workspace.component.id_missing', 2);
804
+ }
805
+ if (!path) {
806
+ fail(`PromptFrame workspace components[${index}].path is required.`, 'workspace.component.path_missing', 2);
807
+ }
808
+ return {
809
+ id,
810
+ path: normalizeWorkspacePath(path),
811
+ };
812
+ });
813
+ assertNoDuplicateWorkspaceComponents(components);
814
+ return { schemaVersion, components };
815
+ }
816
+ function writeWorkspaceConfig(root, components) {
817
+ assertNoDuplicateWorkspaceComponents(components);
818
+ mkdirSync(root, { recursive: true });
819
+ writeFileSync(workspaceConfigPath(root), `${JSON.stringify({
820
+ schemaVersion: PROMPTFRAME_WORKSPACE_SCHEMA_VERSION,
821
+ components,
822
+ }, null, 2)}\n`, 'utf8');
823
+ }
824
+ function assertNoDuplicateWorkspaceComponents(components) {
825
+ const ids = new Set();
826
+ const paths = new Set();
827
+ for (const component of components) {
828
+ if (ids.has(component.id)) {
829
+ fail(`Duplicate PromptFrame workspace component id: ${component.id}`, 'workspace.component.id_duplicate', 2);
830
+ }
831
+ if (paths.has(component.path)) {
832
+ fail(`Duplicate PromptFrame workspace component path: ${component.path}`, 'workspace.component.path_duplicate', 2);
833
+ }
834
+ ids.add(component.id);
835
+ paths.add(component.path);
836
+ }
837
+ }
838
+ function normalizeWorkspacePath(rawPath) {
839
+ const normalized = rawPath
840
+ .replaceAll('\\', '/')
841
+ .replace(/^\.\/+/, '')
842
+ .replace(/\/+$/, '');
843
+ if (!normalized) {
844
+ fail('PromptFrame workspace component path is required.', 'workspace.component.path_missing', 2);
845
+ }
846
+ if (normalized.startsWith('/') || /^[A-Za-z]:\//.test(normalized)) {
847
+ fail(`PromptFrame workspace component path must be relative: ${rawPath}`, 'workspace.component.path_absolute', 2);
848
+ }
849
+ const segments = normalized.split('/');
850
+ if (segments.some((segment) => !segment || segment === '.' || segment === '..')) {
851
+ fail(`PromptFrame workspace component path must not contain empty, "." or ".." segments: ${rawPath}`, 'workspace.component.path_unsafe', 2);
852
+ }
853
+ return normalized;
854
+ }
855
+ function assertWorkspacePathInsideRoot(root, absolutePath, displayPath) {
856
+ const relativePath = relative(root, absolutePath);
857
+ if (relativePath.startsWith('..') || relativePath === '' || /^[A-Za-z]:/.test(relativePath)) {
858
+ fail(`PromptFrame workspace component path must stay inside the workspace root: ${displayPath}`, 'workspace.component.path_unsafe', 2);
859
+ }
860
+ }
861
+ function buildSourceMetadataHeaders(source) {
862
+ if (source.mode !== 'workspace')
863
+ return {};
864
+ return {
865
+ 'x-promptframe-source-mode': 'workspace',
866
+ 'x-promptframe-source-workspace-config': source.workspaceConfig,
867
+ 'x-promptframe-source-workspace-component-id': source.workspaceComponentId,
868
+ 'x-promptframe-source-component-path': source.componentPath,
869
+ 'x-promptframe-source-manifest-id': source.manifestId,
870
+ };
871
+ }
872
+ const POSITIONAL_VALUE_FLAGS = new Set([
873
+ '--allowed-upload-target',
874
+ '--auth-permissions',
875
+ '--auth-roles',
876
+ '--component-path',
877
+ '--config',
878
+ '--endpoint',
879
+ '--expires-at',
880
+ '--host',
881
+ '--id',
882
+ '--level',
883
+ '--name',
884
+ '--out',
885
+ '--poll-interval-seconds',
886
+ '--port',
887
+ '--provider',
888
+ '--provider-kind',
889
+ '--provider-name',
890
+ '--reason',
891
+ '--scope',
892
+ '--session-id',
893
+ '--target',
894
+ '--tenant-id',
895
+ '--timeout-seconds',
896
+ '--token',
897
+ '--upload-target',
898
+ '--user-id',
899
+ '--workspace-component',
900
+ ]);
901
+ function componentPathArg(argv) {
902
+ return positionalArgs(argv)[0];
903
+ }
904
+ function positionalArgs(argv) {
905
+ const result = [];
906
+ for (let index = 0; index < argv.length; index += 1) {
907
+ const arg = argv[index];
908
+ if (arg.startsWith('--')) {
909
+ if (!arg.includes('=') && POSITIONAL_VALUE_FLAGS.has(arg))
910
+ index += 1;
911
+ continue;
912
+ }
913
+ result.push(arg);
914
+ }
915
+ return result;
916
+ }
576
917
  function extractRemoteStandardSourceHash(payload) {
577
918
  return stringValue(payload.sourceHash)
578
919
  ?? stringValue(payload.standardSourceHash)
@@ -1068,16 +1409,22 @@ function setupCi(argv) {
1068
1409
  fail(`Unsupported CI provider: ${provider}.`, 'setup_ci.provider.unsupported', 2);
1069
1410
  }
1070
1411
  const targetDir = resolve(setupCiTargetDir(argv));
1071
- const workflowPath = join(targetDir, '.github', 'workflows', 'promptframe-component.yml');
1412
+ const workspaceMode = hasFlag(argv, '--workspace');
1413
+ const workspaceReports = workspaceMode ? collectWorkspaceComponentReports(targetDir) : [];
1414
+ const workflowPath = join(targetDir, '.github', 'workflows', workspaceMode ? 'promptframe-workspace.yml' : 'promptframe-component.yml');
1072
1415
  if (existsSync(workflowPath) && !hasFlag(argv, '--force')) {
1073
1416
  fail(`PromptFrame GitHub workflow already exists at ${workflowPath}. Use --force to overwrite.`, 'setup_ci.workflow.exists');
1074
1417
  }
1075
1418
  mkdirSync(dirname(workflowPath), { recursive: true });
1076
- writeFileSync(workflowPath, promptFrameGithubWorkflow(), 'utf8');
1419
+ writeFileSync(workflowPath, workspaceMode ? promptFrameGithubWorkspaceWorkflow(workspaceReports) : promptFrameGithubWorkflow(), 'utf8');
1077
1420
  const output = {
1078
1421
  success: true,
1079
1422
  command: 'setup-ci',
1080
1423
  provider,
1424
+ ...(workspaceMode ? {
1425
+ workspace: true,
1426
+ components: workspaceReports.map(({ id, path }) => ({ id, path })),
1427
+ } : {}),
1081
1428
  workflowPath,
1082
1429
  requiredSecrets: ['PROMPTFRAME_CI_TOKEN'],
1083
1430
  requiredVariables: ['PROMPTFRAME_API_BASE'],
@@ -1104,6 +1451,166 @@ function setupCiTargetDir(argv) {
1104
1451
  }
1105
1452
  return '.';
1106
1453
  }
1454
+ function promptFrameGithubWorkspaceWorkflow(components) {
1455
+ const apiBaseVariable = '$' + '{{ vars.PROMPTFRAME_API_BASE }}';
1456
+ const ciTokenSecret = '$' + '{{ secrets.PROMPTFRAME_CI_TOKEN }}';
1457
+ const matrixComponentId = '$' + '{{ matrix.component.componentId }}';
1458
+ const matrixComponentPath = '$' + '{{ matrix.component.componentPath }}';
1459
+ const matrixArtifactName = '$' + '{{ matrix.component.artifactName }}';
1460
+ const matrixItems = components.map((component) => [
1461
+ ' - componentId: ' + JSON.stringify(component.id),
1462
+ ' componentPath: ' + JSON.stringify(component.path),
1463
+ ' artifactName: ' + JSON.stringify(githubMatrixArtifactName(component.id)),
1464
+ ].join('\n')).join('\n');
1465
+ return `name: PromptFrame Component Workspace
1466
+
1467
+ on:
1468
+ pull_request:
1469
+ push:
1470
+ branches: [main]
1471
+ tags:
1472
+ - 'v*'
1473
+ - '*@*'
1474
+ - 'component-*'
1475
+
1476
+ permissions:
1477
+ contents: read
1478
+
1479
+ jobs:
1480
+ check:
1481
+ name: PromptFrame check (${matrixComponentId})
1482
+ runs-on: ubuntu-latest
1483
+ strategy:
1484
+ fail-fast: false
1485
+ matrix:
1486
+ component:
1487
+ ${matrixItems}
1488
+ steps:
1489
+ - uses: actions/checkout@v4
1490
+ - uses: actions/setup-node@v4
1491
+ with:
1492
+ node-version: '20'
1493
+ cache: npm
1494
+ - run: npm install
1495
+ - name: Validate workspace
1496
+ run: npx promptframe workspace validate . --json | tee promptframe-workspace-report.json
1497
+ - name: Validate component package
1498
+ env:
1499
+ PROMPTFRAME_API_BASE: ${apiBaseVariable}
1500
+ COMPONENT_ID: ${matrixComponentId}
1501
+ COMPONENT_PATH: ${matrixComponentPath}
1502
+ run: |
1503
+ set +e
1504
+ npx promptframe check . --workspace-component "$COMPONENT_ID" --json > promptframe-check.json
1505
+ CHECK_EXIT=$?
1506
+ set -e
1507
+ node <<'NODE'
1508
+ const fs = require('node:fs');
1509
+ const payload = JSON.parse(fs.readFileSync('promptframe-check.json', 'utf8'));
1510
+ const diagnostics = Array.isArray(payload.diagnostics) ? payload.diagnostics : [];
1511
+ for (const item of diagnostics) {
1512
+ const code = String(item.code || 'promptframe.diagnostic');
1513
+ const message = String(item.message || code).replace(/\\r?\\n/g, ' ');
1514
+ if (item.severity === 'error') {
1515
+ console.log(\`::error title=\${code}::\${message}\`);
1516
+ } else {
1517
+ console.log(\`::warning title=\${code}::\${message}\`);
1518
+ }
1519
+ }
1520
+ const summary = process.env.GITHUB_STEP_SUMMARY;
1521
+ if (summary) {
1522
+ fs.appendFileSync(summary, [
1523
+ '### PromptFrame workspace check',
1524
+ '',
1525
+ \`- Component ID: \\\`\${process.env.COMPONENT_ID || payload.source?.workspaceComponentId || 'unknown'}\\\`\`,
1526
+ \`- Component path: \\\`\${process.env.COMPONENT_PATH || payload.source?.componentPath || 'unknown'}\\\`\`,
1527
+ \`- Diagnostic: \\\`\${payload.diagnostic?.code || 'unknown'}\\\`\`,
1528
+ \`- Freshness: \\\`\${payload.freshness?.status || 'unknown'}\\\`\`,
1529
+ \`- Diagnostics: \\\`\${diagnostics.length}\\\`\`,
1530
+ '',
1531
+ ].join('\\n'));
1532
+ }
1533
+ NODE
1534
+ exit "$CHECK_EXIT"
1535
+ - uses: actions/upload-artifact@v4
1536
+ if: always()
1537
+ with:
1538
+ name: promptframe-check-report-${matrixArtifactName}
1539
+ path: |
1540
+ promptframe-workspace-report.json
1541
+ promptframe-check.json
1542
+
1543
+ upload:
1544
+ name: PromptFrame upload (${matrixComponentId})
1545
+ if: github.event_name == 'push'
1546
+ needs: check
1547
+ runs-on: ubuntu-latest
1548
+ strategy:
1549
+ fail-fast: false
1550
+ matrix:
1551
+ component:
1552
+ ${matrixItems}
1553
+ steps:
1554
+ - uses: actions/checkout@v4
1555
+ - uses: actions/setup-node@v4
1556
+ with:
1557
+ node-version: '20'
1558
+ cache: npm
1559
+ - run: npm install
1560
+ - name: Upload component to PromptFrame
1561
+ env:
1562
+ PROMPTFRAME_API_BASE: ${apiBaseVariable}
1563
+ PROMPTFRAME_CI_TOKEN: ${ciTokenSecret}
1564
+ COMPONENT_ID: ${matrixComponentId}
1565
+ COMPONENT_PATH: ${matrixComponentPath}
1566
+ run: |
1567
+ set -euo pipefail
1568
+ npx promptframe upload . --workspace-component "$COMPONENT_ID" --endpoint "$PROMPTFRAME_API_BASE" --json | tee promptframe-upload.json
1569
+ BUILD_ID=$(node <<'NODE'
1570
+ const fs = require('node:fs');
1571
+ const payload = JSON.parse(fs.readFileSync('promptframe-upload.json', 'utf8'));
1572
+ process.stdout.write(String(payload.jobId || payload.buildId || payload.build?.buildId || ''));
1573
+ NODE
1574
+ )
1575
+ if [ -z "$BUILD_ID" ]; then
1576
+ echo "PromptFrame upload response did not include a build id." >&2
1577
+ exit 1
1578
+ fi
1579
+ npx promptframe status "$BUILD_ID" --endpoint "$PROMPTFRAME_API_BASE" --json | tee promptframe-status.json
1580
+ node <<'NODE'
1581
+ const fs = require('node:fs');
1582
+ const payload = JSON.parse(fs.readFileSync('promptframe-upload.json', 'utf8'));
1583
+ const status = JSON.parse(fs.readFileSync('promptframe-status.json', 'utf8'));
1584
+ const summary = process.env.GITHUB_STEP_SUMMARY;
1585
+ if (summary) {
1586
+ fs.appendFileSync(summary, [
1587
+ '### PromptFrame workspace upload',
1588
+ '',
1589
+ \`- Component ID: \\\`\${process.env.COMPONENT_ID || payload.source?.workspaceComponentId || 'unknown'}\\\`\`,
1590
+ \`- Component path: \\\`\${process.env.COMPONENT_PATH || payload.source?.componentPath || 'unknown'}\\\`\`,
1591
+ \`- Diagnostic: \\\`\${payload.diagnostic?.code || 'unknown'}\\\`\`,
1592
+ \`- Build ID: \\\`\${payload.jobId || payload.buildId || 'unknown'}\\\`\`,
1593
+ \`- Admission status: \\\`\${status.build?.status || status.status || payload.status || 'queued'}\\\`\`,
1594
+ '',
1595
+ ].join('\\n'));
1596
+ }
1597
+ NODE
1598
+ - uses: actions/upload-artifact@v4
1599
+ if: always()
1600
+ with:
1601
+ name: promptframe-upload-report-${matrixArtifactName}
1602
+ path: |
1603
+ promptframe-upload.json
1604
+ promptframe-status.json
1605
+ `;
1606
+ }
1607
+ function githubMatrixArtifactName(componentId) {
1608
+ return componentId
1609
+ .replace(/^@/, '')
1610
+ .replace(/[^A-Za-z0-9_.-]+/g, '-')
1611
+ .replace(/^-+|-+$/g, '')
1612
+ || 'component';
1613
+ }
1107
1614
  function promptFrameGithubWorkflow() {
1108
1615
  const apiBaseVariable = '$' + '{{ vars.PROMPTFRAME_API_BASE }}';
1109
1616
  const ciTokenSecret = '$' + '{{ secrets.PROMPTFRAME_CI_TOKEN }}';
@@ -1491,13 +1998,20 @@ function validateSourceSafety(dir) {
1491
1998
  continue;
1492
1999
  const source = entry.data.toString('utf8');
1493
2000
  for (const rule of PROMPTFRAME_PUBLIC_STANDARD_POLICY.sourceSafetyRules) {
1494
- const match = source.match(new RegExp(rule.pattern, 'i'));
2001
+ const match = source.match(new RegExp(rule.pattern, sourceSafetyRuleFlags(rule.id)));
1495
2002
  if (!match)
1496
2003
  continue;
1497
2004
  fail(`${entry.name}: ${rule.message} ${rule.repairHint}`, rule.id);
1498
2005
  }
1499
2006
  }
1500
2007
  }
2008
+ function sourceSafetyRuleFlags(ruleId) {
2009
+ if (ruleId === 'component_standard.source.no_native_img' ||
2010
+ ruleId === 'component_standard.source.no_native_video') {
2011
+ return '';
2012
+ }
2013
+ return 'i';
2014
+ }
1501
2015
  function validateSecurityPolicy(dir) {
1502
2016
  for (const entry of collectPackageFiles(dir)) {
1503
2017
  if (!isSecurityScannableFile(entry.name))
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACL,iCAAiC,EACjC,2CAA2C,EAC3C,qBAAqB,EACrB,8BAA8B,EAC9B,0BAA0B,EAC1B,sCAAsC,EACtC,kCAAkC,EAClC,kCAAkC,EAClC,kCAAkC,EAClC,yCAAyC,EACzC,kCAAkC,EAClC,6BAA6B,EAC7B,oCAAoC,EACpC,wCAAwC,EACxC,mCAAmC,EACnC,2BAA2B,EAC3B,sBAAsB,GASvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uCAAuC,GAExC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,kCAAkC,EAClC,yBAAyB,GAG1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GAEvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;AAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,MAAM,wBAAwB,GAAG,kCAAkC,CAAC,aAAa,CAAC;AAClF,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AACpD,MAAM,wBAAwB,GAAG,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;AAC/E,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,gCAAgC,GAAG,sCAAsC,CAAC;AAChF,MAAM,2BAA2B,GAAG,oCAAoC,CAAC;AACzE,MAAM,8BAA8B,GAAG;IACrC,mBAAmB;IACnB,qBAAqB;IACrB,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,WAAW;CACH,CAAC;AACX,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAS,8BAA8B,CAAC,CAAC;AAE1F,MAAM,yBAAyB,GAAyB;IACtD,2BAA2B;IAC3B,mCAAmC;IACnC,qCAAqC;IACrC,gCAAgC;IAChC,4CAA4C;IAC5C,iCAAiC;IACjC,mCAAmC;IACnC,2BAA2B;IAC3B,2CAA2C;CAC5C,CAAC;AAsBF,MAAM,mBAAoB,SAAQ,KAAK;IACQ;IAA8B;IAA3E,YAAY,OAAe,EAAkB,IAAY,EAAkB,WAAW,CAAC;QACrF,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,SAAI,GAAJ,IAAI,CAAQ;QAAkB,aAAQ,GAAR,QAAQ,CAAI;IAEvF,CAAC;CACF;AAED,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,IAAc;IAC7C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,QAAQ,EAAE,CAAC;YACX,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,CAAC,IAAI,CAAC,CAAC;YACb,MAAM;QACR,KAAK,UAAU;YACb,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM;QACR,KAAK,OAAO;YACV,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM;QACR,KAAK,SAAS;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,MAAM;QACR,KAAK,SAAS;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,MAAM;QACR,KAAK,KAAK;YACR,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM;QACR,KAAK,OAAO;YACV,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM;QACR,KAAK,WAAW;YACd,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM;QACR,KAAK,UAAU;YACb,MAAM,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO;YACV,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM;QACR,KAAK,UAAU;YACb,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,MAAM;QACR,KAAK,SAAS;YACZ,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM;QACR,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACV,MAAM,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,WAAW;YACd,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,IAAI,EAAE,CAAC;YACP,MAAM;QACR;YACE,IAAI,CAAC,oBAAoB,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,MAAM,GAAG,uBAAuB,CAAC;IACvC,SAAS,CAAC;QACR,OAAO,EAAE,UAAU;QACnB,gBAAgB,EAAE,6BAA6B;QAC/C,qBAAqB,EAAE,iCAAiC;QACxD,wBAAwB,EAAE,0BAA0B;QACpD,kBAAkB,EAAE,8BAA8B;QAClD,mBAAmB,EAAE,qBAAqB;QAC1C,uBAAuB,EAAE,sCAAsC,CAAC,uBAAuB;QACvF,qBAAqB,EAAE,kCAAkC,CAAC,aAAa;QACvE,qBAAqB,EAAE,kCAAkC,CAAC,aAAa;QACvE,2BAA2B,EAAE,kCAAkC,CAAC,aAAa;QAC7E,oBAAoB,EAAE,kCAAkC;QACxD,uBAAuB,EAAE,oCAAoC,CAAC,aAAa;QAC3E,gBAAgB,EAAE,oCAAoC;QACtD,aAAa,EAAE,kCAAkC,CAAC,aAAa;QAC/D,wBAAwB,EAAE,sCAAsC;QAChE,oBAAoB,EAAE,yCAAyC;QAC/D,qBAAqB,EAAE,uBAAuB;QAC9C,SAAS,EAAE,sBAAsB,CAC/B,MAAM,EACN,UAAU,CAAC,4BAA4B,EAAE,MAAM,EAAE,8DAA8D,CAAC,CACjH;QACD,UAAU,EAAE,UAAU,CAAC,oBAAoB,EAAE,MAAM,EAAE,gDAAgD,CAAC;KACvG,CAAC,CAAC;AACL,CAAC;AAED,SAAS,MAAM,CAAC,IAAc;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrD,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,QAAQ;QACjB,GAAG;QACH,aAAa,EAAE,wBAAwB;QACvC,UAAU,EAAE,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,wDAAwD,CAAC;KAC7G,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAc;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;IAC9D,6BAA6B,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG;QAClB,GAAG,oBAAoB,CAAC,GAAG,CAAC;QAC5B,GAAG,gCAAgC,CAAC,GAAG,CAAC;QACxC,GAAG,gBAAgB,CAAC,WAAW;QAC/B,GAAG,eAAe,CAAC,WAAW;KAC/B,CAAC;IACF,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,UAAU;QACnB,GAAG;QACH,QAAQ,EAAE;YACR,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK;SACxD;QACD,cAAc,EAAE,yBAAyB;QACzC,qBAAqB,EAAE,kCAAkC,CAAC,aAAa;QACvE,oBAAoB,EAAE,yCAAyC;QAC/D,qBAAqB,EAAE,uBAAuB;QAC9C,gBAAgB;QAChB,eAAe;QACf,WAAW;QACX,UAAU,EAAE,UAAU,CAAC,oBAAoB,EAAE,MAAM,EAAE,4DAA4D,CAAC;KACnH,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;IACvC,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,IAAc;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,+BAA+B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,kCAAkC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClF,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7E,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;IAC9D,6BAA6B,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG;QAClB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC;QAC3C,GAAG,oBAAoB,CAAC,GAAG,CAAC;QAC5B,GAAG,gCAAgC,CAAC,GAAG,CAAC;QACxC,GAAG,gBAAgB,CAAC,WAAW;QAC/B,GAAG,eAAe,CAAC,WAAW;KAC/B,CAAC;IACF,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,OAAO;QAChB,GAAG;QACH,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;QACnC,cAAc,EAAE,yBAAyB;QACzC,qBAAqB,EAAE,kCAAkC,CAAC,aAAa;QACvE,oBAAoB,EAAE,yCAAyC;QAC/D,qBAAqB,EAAE,uBAAuB;QAC9C,SAAS;QACT,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;QACf,WAAW;QACX,UAAU,EAAE,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,uCAAuC,CAAC;KAC3F,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,OAAO,CAAC,IAAc;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,wDAAwD,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAE1D,IAAI,KAAK,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,eAAe,GAAG,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,aAAa,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,SAAS;QAClB,GAAG;QACH,KAAK;QACL,cAAc;QACd,UAAU,EAAE,UAAU,CACpB,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,EAC7C,MAAM,EACN,KAAK;YACH,CAAC,CAAC,oDAAoD;YACtD,CAAC,CAAC,kFAAkF,CACvF;KACF,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;IAC3E,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,IAAI,WAAW,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5G,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,IAAc;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,yBAAyB,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,EAAE,sBAAsB,CAAC;QAC9D,CAAC,CAAC,uBAAuB,CAAC;YACxB,GAAG;YACH,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC;YACpC,gBAAgB,EAAE,eAAe;YACjC,IAAI;SACL,CAAC;QACF,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,SAAS;QAClB,GAAG;QACH,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;QACnC,eAAe,EAAE,UAAU;QAC3B,aAAa,EAAE,wBAAwB;QACvC,OAAO,EAAE,eAAe;QACxB,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC;QAC9C,kBAAkB;QAClB,UAAU,EAAE,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,2CAA2C,CAAC;KAC7F,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,YAAY,eAAe,CAAC,KAAK,IAAI,eAAe,CAAC,MAAM,MAAM,eAAe,CAAC,GAAG,QAAQ,eAAe,CAAC,cAAc,SAAS,CAAC,CAAC;IACjJ,IAAI,kBAAkB;QAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,gBAAgB,aAAa,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,IAAc;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,+BAA+B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,kCAAkC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,WAAW,CAAC;IACvD,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,yBAAyB,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,KAAK;QACd,GAAG;QACH,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;QACnC,eAAe,EAAE,iBAAiB;QAClC,aAAa,EAAE,wBAAwB;QACvC,OAAO,EAAE,eAAe;QACxB,SAAS;QACT,SAAS,EAAE;YACT,GAAG,EAAE,UAAU,IAAI,IAAI,IAAI,EAAE;YAC7B,OAAO,EAAE,UAAU;SACpB;QACD,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,iDAAiD,CAAC;KAC/F,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,mEAAmE,EAAE,2BAA2B,CAAC,CAAC;QACzG,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC;QAAE,OAAO;IAEvC,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,SAAS,CAAC;QACR,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,UAAU,CAAC,mBAAmB,EAAE,MAAM,EAAE,mCAAmC,CAAC;QACxF,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,eAAe,EAAE,QAAQ,CAAC,eAAe;KAC1C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,8BAA8B,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAA4B,CAAC;IAC3F,MAAM,MAAM,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5B,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,QAA2B;IAClD,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,kDAAkD,EAAE,8BAA8B,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAyB,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,yDAAyD,EAAE,8BAA8B,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC,CAAC,GAAW;IACpD,OAAO,mCAAmC,CAAC;QACzC,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC3D,eAAe,EAAE,yBAAyB,CAAC,GAAG,CAAC;KAChD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAW;IAC5C,OAAO;QACL,gBAAgB;QAChB,mBAAmB;QACnB,qBAAqB;QACrB,WAAW;QACX,UAAU;QACV,WAAW;KACZ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,8BAA8B,CAAC,OAA2C;IACjF,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CACF,KAAK,EAAE,OAAO,IAAI,gEAAgE,EAClF,KAAK,EAAE,IAAI,IAAI,4BAA4B,CAC5C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,YAAoB,EAAE,MAAe;IAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;IAC9D,6BAA6B,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,qBAAqB,EAAE,GAAG,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC;IACxF,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACrC,MAAM,MAAM,GAAG,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACxF,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,6CAA6C,CACpD,YAAoB,EACpB,YAAmC,EACnC,MAA0B,EAC1B,aAAqF;IAErF,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,+BAA+B,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACnD,aAAa,CAAC,4BAA4B,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IACzE,OAAO,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAA+C,EAAE,IAAc;IAC1F,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM;QACR,KAAK,OAAO;YACV,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM;IACV,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAc;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,gBAA6E,CAAC;IAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC;QAC3C,CAAC,CAAC,6CAA6C,CAC3C,MAAM,EACN,YAAY,EACZ,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EACzB,CAAC,WAAW,EAAE,EAAE;YACd,gBAAgB,GAAG,WAAW,CAAC;QACjC,CAAC,CACF,CAAC;IACN,MAAM,gBAAgB,GAAG,gBAAgB;QACvC,CAAC,CAAC;YACE,GAAG,sBAAsB,CAAC,gBAAgB,CAAC;YAC3C,GAAG,oBAAoB,CAAC,MAAM,CAAC;YAC/B,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,WAAW,IAAI,EAAE,CAAC;SACjD;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,6BAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACxG,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,gCAAgC,EAAE;QAC3E,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;QACV,OAAO,EAAE;YACP,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;YACrC,GAAG,0BAA0B,EAAE;YAC/B,6BAA6B,EAAE,YAAY;SAC5C;KACF,EAAE,oBAAoB,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,QAAQ;QACjB,QAAQ;QACR,YAAY;QACZ,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;QAC1B,OAAO,EAAE,QAAQ;QACjB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,UAAU,EAAE,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,wCAAwC,CAAC;KAC7F,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IAClH,IAAI,gBAAgB;QAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACzD,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAc;IACzC,MAAM,GAAG,GAAG,0BAA0B,CACpC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,uBAAuB,CAC/F,CAAC;IACF,MAAM,MAAM,GAAG,2BAA2B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,oCAAoC,GAAG,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,IAAI,GAAG,KAAK,aAAa;QAAE,OAAO,uBAAuB,CAAC;IAC1D,IAAI,GAAG,KAAK,iBAAiB;QAAE,OAAO,4BAA4B,CAAC;IACnE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,+BAA+B,CAAC,GAAW,EAAE,MAA6B;IACjF,MAAM,WAAW,GAAG,kCAAkC,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/G,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACrC,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,kCAAkC,CAAC,IAAY,EAAE,MAA6B;IACrF,MAAM,WAAW,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,kCAAkC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC5E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACrC,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;AACjF,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,QAAgB,EAAE,IAAc;IAC3E,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,sBAAsB,EAAE;QACjE,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC5C,EAAE,iCAAiC,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,IAAI,CAAC,4DAA4D,EAAE,mCAAmC,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,gBAAgB,KAAK,8BAA8B,EAAE,CAAC;QACxD,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,EAAE,oCAAoC,CAAC,CAAC;IACjG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kCAAkC,CAC/C,IAAc,EACd,MAA6B,EAC7B,WAA4B;IAE5B,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,6BAA6B,CAClC,MAAM,EACN,qCAAqC,EACrC,GAAG,WAAW,qHAAqH,CACpI,CAAC;IACJ,CAAC;IACD,IAAI,OAAgC,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,sBAAsB,EAAE;YAC3D,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;SACpE,EAAE,iCAAiC,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,6BAA6B,CAClC,MAAM,EACN,qCAAqC,EACrC,GAAG,WAAW,mHAAmH,CAClI,CAAC;IACJ,CAAC;IACD,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,6BAA6B,CAClC,MAAM,EACN,qCAAqC,EACrC,GAAG,WAAW,+GAA+G,CAC9H,CAAC;IACJ,CAAC;IACD,IAAI,gBAAgB,KAAK,8BAA8B,EAAE,CAAC;QACxD,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,EAAE,oCAAoC,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,sBAAsB,CAC3B,MAAM,EACN,UAAU,CAAC,4BAA4B,EAAE,MAAM,EAAE,4DAA4D,CAAC,CAC/G,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,MAA6B,EAC7B,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,MAAM;QACN,oBAAoB,EAAE,0BAA0B;QAChD,uBAAuB,EAAE,8BAA8B;QACvD,sBAAsB,EAAE,0BAA0B;QAClD,yBAAyB,EAAE,8BAA8B;QACzD,kBAAkB,EAAE,sCAAsC,CAAC,kBAAkB;QAC7E,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC;QAChD,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CAAC,gBAAwB;IAChE,OAAO,kDAAkD,8BAA8B,cAAc,gBAAgB,oDAAoD,CAAC;AAC5K,CAAC;AAED,SAAS,+BAA+B,CAAC,OAAgC;IACvE,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;WACjC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC;WACvC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;WACnD,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,kBAAkB,CAAC,CAAC;AACnF,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAc;IACtC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,4BAA4B,EAAE,yBAAyB,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kCAAkC,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;QAC1G,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC5C,EAAE,oBAAoB,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,QAAQ;QACjB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,iCAAiC,CAAC;KACtF,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAc;IAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,6BAA6B,EAAE,0BAA0B,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,aAAa,CAAC;QACzB,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;QACjD,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;KAClD,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kCAAkC,kBAAkB,CAAC,OAAO,CAAC,mBAAmB,EAAE;QAC3H,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;SACtC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,EAAE,qBAAqB,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,SAAS;QAClB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,mBAAmB,EAAE,MAAM,EAAE,uCAAuC,CAAC;KAC7F,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAc;IACpC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,2BAA2B,EAAE,wBAAwB,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kCAAkC,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE;QACrH,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;SACtC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;KAChC,EAAE,mBAAmB,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,OAAO;QAChB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,kDAAkD,CAAC;KACtG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,UAAU,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IAC1G,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,MAAM,IAAI,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,SAAS,KAAK,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,IAAc;IACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;WAC1C,OAAO,CAAC,GAAG,CAAC,qBAAqB;WACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kBAAkB,EAAE;QACnE,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;KACF,EAAE,mBAAmB,CAAC,CAAC;IACxB,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE;QAChB,GAAG,OAAO;QACV,QAAQ;QACR,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,UAAU;KACX,CAAC,CAAC;IACH,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,OAAO;QAChB,QAAQ;QACR,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC;QACxC,OAAO,EAAE,qBAAqB,EAAE;QAChC,UAAU,EAAE,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,4CAA4C,CAAC;KAChG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,GAAG,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,iBAAiB;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,wGAAwG,CAAC,CAAC;AACxH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,IAAc;IACjE,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,wBAAwB,EAAE;QACxE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,yBAAyB;YAC1C,QAAQ;YACR,UAAU,EAAE,sBAAsB,EAAE,CAAC,QAAQ,EAAE,EAAE;YACjD,eAAe,EAAE,wBAAwB;SAC1C,CAAC;KACH,EAAE,2BAA2B,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,qBAAqB,CAAC,YAAY,EAAE,YAAY,EAAE,4BAA4B,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QAC7E,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE;QAChB,GAAG,OAAO;QACV,QAAQ;QACR,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,UAAU;KACX,CAAC,CAAC;IACH,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,OAAO;QAChB,QAAQ;QACR,MAAM;QACN,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC;QACxC,OAAO,EAAE,qBAAqB,EAAE;QAChC,UAAU,EAAE,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,4CAA4C,CAAC;KAChG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,GAAG,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,iBAAiB;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,wGAAwG,CAAC,CAAC;AACxH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAgB,EAChB,UAAkB,EAClB,YAAqC,EACrC,IAAc;IAEd,MAAM,eAAe,GAAG,oBAAoB,CAC1C,UAAU,CAAC,IAAI,EAAE,yBAAyB,CAAC,EAC3C,yBAAyB,EACzB,oBAAoB,CAAC,YAAY,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC,CAAC,CACzE,CAAC;IACF,MAAM,cAAc,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC7G,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,IAAI,CAAC;IACpD,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,uBAAuB,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,eAAe,EAAE,yBAAyB;gBAC1C,UAAU;aACX,CAAC;SACH,EAAE,0BAA0B,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,MAAM,KAAK,UAAU;YAAE,OAAO,+BAA+B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QACD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CACF,WAAW,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,+CAA+C,MAAM,IAAI,SAAS,GAAG,EAC/G,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,wBAAwB,EAC/D,CAAC,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,sDAAsD,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAc;IAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CACF,gIAAgI,EAChI,yBAAyB,EACzB,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kBAAkB,EAAE;QAC7D,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;KACF,EAAE,oBAAoB,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,QAAQ;QACjB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,mCAAmC,CAAC;KACxF,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,UAAU,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAClH,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,SAAS,WAAW,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;AACpJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAc;IACrC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,gBAAgB,EAAE;QAC3D,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACpE,EAAE,uBAAuB,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,WAAW;QACpB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,qBAAqB,EAAE,MAAM,EAAE,yCAAyC,CAAC;KACjG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,4BAA4B,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACjH,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,qBAAqB,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACnG,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAc;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACtD,IAAI,CACF,8HAA8H,EAC9H,gCAAgC,EAChC,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,QAAQ;SAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC7B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,gBAAgB,IAAI,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC;IACjG,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CACF,mEAAmE,EACnE,yBAAyB,EACzB,CAAC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,iBAAiB;YAC1B,QAAQ;YACR,gBAAgB,EAAE,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC;YACvD,cAAc;YACd,UAAU,EAAE,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,sCAAsC,CAAC;SACpG,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,cAAc;QACvB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,wBAAwB,EAAE,MAAM,EAAE,mCAAmC,CAAC;KAC9F,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,MAAM;YAAE,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,gBAAgB,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACxH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,IAAc;IAC3D,OAAO,SAAS,CAAC,GAAG,QAAQ,eAAe,EAAE;QAC3C,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC5C,EAAE,qBAAqB,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgC,EAAE,OAAgB;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACnC,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;IAC9D,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,KAAK,SAAS,UAAU,IAAI,eAAe,UAAU,EAAE,CAAC,CAAC;AACxF,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAc;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM;QACR;YACE,IAAI,CAAC,0CAA0C,EAAE,iCAAiC,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAc;IAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG;QACpB,GAAG,WAAW,CAAC,IAAI,EAAE,iBAAiB,CAAC;QACvC,GAAG,WAAW,CAAC,IAAI,EAAE,yBAAyB,CAAC;KAChD,CAAC;IACF,MAAM,OAAO,GAAG;QACd,eAAe,EAAE,yBAAyB;QAC1C,IAAI;QACJ,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACzD,oBAAoB,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;QAC1F,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,uBAAuB,EAAE;QACxE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,mDAAmD;KAC5F,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kBAAkB,EAAE;QAC9D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;SACtC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,EAAE,6BAA6B,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG;QACb,GAAG,QAAQ;QACX,OAAO,EAAE,iBAAiB;QAC1B,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,wFAAwF,CAAC;KACtJ,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAc;IAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACxG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACpE,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACvE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChE,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACpE,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAClE,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,mBAAmB,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QACzF,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC5C,EAAE,2BAA2B,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG;QACb,GAAG,QAAQ;QACX,OAAO,EAAE,eAAe;QACxB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,yBAAyB,EAAE,MAAM,EAAE,qCAAqC,CAAC;KACjG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9G,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAc;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qCAAqC,EAAE,kCAAkC,CAAC,CAAC;IAChH,MAAM,QAAQ,GAAG,eAAe,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,oBAAoB,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE;QACpG,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;SACtC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,yBAAyB;YAC1C,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,mDAAmD;SAC5F,CAAC;KACH,EAAE,6BAA6B,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG;QACb,GAAG,QAAQ;QACX,OAAO,EAAE,iBAAiB;QAC1B,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,gCAAgC,CAAC;KAC9F,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAuB,EAAE,GAAW,EAAE,KAAyB;IAC1F,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAc;IAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CACF,6EAA6E,EAC7E,yBAAyB,EACzB,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kBAAkB,EAAE;QAC7D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;KACF,EAAE,oBAAoB,CAAC,CAAC;IACzB,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,QAAQ;QACjB,QAAQ;QACR,sBAAsB;QACtB,UAAU,EAAE,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,qCAAqC,CAAC;KAC1F,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,GAAG,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC;AACjH,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,aAAa,CAAC;QACzB,GAAG,OAAO;QACV,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClH,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,OAAO,CAAC,QAAQ;QAC7D,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,MAAM;QACvD,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,OAAO,CAAC,SAAS;QAChE,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,OAAO,CAAC,SAAS;KACjE,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,EAAE,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC;SACvF,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,SAAS,CAAC,EAAE,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IACD,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,SAAS,CAAC;QACR,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;QAC1B,UAAU,EAAE,UAAU,CAAC,qBAAqB,EAAE,MAAM,EAAE,uCAAuC,CAAC;KAC/F,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,IAAc;IAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,QAAQ,CAAC;IAC5D,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,4BAA4B,QAAQ,GAAG,EAAE,+BAA+B,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,2BAA2B,CAAC,CAAC;IAC1F,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1D,IAAI,CACF,iDAAiD,YAAY,6BAA6B,EAC1F,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,aAAa,CAAC,YAAY,EAAE,yBAAyB,EAAE,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,UAAU;QACnB,QAAQ;QACR,YAAY;QACZ,eAAe,EAAE,CAAC,sBAAsB,CAAC;QACzC,iBAAiB,EAAE,CAAC,sBAAsB,CAAC;QAC3C,eAAe,EAAE,YAAY;QAC7B,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,8CAA8C,CAAC;KAC5G,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,sHAAsH,CAAC,CAAC;AACtI,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,yBAAyB;IAChC,MAAM,eAAe,GAAG,GAAG,GAAG,iCAAiC,CAAC;IAChE,MAAM,aAAa,GAAG,GAAG,GAAG,oCAAoC,CAAC;IACjE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;kCA0ByB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAoDf,eAAe;kCACf,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC9C,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,WAAmB,EAAE,IAAc;IAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC;WAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB;WAChC,OAAO,CAAC,GAAG,CAAC,uBAAuB;WACnC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CACF,GAAG,WAAW,qJAAqJ,EACnK,GAAG,WAAW,mBAAmB,EACjC,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAc;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC;WAC1C,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;WAC7C,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;WAChD,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAc;IACzC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,aAAa,CAAC;QACnB,aAAa,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9E,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;QACxE,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;QACjF,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;QACjF,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;QACpI,oBAAoB,EAAE,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC;KAC7J,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAgB,EAChB,IAAc,EACd,UAAqC,EAAE;IAEvC,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/D,aAAa;QACb,WAAW;QACX,cAAc;QACd,oBAAoB;KACrB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAClB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;QAChD,IAAI,CACF,8GAA8G,EAC9G,+CAA+C,CAChD,CAAC;IACJ,CAAC;IACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAChE,IAAI,CACF,gIAAgI,EAChI,yBAAyB,EACzB,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO;QACL,uCAAuC,EAAE,kCAAkC,CAAC,aAAa;QACzF,sCAAsC,EAAE,yCAAyC;QACjF,uCAAuC,EAAE,uBAAuB;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,IAAc;IAC1D,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;WACvC,OAAO,CAAC,GAAG,CAAC,oBAAoB;WAChC,OAAO,CAAC,GAAG,CAAC,qBAAqB;WACjC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACxC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,IAAI,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAChH,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC,4EAA4E,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;IACD,OAAO,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAgB,EAChB,WAAmB,EACnB,aAAsC;IAEtC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACpD,OAAO,aAAa,CAAC;QACnB,eAAe,EAAE,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,iBAAiB;QAChF,QAAQ;QACR,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC;QAC3C,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,OAAO;QAC1D,iBAAiB,EAAE,WAAW,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC;QAC7F,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC1C,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC;QAC5C,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC;QAC/C,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CACtC,QAAgB,EAChB,OAAgC;IAEhC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC,kEAAkE,EAAE,oCAAoC,EAAE,CAAC,CAAC,CAAC;IACpH,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,oEAAoE,EAAE,oCAAoC,EAAE,CAAC,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,aAAa,CAAC;QACnB,eAAe,EAAE,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,yBAAyB;QACrF,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ;QACtD,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;QACxC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO;QACvD,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAC5D,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1C,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5C,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5C,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAmC;IAC3D,OAAO,aAAa,CAAC;QACnB,eAAe,EAAE,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC;QACxD,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1C,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;QACxC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5C,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAC5D,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1C,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5C,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgC;IACzD,OAAO,aAAa,CAAC;QACnB,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,yBAAyB;QAClF,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC;QACrD,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,uBAAuB,CAAC;QACrE,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB,EAAE,WAAmB,EAAE,IAAc;IAClF,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,IACE,CAAC,UAAU;WACR,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC;WACzF,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,WAAW,EACtD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACrD,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1D,OAAO,CAAC;YACN,WAAW;YACX,WAAW;YACX,KAAK;YACL,SAAS;SACV,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,UAAU,CACpB,kCAAkC,EAClC,SAAS,EACT,6HAA6H,CAC9H;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAc,EAAE,MAA+B;IAClE,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAc;IACvC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC;AACnJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,IAAiB,EAAE,IAAY;IACnE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAA4B,CAAC;IACnF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,iBAAiB,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACxF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,2BAA2B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,qBAAqB,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC,+CAA+C,EAAE,mCAAmC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,4BAA4B,CACnC,GAAW,EACX,QAA2B,EAC3B,YAAmC;IAEnC,OAAO,wBAAwB,CAAC;QAC9B,QAAQ;QACR,YAAY;QACZ,mBAAmB,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvE,gBAAgB,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACzE,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC;KACpC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,OAAO,wCAAwC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;SACtF,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC,MAAM;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxD,IAAI,CAAC,qBAAqB,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc,EAAE,IAAY,EAAE,QAAgB;IAC1E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,WAAW,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,WAAqB;IAC5D,MAAM,CAAC,WAAW,EAAE,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE;QAC5C,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QACrD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,sCAAsC,QAAQ,GAAG,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,kCAAkC,CAAC,iBAAiB,EAAE,CAAC;YACxE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,yCAAyC,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,yCAAyC,CAAC,IAAY,EAAE,MAAc;IAC7E,MAAM,OAAO,GAAG,uCAAuC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACxC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAC1E,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gCAAgC,CAAC,GAAW;IACnD,MAAM,WAAW,GAA0B,EAAE,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,uCAAuC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACtF,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;gBAAE,SAAS;YAC/F,WAAW,CAAC,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAY,EACZ,OAAyC;IAEzC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,MAAM;QACpB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,GAAG,IAAI,GAAG,QAAQ,KAAK,OAAO,CAAC,OAAO,EAAE;QACjD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,cAAc;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY,EAAE,OAAyC;IAC3F,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,OAAO,GAAG,IAAI,GAAG,QAAQ,KAAK,OAAO,CAAC,OAAO,GAAG,cAAc,KAAK,OAAO,CAAC,aAAa,qBAAqB,OAAO,CAAC,YAAY,GAAG,CAAC;AACvI,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY,EAAE,MAAc;IAC1D,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,MAAM,KAAK,yBAAyB,IAAI,MAAM,KAAK,oBAAoB,CAAC;IACjF,CAAC;IACD,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,KAAK,wBAAwB;eACrC,MAAM,KAAK,yBAAyB;eACpC,MAAM,KAAK,oBAAoB,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB;IACnD,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;WAC1B,CAAC,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC;WACnD,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,OAAO,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB;IACnD,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAgB;IACrD,OAAO,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,GAAG,SAAS,KAAK,MAAM,EAAE,CAAC;IACzC,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpF,IAAI,CAAC,gEAAgE,EAAE,2BAA2B,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA8B;IAC7D,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,KAAK,CAAC,KAAK,KAAK,gBAAgB,IAAI,KAAK,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAC5E,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,YAAmC;IAC5E,kCAAkC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACvD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO;QACL,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,IAAI,CAAC,UAAU;QAC1B,MAAM,EAAE,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;KACpE,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CAAC,GAAW;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACvC,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,MAAM,WAAW,GAA0B,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5B,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,0CAA0C,EAC1C,OAAO,EACP,iEAAiE,EACjE,+EAA+E,CAChF,CAAC,CAAC;QACH,OAAO,0BAA0B,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACjF,CAAC;IAED,SAAS,IAAI,CAAC,UAAkB;QAC9B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAChI,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;gBAC7D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACnB,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,0CAA0C,EAC1C,OAAO,EACP,UAAU,YAAY,KAAK,UAAU,CAAC,MAAM,EAAE,EAC9C,wGAAwG,CACzG,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpB,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,0CAA0C,EAC1C,OAAO,EACP,UAAU,YAAY,wDAAwD,EAC9E,6EAA6E,CAC9E,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;gBACnB,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,0CAA0C,EAC1C,OAAO,EACP,UAAU,YAAY,KAAK,UAAU,CAAC,MAAM,EAAE,EAC9C,wGAAwG,CACzG,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/C,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,0CAA0C,EAC1C,OAAO,EACP,GAAG,UAAU,CAAC,UAAU,8CAA8C,EACtE,8CAA8C,CAC/C,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAE3C,MAAM,YAAY,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,kDAAkD,EAClD,OAAO,EACP,GAAG,UAAU,CAAC,UAAU,0CAA0C,EAClE,wCAAwC,iCAAiC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC1F,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,SAAS,GAAG,kCAAkC,CAAC,YAAY,EAAE,CAAC;gBAChE,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,2CAA2C,EAC3C,OAAO,EACP,GAAG,UAAU,CAAC,UAAU,aAAa,SAAS,qBAAqB,kCAAkC,CAAC,YAAY,cAAc,EAChI,uGAAuG,CACxG,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,YAAY,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;gBACjD,MAAM,aAAa,GAAG,mBAAmB,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACvE,IAAI,aAAa,EAAE,CAAC;oBAClB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAChC,SAAS;gBACX,CAAC;YACH,CAAC;YACD,UAAU,IAAI,SAAS,CAAC;YAExB,OAAO,CAAC,IAAI,CAAC;gBACX,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,YAAY,EAAE,oBAAoB,UAAU,CAAC,YAAY,EAAE;gBAC3D,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,SAAS;gBACT,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,CAAC;IAEjB,IAAI,OAAO,CAAC,MAAM,GAAG,kCAAkC,CAAC,QAAQ,EAAE,CAAC;QACjE,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,2CAA2C,EAC3C,OAAO,EACP,oBAAoB,OAAO,CAAC,MAAM,uCAAuC,kCAAkC,CAAC,QAAQ,cAAc,EAClI,gGAAgG,CACjG,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,GAAG,kCAAkC,CAAC,aAAa,EAAE,CAAC;QAClE,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,iDAAiD,EACjD,OAAO,EACP,2BAA2B,UAAU,qBAAqB,kCAAkC,CAAC,aAAa,cAAc,EACxH,0EAA0E,CAC3E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QACjF,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,qCAAqC,EACrC,MAAM,EACN,YAAY,OAAO,CAAC,MAAM,wBAAwB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,UAAU,CAC3G,CAAC,CAAC;IACL,CAAC;IAED,OAAO,0BAA0B,CAC/B,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAC7G,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAC9E,UAAU,EACV,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,MAAkC,EAClC,OAAuC,EACvC,UAAkB,EAClB,WAAkC;IAElC,OAAO;QACL,eAAe,EAAE,2CAA2C;QAC5D,aAAa,EAAE,kCAAkC,CAAC,aAAa;QAC/D,eAAe,EAAE,QAAQ;QACzB,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,UAAU;QACV,OAAO;QACP,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,MAA4B;IACjE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAChF,IAAI,CAAC,UAAU;QAAE,OAAO;IACxB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,2BAA2B,CAAC,YAAoB;IAIvD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACxF,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;IACxG,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;IAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACrG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gEAAgE,EAAE,CAAC;IACjG,CAAC;IACD,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC,EAAE,CAAC;IACxE,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,IAAI,KAAK,EAAE;QACvB,UAAU,EAAE,UAAU,KAAK,EAAE;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,YAAoB;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QACtD,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QACtD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;QACzD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QACtD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QACtD,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACpD,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QACrD,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;QAC3D,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;QACpE,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;QAClE;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,kCAAkC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAC3F,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB,EAAE,IAAY;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;WACzB,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;WACjC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;WAC5B,mEAAmE,CAAC,IAAI,CAAC,IAAI,CAAC;WAC9E,qDAAqD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,OAAO,wBAAwB,CAC7B,yCAAyC,EACzC,OAAO,EACP,GAAG,UAAU,+CAA+C,EAC5D,gHAAgH,CACjH,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAC/B,IAAY,EACZ,QAAyC,EACzC,OAAe,EACf,UAAmB;IAEnB,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,KAAK,EAAE,SAAS;QAChB,OAAO;QACP,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,MAAM,YAAY,GAAG,2BAA2B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAyB,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,sEAAsE,EAAE,6BAA6B,CAAC,CAAC;IAC9G,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,GAAW;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAA4B,CAAC;IACjC,IAAI,YAAgC,CAAC;IACrC,OAAO,MAAM,GAAG,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,UAAU;YAAE,MAAM;QAChE,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,MAAM,GAAG,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;QACvD,MAAM,OAAO,GAAG,SAAS,GAAG,cAAc,CAAC;QAC3C,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,GAAG,CAAC,MAAM;YAAE,MAAM;QAEpF,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;YACtE,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC5D,QAAQ,GAAG,IAAI,CAAC;gBAChB,YAAY,GAAG,SAAS,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,UAAU,KAAK,cAAc;WAC/B,CACD,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;eACjC,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;eACtC,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;eAC9B,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAClC,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,MAAc;IAClD,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,kEAAkE,MAAM,GAAG,EAAE,qCAAqC,CAAC,CAAC;AAC3H,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,KAAK,GAA0C,EAAE,CAAC;IACxD,SAAS,IAAI,CAAC,GAAW;QACvB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC3G,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,2BAA2B;oBAAE,SAAS;gBACzD,IAAI,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACnD,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;oBAC9C,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,MAAM,SAAS,GAAG,kCAAkC,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG;QACd,aAAa,EAAE,gCAAgC;QAC/C,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAAC;QAC5C,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtC,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;YACnC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;SACpC,CAAC,CAAC;KACJ,CAAC;IACF,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CAAC,IAAY;IACtD,MAAM,SAAS,GAA0C,EAAE,CAAC;IAC5D,KAAK,MAAM,IAAI,IAAI,8BAA8B,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAgB;IAChD,OAAO,iCAAiC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,cAAc,CAAC,KAA4C;IAClE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACnC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3B,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7B,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACjC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtC,GAAG,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACrC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,KAAK,CAAC,MAAc;IAC3B,IAAI,GAAG,GAAG,UAAU,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,GAAG,GAAG,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;IACzD,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,KAAyB,EAAE,OAAe,EAAE,IAAY;IAC3E,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,IAAc,EAAE,IAAY;IACjD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC3F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,IAAc,EAAE,IAAY;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IAC9D,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED,SAAS,WAAW,CAAC,IAAc,EAAE,IAAY;IAC/C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACxC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,OAAO,CAAC,IAAc,EAAE,IAAY;IAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CAAC,MAA+B;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,OAAO,aAAa,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,iBAAiB,EAAE,UAAU,EAAE,OAAO;QACtC,mBAAmB,EAAE,UAAU,EAAE,SAAS;QAC1C,mBAAmB,EAAE,UAAU,EAAE,SAAS;KAC3C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CACjB,IAAY,EACZ,QAAsC,EACtC,OAAe;IAEf,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAoE;IAC5F,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACpC,WAAyC,EACzC,MAA6B;IAE7B,OAAO;QACL,mEAAmE,MAAM,GAAG;QAC5E,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,aAAa,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjG,CAAC,CAAC;QACF,yEAAyE;KAC1E,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B;IACnD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,OAAgC;IAClD,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;WAC5B,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;WAC5B,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;WAC7C,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgC;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,UAAU,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IACjE,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,MAAM,IAAI,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,SAAS,KAAK,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpL,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAgC;IACxE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IACpG,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgC,EAAE,GAAW,EAAE,IAAY;IACxF,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,wCAAwC,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,IAAI,CAAC,OAAe,EAAE,IAAY,EAAE,QAAQ,GAAG,CAAC;IACvD,MAAM,IAAI,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,IAAI;IACX,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCb,CAAC,CAAC;AACH,CAAC;AAED,IAAI,CAAC;IACH,MAAM,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC3B,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,OAAO,EAAE,KAAK;gBACd,OAAO;gBACP,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;gBAC1D,aAAa,EAAE,KAAK,CAAC,OAAO;gBAC5B,SAAS,EAAE,KAAK;aACjB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptframe/cli",
3
- "version": "0.1.29",
3
+ "version": "0.1.31",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [