parseman 0.35.0 → 0.37.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.
- package/README.md +34 -19
- package/dist/analysis/duplication.d.ts +421 -0
- package/dist/analysis/duplication.d.ts.map +1 -0
- package/dist/analysis/gating.d.ts +25 -0
- package/dist/analysis/gating.d.ts.map +1 -1
- package/dist/analysis/grammar.d.ts +12 -0
- package/dist/analysis/grammar.d.ts.map +1 -0
- package/dist/combinators/expect.d.ts +12 -0
- package/dist/combinators/expect.d.ts.map +1 -1
- package/dist/combinators/parser.d.ts +26 -0
- package/dist/combinators/parser.d.ts.map +1 -1
- package/dist/compiler/build-arity.d.ts +12 -0
- package/dist/compiler/build-arity.d.ts.map +1 -1
- package/dist/compiler/codegen.d.ts +43 -1
- package/dist/compiler/codegen.d.ts.map +1 -1
- package/dist/compiler/linker.d.ts +64 -7
- package/dist/compiler/linker.d.ts.map +1 -1
- package/dist/cst/host-mode.d.ts +43 -0
- package/dist/cst/host-mode.d.ts.map +1 -0
- package/dist/functional/doc.d.ts.map +1 -1
- package/dist/functional/run.d.ts.map +1 -1
- package/dist/index.cjs +1621 -55
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1621 -55
- package/dist/index.js.map +4 -4
- package/dist/language-service/index.cjs +37 -1
- package/dist/language-service/index.cjs.map +3 -3
- package/dist/language-service/index.js +37 -1
- package/dist/language-service/index.js.map +3 -3
- package/dist/oracle/corpus.d.ts +32 -0
- package/dist/oracle/corpus.d.ts.map +1 -0
- package/dist/oracle/digest.d.ts +21 -0
- package/dist/oracle/digest.d.ts.map +1 -0
- package/dist/oracle/identity.d.ts +117 -0
- package/dist/oracle/identity.d.ts.map +1 -0
- package/dist/oracle/index.cjs +423 -0
- package/dist/oracle/index.cjs.map +7 -0
- package/dist/oracle/index.d.ts +37 -0
- package/dist/oracle/index.d.ts.map +1 -0
- package/dist/oracle/index.js +400 -0
- package/dist/oracle/index.js.map +7 -0
- package/dist/plugin/index.cjs +1628 -62
- package/dist/plugin/index.cjs.map +4 -4
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +1628 -62
- package/dist/plugin/index.js.map +4 -4
- package/dist/run/index.cjs +23 -0
- package/dist/run/index.cjs.map +3 -3
- package/dist/run/index.js +23 -0
- package/dist/run/index.js.map +3 -3
- package/dist/spec/index.cjs +2977 -56
- package/dist/spec/index.cjs.map +4 -4
- package/dist/spec/index.js +2977 -56
- package/dist/spec/index.js.map +4 -4
- package/dist/spec/model.d.ts.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +10 -3
|
@@ -13,6 +13,18 @@ import type { ParserDef } from '../types.ts';
|
|
|
13
13
|
type NodeDef = Extract<ParserDef, {
|
|
14
14
|
tag: 'node';
|
|
15
15
|
}>;
|
|
16
|
+
/**
|
|
17
|
+
* Is a positioned-CST host installed for this parse?
|
|
18
|
+
*
|
|
19
|
+
* `cstBuildHost` (and the language-service hosts) mark themselves with
|
|
20
|
+
* `_parsemanCstOutput`. That flag is what re-routes a node with its OWN direct builder
|
|
21
|
+
* through the host — and therefore what makes the direct builder's formal arity the
|
|
22
|
+
* WRONG basis for eliding capture, since the consumer is no longer that builder.
|
|
23
|
+
*
|
|
24
|
+
* The COMPILED engine answers this at compile time (`hostMode`, 0.37.0). The interpreter
|
|
25
|
+
* has no compile step, so it asks per parse.
|
|
26
|
+
*/
|
|
27
|
+
export declare function cstOutputHost(build: unknown): boolean;
|
|
16
28
|
/**
|
|
17
29
|
* Confirmed count of simple formal parameters the build declares, or `null` when the
|
|
18
30
|
* source can't be parsed into a plain identifier list (→ caller keeps full capture).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-arity.d.ts","sourceRoot":"","sources":["../../src/compiler/build-arity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C;;;;;;;;;;GAUG;AAEH,KAAK,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"build-arity.d.ts","sourceRoot":"","sources":["../../src/compiler/build-arity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C;;;;;;;;;;GAUG;AAEH,KAAK,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAElD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAErD;AAkBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuB9D;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMxD;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMnD;AAED,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMtD;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMrD"}
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
* object allocation per node.
|
|
8
8
|
*/
|
|
9
9
|
import type { Combinator, FirstSet, ParseResult, ParseContext, ParseError } from '../types.ts';
|
|
10
|
+
import { type HostMode } from '../cst/host-mode.ts';
|
|
10
11
|
import { type GatingReport, type GatingWarnLevel } from '../analysis/gating.ts';
|
|
12
|
+
import { type DuplicationWarnLevel } from '../analysis/duplication.ts';
|
|
11
13
|
/**
|
|
12
14
|
* A rule's LEADING first-set as a fuse-resolvable recipe.
|
|
13
15
|
*
|
|
@@ -62,6 +64,8 @@ export declare function endLoweringCapture(): string[];
|
|
|
62
64
|
export declare function firstSetCond(codeVar: string, fs: FirstSet): string;
|
|
63
65
|
export declare function __setForceDisjointIf(on: boolean): void;
|
|
64
66
|
export declare function __setForceNoSharedPrefix(on: boolean): void;
|
|
67
|
+
export { assertHostModeCompatible, FUSED_HOST_MODE, FUSED_HOST_ELIDED } from '../cst/host-mode.ts';
|
|
68
|
+
export type { HostMode } from '../cst/host-mode.ts';
|
|
65
69
|
export type CompiledParser<T> = {
|
|
66
70
|
parse(input: string, pos?: number): ParseResult<T>;
|
|
67
71
|
/** Like parse(), but with a caller-supplied ParseContext (e.g. `_triviaLog` for CST grammars). */
|
|
@@ -154,21 +158,53 @@ export type GatingOption = GatingWarnLevel | {
|
|
|
154
158
|
* The rule maps arrive as a THUNK because producing them costs a re-hydration of the
|
|
155
159
|
* carried IR: `gating: 'off'` must not pay for a diagnostic it will not print.
|
|
156
160
|
*/
|
|
157
|
-
export declare function runFusedGatingDiagnostic(getRuleMaps: () => ReadonlyArray<ReadonlyArray<readonly [string, Combinator<unknown>]>>, opt?: GatingOption
|
|
161
|
+
export declare function runFusedGatingDiagnostic(getRuleMaps: () => ReadonlyArray<ReadonlyArray<readonly [string, Combinator<unknown>]>>, opt?: GatingOption,
|
|
162
|
+
/** Carried pieces that could NOT be re-lowered to combinators (opaque precompiled
|
|
163
|
+
* artifacts). Threaded by BOTH engines — the runtime linker and the macro plugin —
|
|
164
|
+
* so neither can report a clean fuse over a grammar it only partly saw. */
|
|
165
|
+
getOpaque?: () => ReadonlyArray<{
|
|
166
|
+
ns: string;
|
|
167
|
+
ruleNames: string[];
|
|
168
|
+
}>): GatingReport | undefined;
|
|
169
|
+
/**
|
|
170
|
+
* The `duplication` compile option. A bare level is shorthand for `{ level }`; the
|
|
171
|
+
* object form adds the `accept` allowlist (finding ids acknowledged as intentional)
|
|
172
|
+
* and the ranking knobs.
|
|
173
|
+
*
|
|
174
|
+
* DEFAULT IS `'off'`, unlike gating. An ungated hot choice is a cliff with no other
|
|
175
|
+
* symptom; a duplicated subtree is a maintenance cost the author may have chosen.
|
|
176
|
+
* More to the point, most findings here are CANDIDATES that need an AST check
|
|
177
|
+
* before they are applied — a diagnostic that prints "candidate, verify" on every
|
|
178
|
+
* build teaches people to stop reading it. Run it deliberately (a lint script, a
|
|
179
|
+
* review pass, `PARSEMAN_DUPLICATION=warn`), not on every compile.
|
|
180
|
+
*/
|
|
181
|
+
export type DuplicationOption = DuplicationWarnLevel | {
|
|
182
|
+
level?: DuplicationWarnLevel;
|
|
183
|
+
accept?: Iterable<string>;
|
|
184
|
+
minSize?: number;
|
|
185
|
+
maxFindings?: number;
|
|
186
|
+
entryName?: string;
|
|
187
|
+
};
|
|
158
188
|
export declare function compile<T>(combinator: Combinator<T>, mapFnSources?: string[], opts?: {
|
|
159
189
|
recovery?: boolean;
|
|
190
|
+
hostMode?: HostMode;
|
|
160
191
|
coverage?: boolean;
|
|
161
192
|
gating?: GatingOption;
|
|
193
|
+
duplication?: DuplicationOption;
|
|
162
194
|
}): CompiledParser<T>;
|
|
163
195
|
export declare function compileRuleMap(ruleMap: ReadonlyArray<readonly [string, Combinator<unknown>]>, opts?: {
|
|
164
196
|
trivia?: Combinator<unknown>;
|
|
165
197
|
scanSkip?: Combinator<unknown>[];
|
|
166
198
|
recovery?: boolean;
|
|
199
|
+
hostMode?: HostMode;
|
|
167
200
|
coverage?: boolean;
|
|
168
201
|
gating?: GatingOption;
|
|
202
|
+
duplication?: DuplicationOption;
|
|
169
203
|
}): {
|
|
170
204
|
keys: string[];
|
|
171
205
|
replacement: string;
|
|
206
|
+
hostMode: HostMode;
|
|
207
|
+
hostBranchElided: boolean;
|
|
172
208
|
coverageDefinitions?: readonly import('./grammar-coverage-ids.ts').GrammarCoverageDefinition[];
|
|
173
209
|
} | null;
|
|
174
210
|
/**
|
|
@@ -227,6 +263,10 @@ export type LinkablePieces = {
|
|
|
227
263
|
deps: Map<string, string[]>;
|
|
228
264
|
needsEmptyTl: boolean;
|
|
229
265
|
needsHostReads: boolean;
|
|
266
|
+
/** Compile-time host mode this piece was lowered for ('ast' when absent). */
|
|
267
|
+
hostMode?: HostMode;
|
|
268
|
+
/** Set when a direct builder's positioned-CST branch was omitted. */
|
|
269
|
+
hostBranchElided?: boolean;
|
|
230
270
|
/** True when this piece contains any direct `node(..., build)` reduction. */
|
|
231
271
|
hasDirectBuilders?: boolean;
|
|
232
272
|
/** True only when this piece has no direct builder or callback-based semantics. */
|
|
@@ -244,9 +284,11 @@ export declare function compileLinkable(ruleMapArg: ReadonlyArray<readonly [stri
|
|
|
244
284
|
trivia?: Combinator<unknown>;
|
|
245
285
|
scanSkip?: Combinator<unknown>[];
|
|
246
286
|
recovery?: boolean;
|
|
287
|
+
hostMode?: HostMode;
|
|
247
288
|
captureTerminals?: boolean;
|
|
248
289
|
coverage?: GrammarCoveragePlan;
|
|
249
290
|
gating?: GatingOption;
|
|
291
|
+
duplication?: DuplicationOption;
|
|
250
292
|
}): LinkablePieces | null;
|
|
251
293
|
/**
|
|
252
294
|
* Does this rule map reference a rule it doesn't define — a NAMED `ref` (`g.Foo`)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/compiler/codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAa,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAA4B,MAAM,aAAa,CAAA;AAKnI,OAAO,EAA2D,KAAK,YAAY,EAAE,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/compiler/codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAa,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAA4B,MAAM,aAAa,CAAA;AAKnI,OAAO,EAA4B,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAA2D,KAAK,YAAY,EAAE,KAAK,eAAe,EAAqB,MAAM,uBAAuB,CAAA;AAC3J,OAAO,EAA2H,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAE/L;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAC5E,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAA;CAAE,CAAA;AACtD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,GAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAa,GAAG,cAAc,CA4FxH;AAGD,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAsBtF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,uTAC0R,CAAA;AActT,8EAA8E;AAC9E,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAI7C;AA6hBD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,MAAM,CAQlE;AAcD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAA0B;AAMjF,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAA8B;AAutFzF,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAClG,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IAClD,kGAAkG;IAClG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IAChF;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG;QAAE,MAAM,EAAE,UAAU,EAAE,CAAA;KAAE,CAAA;IACvF,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAA;IACd;;;;;;OAMG;IACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,SAAS,OAAO,2BAA2B,EAAE,yBAAyB,EAAE,CAAA;IAC9F;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB,CAAA;AAyPD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAC7D,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA+BvB;AAED;;;;;;;;GAQG;AACH;;;;;GAKG;AACH;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG;IAAE,KAAK,CAAC,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAkCvH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACvF,GAAG,CAAC,EAAE,YAAY;AAClB;;4EAE4E;AAC5E,SAAS,CAAC,EAAE,MAAM,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GACnE,YAAY,GAAG,SAAS,CAyC1B;AAyCD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB;IAAE,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAiE3H,wBAAgB,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAuJhO;AAsDD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAC9D,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAC7L;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,SAAS,OAAO,2BAA2B,EAAE,yBAAyB,EAAE,CAAA;CAAE,GAAG,IAAI,CAkK/L;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;;OAMG;IACH,CAAC,EAAE,MAAM,CAAA;IACT,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B;;;;OAIG;IACH,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC7C,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC3B,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,OAAO,CAAA;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;;OAKG;IACH,KAAK,EAAE,aAAa,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAA;IACrD,QAAQ,EAAE,aAAa,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAA;CACzD,CAAA;AAGD,wBAAgB,eAAe,CAC7B,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EACjE,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAAE,GACrO,cAAc,GAAG,IAAI,CAoPvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAC7D,OAAO,CAeT"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { LinkablePieces } from './codegen.ts';
|
|
1
|
+
import type { LinkablePieces, HostMode } from './codegen.ts';
|
|
2
2
|
import type { BuildHost, Combinator, CstCollapsePredicate, ParseContext, ParseResult } from '../types.ts';
|
|
3
|
-
export declare function linkable(rulesMap: Record<string, Combinator<unknown>>, ns?: string, trivia?: Combinator<unknown
|
|
3
|
+
export declare function linkable(rulesMap: Record<string, Combinator<unknown>>, ns?: string, trivia?: Combinator<unknown>, hostMode?: HostMode): LinkablePieces;
|
|
4
4
|
export type CstBuildHostOptions = {
|
|
5
5
|
/**
|
|
6
6
|
* Collapse transparent one-child CST wrapper nodes at build time.
|
|
@@ -61,8 +61,14 @@ export declare function fusedBody(pieces: LinkablePieces[]): {
|
|
|
61
61
|
env: Record<string, unknown>;
|
|
62
62
|
};
|
|
63
63
|
/** Fuse at RUNTIME (via `new Function`) — used by `compose()` when not compiled
|
|
64
|
-
* by the macro (like `compile()`). The macro path uses `emitFusedSource` instead.
|
|
64
|
+
* by the macro (like `compile()`). The macro path uses `emitFusedSource` instead.
|
|
65
|
+
* Both stamp the host mode from inside `fusedBody`; see `hostModeOfPieces`. */
|
|
65
66
|
export declare function fuseRules(pieces: LinkablePieces[]): Record<string, FusedRule>;
|
|
67
|
+
export { FUSED_HOST_MODE, FUSED_HOST_ELIDED } from '../cst/host-mode.ts';
|
|
68
|
+
/** The host mode a fused/composed rule map was built for. Defaults to 'ast'. */
|
|
69
|
+
export declare function fusedHostModeOf(registry: object): HostMode;
|
|
70
|
+
/** Whether a fused/composed rule map dropped any direct builder's CST branch. */
|
|
71
|
+
export declare function fusedHostElidedOf(registry: object): boolean;
|
|
66
72
|
/**
|
|
67
73
|
* Fuse at BUILD time — emit the fused closure as a self-contained SOURCE
|
|
68
74
|
* expression (`(() => { … })()`), with **no `new Function`**. This is what the
|
|
@@ -71,25 +77,76 @@ export declare function fuseRules(pieces: LinkablePieces[]): Record<string, Fuse
|
|
|
71
77
|
* artifact carries runtime-only callback functions.
|
|
72
78
|
*/
|
|
73
79
|
export declare function emitFusedSource(pieces: LinkablePieces[]): string;
|
|
80
|
+
/** The carried pieces a `compose()`/`composeLeaf()` result holds, or `undefined` when
|
|
81
|
+
* the value is not a composed grammar. This is what makes a fused grammar analysable:
|
|
82
|
+
* the pieces are re-lowerable IR even though the fused map itself is only functions. */
|
|
83
|
+
export declare function composedPiecesOf(grammar: Record<string, unknown>): ReadonlyArray<LinkablePieces | IRPiece> | undefined;
|
|
74
84
|
/** The compact IR form a grammar carries instead of its lowered rule source: the
|
|
75
85
|
* combinator-construction expression, re-lowered here at fuse time. */
|
|
76
86
|
export type IRPiece = {
|
|
77
87
|
ns: string;
|
|
78
88
|
ir: string;
|
|
79
89
|
};
|
|
90
|
+
/** Memoize a zero-arg thunk, keeping it LAZY. Used where two diagnostic thunks want
|
|
91
|
+
* the same carried-IR hydration: the work must not happen when the diagnostic is off,
|
|
92
|
+
* and must not happen twice when it is on. */
|
|
93
|
+
export declare function once<T>(fn: () => T): () => T;
|
|
80
94
|
/** The re-lowerable carried pieces' rule maps, in compose order — the input to the
|
|
81
95
|
* fuse-time gating diagnostic. An opaque precompiled artifact contributes no
|
|
82
|
-
* combinator graph, so it is
|
|
83
|
-
*
|
|
96
|
+
* combinator graph, so it is skipped: a hole it would have bound stays unresolved
|
|
97
|
+
* and its choice stays deferred, never falsely warned.
|
|
98
|
+
*
|
|
99
|
+
* Skipping is not the same as having nothing to say. Use `carriedRuleMapsDetailed`
|
|
100
|
+
* where the skip must be REPORTED — a diagnostic that drops part of the grammar and
|
|
101
|
+
* then returns a clean result is indistinguishable from one that verified it. */
|
|
84
102
|
export declare function carriedRuleMaps(carried: ReadonlyArray<LinkablePieces | IRPiece>): Array<Array<[string, Combinator<unknown>]>>;
|
|
103
|
+
/** `carriedRuleMaps` plus the pieces it could NOT re-lower, named by namespace and
|
|
104
|
+
* rule count, so a caller can report exactly how much of the grammar went unseen. */
|
|
105
|
+
export declare function carriedRuleMapsDetailed(carried: ReadonlyArray<LinkablePieces | IRPiece>): {
|
|
106
|
+
maps: Array<Array<[string, Combinator<unknown>]>>;
|
|
107
|
+
opaque: Array<{
|
|
108
|
+
ns: string;
|
|
109
|
+
ruleNames: string[];
|
|
110
|
+
}>;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Recover the override-winner COMBINATOR map behind a `compose()` result, plus the
|
|
114
|
+
* pieces that could not be recovered.
|
|
115
|
+
*
|
|
116
|
+
* A fused map holds rule functions, so any consumer that walks a combinator graph
|
|
117
|
+
* (gating analysis, the spec/EBNF/railroad model) cannot read it directly. The graph
|
|
118
|
+
* is not lost, though — `compose()` retains re-lowerable IR — so this is the single
|
|
119
|
+
* shared recovery both consumers use. Sharing it is the point: two copies of this
|
|
120
|
+
* logic is how one walker gets fixed and the other silently keeps failing.
|
|
121
|
+
*
|
|
122
|
+
* Returns `undefined` when `grammar` is not a composed result.
|
|
123
|
+
*/
|
|
124
|
+
export declare function recoverComposedRules(grammar: Record<string, unknown>): {
|
|
125
|
+
rules: Map<string, Combinator<unknown>>;
|
|
126
|
+
opaque: Array<{
|
|
127
|
+
ns: string;
|
|
128
|
+
ruleNames: string[];
|
|
129
|
+
}>;
|
|
130
|
+
} | undefined;
|
|
85
131
|
/** Return the final override-winner combinator map carried by runtime
|
|
86
132
|
* `compose()`, or `undefined` when a precompiled opaque artifact participated.
|
|
87
133
|
* This is intentionally internal: callers must not treat it as a parser API. */
|
|
88
134
|
export declare function composedCoverageRules(grammar: Record<string, unknown>): Record<string, Combinator<unknown>> | undefined;
|
|
89
135
|
/** Materialize a carried item to full `LinkablePieces`: an IR piece is evaluated
|
|
90
136
|
* back to a rule map and re-lowered; a full piece passes through. */
|
|
91
|
-
export declare function materializePiece(p: LinkablePieces | IRPiece, trivia?: Combinator<unknown>, captureTerminals?: boolean): LinkablePieces;
|
|
92
|
-
export declare function compose(items: Array<LinkablePieces | Record<string, unknown
|
|
137
|
+
export declare function materializePiece(p: LinkablePieces | IRPiece, trivia?: Combinator<unknown>, captureTerminals?: boolean, hostMode?: HostMode): LinkablePieces;
|
|
138
|
+
export declare function compose(items: Array<LinkablePieces | Record<string, unknown>>,
|
|
139
|
+
/**
|
|
140
|
+
* Compile-time host mode for the fused artifact, same meaning as
|
|
141
|
+
* `compile(g, { hostMode })`. Omit (or `'ast'`) for the eval driver — the fused rules
|
|
142
|
+
* build through the grammar's own `build` callbacks and carry no positioned-CST
|
|
143
|
+
* branch. Pass `'cst'` to fuse a SECOND artifact from the same pieces for the linter /
|
|
144
|
+
* IDE / language-service driver. Two compilations of one grammar, decided here, rather
|
|
145
|
+
* than one artifact deciding per node on every parse.
|
|
146
|
+
*/
|
|
147
|
+
opts?: {
|
|
148
|
+
hostMode?: HostMode;
|
|
149
|
+
}): Record<string, FusedRule>;
|
|
93
150
|
/**
|
|
94
151
|
* Compose a terminal grammar. This is for a leaf parser that overlays local
|
|
95
152
|
* semantic reductions on reusable recognition rules. It is macro-only: without
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linker.d.ts","sourceRoot":"","sources":["../../src/compiler/linker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"linker.d.ts","sourceRoot":"","sources":["../../src/compiler/linker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The compiled-artifact ↔ host contract, in ONE place.
|
|
3
|
+
*
|
|
4
|
+
* This lives on its own — rather than in `compiler/codegen.ts` where it started —
|
|
5
|
+
* because the DRIVER has to enforce it too. `functional/run.ts` is the `parseman/run`
|
|
6
|
+
* entry, whose whole purpose is to stay small (see `test/unit/run-entry-closure.test.ts`),
|
|
7
|
+
* so it cannot import the compiler to reach an assertion. Neither can it carry its own
|
|
8
|
+
* copy: two spellings of one contract is how the two engines drift, and this contract
|
|
9
|
+
* exists precisely because the failure it prevents is silent.
|
|
10
|
+
*
|
|
11
|
+
* No imports, by design — that is what keeps it free for both sides to depend on.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Which consumer a compiled artifact was lowered FOR.
|
|
15
|
+
*
|
|
16
|
+
* - `'ast'` — the grammar's own `build` callbacks produce the result (the eval consumer).
|
|
17
|
+
* - `'cst'` — a positioned-CST `ctx.build` host produces it (linter / IDE / language
|
|
18
|
+
* service), and every node's capture is sized for that host.
|
|
19
|
+
*
|
|
20
|
+
* ONE grammar source serves both; they are two COMPILATIONS of it, not two grammars.
|
|
21
|
+
* Deciding at compile time is what keeps the eval-AST artifact free of per-node host
|
|
22
|
+
* probing — see the `hostMode` note on the codegen Ctx.
|
|
23
|
+
*/
|
|
24
|
+
export type HostMode = 'ast' | 'cst';
|
|
25
|
+
/** Host mode a fused rule map (and each of its rule functions) was lowered for;
|
|
26
|
+
* absent on hand-built maps → 'ast'. */
|
|
27
|
+
export declare const FUSED_HOST_MODE: unique symbol;
|
|
28
|
+
/** Whether any fused piece omitted a direct builder's positioned-CST branch. */
|
|
29
|
+
export declare const FUSED_HOST_ELIDED: unique symbol;
|
|
30
|
+
/**
|
|
31
|
+
* A compiled artifact and the host it is driven with must agree — and when they do not,
|
|
32
|
+
* that has to be an ERROR, never a quietly-degraded tree.
|
|
33
|
+
*
|
|
34
|
+
* An `'ast'` artifact does not emit the positioned-CST branch at all, so attaching a
|
|
35
|
+
* `_parsemanCstOutput` host to one would silently get the grammar's own AST objects
|
|
36
|
+
* where the caller asked for a CST. A `'cst'` artifact builds every node through the
|
|
37
|
+
* host, so running one without a host would call `undefined`. Both are compile/run
|
|
38
|
+
* mismatches with an obvious fix, so both say so.
|
|
39
|
+
*
|
|
40
|
+
* Called once per parse from the TypeScript entry points, never from generated code.
|
|
41
|
+
*/
|
|
42
|
+
export declare function assertHostModeCompatible(mode: HostMode, build: unknown, hostBranchElided?: boolean): void;
|
|
43
|
+
//# sourceMappingURL=host-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-mode.d.ts","sourceRoot":"","sources":["../../src/cst/host-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAA;AAEpC;wCACwC;AACxC,eAAO,MAAM,eAAe,eAAuC,CAAA;AAEnE,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,eAAyC,CAAA;AAEvE;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,UAAO,GAAG,IAAI,CAuBtG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc.d.ts","sourceRoot":"","sources":["../../src/functional/doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAmB,MAAM,aAAa,CAAA;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"doc.d.ts","sourceRoot":"","sources":["../../src/functional/doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAmB,MAAM,aAAa,CAAA;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AA2BlE,qFAAqF;AACrF,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,CAAA;AAEzF;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAmEnE,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,QAAQ,IAAI;IAChD,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;IAC7B;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;CAC7B,CAAA;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,QAAQ;IAC1C;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACvB;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,CAAA;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/D;;;;;;;;;OASG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;CACjE;AA+TD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CA8BjE;AA0OD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAExE;AAqDD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,EACzC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,eAAe,CAAC,CAAC,CAAM,GAC5B,QAAQ,CAAC,CAAC,CAAC,CAqBb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/functional/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/functional/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAMpF;;;;;;;;;;;;GAYG;AAEH,+EAA+E;AAC/E,MAAM,MAAM,QAAQ,GAChB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC,GACzE,UAAU,CAAC,OAAO,CAAC,CAAA;AAEvB,MAAM,MAAM,UAAU,GAAG;IACvB;kFAC8E;IAC9E,eAAe,CAAC,EAAE;QAChB,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;QACvC,aAAa,CAAC,EAAE;YAAE,KAAK,CAAC,KAAK,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAC;gBAAC,GAAG,CAAC,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAA;SAAE,CAAA;KACjL,CAAA;IACD;qFACiF;IACjF,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;IAC7B,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB;kFAC8E;IAC9E,UAAU,EAAE,cAAc,CAAA;IAC1B,4EAA4E;IAC5E,iBAAiB,EAAE,cAAc,CAAA;IACjC,mEAAmE;IACnE,gBAAgB,EAAE,cAAc,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,OAAO,CAAA;IACX,0DAA0D;IAC1D,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IACpC,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,gGAAgG;IAChG,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB;;;;4BAIwB;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,sDAAsD;IACtD,OAAO,CAAC,EAAE,UAAU,CAAA;CACrB,CAAA;AA+GD,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,SAAS,CAsBvF"}
|