@ttsc/unplugin 0.20.1 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/core/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAkBA,MAAM,IAAI,GAAG,eAAe;AAC5B;;;;AAIG;AACI,MAAM,iBAAiB,GAAG;AACjC;AACA,MAAM,kBAAkB,GAAG,oCAAoC;AAC/D;;;AAGG;AACH,MAAM,oBAAoB,GAAG,IAAI;AAEjC;;;;;;;;;AASG;AACH,MAAM,eAAe,GAGjB,CAAC,UAAU,GAAG,EAAE,KAAI;AACtB,IAAA,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;AAC1C,IAAA,MAAM,cAAc,GAAG,wBAAwB,EAAE;AACjD,IAAA,MAAM,aAAa,GAAG,gCAAgC,EAAE;AACxD,IAAA,IAAI,OAAgB;AACpB,IAAA,IAAI,WAA+B;IAEnC,OAAO;QACL,IAAI;AACJ,QAAA,OAAO,EAAE,KAAK;AAEd,QAAA,IAAI,EAAE;AACJ,YAAA,cAAc,CAAC,MAAM,EAAA;AACnB,gBAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK;;;;;AAK9B,gBAAA,WAAW,GAAG,MAAM,CAAC,OAAO;YAC9B,CAAC;;;;;;;AAOD,YAAA,eAAe,CAAC,MAAM,EAAA;AACpB,gBAAA,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;YAC9B,CAAC;;;YAGD,QAAQ,GAAA;gBACN,aAAa,CAAC,OAAO,EAAE;YACzB,CAAC;AACF,SAAA;QAED,UAAU,GAAA;YACR,cAAc,CAAC,KAAK,EAAE;QACxB,CAAC;AAED,QAAA,gBAAgB,CAAC,EAAE,EAAA;AACjB,YAAA,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC;AAC3B,YAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC;QAChC,CAAC;AAED,QAAA,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,EAAA;AACxB,YAAA,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AAC5B,gBAAA,OAAO,SAAS;YAClB;YACA,OAAO,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE;;;;;;;;;;;AAWnE,gBAAA,YAAY,EAAE,CAAC,OAAO,KAAI;oBACxB,IACE,WAAW,KAAK,OAAO;wBACvB,aAAa,CAAC,OAAO,EAAE;AACvB,wBAAA,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EACvB;AACA,wBAAA,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAChD;oBACF;AACA,oBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC5B,CAAC;;;;gBAID,YAAY,EAAE,MAAK;AACjB,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,IAAI;AAC7C,oBAAA,IACE,MAAM,EAAE,SAAS,KAAK,SAAS;AAC/B,wBAAA,MAAM,EAAE,SAAS,KAAK,QAAQ,EAC9B;wBACA,MAAM,CAAC,aAAa,EAAE,SAAS,GAAG,KAAK,CAAC;oBAC1C;gBACF,CAAC;AACF,aAAA,CAAC;QACJ,CAAC;KACF;AACH,CAAC;AAED,MAAM,QAAQ,GACZ,cAAc,CAAC,eAAe;AAmBhC;;;;;;AAMG;AACH,SAAS,iBAAiB,CAAC,EAAU,EAAA;AACnC,IAAA,QACE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1B,QAAA,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,CAAC,iBAAiB,CAAC,EAAE,CAAC;AACtB,QAAA,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;AAEhC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/core/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -21,15 +21,14 @@ export interface TtscTransformAlias {
21
21
  replacement: string;
22
22
  }
23
23
  /**
24
- * A single entry in the per-build transform cache.
24
+ * A single entry in the project transform cache.
25
25
  *
26
26
  * Stores the full compiler result together with SHA-256 hashes of every project
27
- * input file. On subsequent transforms the cached entry is validated by
28
- * re-hashing the project and comparing against {@link inputHashes}; a mismatch
29
- * triggers a full re-transform. Both sides hash the same set of files (the
30
- * project directory walk), so the comparison is meaningful; keying the
31
- * compiler's out-of-walk output paths on only one side is what made the cache
32
- * miss on every module.
27
+ * input file. In a cache with an explicit build lifecycle, the first delivery
28
+ * of each compiled module compares its supplied source with the generation
29
+ * snapshot in constant time; a repeated delivery re-hashes the complete input
30
+ * set. Persistent caches without that boundary perform complete validation on
31
+ * every hit.
33
32
  */
34
33
  export interface TtscCachedProjectTransform {
35
34
  /**
@@ -40,7 +39,7 @@ export interface TtscCachedProjectTransform {
40
39
  * directories (`node_modules` declarations, monorepo sibling sources,
41
40
  * out-of-root tsconfig `extends` ancestry), yet the host-owned reference
42
41
  * graph proves they are transform inputs. Long-lived hosts that never clear
43
- * the cache between builds (Metro workers, the Turbopack loader, Bun) would
42
+ * the cache between builds (Metro workers and the Turbopack loader) would
44
43
  * otherwise replay a project transform computed against a stale out-of-walk
45
44
  * input for the whole process lifetime; per-build hosts clear the cache on
46
45
  * `buildStart` and never replay across edits.
@@ -61,6 +60,12 @@ export interface TtscCachedProjectTransform {
61
60
  projectRoot: string;
62
61
  /** Raw compiler output returned by {@link TtscCompiler.transform}. */
63
62
  result: ITtscCompilerTransformation;
63
+ /**
64
+ * Files already delivered from this generation, keyed by filesystem identity.
65
+ * Build-scoped caches use this to skip complete validation only for a
66
+ * module's first delivery inside the current build.
67
+ */
68
+ servedFiles?: Set<string>;
64
69
  /**
65
70
  * Absolute path of the generated temp-dir tsconfig this compile ran against,
66
71
  * when an alias/compiler-options overlay required one. The compiler reports
@@ -78,8 +83,25 @@ export interface TtscCachedProjectTransform {
78
83
  * compilation rather than spawning multiple `TtscCompiler` instances.
79
84
  */
80
85
  export type TtscTransformCache = Map<string, Promise<TtscCachedProjectTransform>>;
81
- /** Create an empty transform cache for a single build session. */
86
+ /** Create an empty persistent transform cache. */
82
87
  export declare function createTtscTransformCache(): TtscTransformCache;
88
+ /**
89
+ * Start a host build, clearing its prior generation and enabling constant-time
90
+ * first delivery for modules compiled during this build.
91
+ *
92
+ * Hosts without a guaranteed build-start callback use persistent validation
93
+ * unless they have another immutable lifecycle. Bun runtime setup, for example,
94
+ * defines one process-scoped module-loading session.
95
+ */
96
+ export declare function beginTtscTransformBuild(cache: TtscTransformCache): void;
97
+ /**
98
+ * Clear a cache and return it to persistent validation mode.
99
+ *
100
+ * This is distinct from {@link beginTtscTransformBuild}: hosts such as Vite's
101
+ * development server may invoke `buildStart` only once for a process that spans
102
+ * many edits, so that callback cannot authorize build-scoped shortcuts.
103
+ */
104
+ export declare function resetTtscTransformCache(cache: TtscTransformCache): void;
83
105
  /**
84
106
  * Hooks the bundler adapter passes into {@link transformTtsc} so transform
85
107
  * side-channels (plugin-reported dependencies and host resolution candidates)
@@ -126,8 +148,9 @@ export interface TtscTransformHooks {
126
148
  * @param options - Resolved plugin options.
127
149
  * @param aliases - Raw bundler alias configuration (Vite array or webpack
128
150
  * object).
129
- * @param cache - Optional per-build cache; cleared by the caller on
130
- * `buildStart`.
151
+ * @param cache - Optional project cache. Callers with a real `buildStart`
152
+ * boundary declare it through {@link beginTtscTransformBuild}; other hosts
153
+ * retain persistent validation.
131
154
  * @param hooks - Optional adapter callbacks; see {@link TtscTransformHooks}.
132
155
  * Dependency notifications fire on cache hits too; watch registrations are
133
156
  * per build, not per compilation.
@@ -163,11 +186,12 @@ export declare function createTransformResult(source: string, code: string): Tts
163
186
  export declare function collectProjectInputHashes(projectRoot: string): Record<string, string>;
164
187
  /**
165
188
  * Report whether an absolute `file` belongs to the project walk universe of
166
- * `root`: it lies under `root` and no segment of the relative path (including
167
- * the basename) is an ignored directory name. The predicate mirrors
168
- * {@link listProjectInputFiles} exactly, so "walk-visible" here means "hashed by
169
- * {@link collectProjectInputHashes}". Anything else is an out-of-walk input that
170
- * only the reference graph can prove relevant.
189
+ * `root`: it lies under `root`, every component exists without traversing a
190
+ * symbolic link, the leaf is a regular file, and no segment of the relative
191
+ * path is ignored. The predicate mirrors {@link listProjectInputFiles} exactly,
192
+ * so "walk-visible" here means "hashed by {@link collectProjectInputHashes}".
193
+ * Missing paths and files reached through symlinks or Windows junctions are
194
+ * out-of-walk inputs that only the reference graph can prove relevant.
171
195
  */
172
196
  export declare function isProjectWalkPath(root: string, file: string): boolean;
173
197
  /**
@@ -7,10 +7,38 @@ var path = require('node:path');
7
7
  var ttsc = require('ttsc');
8
8
  var tsconfigPaths = require('./tsconfigPaths.js');
9
9
 
10
- /** Create an empty transform cache for a single build session. */
10
+ /**
11
+ * Caches whose owner has declared a real per-build lifecycle by calling
12
+ * {@link beginTtscTransformBuild} before transforms begin.
13
+ */
14
+ const BUILD_SCOPED_TRANSFORM_CACHES = new WeakSet();
15
+ /** Create an empty persistent transform cache. */
11
16
  function createTtscTransformCache() {
12
17
  return new Map();
13
18
  }
19
+ /**
20
+ * Start a host build, clearing its prior generation and enabling constant-time
21
+ * first delivery for modules compiled during this build.
22
+ *
23
+ * Hosts without a guaranteed build-start callback use persistent validation
24
+ * unless they have another immutable lifecycle. Bun runtime setup, for example,
25
+ * defines one process-scoped module-loading session.
26
+ */
27
+ function beginTtscTransformBuild(cache) {
28
+ cache.clear();
29
+ BUILD_SCOPED_TRANSFORM_CACHES.add(cache);
30
+ }
31
+ /**
32
+ * Clear a cache and return it to persistent validation mode.
33
+ *
34
+ * This is distinct from {@link beginTtscTransformBuild}: hosts such as Vite's
35
+ * development server may invoke `buildStart` only once for a process that spans
36
+ * many edits, so that callback cannot authorize build-scoped shortcuts.
37
+ */
38
+ function resetTtscTransformCache(cache) {
39
+ cache.clear();
40
+ BUILD_SCOPED_TRANSFORM_CACHES.delete(cache);
41
+ }
14
42
  /** Cached case-insensitivity probes for existing macOS filesystem locations. */
15
43
  const CASE_INSENSITIVE_FILESYSTEMS = new Map();
16
44
  /**
@@ -30,8 +58,9 @@ const CASE_INSENSITIVE_FILESYSTEMS = new Map();
30
58
  * @param options - Resolved plugin options.
31
59
  * @param aliases - Raw bundler alias configuration (Vite array or webpack
32
60
  * object).
33
- * @param cache - Optional per-build cache; cleared by the caller on
34
- * `buildStart`.
61
+ * @param cache - Optional project cache. Callers with a real `buildStart`
62
+ * boundary declare it through {@link beginTtscTransformBuild}; other hosts
63
+ * retain persistent validation.
35
64
  * @param hooks - Optional adapter callbacks; see {@link TtscTransformHooks}.
36
65
  * Dependency notifications fire on cache hits too; watch registrations are
37
66
  * per build, not per compilation.
@@ -56,64 +85,83 @@ async function transformTtsc(id, source, options, aliases, cache, hooks) {
56
85
  plugins: options.plugins,
57
86
  tsconfig,
58
87
  });
59
- let transformed = cache?.get(key);
60
- if (transformed !== undefined) {
61
- // A rejected in-flight generation must not stay cached: evict it (only if
62
- // it is still the current entry) so a later call re-runs the transform.
63
- const cached = await awaitOrEvict(cache, key, transformed);
64
- if (
65
- // A file the plugin declared volatile must never be served from the
66
- // cache: its output depends on non-file inputs, so the input-hash
67
- // snapshot cannot prove freshness. Fall through to a fresh transform.
68
- !isVolatileFile({
69
- file,
70
- projectRoot: cached.projectRoot,
71
- result: cached.result,
72
- }) &&
73
- matchesCachedSource(cached, file, source)) {
74
- reportSuccessDiagnostics(cached.result);
75
- // A resolved `"exception"` / `"failure"` envelope makes this throw; that
76
- // is a failed generation too, so evict before surfacing it.
77
- const code = selectOrEvict(cache, key, transformed, {
78
- file,
79
- projectRoot: cached.projectRoot,
80
- result: cached.result,
81
- });
82
- notifyWatchInputs(hooks, {
88
+ for (;;) {
89
+ let transformed = cache?.get(key);
90
+ if (transformed !== undefined) {
91
+ // A rejected in-flight generation must not stay cached: evict it (only if
92
+ // it is still the current entry) so a later call re-runs the transform.
93
+ const cached = await awaitOrEvict(cache, key, transformed);
94
+ // While this caller awaited the old Promise, another caller may have
95
+ // invalidated it and installed a newer authoritative generation.
96
+ if (cache?.get(key) !== transformed) {
97
+ continue;
98
+ }
99
+ if (
100
+ // A file the plugin declared volatile must never be served from the
101
+ // cache: its output depends on non-file inputs, so the input-hash
102
+ // snapshot cannot prove freshness. Fall through to a fresh transform.
103
+ !isVolatileFile({
83
104
  file,
84
105
  projectRoot: cached.projectRoot,
85
106
  result: cached.result,
86
- temporaryTsconfig: cached.temporaryTsconfig,
107
+ }) &&
108
+ matchesCachedSource(cached, file, source, cache !== undefined && BUILD_SCOPED_TRANSFORM_CACHES.has(cache))) {
109
+ reportSuccessDiagnostics(cached.result);
110
+ // A resolved `"exception"` / `"failure"` envelope makes this throw;
111
+ // that is a failed generation too, so evict before surfacing it.
112
+ const code = selectOrEvict(cache, key, transformed, {
113
+ file,
114
+ projectRoot: cached.projectRoot,
115
+ result: cached.result,
116
+ });
117
+ notifyWatchInputs(hooks, {
118
+ file,
119
+ projectRoot: cached.projectRoot,
120
+ result: cached.result,
121
+ temporaryTsconfig: cached.temporaryTsconfig,
122
+ });
123
+ markCachedSourceServed(cached, file);
124
+ return createTransformResult(source, code);
125
+ }
126
+ evictGeneration(cache, key, transformed);
127
+ // Another caller may have replaced the generation while this caller was
128
+ // awaiting or validating the old one. Retry that authoritative entry
129
+ // instead of deleting it or starting a redundant third compilation.
130
+ if (cache?.get(key) !== undefined) {
131
+ continue;
132
+ }
133
+ transformed = undefined;
134
+ }
135
+ if (transformed === undefined) {
136
+ transformed = transformProject({
137
+ aliasPaths,
138
+ compilerOptions: options.compilerOptions,
139
+ currentFile: file,
140
+ currentSource: source,
141
+ plugins: options.plugins,
142
+ tsconfig,
87
143
  });
88
- return createTransformResult(source, code);
144
+ cache?.set(key, transformed);
145
+ }
146
+ const generation = transformed;
147
+ const cached = await awaitOrEvict(cache, key, generation);
148
+ if (cache !== undefined && cache.get(key) !== generation) {
149
+ continue;
89
150
  }
90
- cache?.delete(key);
91
- transformed = undefined;
92
- }
93
- if (transformed === undefined) {
94
- transformed = transformProject({
95
- aliasPaths,
96
- compilerOptions: options.compilerOptions,
97
- currentFile: file,
98
- currentSource: source,
99
- plugins: options.plugins,
100
- tsconfig,
151
+ const { projectRoot, result, temporaryTsconfig } = cached;
152
+ reportSuccessDiagnostics(result);
153
+ const code = selectOrEvict(cache, key, generation, {
154
+ file,
155
+ projectRoot,
156
+ result,
101
157
  });
102
- cache?.set(key, transformed);
103
- }
104
- const generation = transformed;
105
- const { projectRoot, result, temporaryTsconfig } = await awaitOrEvict(cache, key, generation);
106
- reportSuccessDiagnostics(result);
107
- const code = selectOrEvict(cache, key, generation, {
108
- file,
109
- projectRoot,
110
- result,
111
- });
112
- notifyWatchInputs(hooks, { file, projectRoot, result, temporaryTsconfig });
113
- if (isVolatileFile({ file, projectRoot, result })) {
114
- hooks?.markVolatile?.();
158
+ notifyWatchInputs(hooks, { file, projectRoot, result, temporaryTsconfig });
159
+ markCachedSourceServed(cached, file);
160
+ if (isVolatileFile({ file, projectRoot, result })) {
161
+ hooks?.markVolatile?.();
162
+ }
163
+ return createTransformResult(source, code);
115
164
  }
116
- return createTransformResult(source, code);
117
165
  }
118
166
  /**
119
167
  * Await a cached generation, evicting it on rejection.
@@ -494,27 +542,25 @@ function createTransformResult(source, code) {
494
542
  * Validate a cached project transform against the current on-disk project
495
543
  * state.
496
544
  *
497
- * Re-hashes every file under the project root and overlays the current module's
498
- * in-memory source, then compares the snapshot against the one captured when
499
- * the result was produced. Any input under the project root changing (the
500
- * module itself or a sibling the plugin reads) invalidates the entry and forces
501
- * a re-transform. Out-of-walk inputs the compiler reported (`node_modules`
502
- * declarations, sibling-package sources, out-of-root config ancestry) are
503
- * validated through {@link TtscCachedProjectTransform.externalInputHashes};
504
- * adapters additionally register them as derived watch inputs (the host-owned
505
- * `graph` union the reported `dependencies`) → `addWatchFile` → the bundler's
506
- * next `buildStart` cache clear.
545
+ * Always compares the current module's in-memory source with the generation
546
+ * snapshot. A cache whose owner called {@link beginTtscTransformBuild} can use
547
+ * that comparison alone for the module's first delivery in the current build;
548
+ * repeated requests re-hash every project and out-of-walk input. Persistent
549
+ * caches with no guaranteed build boundary perform complete validation on every
550
+ * hit. Any mismatch forces a complete re-transform.
507
551
  *
508
- * Both this snapshot and {@link collectInputHashes} draw their keys from the
509
- * exact same {@link collectProjectInputHashes} walk, so the two always agree on
510
- * the key universe. The earlier implementation overlaid the compiler's output
511
- * keys here on only one side; those keys include out-of-walk program inputs
512
- * (`node_modules` declarations, sibling-package sources), so the snapshots
513
- * never matched and the cache missed on every module; re-transforming the whole
514
- * project once per file on any project that imports a typed dependency.
552
+ * The complete validation snapshot and {@link collectInputHashes} draw their
553
+ * keys from the exact same {@link collectProjectInputHashes} walk, so the two
554
+ * agree on the key universe.
515
555
  */
516
- function matchesCachedSource(cached, file, source) {
556
+ function matchesCachedSource(cached, file, source, buildScoped) {
517
557
  const currentKey = toProjectKey(cached.projectRoot, file);
558
+ if (cached.inputHashes[currentKey] !== hashText(source)) {
559
+ return false;
560
+ }
561
+ if (buildScoped && !cached.servedFiles?.has(pathIdentityKey(file))) {
562
+ return true;
563
+ }
518
564
  const currentHashes = collectProjectInputHashes(cached.projectRoot);
519
565
  currentHashes[currentKey] = hashText(source);
520
566
  if (!sameHashes(cached.inputHashes, currentHashes)) {
@@ -531,6 +577,10 @@ function matchesCachedSource(cached, file, source) {
531
577
  const externalHashes = cached.externalInputHashes ?? {};
532
578
  return sameHashes(externalHashes, collectExternalInputHashes(cached.externalInputPaths ?? Object.keys(externalHashes)));
533
579
  }
580
+ /** Record a successfully selected module as delivered by this generation. */
581
+ function markCachedSourceServed(cached, file) {
582
+ (cached.servedFiles ??= new Set()).add(pathIdentityKey(file));
583
+ }
534
584
  /**
535
585
  * Build the input-hash snapshot stored alongside a fresh compiler result.
536
586
  *
@@ -607,11 +657,12 @@ function listProjectInputFiles(root) {
607
657
  }
608
658
  /**
609
659
  * Report whether an absolute `file` belongs to the project walk universe of
610
- * `root`: it lies under `root` and no segment of the relative path (including
611
- * the basename) is an ignored directory name. The predicate mirrors
612
- * {@link listProjectInputFiles} exactly, so "walk-visible" here means "hashed by
613
- * {@link collectProjectInputHashes}". Anything else is an out-of-walk input that
614
- * only the reference graph can prove relevant.
660
+ * `root`: it lies under `root`, every component exists without traversing a
661
+ * symbolic link, the leaf is a regular file, and no segment of the relative
662
+ * path is ignored. The predicate mirrors {@link listProjectInputFiles} exactly,
663
+ * so "walk-visible" here means "hashed by {@link collectProjectInputHashes}".
664
+ * Missing paths and files reached through symlinks or Windows junctions are
665
+ * out-of-walk inputs that only the reference graph can prove relevant.
615
666
  */
616
667
  function isProjectWalkPath(root, file) {
617
668
  const relative = path.relative(pathIdentityKey(root), pathIdentityKey(file));
@@ -621,9 +672,29 @@ function isProjectWalkPath(root, file) {
621
672
  path.isAbsolute(relative)) {
622
673
  return false;
623
674
  }
624
- return relative
625
- .split(path.sep)
626
- .every((segment) => !isIgnoredProjectDirectory(segment));
675
+ const segments = relative.split(path.sep);
676
+ if (segments.some(isIgnoredProjectDirectory)) {
677
+ return false;
678
+ }
679
+ let current = path.resolve(root);
680
+ for (let index = 0; index < segments.length; ++index) {
681
+ current = path.join(current, segments[index]);
682
+ let stats;
683
+ try {
684
+ stats = fs.lstatSync(current);
685
+ }
686
+ catch {
687
+ return false;
688
+ }
689
+ if (stats.isSymbolicLink()) {
690
+ return false;
691
+ }
692
+ const leaf = index === segments.length - 1;
693
+ if ((leaf && !stats.isFile()) || (!leaf && !stats.isDirectory())) {
694
+ return false;
695
+ }
696
+ }
697
+ return true;
627
698
  }
628
699
  /**
629
700
  * Hash a list of absolute out-of-walk input paths: content SHA-256 for a
@@ -793,6 +864,7 @@ async function transformProject(props) {
793
864
  }),
794
865
  projectRoot,
795
866
  result,
867
+ servedFiles: new Set(),
796
868
  // Remember the generated temp-dir tsconfig (disposed below) so watch
797
869
  // derivation can drop it from the envelope's config chain; a registered
798
870
  // but deleted file would invalidate every persistent-cache snapshot.
@@ -1185,6 +1257,7 @@ function normalizePath(file) {
1185
1257
  return file.replace(/\\/g, "/");
1186
1258
  }
1187
1259
 
1260
+ exports.beginTtscTransformBuild = beginTtscTransformBuild;
1188
1261
  exports.collectExternalInputHashes = collectExternalInputHashes;
1189
1262
  exports.collectProjectInputHashes = collectProjectInputHashes;
1190
1263
  exports.createTransformResult = createTransformResult;
@@ -1192,6 +1265,7 @@ exports.createTtscTransformCache = createTtscTransformCache;
1192
1265
  exports.isDeclarationFile = isDeclarationFile;
1193
1266
  exports.isProjectWalkPath = isProjectWalkPath;
1194
1267
  exports.pathIdentityKey = pathIdentityKey;
1268
+ exports.resetTtscTransformCache = resetTtscTransformCache;
1195
1269
  exports.stripQuery = stripQuery;
1196
1270
  exports.transformTtsc = transformTtsc;
1197
1271
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sources":["../../src/core/transform.ts"],"sourcesContent":[null],"names":["TtscCompiler","absolutizePathsTarget","readEffectiveTsconfigPaths"],"mappings":";;;;;;;;;AAwGA;SACgB,wBAAwB,GAAA;IACtC,OAAO,IAAI,GAAG,EAAE;AAClB;AAEA;AACA,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAAmB;AAgC/D;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,eAAe,aAAa,CACjC,EAAU,EACV,MAAc,EACd,OAAoC,EACpC,OAAiB,EACjB,KAA0B,EAC1B,KAA0B,EAAA;AAE1B,IAAA,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC;AAC5B,IAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACxB,QAAA,OAAO,SAAS;IAClB;IACA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AAChC,IAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;AAC3B,QAAA,OAAO,SAAS;IAClB;AACA,IAAA,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACvC,QAAA,OAAO,SAAS;IAClB;IAEA,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;AACvD,IAAA,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAC5C,MAAM,GAAG,GAAG,uBAAuB,CAAC;QAClC,UAAU;QACV,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ;AACT,KAAA,CAAC;IAEF,IAAI,WAAW,GAAG,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;AACjC,IAAA,IAAI,WAAW,KAAK,SAAS,EAAE;;;QAG7B,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC;AAC1D,QAAA;;;;AAIE,QAAA,CAAC,cAAc,CAAC;YACd,IAAI;YACJ,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;YACF,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EACzC;AACA,YAAA,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC;;;YAGvC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE;gBAClD,IAAI;gBACJ,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,aAAA,CAAC;YACF,iBAAiB,CAAC,KAAK,EAAE;gBACvB,IAAI;gBACJ,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;AAC5C,aAAA,CAAC;AACF,YAAA,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;QAC5C;AACA,QAAA,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;QAClB,WAAW,GAAG,SAAS;IACzB;AAEA,IAAA,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,WAAW,GAAG,gBAAgB,CAAC;YAC7B,UAAU;YACV,eAAe,EAAE,OAAO,CAAC,eAAe;AACxC,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,aAAa,EAAE,MAAM;YACrB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ;AACT,SAAA,CAAC;AACF,QAAA,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC;IAC9B;IACA,MAAM,UAAU,GAAG,WAAW;AAC9B,IAAA,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,YAAY,CACnE,KAAK,EACL,GAAG,EACH,UAAU,CACX;IACD,wBAAwB,CAAC,MAAM,CAAC;IAChC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE;QACjD,IAAI;QACJ,WAAW;QACX,MAAM;AACP,KAAA,CAAC;AACF,IAAA,iBAAiB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC1E,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE;AACjD,QAAA,KAAK,EAAE,YAAY,IAAI;IACzB;AACA,IAAA,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;AAC5C;AAEA;;;;;;;;AAQG;AACH,eAAe,YAAY,CACzB,KAAqC,EACrC,GAAW,EACX,UAA+C,EAAA;AAE/C,IAAA,IAAI;QACF,OAAO,MAAM,UAAU;IACzB;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC;AACvC,QAAA,MAAM,KAAK;IACb;AACF;AAEA;;;;;AAKG;AACH,SAAS,aAAa,CACpB,KAAqC,EACrC,GAAW,EACX,UAA+C,EAC/C,KAIC,EAAA;AAED,IAAA,IAAI;AACF,QAAA,OAAO,uBAAuB,CAAC,KAAK,CAAC;IACvC;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC;AACvC,QAAA,MAAM,KAAK;IACb;AACF;AAEA;;;;;AAKG;AACH,SAAS,eAAe,CACtB,KAAqC,EACrC,GAAW,EACX,UAA+C,EAAA;IAE/C,IAAI,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;AAClC,QAAA,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;IACnB;AACF;AAEA;;;;;;;;;;;AAWG;AACH,SAAS,iBAAiB,CACxB,KAAqC,EACrC,KAKC,EAAA;AAED,IAAA,MAAM,YAAY,GAAG,KAAK,EAAE,YAAY;AACxC,IAAA,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B;IACF;IACA,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE;QAC5C,YAAY,CAAC,KAAK,CAAC;IACrB;AACF;AAEA;;;;;;;;;;;;;;;;;;;AAmBG;AACH,SAAS,iBAAiB,CAAC,KAK1B,EAAA;IACC,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU;IAC9B,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,iBAAiB,KAAK;UACxB,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;AAC9B,UAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAC5E;IACD,KAAK,MAAM,QAAQ,IAAI;QACrB,GAAG,sBAAsB,CAAC,KAAK,CAAC;AAChC,QAAA,GAAG,iBAAiB,CAAC;AACnB,YAAA,GAAG,KAAK;YACR,QAAQ,EAAE,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;SACxE,CAAC;QACF,GAAG,+BAA+B,CAAC,KAAK,CAAC;AAC1C,KAAA,EAAE;AACD,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AAC1C,QAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAChD;QACF;AACA,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClB,QAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvB;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;AAKG;AACH,SAAS,+BAA+B,CAAC,KAIxC,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,OAAO,EAAE;IACX;AACA,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE;AACzD,QAAA,OAAO,EAAE;IACX;IACA,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,sBAAsB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAC9D,eAAe,CAChB,CACF;IACD,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;AACnE,QAAA,IACE,CAAC,SAAS,CAAC,GAAG,CACZ,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CACzD;AACD,YAAA,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAC1B;YACA;QACF;AACA,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAClE;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;;;;;;;;AAaG;AACH,SAAS,iBAAiB,CAAC,KAK1B,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,OAAO,EAAE;IACX;AACA,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;AAChC,IAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,QAAA,OAAO,EAAE;IACX;IACA,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AACnB,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1E,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrE;AACA,IAAA,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACnE,IAAA,OAAO,MAAM;AACf;AAEA;;;;AAIG;AACH,SAAS,oBAAoB,CAC3B,WAAmB,EACnB,IAAY,EACZ,KAAkD,EAAA;AAElD,IAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB;AACzC,IAAA,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;QACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B;QACF;AACA,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;AACzC,QAAA,OAAO,CAAC,IAAI,CACV,GAAG;AACA,aAAA,MAAM,CACL,CAAC,MAAM,KACL,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAEpD,aAAA,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CACtD;AACD,QAAA,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC9B;IACA,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,IAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC;AACpB,IAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG;AAC5B,QAAA,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;AAC9D,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC;AACxC,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACzB;YACF;AACA,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AACrB,YAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AAClB,YAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;AAIG;AACH,SAAS,sBAAsB,CAC7B,WAAmB,EACnB,IAAY,EACZ,KAAkD,EAAA;AAElD,IAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB;AACzC,IAAA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB;AAC3C,IAAA,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;QACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B;QACF;QACA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;AAClD,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AAC1C,QAAA,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;AACzC,QAAA,OAAO,CAAC,IAAI,CACV,GAAG;AACA,aAAA,MAAM,CACL,CAAC,MAAM,KACL,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAEpD,aAAA,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CACtD;AACD,QAAA,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC9B;AACA,IAAA,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC;AACrB,IAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,IAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC;AACpB,IAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG;AAC5B,QAAA,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;AAC9D,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC;AACxC,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACzB;YACF;AACA,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AACrB,YAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AAClB,YAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;QAChD;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;AAIG;AACH,SAAS,iBAAiB,CAAC,WAAmB,EAAE,MAAe,EAAA;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC1B,QAAA,OAAO,EAAE;IACX;IACA,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACnD;QACF;AACA,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC/C;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;AAIG;AACH,SAAS,cAAc,CAAC,KAIvB,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,OAAO,KAAK;IACd;IACA,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;AACnD;AAEA;;;;;AAKG;AACH,SAAS,4BAA4B,CAAC,KAIrC,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,OAAO,KAAK;IACd;IACA,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAC/D;AAEA;;;;;AAKG;AACH,SAAS,YAAY,CACnB,MAAe,EACf,KAA4C,EAAA;IAE5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC1B,QAAA,OAAO,KAAK;IACd;AACA,IAAA,OAAO,MAAM,CAAC,IAAI,CAChB,CAAC,KAAK,KACJ,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACrD,YAAA,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAChC;AACH;AAEA;;;;;AAKG;AACH,SAAS,sBAAsB,CAAC,KAI/B,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,OAAO,EAAE;IACX;AACA,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY;AAC9C,IAAA,IAAI,YAAY,KAAK,SAAS,EAAE;AAC9B,QAAA,OAAO,EAAE;IACX;AACA,IAAA,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC;AACvD,IAAA,IAAI,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC;AAC/B,IAAA,IAAI,OAAO,KAAK,SAAS,EAAE;AACzB,QAAA,KAAK,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACxE,YAAA,IACE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC3D,gBAAA,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3B;gBACA,OAAO,GAAG,gBAAgB;gBAC1B;YACF;QACF;IACF;IACA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC3B,QAAA,OAAO,EAAE;IACX;IACA,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU;AAC9B,IAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACnD;QACF;AACA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;AACvD,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AAC1C,QAAA,IAAI,QAAQ,KAAK,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClE;QACF;AACA,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClB,QAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvB;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;AAMG;AACG,SAAU,UAAU,CAAC,EAAU,EAAA;IACnC,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/B,IAAA,OAAO,KAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;AAC/C;AAEA;;;AAGG;AACG,SAAU,iBAAiB,CAAC,EAAU,EAAA;IAC1C,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC/E;AAEA;;;;AAIG;AACH,SAAS,kBAAkB,CACzB,OAA+C,EAAA;AAE/C,IAAA,OAAO,OAAO,KAAK,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;AAC9E;AAEA;;;;;;AAMG;AACG,SAAU,qBAAqB,CACnC,MAAc,EACd,IAAY,EAAA;AAEZ,IAAA,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,QAAA,OAAO,SAAS;IAClB;IACA,OAAO,EAAE,IAAI,EAAE;AACjB;AAEA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACH,SAAS,mBAAmB,CAC1B,MAAkC,EAClC,IAAY,EACZ,MAAc,EAAA;IAEd,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC;IACzD,MAAM,aAAa,GAAG,yBAAyB,CAAC,MAAM,CAAC,WAAW,CAAC;IACnE,aAAa,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE;AAClD,QAAA,OAAO,KAAK;IACd;;;;;;;;;AASA,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,IAAI,EAAE;AACvD,IAAA,OAAO,UAAU,CACf,cAAc,EACd,0BAA0B,CACxB,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CACzD,CACF;AACH;AAEA;;;;;;;;;;;;AAYG;AACH,SAAS,kBAAkB,CAAC,KAI3B,EAAA;IACC,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC;;AAE3D,IAAA,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CACnE,KAAK,CAAC,aAAa,CACpB;AACD,IAAA,OAAO,MAAM;AACf;AAEA;;;;;AAKG;AACG,SAAU,yBAAyB,CACvC,WAAmB,EAAA;IAEnB,MAAM,MAAM,GAA2B,EAAE;IACzC,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,WAAW,CAAC,EAAE;AACrD,QAAA,IAAI;AACF,YAAA,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3E;AAAE,QAAA,MAAM;;;QAGR;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;;AAOG;AACH,SAAS,qBAAqB,CAAC,IAAY,EAAA;IACzC,MAAM,GAAG,GAAa,EAAE;AACxB,IAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC;AACpB,IAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG;AAC5B,QAAA,IAAI,OAAoB;AACxB,QAAA,IAAI;AACF,YAAA,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC5D;AAAE,QAAA,MAAM;YACN;QACF;AACA,QAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAC3B,YAAA,IAAI,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBACzC;YACF;AACA,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;AAC3C,YAAA,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;AACvB,gBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAClB;AAAO,iBAAA,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;AACzB,gBAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAChB;QACF;IACF;IACA,GAAG,CAAC,IAAI,EAAE;AACV,IAAA,OAAO,GAAG;AACZ;AAEA;;;;;;;AAOG;AACG,SAAU,iBAAiB,CAAC,IAAY,EAAE,IAAY,EAAA;AAC1D,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5E,IAAA,IACE,QAAQ,CAAC,MAAM,KAAK,CAAC;AACrB,QAAA,QAAQ,KAAK,IAAI;QACjB,QAAQ,CAAC,UAAU,CAAC,CAAA,EAAA,EAAK,IAAI,CAAC,GAAG,EAAE,CAAC;AACpC,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EACzB;AACA,QAAA,OAAO,KAAK;IACd;AACA,IAAA,OAAO;AACJ,SAAA,KAAK,CAAC,IAAI,CAAC,GAAG;AACd,SAAA,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAC5D;AAEA;;;;;;;;AAQG;AACG,SAAU,0BAA0B,CACxC,KAAwB,EAAA;IAExB,MAAM,MAAM,GAA2B,EAAE;AACzC,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC;AACtC,QAAA,IAAI,QAAQ,IAAI,MAAM,EAAE;YACtB;QACF;AACA,QAAA,IAAI;AACF,YAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACpD;AAAE,QAAA,MAAM;AACN,YAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;QAC9B;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACH,SAAS,wBAAwB,CAAC,KAIjC,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,OAAO,EAAE;IACX;IACA,MAAM,OAAO,GAAa,EAAE;AAC5B,IAAA,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU;AAC9C,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;AAChC,IAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,QAAA,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;AACjE,YAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACpB,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC1B,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YAC1B;QACF;AACA,QAAA,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;AACnD,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACzB,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YACzB;QACF;AACA,QAAA,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;YAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC9B;YACF;AACA,YAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAClC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3D;gBACF;AACA,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC;AAC3D,gBAAA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvB,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACrD;QACF;IACF;AACA,IAAA,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE;AACpE,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC1B,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAC1B;IACF;AACA,IAAA,MAAM,QAAQ,GACZ,KAAK,CAAC,iBAAiB,KAAK;AAC1B,UAAE;AACF,UAAE,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAC9C,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU;AAC9B,IAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACrD;QACF;AACA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC;AACxD,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AAC1C,QAAA,MAAM,gBAAgB,GACpB,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAChE,IACE,QAAQ,KAAK,QAAQ;AACrB,YAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClB,aAAC,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,EACrE;YACA;QACF;AACA,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClB,QAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvB;IACA,MAAM,CAAC,IAAI,EAAE;AACb,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,yBAAyB,CAAC,IAAY,EAAA;IAC7C,QACE,IAAI,KAAK,MAAM;AACf,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,QAAQ;AACjB,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,aAAa;AACtB,QAAA,IAAI,KAAK,QAAQ;AACjB,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,UAAU;AACnB,QAAA,IAAI,KAAK,MAAM;AACf,QAAA,IAAI,KAAK,cAAc;AACvB,QAAA,IAAI,KAAK,KAAK;AACd,QAAA,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,KAAK;AAElB;AAEA,SAAS,UAAU,CACjB,IAA4B,EAC5B,KAA6B,EAAA;IAE7B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE;AACxC,QAAA,OAAO,KAAK;IACd;AACA,IAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1D;AAEA,SAAS,QAAQ,CAAC,KAAsB,EAAA;AACtC,IAAA,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAChE;AAEA,eAAe,gBAAgB,CAAC,KAO/B,EAAA;AACC,IAAA,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AAChD,IAAA,IAAI;AACF,QAAA,MAAM,MAAM,GAAG,IAAIA,iBAAY,CAAC;AAC9B,YAAA,GAAG,EAAE,WAAW;;;;;;;AAOhB,YAAA,eAAe,EAAE,WAAW;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW;YACX,QAAQ,EAAE,UAAU,CAAC,IAAI;SAC1B,CAAC,CAAC,SAAS,EAAE;AACd,QAAA,MAAM,iBAAiB,GACrB,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC,IAAI;QAClE,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;YAClD,WAAW;YACX,MAAM;YACN,iBAAiB;AAClB,SAAA,CAAC;QACF,OAAO;;;;AAIL,YAAA,mBAAmB,EAAE,0BAA0B,CAAC,kBAAkB,CAAC;YACnE,kBAAkB;YAClB,WAAW,EAAE,kBAAkB,CAAC;gBAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,WAAW;aACZ,CAAC;YACF,WAAW;YACX,MAAM;;;;AAIN,YAAA,IAAI,iBAAiB,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC;SAClE;IACH;YAAU;QACR,UAAU,CAAC,OAAO,EAAE;IACtB;AACF;AAEA,SAAS,uBAAuB,CAAC,KAIhC,EAAA;IACC,MAAM,eAAe,GAAG,4CAA4C,CAClE;QACE,GAAG,KAAK,CAAC,eAAe;QACxB,GAAG,0BAA0B,CAAC,KAAK,CAAC;KACrC,EACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC7B;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7C,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,QAAQ;AACpB,YAAA,OAAO,EAAE,MAAM,SAAS;SACzB;IACH;AAEA,IAAA,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;IAClD,EAAE,CAAC,aAAa,CACd,IAAI,EACJ,IAAI,CAAC,SAAS,CACZ;AACE,QAAA,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtC,eAAe;AAChB,KAAA,EACD,IAAI,EACJ,CAAC,CACF,EACD,MAAM,CACP;IACD,OAAO;AACL,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACtE;AACH;AAEA;;;;;;;;;;;;AAYG;AACH,SAAS,4CAA4C,CACnD,eAAwC,EACxC,WAAmB,EAAA;AAEnB,IAAA,MAAM,MAAM,GAAG,EAAE,GAAG,eAAe,EAAE;;IAErC,KAAK,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;QACzD,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;AACnC,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACtD;IACF;;IAEA,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;AAC9B,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAClC,OAAO,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,KAAK,CACrE;QACH;IACF;IACA,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;IACrC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACnC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK;YAC5C,GAAG;AACH,YAAA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAKC,mCAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACpE,SAAA,CAAC,CACH;IACH;IACA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QACjC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KACxC,yCAAyC,CAAC,KAAK,EAAE,WAAW,CAAC,CAC9D;IACH;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;;AAOG;AACH,SAAS,yCAAyC,CAChD,KAAc,EACd,WAAmB,EAAA;AAEnB,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACvE,QAAA,OAAO,KAAK;IACd;AACA,IAAA,MAAM,MAAM,GAA4B,EAAE,GAAG,KAAK,EAAE;AACpD,IAAA,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;AACjE,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;AAC3D,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;QAChD;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;;;;;;;;AAaG;AACH,SAAS,0BAA0B,CAAC,KAInC,EAAA;AACC,IAAA,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9C,QAAA,OAAO,EAAE;IACX;IACA,OAAO;AACL,QAAA,KAAK,EAAE;AACL,YAAA,GAAGC,wCAA0B,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC7C,YAAA,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC;YACzC,GAAG,KAAK,CAAC,UAAU;AACpB,SAAA;KACF;AACH;AAEA,SAAS,SAAS,CAAC,KAAc,EAAA;AAC/B,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACvE,QAAA,OAAO,EAAE;IACX;IACA,MAAM,MAAM,GAA6B,EAAE;AAC3C,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB;QACF;AACA,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC3B,CAAC,KAAK,KAAsB,OAAO,KAAK,KAAK,QAAQ,CACtD;AACD,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ;QACxB;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;AAMG;AACH,SAAS,gBAAgB,CAAC,OAAgB,EAAA;IACxC,MAAM,KAAK,GAA6B,EAAE;IAC1C,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE;AAC7C,QAAA,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7D;QACF;QACA,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC5B;QACF;AACA,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AAC1C,QAAA,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB;QACF;QACA,MAAM,MAAM,GAAG,aAAa,CAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW;cAC7B,KAAK,CAAC;AACR,cAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,CACnD;AACD,QAAA,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;QACrB,KAAK,CAAC,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,CAAC,GAAG,CAAC,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI,CAAC;IACrC;AACA,IAAA,OAAO,KAAK;AACd;AAEA,SAAS,gBAAgB,CAAC,OAAgB,EAAA;AACxC,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC1B,QAAA,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IAChC;IACA,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;AACnD,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO;AAC1B,aAAA,MAAM,CACL,CAAC,KAAK,KAAgC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;AAEnE,aAAA,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1D;AACA,IAAA,OAAO,EAAE;AACX;AAEA,SAAS,uBAAuB,CAAC,KAKhC,EAAA;AACC,IAAA,OAAO,eAAe,CAAC;QACrB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,QAAA,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC1C,KAAA,CAAC;AACJ;AAEA;;;;;;;AAOG;AACH,SAAS,eAAe,CAAC,KAAc,EAAA;AACrC,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,QAAA,OAAO,CAAA,CAAA,EAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;IACpD;AACA,IAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACtC,QAAA,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK;AAC5B,aAAA,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,eAAe,CAAC,IAAI,CAAC,CAAA,CAAE;AACtE,aAAA,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAG;IACjB;AACA,IAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC9B;AAEA,SAAS,mBAAmB,CAAC,KAAa,EAAA;IACxC,QACE,KAAK,KAAK,GAAG;AACb,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AACtB,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;AACvB,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;AACvB,QAAA,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;AAE5B;AAEA,SAAS,OAAO,CAAC,KAAc,EAAA;AAC7B,IAAA,QACE,OAAO,KAAK,KAAK,QAAQ;AACzB,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,MAAM,IAAI,KAAK;AACf,QAAA,aAAa,IAAI,KAAK;AACtB,QAAA,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;AAC9B,QAAA,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;AAEzC;AAEA;;;;;;;;AAQG;AACH,SAAS,uBAAuB,CAAC,KAIhC,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzD;IACA,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AACnC,QAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9D;;AAGA,IAAA,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC;IACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;AAC3C,IAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,QAAA,OAAO,MAAM;IACf;;AAEA,IAAA,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;AACzE,QAAA,IACE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC3D,YAAA,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3B;AACA,YAAA,OAAO,MAAM;QACf;IACF;IACA,MAAM,IAAI,KAAK,CAAC,CAAA,yCAAA,EAA4C,KAAK,CAAC,IAAI,CAAA,CAAE,CAAC;AAC3E;AAEA;;;;;;AAMG;AACH,SAAS,wBAAwB,CAAC,MAAmC,EAAA;AACnE,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE;QACjE;IACF;IACA,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC;AAClD,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,CAAC;IACnC;AACF;AAEA;;;;;;;AAOG;AACH,SAAS,iBAAiB,CAAC,WAAsC,EAAA;AAC/D,IAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAA,OAAO,uBAAuB;IAChC;AACA,IAAA,OAAO;AACJ,SAAA,GAAG,CAAC,CAAC,IAAI,KACR;QACE,IAAI,CAAC,IAAI,IAAI,MAAM;QACnB,IAAI,CAAC,IAAI,KAAK;AACZ,cAAE;cACA,CAAA,EAAG,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAA,CAAE;AACzC,QAAA,IAAI,CAAC,WAAW;AACjB;AACE,SAAA,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE;SAClD,IAAI,CAAC,IAAI,CAAC;SAEd,IAAI,CAAC,IAAI,CAAC;AACf;AAEA,SAAS,kBAAkB,CAAC,KAAc,EAAA;AACxC,IAAA,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,KAAK,CAAC,OAAO;IACtB;IACA,IACE,OAAO,KAAK,KAAK,QAAQ;AACzB,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,SAAS,IAAI,KAAK;AAClB,QAAA,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EACjC;QACA,OAAO,KAAK,CAAC,OAAO;IACtB;AACA,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB;AAEA;;;;;;;;;AASG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,QAAiB,EAAA;AACtD,IAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ;AAC7B,cAAE;AACF,cAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;IAC3C;IAEA,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAChC,OAAO,IAAI,EAAE;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;AACrD,QAAA,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AAC5B,YAAA,OAAO,SAAS;QAClB;QACA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;;AAEpC,QAAA,IAAI,MAAM,KAAK,OAAO,EAAE;YACtB;QACF;QACA,OAAO,GAAG,MAAM;IAClB;IACA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC;AACrD;AAEA,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY,EAAA;AAC9C,IAAA,OAAO,aAAa,CAClB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAC5D;AACH;AAEA;;;;AAIG;AACG,SAAU,eAAe,CAAC,IAAY,EAAA;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACnC,OAAO,2BAA2B,CAAC,QAAQ;AACzC,UAAE,QAAQ,CAAC,WAAW;UACpB,QAAQ;AACd;AAEA,SAAS,2BAA2B,CAAC,IAAY,EAAA;AAC/C,IAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;AAChC,QAAA,OAAO,IAAI;IACb;AACA,IAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACjC,QAAA,OAAO,KAAK;IACd;IACA,IAAI,QAAQ,GAAG,IAAI;IACnB,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AACrC,QAAA,IAAI,MAAM,KAAK,QAAQ,EAAE;AACvB,YAAA,OAAO,KAAK;QACd;QACA,QAAQ,GAAG,MAAM;IACnB;AACA,IAAA,IAAI,QAAgB;AACpB,IAAA,IAAI;QACF,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC7C;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,KAAK;IACd;IACA,MAAM,MAAM,GAAG,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC;AACzD,IAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,QAAA,OAAO,MAAM;IACf;AACA,IAAA,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC;AAC1C,IAAA,MAAM,WAAW,GAAG,SAAS,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;AACvE,IAAA,4BAA4B,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC;AACvD,IAAA,OAAO,WAAW;AACpB;AAEA,SAAS,cAAc,CAAC,IAAY,EAAA;AAClC,IAAA,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE;AACrD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAE;QAC9B,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,EAAE;YACxC,OAAO,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA,EAAG,SAAS,CAAC,WAAW,EAAE,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA,CAAE;QACpF;QACA,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,EAAE;YACxC,OAAO,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA,EAAG,SAAS,CAAC,WAAW,EAAE,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA,CAAE;QACpF;IACF;AACA,IAAA,OAAO,SAAS;AAClB;AAEA,SAAS,aAAa,CAAC,IAAY,EAAA;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;AACjC;;;;;;;;;;;;"}
1
+ {"version":3,"file":"transform.js","sources":["../../src/core/transform.ts"],"sourcesContent":[null],"names":["TtscCompiler","absolutizePathsTarget","readEffectiveTsconfigPaths"],"mappings":";;;;;;;;;AA6GA;;;AAGG;AACH,MAAM,6BAA6B,GAAG,IAAI,OAAO,EAAsB;AAEvE;SACgB,wBAAwB,GAAA;IACtC,OAAO,IAAI,GAAG,EAAE;AAClB;AAEA;;;;;;;AAOG;AACG,SAAU,uBAAuB,CAAC,KAAyB,EAAA;IAC/D,KAAK,CAAC,KAAK,EAAE;AACb,IAAA,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1C;AAEA;;;;;;AAMG;AACG,SAAU,uBAAuB,CAAC,KAAyB,EAAA;IAC/D,KAAK,CAAC,KAAK,EAAE;AACb,IAAA,6BAA6B,CAAC,MAAM,CAAC,KAAK,CAAC;AAC7C;AAEA;AACA,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAAmB;AAgC/D;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACI,eAAe,aAAa,CACjC,EAAU,EACV,MAAc,EACd,OAAoC,EACpC,OAAiB,EACjB,KAA0B,EAC1B,KAA0B,EAAA;AAE1B,IAAA,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC;AAC5B,IAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACxB,QAAA,OAAO,SAAS;IAClB;IACA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AAChC,IAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;AAC3B,QAAA,OAAO,SAAS;IAClB;AACA,IAAA,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACvC,QAAA,OAAO,SAAS;IAClB;IAEA,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;AACvD,IAAA,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAC5C,MAAM,GAAG,GAAG,uBAAuB,CAAC;QAClC,UAAU;QACV,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ;AACT,KAAA,CAAC;AAEF,IAAA,SAAS;QACP,IAAI,WAAW,GAAG,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;AACjC,QAAA,IAAI,WAAW,KAAK,SAAS,EAAE;;;YAG7B,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC;;;YAG1D,IAAI,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE;gBACnC;YACF;AACA,YAAA;;;;AAIE,YAAA,CAAC,cAAc,CAAC;gBACd,IAAI;gBACJ,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;AACF,gBAAA,mBAAmB,CACjB,MAAM,EACN,IAAI,EACJ,MAAM,EACN,KAAK,KAAK,SAAS,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC,CAChE,EACD;AACA,gBAAA,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC;;;gBAGvC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE;oBAClD,IAAI;oBACJ,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,iBAAA,CAAC;gBACF,iBAAiB,CAAC,KAAK,EAAE;oBACvB,IAAI;oBACJ,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;AAC5C,iBAAA,CAAC;AACF,gBAAA,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC;AACpC,gBAAA,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;YAC5C;AACA,YAAA,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC;;;;YAIxC,IAAI,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;gBACjC;YACF;YACA,WAAW,GAAG,SAAS;QACzB;AAEA,QAAA,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,WAAW,GAAG,gBAAgB,CAAC;gBAC7B,UAAU;gBACV,eAAe,EAAE,OAAO,CAAC,eAAe;AACxC,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,aAAa,EAAE,MAAM;gBACrB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ;AACT,aAAA,CAAC;AACF,YAAA,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC;QAC9B;QACA,MAAM,UAAU,GAAG,WAAW;QAC9B,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC;AACzD,QAAA,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;YACxD;QACF;QACA,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM;QACzD,wBAAwB,CAAC,MAAM,CAAC;QAChC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE;YACjD,IAAI;YACJ,WAAW;YACX,MAAM;AACP,SAAA,CAAC;AACF,QAAA,iBAAiB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;AAC1E,QAAA,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC;QACpC,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE;AACjD,YAAA,KAAK,EAAE,YAAY,IAAI;QACzB;AACA,QAAA,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;IAC5C;AACF;AAEA;;;;;;;;AAQG;AACH,eAAe,YAAY,CACzB,KAAqC,EACrC,GAAW,EACX,UAA+C,EAAA;AAE/C,IAAA,IAAI;QACF,OAAO,MAAM,UAAU;IACzB;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC;AACvC,QAAA,MAAM,KAAK;IACb;AACF;AAEA;;;;;AAKG;AACH,SAAS,aAAa,CACpB,KAAqC,EACrC,GAAW,EACX,UAA+C,EAC/C,KAIC,EAAA;AAED,IAAA,IAAI;AACF,QAAA,OAAO,uBAAuB,CAAC,KAAK,CAAC;IACvC;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC;AACvC,QAAA,MAAM,KAAK;IACb;AACF;AAEA;;;;;AAKG;AACH,SAAS,eAAe,CACtB,KAAqC,EACrC,GAAW,EACX,UAA+C,EAAA;IAE/C,IAAI,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;AAClC,QAAA,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;IACnB;AACF;AAEA;;;;;;;;;;;AAWG;AACH,SAAS,iBAAiB,CACxB,KAAqC,EACrC,KAKC,EAAA;AAED,IAAA,MAAM,YAAY,GAAG,KAAK,EAAE,YAAY;AACxC,IAAA,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B;IACF;IACA,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE;QAC5C,YAAY,CAAC,KAAK,CAAC;IACrB;AACF;AAEA;;;;;;;;;;;;;;;;;;;AAmBG;AACH,SAAS,iBAAiB,CAAC,KAK1B,EAAA;IACC,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU;IAC9B,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,iBAAiB,KAAK;UACxB,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;AAC9B,UAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAC5E;IACD,KAAK,MAAM,QAAQ,IAAI;QACrB,GAAG,sBAAsB,CAAC,KAAK,CAAC;AAChC,QAAA,GAAG,iBAAiB,CAAC;AACnB,YAAA,GAAG,KAAK;YACR,QAAQ,EAAE,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;SACxE,CAAC;QACF,GAAG,+BAA+B,CAAC,KAAK,CAAC;AAC1C,KAAA,EAAE;AACD,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AAC1C,QAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAChD;QACF;AACA,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClB,QAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvB;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;AAKG;AACH,SAAS,+BAA+B,CAAC,KAIxC,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,OAAO,EAAE;IACX;AACA,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE;AACzD,QAAA,OAAO,EAAE;IACX;IACA,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,sBAAsB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAC9D,eAAe,CAChB,CACF;IACD,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;AACnE,QAAA,IACE,CAAC,SAAS,CAAC,GAAG,CACZ,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CACzD;AACD,YAAA,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAC1B;YACA;QACF;AACA,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAClE;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;;;;;;;;AAaG;AACH,SAAS,iBAAiB,CAAC,KAK1B,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,OAAO,EAAE;IACX;AACA,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;AAChC,IAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,QAAA,OAAO,EAAE;IACX;IACA,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AACnB,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1E,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrE;AACA,IAAA,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACnE,IAAA,OAAO,MAAM;AACf;AAEA;;;;AAIG;AACH,SAAS,oBAAoB,CAC3B,WAAmB,EACnB,IAAY,EACZ,KAAkD,EAAA;AAElD,IAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB;AACzC,IAAA,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;QACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B;QACF;AACA,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;AACzC,QAAA,OAAO,CAAC,IAAI,CACV,GAAG;AACA,aAAA,MAAM,CACL,CAAC,MAAM,KACL,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAEpD,aAAA,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CACtD;AACD,QAAA,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC9B;IACA,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,IAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC;AACpB,IAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG;AAC5B,QAAA,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;AAC9D,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC;AACxC,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACzB;YACF;AACA,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AACrB,YAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AAClB,YAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;AAIG;AACH,SAAS,sBAAsB,CAC7B,WAAmB,EACnB,IAAY,EACZ,KAAkD,EAAA;AAElD,IAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB;AACzC,IAAA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB;AAC3C,IAAA,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;QACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B;QACF;QACA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;AAClD,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AAC1C,QAAA,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;AACzC,QAAA,OAAO,CAAC,IAAI,CACV,GAAG;AACA,aAAA,MAAM,CACL,CAAC,MAAM,KACL,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAEpD,aAAA,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CACtD;AACD,QAAA,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC9B;AACA,IAAA,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC;AACrB,IAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,IAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC;AACpB,IAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG;AAC5B,QAAA,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;AAC9D,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC;AACxC,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACzB;YACF;AACA,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AACrB,YAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AAClB,YAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;QAChD;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;AAIG;AACH,SAAS,iBAAiB,CAAC,WAAmB,EAAE,MAAe,EAAA;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC1B,QAAA,OAAO,EAAE;IACX;IACA,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACnD;QACF;AACA,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC/C;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;AAIG;AACH,SAAS,cAAc,CAAC,KAIvB,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,OAAO,KAAK;IACd;IACA,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;AACnD;AAEA;;;;;AAKG;AACH,SAAS,4BAA4B,CAAC,KAIrC,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,OAAO,KAAK;IACd;IACA,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAC/D;AAEA;;;;;AAKG;AACH,SAAS,YAAY,CACnB,MAAe,EACf,KAA4C,EAAA;IAE5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC1B,QAAA,OAAO,KAAK;IACd;AACA,IAAA,OAAO,MAAM,CAAC,IAAI,CAChB,CAAC,KAAK,KACJ,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACrD,YAAA,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAChC;AACH;AAEA;;;;;AAKG;AACH,SAAS,sBAAsB,CAAC,KAI/B,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,OAAO,EAAE;IACX;AACA,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY;AAC9C,IAAA,IAAI,YAAY,KAAK,SAAS,EAAE;AAC9B,QAAA,OAAO,EAAE;IACX;AACA,IAAA,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC;AACvD,IAAA,IAAI,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC;AAC/B,IAAA,IAAI,OAAO,KAAK,SAAS,EAAE;AACzB,QAAA,KAAK,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACxE,YAAA,IACE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC3D,gBAAA,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3B;gBACA,OAAO,GAAG,gBAAgB;gBAC1B;YACF;QACF;IACF;IACA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC3B,QAAA,OAAO,EAAE;IACX;IACA,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU;AAC9B,IAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACnD;QACF;AACA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;AACvD,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AAC1C,QAAA,IAAI,QAAQ,KAAK,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClE;QACF;AACA,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClB,QAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvB;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;AAMG;AACG,SAAU,UAAU,CAAC,EAAU,EAAA;IACnC,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/B,IAAA,OAAO,KAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;AAC/C;AAEA;;;AAGG;AACG,SAAU,iBAAiB,CAAC,EAAU,EAAA;IAC1C,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC/E;AAEA;;;;AAIG;AACH,SAAS,kBAAkB,CACzB,OAA+C,EAAA;AAE/C,IAAA,OAAO,OAAO,KAAK,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;AAC9E;AAEA;;;;;;AAMG;AACG,SAAU,qBAAqB,CACnC,MAAc,EACd,IAAY,EAAA;AAEZ,IAAA,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,QAAA,OAAO,SAAS;IAClB;IACA,OAAO,EAAE,IAAI,EAAE;AACjB;AAEA;;;;;;;;;;;;;;AAcG;AACH,SAAS,mBAAmB,CAC1B,MAAkC,EAClC,IAAY,EACZ,MAAc,EACd,WAAoB,EAAA;IAEpB,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC;AACzD,IAAA,IAAI,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE;AACvD,QAAA,OAAO,KAAK;IACd;AACA,IAAA,IAAI,WAAW,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE;AAClE,QAAA,OAAO,IAAI;IACb;IACA,MAAM,aAAa,GAAG,yBAAyB,CAAC,MAAM,CAAC,WAAW,CAAC;IACnE,aAAa,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE;AAClD,QAAA,OAAO,KAAK;IACd;;;;;;;;;AASA,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,IAAI,EAAE;AACvD,IAAA,OAAO,UAAU,CACf,cAAc,EACd,0BAA0B,CACxB,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CACzD,CACF;AACH;AAEA;AACA,SAAS,sBAAsB,CAC7B,MAAkC,EAClC,IAAY,EAAA;AAEZ,IAAA,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,GAAG,EAAE,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/D;AAEA;;;;;;;;;;;;AAYG;AACH,SAAS,kBAAkB,CAAC,KAI3B,EAAA;IACC,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC;;AAE3D,IAAA,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CACnE,KAAK,CAAC,aAAa,CACpB;AACD,IAAA,OAAO,MAAM;AACf;AAEA;;;;;AAKG;AACG,SAAU,yBAAyB,CACvC,WAAmB,EAAA;IAEnB,MAAM,MAAM,GAA2B,EAAE;IACzC,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,WAAW,CAAC,EAAE;AACrD,QAAA,IAAI;AACF,YAAA,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3E;AAAE,QAAA,MAAM;;;QAGR;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;;AAOG;AACH,SAAS,qBAAqB,CAAC,IAAY,EAAA;IACzC,MAAM,GAAG,GAAa,EAAE;AACxB,IAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC;AACpB,IAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG;AAC5B,QAAA,IAAI,OAAoB;AACxB,QAAA,IAAI;AACF,YAAA,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC5D;AAAE,QAAA,MAAM;YACN;QACF;AACA,QAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAC3B,YAAA,IAAI,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBACzC;YACF;AACA,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;AAC3C,YAAA,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;AACvB,gBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAClB;AAAO,iBAAA,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;AACzB,gBAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAChB;QACF;IACF;IACA,GAAG,CAAC,IAAI,EAAE;AACV,IAAA,OAAO,GAAG;AACZ;AAEA;;;;;;;;AAQG;AACG,SAAU,iBAAiB,CAAC,IAAY,EAAE,IAAY,EAAA;AAC1D,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5E,IAAA,IACE,QAAQ,CAAC,MAAM,KAAK,CAAC;AACrB,QAAA,QAAQ,KAAK,IAAI;QACjB,QAAQ,CAAC,UAAU,CAAC,CAAA,EAAA,EAAK,IAAI,CAAC,GAAG,EAAE,CAAC;AACpC,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EACzB;AACA,QAAA,OAAO,KAAK;IACd;IACA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;AACzC,IAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE;AAC5C,QAAA,OAAO,KAAK;IACd;IACA,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChC,IAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE;AACpD,QAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAE,CAAC;AAC9C,QAAA,IAAI,KAAe;AACnB,QAAA,IAAI;AACF,YAAA,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;QAC/B;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,KAAK;QACd;AACA,QAAA,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE;AAC1B,YAAA,OAAO,KAAK;QACd;QACA,MAAM,IAAI,GAAG,KAAK,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC1C,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE;AAChE,YAAA,OAAO,KAAK;QACd;IACF;AACA,IAAA,OAAO,IAAI;AACb;AAEA;;;;;;;;AAQG;AACG,SAAU,0BAA0B,CACxC,KAAwB,EAAA;IAExB,MAAM,MAAM,GAA2B,EAAE;AACzC,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC;AACtC,QAAA,IAAI,QAAQ,IAAI,MAAM,EAAE;YACtB;QACF;AACA,QAAA,IAAI;AACF,YAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACpD;AAAE,QAAA,MAAM;AACN,YAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;QAC9B;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACH,SAAS,wBAAwB,CAAC,KAIjC,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,OAAO,EAAE;IACX;IACA,MAAM,OAAO,GAAa,EAAE;AAC5B,IAAA,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU;AAC9C,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;AAChC,IAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,QAAA,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;AACjE,YAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACpB,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC1B,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YAC1B;QACF;AACA,QAAA,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;AACnD,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACzB,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YACzB;QACF;AACA,QAAA,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;YAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC9B;YACF;AACA,YAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAClC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3D;gBACF;AACA,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC;AAC3D,gBAAA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvB,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACrD;QACF;IACF;AACA,IAAA,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE;AACpE,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC1B,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAC1B;IACF;AACA,IAAA,MAAM,QAAQ,GACZ,KAAK,CAAC,iBAAiB,KAAK;AAC1B,UAAE;AACF,UAAE,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAC9C,MAAM,MAAM,GAAa,EAAE;AAC3B,IAAA,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU;AAC9B,IAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACrD;QACF;AACA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC;AACxD,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AAC1C,QAAA,MAAM,gBAAgB,GACpB,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAChE,IACE,QAAQ,KAAK,QAAQ;AACrB,YAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClB,aAAC,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,EACrE;YACA;QACF;AACA,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClB,QAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvB;IACA,MAAM,CAAC,IAAI,EAAE;AACb,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,yBAAyB,CAAC,IAAY,EAAA;IAC7C,QACE,IAAI,KAAK,MAAM;AACf,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,QAAQ;AACjB,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,aAAa;AACtB,QAAA,IAAI,KAAK,QAAQ;AACjB,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,UAAU;AACnB,QAAA,IAAI,KAAK,MAAM;AACf,QAAA,IAAI,KAAK,cAAc;AACvB,QAAA,IAAI,KAAK,KAAK;AACd,QAAA,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,KAAK;AAElB;AAEA,SAAS,UAAU,CACjB,IAA4B,EAC5B,KAA6B,EAAA;IAE7B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE;AACxC,QAAA,OAAO,KAAK;IACd;AACA,IAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1D;AAEA,SAAS,QAAQ,CAAC,KAAsB,EAAA;AACtC,IAAA,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAChE;AAEA,eAAe,gBAAgB,CAAC,KAO/B,EAAA;AACC,IAAA,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AAChD,IAAA,IAAI;AACF,QAAA,MAAM,MAAM,GAAG,IAAIA,iBAAY,CAAC;AAC9B,YAAA,GAAG,EAAE,WAAW;;;;;;;AAOhB,YAAA,eAAe,EAAE,WAAW;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW;YACX,QAAQ,EAAE,UAAU,CAAC,IAAI;SAC1B,CAAC,CAAC,SAAS,EAAE;AACd,QAAA,MAAM,iBAAiB,GACrB,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC,IAAI;QAClE,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;YAClD,WAAW;YACX,MAAM;YACN,iBAAiB;AAClB,SAAA,CAAC;QACF,OAAO;;;;AAIL,YAAA,mBAAmB,EAAE,0BAA0B,CAAC,kBAAkB,CAAC;YACnE,kBAAkB;YAClB,WAAW,EAAE,kBAAkB,CAAC;gBAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,WAAW;aACZ,CAAC;YACF,WAAW;YACX,MAAM;YACN,WAAW,EAAE,IAAI,GAAG,EAAE;;;;AAItB,YAAA,IAAI,iBAAiB,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC;SAClE;IACH;YAAU;QACR,UAAU,CAAC,OAAO,EAAE;IACtB;AACF;AAEA,SAAS,uBAAuB,CAAC,KAIhC,EAAA;IACC,MAAM,eAAe,GAAG,4CAA4C,CAClE;QACE,GAAG,KAAK,CAAC,eAAe;QACxB,GAAG,0BAA0B,CAAC,KAAK,CAAC;KACrC,EACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC7B;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7C,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,QAAQ;AACpB,YAAA,OAAO,EAAE,MAAM,SAAS;SACzB;IACH;AAEA,IAAA,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;IAClD,EAAE,CAAC,aAAa,CACd,IAAI,EACJ,IAAI,CAAC,SAAS,CACZ;AACE,QAAA,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtC,eAAe;AAChB,KAAA,EACD,IAAI,EACJ,CAAC,CACF,EACD,MAAM,CACP;IACD,OAAO;AACL,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACtE;AACH;AAEA;;;;;;;;;;;;AAYG;AACH,SAAS,4CAA4C,CACnD,eAAwC,EACxC,WAAmB,EAAA;AAEnB,IAAA,MAAM,MAAM,GAAG,EAAE,GAAG,eAAe,EAAE;;IAErC,KAAK,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;QACzD,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;AACnC,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACtD;IACF;;IAEA,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;AAC9B,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAClC,OAAO,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,KAAK,CACrE;QACH;IACF;IACA,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;IACrC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACnC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK;YAC5C,GAAG;AACH,YAAA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAKC,mCAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACpE,SAAA,CAAC,CACH;IACH;IACA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QACjC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KACxC,yCAAyC,CAAC,KAAK,EAAE,WAAW,CAAC,CAC9D;IACH;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;;AAOG;AACH,SAAS,yCAAyC,CAChD,KAAc,EACd,WAAmB,EAAA;AAEnB,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACvE,QAAA,OAAO,KAAK;IACd;AACA,IAAA,MAAM,MAAM,GAA4B,EAAE,GAAG,KAAK,EAAE;AACpD,IAAA,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;AACjE,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;AAC3D,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;QAChD;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;;;;;;;;AAaG;AACH,SAAS,0BAA0B,CAAC,KAInC,EAAA;AACC,IAAA,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9C,QAAA,OAAO,EAAE;IACX;IACA,OAAO;AACL,QAAA,KAAK,EAAE;AACL,YAAA,GAAGC,wCAA0B,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC7C,YAAA,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC;YACzC,GAAG,KAAK,CAAC,UAAU;AACpB,SAAA;KACF;AACH;AAEA,SAAS,SAAS,CAAC,KAAc,EAAA;AAC/B,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACvE,QAAA,OAAO,EAAE;IACX;IACA,MAAM,MAAM,GAA6B,EAAE;AAC3C,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB;QACF;AACA,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC3B,CAAC,KAAK,KAAsB,OAAO,KAAK,KAAK,QAAQ,CACtD;AACD,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ;QACxB;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;;AAMG;AACH,SAAS,gBAAgB,CAAC,OAAgB,EAAA;IACxC,MAAM,KAAK,GAA6B,EAAE;IAC1C,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE;AAC7C,QAAA,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7D;QACF;QACA,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC5B;QACF;AACA,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AAC1C,QAAA,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB;QACF;QACA,MAAM,MAAM,GAAG,aAAa,CAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW;cAC7B,KAAK,CAAC;AACR,cAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,CACnD;AACD,QAAA,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;QACrB,KAAK,CAAC,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,CAAC,GAAG,CAAC,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI,CAAC;IACrC;AACA,IAAA,OAAO,KAAK;AACd;AAEA,SAAS,gBAAgB,CAAC,OAAgB,EAAA;AACxC,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC1B,QAAA,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IAChC;IACA,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;AACnD,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO;AAC1B,aAAA,MAAM,CACL,CAAC,KAAK,KAAgC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;AAEnE,aAAA,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1D;AACA,IAAA,OAAO,EAAE;AACX;AAEA,SAAS,uBAAuB,CAAC,KAKhC,EAAA;AACC,IAAA,OAAO,eAAe,CAAC;QACrB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,QAAA,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC1C,KAAA,CAAC;AACJ;AAEA;;;;;;;AAOG;AACH,SAAS,eAAe,CAAC,KAAc,EAAA;AACrC,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,QAAA,OAAO,CAAA,CAAA,EAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;IACpD;AACA,IAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACtC,QAAA,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK;AAC5B,aAAA,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,eAAe,CAAC,IAAI,CAAC,CAAA,CAAE;AACtE,aAAA,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAG;IACjB;AACA,IAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC9B;AAEA,SAAS,mBAAmB,CAAC,KAAa,EAAA;IACxC,QACE,KAAK,KAAK,GAAG;AACb,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AACtB,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;AACvB,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;AACvB,QAAA,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;AAE5B;AAEA,SAAS,OAAO,CAAC,KAAc,EAAA;AAC7B,IAAA,QACE,OAAO,KAAK,KAAK,QAAQ;AACzB,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,MAAM,IAAI,KAAK;AACf,QAAA,aAAa,IAAI,KAAK;AACtB,QAAA,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;AAC9B,QAAA,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;AAEzC;AAEA;;;;;;;;AAQG;AACH,SAAS,uBAAuB,CAAC,KAIhC,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzD;IACA,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AACnC,QAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9D;;AAGA,IAAA,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC;IACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;AAC3C,IAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,QAAA,OAAO,MAAM;IACf;;AAEA,IAAA,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;AACzE,QAAA,IACE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC3D,YAAA,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3B;AACA,YAAA,OAAO,MAAM;QACf;IACF;IACA,MAAM,IAAI,KAAK,CAAC,CAAA,yCAAA,EAA4C,KAAK,CAAC,IAAI,CAAA,CAAE,CAAC;AAC3E;AAEA;;;;;;AAMG;AACH,SAAS,wBAAwB,CAAC,MAAmC,EAAA;AACnE,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE;QACjE;IACF;IACA,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC;AAClD,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,CAAC;IACnC;AACF;AAEA;;;;;;;AAOG;AACH,SAAS,iBAAiB,CAAC,WAAsC,EAAA;AAC/D,IAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAA,OAAO,uBAAuB;IAChC;AACA,IAAA,OAAO;AACJ,SAAA,GAAG,CAAC,CAAC,IAAI,KACR;QACE,IAAI,CAAC,IAAI,IAAI,MAAM;QACnB,IAAI,CAAC,IAAI,KAAK;AACZ,cAAE;cACA,CAAA,EAAG,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAA,CAAE;AACzC,QAAA,IAAI,CAAC,WAAW;AACjB;AACE,SAAA,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE;SAClD,IAAI,CAAC,IAAI,CAAC;SAEd,IAAI,CAAC,IAAI,CAAC;AACf;AAEA,SAAS,kBAAkB,CAAC,KAAc,EAAA;AACxC,IAAA,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,KAAK,CAAC,OAAO;IACtB;IACA,IACE,OAAO,KAAK,KAAK,QAAQ;AACzB,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,SAAS,IAAI,KAAK;AAClB,QAAA,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EACjC;QACA,OAAO,KAAK,CAAC,OAAO;IACtB;AACA,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB;AAEA;;;;;;;;;AASG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,QAAiB,EAAA;AACtD,IAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ;AAC7B,cAAE;AACF,cAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;IAC3C;IAEA,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAChC,OAAO,IAAI,EAAE;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;AACrD,QAAA,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AAC5B,YAAA,OAAO,SAAS;QAClB;QACA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;;AAEpC,QAAA,IAAI,MAAM,KAAK,OAAO,EAAE;YACtB;QACF;QACA,OAAO,GAAG,MAAM;IAClB;IACA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC;AACrD;AAEA,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY,EAAA;AAC9C,IAAA,OAAO,aAAa,CAClB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAC5D;AACH;AAEA;;;;AAIG;AACG,SAAU,eAAe,CAAC,IAAY,EAAA;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACnC,OAAO,2BAA2B,CAAC,QAAQ;AACzC,UAAE,QAAQ,CAAC,WAAW;UACpB,QAAQ;AACd;AAEA,SAAS,2BAA2B,CAAC,IAAY,EAAA;AAC/C,IAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;AAChC,QAAA,OAAO,IAAI;IACb;AACA,IAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACjC,QAAA,OAAO,KAAK;IACd;IACA,IAAI,QAAQ,GAAG,IAAI;IACnB,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AACrC,QAAA,IAAI,MAAM,KAAK,QAAQ,EAAE;AACvB,YAAA,OAAO,KAAK;QACd;QACA,QAAQ,GAAG,MAAM;IACnB;AACA,IAAA,IAAI,QAAgB;AACpB,IAAA,IAAI;QACF,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC7C;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,KAAK;IACd;IACA,MAAM,MAAM,GAAG,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC;AACzD,IAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,QAAA,OAAO,MAAM;IACf;AACA,IAAA,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC;AAC1C,IAAA,MAAM,WAAW,GAAG,SAAS,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;AACvE,IAAA,4BAA4B,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC;AACvD,IAAA,OAAO,WAAW;AACpB;AAEA,SAAS,cAAc,CAAC,IAAY,EAAA;AAClC,IAAA,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE;AACrD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAE;QAC9B,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,EAAE;YACxC,OAAO,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA,EAAG,SAAS,CAAC,WAAW,EAAE,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA,CAAE;QACpF;QACA,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,EAAE;YACxC,OAAO,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA,EAAG,SAAS,CAAC,WAAW,EAAE,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA,CAAE;QACpF;IACF;AACA,IAAA,OAAO,SAAS;AAClB;AAEA,SAAS,aAAa,CAAC,IAAY,EAAA;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;AACjC;;;;;;;;;;;;;;"}