@virune/compiler 1.1.0-rc.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/LICENSE +201 -0
- package/NOTICE +2 -0
- package/dist/src/analysis/control-flow.d.ts +9 -0
- package/dist/src/analysis/control-flow.d.ts.map +1 -0
- package/dist/src/analysis/control-flow.js +47 -0
- package/dist/src/analysis/control-flow.js.map +1 -0
- package/dist/src/ast/nodes.d.ts +495 -0
- package/dist/src/ast/nodes.d.ts.map +1 -0
- package/dist/src/ast/nodes.js +2 -0
- package/dist/src/ast/nodes.js.map +1 -0
- package/dist/src/binder/symbols.d.ts +36 -0
- package/dist/src/binder/symbols.d.ts.map +1 -0
- package/dist/src/binder/symbols.js +30 -0
- package/dist/src/binder/symbols.js.map +1 -0
- package/dist/src/checker/builtin-members.d.ts +4 -0
- package/dist/src/checker/builtin-members.d.ts.map +1 -0
- package/dist/src/checker/builtin-members.js +175 -0
- package/dist/src/checker/builtin-members.js.map +1 -0
- package/dist/src/checker/checker.d.ts +148 -0
- package/dist/src/checker/checker.d.ts.map +1 -0
- package/dist/src/checker/checker.js +2985 -0
- package/dist/src/checker/checker.js.map +1 -0
- package/dist/src/checker/effect-registry.d.ts +14 -0
- package/dist/src/checker/effect-registry.d.ts.map +1 -0
- package/dist/src/checker/effect-registry.js +11 -0
- package/dist/src/checker/effect-registry.js.map +1 -0
- package/dist/src/checker/type-operations.d.ts +27 -0
- package/dist/src/checker/type-operations.d.ts.map +1 -0
- package/dist/src/checker/type-operations.js +268 -0
- package/dist/src/checker/type-operations.js.map +1 -0
- package/dist/src/codegen/emitter.d.ts +83 -0
- package/dist/src/codegen/emitter.d.ts.map +1 -0
- package/dist/src/codegen/emitter.js +1029 -0
- package/dist/src/codegen/emitter.js.map +1 -0
- package/dist/src/codegen/helpers.d.ts +7 -0
- package/dist/src/codegen/helpers.d.ts.map +1 -0
- package/dist/src/codegen/helpers.js +48 -0
- package/dist/src/codegen/helpers.js.map +1 -0
- package/dist/src/codegen/runtime-imports.d.ts +6 -0
- package/dist/src/codegen/runtime-imports.d.ts.map +1 -0
- package/dist/src/codegen/runtime-imports.js +45 -0
- package/dist/src/codegen/runtime-imports.js.map +1 -0
- package/dist/src/codegen/writer.d.ts +14 -0
- package/dist/src/codegen/writer.d.ts.map +1 -0
- package/dist/src/codegen/writer.js +56 -0
- package/dist/src/codegen/writer.js.map +1 -0
- package/dist/src/compiler.d.ts +24 -0
- package/dist/src/compiler.d.ts.map +1 -0
- package/dist/src/compiler.js +97 -0
- package/dist/src/compiler.js.map +1 -0
- package/dist/src/diagnostics/codes.d.ts +18 -0
- package/dist/src/diagnostics/codes.d.ts.map +1 -0
- package/dist/src/diagnostics/codes.js +43 -0
- package/dist/src/diagnostics/codes.js.map +1 -0
- package/dist/src/diagnostics/diagnostic.d.ts +41 -0
- package/dist/src/diagnostics/diagnostic.d.ts.map +1 -0
- package/dist/src/diagnostics/diagnostic.js +50 -0
- package/dist/src/diagnostics/diagnostic.js.map +1 -0
- package/dist/src/diagnostics/render.d.ts +44 -0
- package/dist/src/diagnostics/render.d.ts.map +1 -0
- package/dist/src/diagnostics/render.js +44 -0
- package/dist/src/diagnostics/render.js.map +1 -0
- package/dist/src/experimental-api.d.ts +19 -0
- package/dist/src/experimental-api.d.ts.map +1 -0
- package/dist/src/experimental-api.js +17 -0
- package/dist/src/experimental-api.js.map +1 -0
- package/dist/src/hir/lower.d.ts +6 -0
- package/dist/src/hir/lower.d.ts.map +1 -0
- package/dist/src/hir/lower.js +124 -0
- package/dist/src/hir/lower.js.map +1 -0
- package/dist/src/hir/nodes.d.ts +12 -0
- package/dist/src/hir/nodes.d.ts.map +1 -0
- package/dist/src/hir/nodes.js +2 -0
- package/dist/src/hir/nodes.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interop/checked-api.d.ts +21 -0
- package/dist/src/interop/checked-api.d.ts.map +1 -0
- package/dist/src/interop/checked-api.js +46 -0
- package/dist/src/interop/checked-api.js.map +1 -0
- package/dist/src/interop/decision.d.ts +24 -0
- package/dist/src/interop/decision.d.ts.map +1 -0
- package/dist/src/interop/decision.js +96 -0
- package/dist/src/interop/decision.js.map +1 -0
- package/dist/src/interop/frontend-component-emission.d.ts +17 -0
- package/dist/src/interop/frontend-component-emission.d.ts.map +1 -0
- package/dist/src/interop/frontend-component-emission.js +271 -0
- package/dist/src/interop/frontend-component-emission.js.map +1 -0
- package/dist/src/interop/jsx-view-validation.d.ts +20 -0
- package/dist/src/interop/jsx-view-validation.d.ts.map +1 -0
- package/dist/src/interop/jsx-view-validation.js +847 -0
- package/dist/src/interop/jsx-view-validation.js.map +1 -0
- package/dist/src/interop/operation-api.d.ts +32 -0
- package/dist/src/interop/operation-api.d.ts.map +1 -0
- package/dist/src/interop/operation-api.js +61 -0
- package/dist/src/interop/operation-api.js.map +1 -0
- package/dist/src/interop/operation.d.ts +136 -0
- package/dist/src/interop/operation.d.ts.map +1 -0
- package/dist/src/interop/operation.js +575 -0
- package/dist/src/interop/operation.js.map +1 -0
- package/dist/src/interop/repetition-host-locator.d.ts +25 -0
- package/dist/src/interop/repetition-host-locator.d.ts.map +1 -0
- package/dist/src/interop/repetition-host-locator.js +61 -0
- package/dist/src/interop/repetition-host-locator.js.map +1 -0
- package/dist/src/interop/repetition-host-usage-validation.d.ts +11 -0
- package/dist/src/interop/repetition-host-usage-validation.d.ts.map +1 -0
- package/dist/src/interop/repetition-host-usage-validation.js +89 -0
- package/dist/src/interop/repetition-host-usage-validation.js.map +1 -0
- package/dist/src/interop/types.d.ts +365 -0
- package/dist/src/interop/types.d.ts.map +1 -0
- package/dist/src/interop/types.js +2 -0
- package/dist/src/interop/types.js.map +1 -0
- package/dist/src/mir/lower.d.ts +4 -0
- package/dist/src/mir/lower.d.ts.map +1 -0
- package/dist/src/mir/lower.js +131 -0
- package/dist/src/mir/lower.js.map +1 -0
- package/dist/src/mir/nodes.d.ts +36 -0
- package/dist/src/mir/nodes.d.ts.map +1 -0
- package/dist/src/mir/nodes.js +2 -0
- package/dist/src/mir/nodes.js.map +1 -0
- package/dist/src/project/incremental.d.ts +9 -0
- package/dist/src/project/incremental.d.ts.map +1 -0
- package/dist/src/project/incremental.js +15 -0
- package/dist/src/project/incremental.js.map +1 -0
- package/dist/src/project/project.d.ts +98 -0
- package/dist/src/project/project.d.ts.map +1 -0
- package/dist/src/project/project.js +884 -0
- package/dist/src/project/project.js.map +1 -0
- package/dist/src/public-api.d.ts +45 -0
- package/dist/src/public-api.d.ts.map +1 -0
- package/dist/src/public-api.js +37 -0
- package/dist/src/public-api.js.map +1 -0
- package/dist/src/reference/evaluator.d.ts +13 -0
- package/dist/src/reference/evaluator.d.ts.map +1 -0
- package/dist/src/reference/evaluator.js +304 -0
- package/dist/src/reference/evaluator.js.map +1 -0
- package/dist/src/selfhost/bootstrap-artifact-normalizer.d.ts +65 -0
- package/dist/src/selfhost/bootstrap-artifact-normalizer.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-artifact-normalizer.js +226 -0
- package/dist/src/selfhost/bootstrap-artifact-normalizer.js.map +1 -0
- package/dist/src/selfhost/bootstrap-artifact-snapshot.d.ts +23 -0
- package/dist/src/selfhost/bootstrap-artifact-snapshot.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-artifact-snapshot.js +122 -0
- package/dist/src/selfhost/bootstrap-artifact-snapshot.js.map +1 -0
- package/dist/src/selfhost/bootstrap-compiler-selection.d.ts +36 -0
- package/dist/src/selfhost/bootstrap-compiler-selection.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-compiler-selection.js +52 -0
- package/dist/src/selfhost/bootstrap-compiler-selection.js.map +1 -0
- package/dist/src/selfhost/bootstrap-execution-probe.d.ts +42 -0
- package/dist/src/selfhost/bootstrap-execution-probe.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-execution-probe.js +115 -0
- package/dist/src/selfhost/bootstrap-execution-probe.js.map +1 -0
- package/dist/src/selfhost/bootstrap-rollback-decision.d.ts +40 -0
- package/dist/src/selfhost/bootstrap-rollback-decision.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-rollback-decision.js +144 -0
- package/dist/src/selfhost/bootstrap-rollback-decision.js.map +1 -0
- package/dist/src/selfhost/bootstrap-shadow-history.d.ts +49 -0
- package/dist/src/selfhost/bootstrap-shadow-history.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-shadow-history.js +348 -0
- package/dist/src/selfhost/bootstrap-shadow-history.js.map +1 -0
- package/dist/src/selfhost/bootstrap-shadow-report.d.ts +43 -0
- package/dist/src/selfhost/bootstrap-shadow-report.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-shadow-report.js +94 -0
- package/dist/src/selfhost/bootstrap-shadow-report.js.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-executor.d.ts +53 -0
- package/dist/src/selfhost/bootstrap-stage-executor.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-executor.js +159 -0
- package/dist/src/selfhost/bootstrap-stage-executor.js.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-loader.d.ts +14 -0
- package/dist/src/selfhost/bootstrap-stage-loader.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-loader.js +112 -0
- package/dist/src/selfhost/bootstrap-stage-loader.js.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-pipeline.d.ts +8 -0
- package/dist/src/selfhost/bootstrap-stage-pipeline.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-pipeline.js +85 -0
- package/dist/src/selfhost/bootstrap-stage-pipeline.js.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-runner.d.ts +47 -0
- package/dist/src/selfhost/bootstrap-stage-runner.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-runner.js +106 -0
- package/dist/src/selfhost/bootstrap-stage-runner.js.map +1 -0
- package/dist/src/selfhost/clean-bootstrap-evidence.d.ts +83 -0
- package/dist/src/selfhost/clean-bootstrap-evidence.d.ts.map +1 -0
- package/dist/src/selfhost/clean-bootstrap-evidence.js +233 -0
- package/dist/src/selfhost/clean-bootstrap-evidence.js.map +1 -0
- package/dist/src/selfhost/compiler-facade.d.ts +33 -0
- package/dist/src/selfhost/compiler-facade.d.ts.map +1 -0
- package/dist/src/selfhost/compiler-facade.js +65 -0
- package/dist/src/selfhost/compiler-facade.js.map +1 -0
- package/dist/src/selfhost/contract.d.ts +151 -0
- package/dist/src/selfhost/contract.d.ts.map +1 -0
- package/dist/src/selfhost/contract.js +335 -0
- package/dist/src/selfhost/contract.js.map +1 -0
- package/dist/src/selfhost/differential-artifacts.d.ts +8 -0
- package/dist/src/selfhost/differential-artifacts.d.ts.map +1 -0
- package/dist/src/selfhost/differential-artifacts.js +50 -0
- package/dist/src/selfhost/differential-artifacts.js.map +1 -0
- package/dist/src/selfhost/differential-harness.d.ts +91 -0
- package/dist/src/selfhost/differential-harness.d.ts.map +1 -0
- package/dist/src/selfhost/differential-harness.js +246 -0
- package/dist/src/selfhost/differential-harness.js.map +1 -0
- package/dist/src/selfhost/full-language-inventory-runner.d.ts +49 -0
- package/dist/src/selfhost/full-language-inventory-runner.d.ts.map +1 -0
- package/dist/src/selfhost/full-language-inventory-runner.js +225 -0
- package/dist/src/selfhost/full-language-inventory-runner.js.map +1 -0
- package/dist/src/selfhost/full-language-inventory.d.ts +42 -0
- package/dist/src/selfhost/full-language-inventory.d.ts.map +1 -0
- package/dist/src/selfhost/full-language-inventory.js +163 -0
- package/dist/src/selfhost/full-language-inventory.js.map +1 -0
- package/dist/src/selfhost/interop-resolution-witness.d.ts +35 -0
- package/dist/src/selfhost/interop-resolution-witness.d.ts.map +1 -0
- package/dist/src/selfhost/interop-resolution-witness.js +186 -0
- package/dist/src/selfhost/interop-resolution-witness.js.map +1 -0
- package/dist/src/selfhost/kernel-model-host-adapter.d.ts +28 -0
- package/dist/src/selfhost/kernel-model-host-adapter.d.ts.map +1 -0
- package/dist/src/selfhost/kernel-model-host-adapter.js +36 -0
- package/dist/src/selfhost/kernel-model-host-adapter.js.map +1 -0
- package/dist/src/selfhost/legacy-adapter.d.ts +8 -0
- package/dist/src/selfhost/legacy-adapter.d.ts.map +1 -0
- package/dist/src/selfhost/legacy-adapter.js +186 -0
- package/dist/src/selfhost/legacy-adapter.js.map +1 -0
- package/dist/src/selfhost/module-graph.d.ts +57 -0
- package/dist/src/selfhost/module-graph.d.ts.map +1 -0
- package/dist/src/selfhost/module-graph.js +267 -0
- package/dist/src/selfhost/module-graph.js.map +1 -0
- package/dist/src/selfhost/mvp-adapter.d.ts +19 -0
- package/dist/src/selfhost/mvp-adapter.d.ts.map +1 -0
- package/dist/src/selfhost/mvp-adapter.js +186 -0
- package/dist/src/selfhost/mvp-adapter.js.map +1 -0
- package/dist/src/selfhost/node-executor.d.ts +6 -0
- package/dist/src/selfhost/node-executor.d.ts.map +1 -0
- package/dist/src/selfhost/node-executor.js +138 -0
- package/dist/src/selfhost/node-executor.js.map +1 -0
- package/dist/src/selfhost/project-compiler-adapter.d.ts +77 -0
- package/dist/src/selfhost/project-compiler-adapter.d.ts.map +1 -0
- package/dist/src/selfhost/project-compiler-adapter.js +358 -0
- package/dist/src/selfhost/project-compiler-adapter.js.map +1 -0
- package/dist/src/selfhost/project-differential-adapter.d.ts +15 -0
- package/dist/src/selfhost/project-differential-adapter.d.ts.map +1 -0
- package/dist/src/selfhost/project-differential-adapter.js +65 -0
- package/dist/src/selfhost/project-differential-adapter.js.map +1 -0
- package/dist/src/selfhost/promotion-evidence.d.ts +62 -0
- package/dist/src/selfhost/promotion-evidence.d.ts.map +1 -0
- package/dist/src/selfhost/promotion-evidence.js +332 -0
- package/dist/src/selfhost/promotion-evidence.js.map +1 -0
- package/dist/src/selfhost/promotion-policy-replay-v2.d.ts +54 -0
- package/dist/src/selfhost/promotion-policy-replay-v2.d.ts.map +1 -0
- package/dist/src/selfhost/promotion-policy-replay-v2.js +343 -0
- package/dist/src/selfhost/promotion-policy-replay-v2.js.map +1 -0
- package/dist/src/selfhost/promotion-shadow-history-v2.d.ts +55 -0
- package/dist/src/selfhost/promotion-shadow-history-v2.d.ts.map +1 -0
- package/dist/src/selfhost/promotion-shadow-history-v2.js +227 -0
- package/dist/src/selfhost/promotion-shadow-history-v2.js.map +1 -0
- package/dist/src/selfhost/promotion-subject.d.ts +34 -0
- package/dist/src/selfhost/promotion-subject.d.ts.map +1 -0
- package/dist/src/selfhost/promotion-subject.js +141 -0
- package/dist/src/selfhost/promotion-subject.js.map +1 -0
- package/dist/src/selfhost/source-manifest.d.ts +31 -0
- package/dist/src/selfhost/source-manifest.d.ts.map +1 -0
- package/dist/src/selfhost/source-manifest.js +194 -0
- package/dist/src/selfhost/source-manifest.js.map +1 -0
- package/dist/src/selfhost/stage-compiler-facade.d.ts +25 -0
- package/dist/src/selfhost/stage-compiler-facade.d.ts.map +1 -0
- package/dist/src/selfhost/stage-compiler-facade.js +100 -0
- package/dist/src/selfhost/stage-compiler-facade.js.map +1 -0
- package/dist/src/semantic-evidence/snapshot.d.ts +114 -0
- package/dist/src/semantic-evidence/snapshot.d.ts.map +1 -0
- package/dist/src/semantic-evidence/snapshot.js +336 -0
- package/dist/src/semantic-evidence/snapshot.js.map +1 -0
- package/dist/src/source.d.ts +25 -0
- package/dist/src/source.d.ts.map +1 -0
- package/dist/src/source.js +10 -0
- package/dist/src/source.js.map +1 -0
- package/dist/src/syntax/cst-to-ast.d.ts +108 -0
- package/dist/src/syntax/cst-to-ast.d.ts.map +1 -0
- package/dist/src/syntax/cst-to-ast.js +383 -0
- package/dist/src/syntax/cst-to-ast.js.map +1 -0
- package/dist/src/syntax/documentation.d.ts +11 -0
- package/dist/src/syntax/documentation.d.ts.map +1 -0
- package/dist/src/syntax/documentation.js +261 -0
- package/dist/src/syntax/documentation.js.map +1 -0
- package/dist/src/syntax/parser.d.ts +114 -0
- package/dist/src/syntax/parser.d.ts.map +1 -0
- package/dist/src/syntax/parser.js +970 -0
- package/dist/src/syntax/parser.js.map +1 -0
- package/dist/src/syntax/syntax-metadata.d.ts +8 -0
- package/dist/src/syntax/syntax-metadata.d.ts.map +1 -0
- package/dist/src/syntax/syntax-metadata.js +14 -0
- package/dist/src/syntax/syntax-metadata.js.map +1 -0
- package/dist/src/syntax/tokens.d.ts +96 -0
- package/dist/src/syntax/tokens.d.ts.map +1 -0
- package/dist/src/syntax/tokens.js +260 -0
- package/dist/src/syntax/tokens.js.map +1 -0
- package/dist/src/types/types.d.ts +97 -0
- package/dist/src/types/types.d.ts.map +1 -0
- package/dist/src/types/types.js +105 -0
- package/dist/src/types/types.js.map +1 -0
- package/package.json +47 -0
- package/schema/diagnostics-v1.schema.json +75 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { TypeArena } from '../types/types.js';
|
|
2
|
+
export function builtinMember(arena, namedTypes, namespace, member) {
|
|
3
|
+
const t = arena.variable('T');
|
|
4
|
+
const u = arena.variable('U');
|
|
5
|
+
const e = arena.variable('E');
|
|
6
|
+
const f = arena.variable('F');
|
|
7
|
+
const jsonError = namedTypes.get('JsonError') ?? arena.error;
|
|
8
|
+
const jsonErrors = arena.list(jsonError);
|
|
9
|
+
const duration = namedTypes.get('Duration') ?? arena.error;
|
|
10
|
+
const timeoutError = namedTypes.get('TaskTimeoutError') ?? arena.error;
|
|
11
|
+
const supervisorError = namedTypes.get('SupervisorRestartLimitError') ?? arena.error;
|
|
12
|
+
const httpResponse = namedTypes.get('HttpResponse') ?? arena.error;
|
|
13
|
+
const jsError = namedTypes.get('JsError') ?? arena.error;
|
|
14
|
+
const fileHandle = namedTypes.get('FileHandle') ?? arena.error;
|
|
15
|
+
const bytes = namedTypes.get('Bytes') ?? arena.error;
|
|
16
|
+
const mutableBytes = namedTypes.get('MutableBytes') ?? arena.error;
|
|
17
|
+
const byteOrder = namedTypes.get('ByteOrder') ?? arena.error;
|
|
18
|
+
const bytesError = namedTypes.get('BytesError') ?? arena.error;
|
|
19
|
+
const integerRangeError = namedTypes.get('IntegerRangeError') ?? arena.error;
|
|
20
|
+
const httpBody = namedTypes.get('HttpBody') ?? arena.error;
|
|
21
|
+
const streamT = arena.add({ kind: 'named', name: 'Stream', definitionId: 'std:Stream', declarationKind: 'alias', arguments: [t] });
|
|
22
|
+
const streamU = arena.add({ kind: 'named', name: 'Stream', definitionId: 'std:Stream', declarationKind: 'alias', arguments: [u] });
|
|
23
|
+
const table = {
|
|
24
|
+
Console: { print: arena.function([arena.string], arena.unit, [], false, ['Console']) },
|
|
25
|
+
Int: { toFloat: arena.function([arena.int], arena.float) },
|
|
26
|
+
Float: { toInt: arena.function([arena.float], arena.result(arena.int, arena.unknown)) },
|
|
27
|
+
Duration: {
|
|
28
|
+
milliseconds: arena.function([arena.int], duration), seconds: arena.function([arena.int], duration),
|
|
29
|
+
minutes: arena.function([arena.int], duration), hours: arena.function([arena.int], duration),
|
|
30
|
+
toMilliseconds: arena.function([duration], arena.int),
|
|
31
|
+
},
|
|
32
|
+
List: {
|
|
33
|
+
length: arena.function([arena.list(t)], arena.int, ['T']), isEmpty: arena.function([arena.list(t)], arena.bool, ['T']),
|
|
34
|
+
isNotEmpty: arena.function([arena.list(t)], arena.bool, ['T']), first: arena.function([arena.list(t)], arena.option(t), ['T']),
|
|
35
|
+
last: arena.function([arena.list(t)], arena.option(t), ['T']), get: arena.function([arena.list(t), arena.int], arena.option(t), ['T']),
|
|
36
|
+
append: arena.function([arena.list(t), t], arena.list(t), ['T']), prepend: arena.function([arena.list(t), t], arena.list(t), ['T']),
|
|
37
|
+
concat: arena.function([arena.list(t), arena.list(t)], arena.list(t), ['T']), take: arena.function([arena.list(t), arena.int], arena.list(t), ['T']),
|
|
38
|
+
drop: arena.function([arena.list(t), arena.int], arena.list(t), ['T']), reverse: arena.function([arena.list(t)], arena.list(t), ['T']),
|
|
39
|
+
map: arena.function([arena.list(t), arena.function([t], u)], arena.list(u), ['T', 'U']),
|
|
40
|
+
flatMap: arena.function([arena.list(t), arena.function([t], arena.list(u))], arena.list(u), ['T', 'U']),
|
|
41
|
+
filter: arena.function([arena.list(t), arena.function([t], arena.bool)], arena.list(t), ['T']),
|
|
42
|
+
find: arena.function([arena.list(t), arena.function([t], arena.bool)], arena.option(t), ['T']),
|
|
43
|
+
any: arena.function([arena.list(t), arena.function([t], arena.bool)], arena.bool, ['T']),
|
|
44
|
+
all: arena.function([arena.list(t), arena.function([t], arena.bool)], arena.bool, ['T']),
|
|
45
|
+
fold: arena.function([arena.list(t), u, arena.function([u, t], u)], u, ['T', 'U']),
|
|
46
|
+
zip: arena.function([arena.list(t), arena.list(u)], arena.list(arena.tuple([t, u])), ['T', 'U']),
|
|
47
|
+
enumerate: arena.function([arena.list(t)], arena.list(arena.tuple([arena.int, t])), ['T']),
|
|
48
|
+
unique: arena.function([arena.list(t)], arena.list(t), ['T']),
|
|
49
|
+
uniqueBy: arena.function([arena.list(t), arena.function([t], u)], arena.list(t), ['T', 'U']),
|
|
50
|
+
},
|
|
51
|
+
Map: {
|
|
52
|
+
empty: arena.function([], arena.map(t, u), ['T', 'U']), get: arena.function([arena.map(t, u), t], arena.option(u), ['T', 'U']),
|
|
53
|
+
set: arena.function([arena.map(t, u), t, u], arena.map(t, u), ['T', 'U']), has: arena.function([arena.map(t, u), t], arena.bool, ['T', 'U']),
|
|
54
|
+
remove: arena.function([arena.map(t, u), t], arena.map(t, u), ['T', 'U']), size: arena.function([arena.map(t, u)], arena.int, ['T', 'U']),
|
|
55
|
+
keys: arena.function([arena.map(t, u)], arena.list(t), ['T', 'U']), values: arena.function([arena.map(t, u)], arena.list(u), ['T', 'U']),
|
|
56
|
+
entries: arena.function([arena.map(t, u)], arena.list(arena.tuple([t, u])), ['T', 'U']),
|
|
57
|
+
merge: arena.function([arena.map(t, u), arena.map(t, u)], arena.map(t, u), ['T', 'U']),
|
|
58
|
+
mapValues: arena.function([arena.map(t, u), arena.function([u, t], f)], arena.map(t, f), ['T', 'U', 'F']),
|
|
59
|
+
},
|
|
60
|
+
Set: {
|
|
61
|
+
empty: arena.function([], arena.set(t), ['T']), from: arena.function([arena.list(t)], arena.set(t), ['T']),
|
|
62
|
+
add: arena.function([arena.set(t), t], arena.set(t), ['T']), has: arena.function([arena.set(t), t], arena.bool, ['T']),
|
|
63
|
+
remove: arena.function([arena.set(t), t], arena.set(t), ['T']), size: arena.function([arena.set(t)], arena.int, ['T']),
|
|
64
|
+
toList: arena.function([arena.set(t)], arena.list(t), ['T']), union: arena.function([arena.set(t), arena.set(t)], arena.set(t), ['T']),
|
|
65
|
+
intersection: arena.function([arena.set(t), arena.set(t)], arena.set(t), ['T']), difference: arena.function([arena.set(t), arena.set(t)], arena.set(t), ['T']),
|
|
66
|
+
},
|
|
67
|
+
Queue: {
|
|
68
|
+
empty: arena.function([], arena.list(t), ['T']), enqueue: arena.function([arena.list(t), t], arena.list(t), ['T']),
|
|
69
|
+
dequeue: arena.function([arena.list(t)], arena.option(arena.tuple([t, arena.list(t)])), ['T']),
|
|
70
|
+
},
|
|
71
|
+
Stack: {
|
|
72
|
+
empty: arena.function([], arena.list(t), ['T']), push: arena.function([arena.list(t), t], arena.list(t), ['T']),
|
|
73
|
+
pop: arena.function([arena.list(t)], arena.option(arena.tuple([t, arena.list(t)])), ['T']),
|
|
74
|
+
},
|
|
75
|
+
String: {
|
|
76
|
+
codePoints: arena.function([arena.string], arena.list(arena.string)), graphemes: arena.function([arena.string], arena.list(arena.string)), length: arena.function([arena.string], arena.int), graphemeLength: arena.function([arena.string], arena.int),
|
|
77
|
+
trim: arena.function([arena.string], arena.string), trimStart: arena.function([arena.string], arena.string), trimEnd: arena.function([arena.string], arena.string),
|
|
78
|
+
contains: arena.function([arena.string, arena.string], arena.bool), startsWith: arena.function([arena.string, arena.string], arena.bool),
|
|
79
|
+
endsWith: arena.function([arena.string, arena.string], arena.bool), toLowerCase: arena.function([arena.string], arena.string),
|
|
80
|
+
toUpperCase: arena.function([arena.string], arena.string), split: arena.function([arena.string, arena.string], arena.list(arena.string)),
|
|
81
|
+
join: arena.function([arena.list(arena.string), arena.string], arena.string), replace: arena.function([arena.string, arena.string, arena.string], arena.string),
|
|
82
|
+
slice: arena.function([arena.string, arena.int, arena.option(arena.int)], arena.string),
|
|
83
|
+
at: arena.function([arena.string, arena.int], arena.option(arena.string)), normalizeNfc: arena.function([arena.string], arena.string), normalizeNfd: arena.function([arena.string], arena.string), normalizeNfkc: arena.function([arena.string], arena.string), normalizeNfkd: arena.function([arena.string], arena.string), isEmpty: arena.function([arena.string], arena.bool), isNotEmpty: arena.function([arena.string], arena.bool),
|
|
84
|
+
},
|
|
85
|
+
Bytes: {
|
|
86
|
+
empty: arena.function([], bytes), length: arena.function([bytes], arena.int), fromUtf8: arena.function([arena.string], bytes), toUtf8: arena.function([bytes], arena.result(arena.string, bytesError)),
|
|
87
|
+
fromHex: arena.function([arena.string], arena.result(bytes, bytesError)), toHex: arena.function([bytes], arena.string), fromBase64: arena.function([arena.string], arena.result(bytes, bytesError)), toBase64: arena.function([bytes], arena.string),
|
|
88
|
+
concat: arena.function([bytes, bytes], bytes), slice: arena.function([bytes, arena.int, arena.int], bytes), get: arena.function([bytes, arena.int], arena.result(namedTypes.get('Byte') ?? arena.error, bytesError)),
|
|
89
|
+
set: arena.function([bytes, arena.int, namedTypes.get('Byte') ?? arena.error], arena.result(bytes, bytesError)), readInt32: arena.function([bytes, arena.int, byteOrder], arena.result(namedTypes.get('Int32') ?? arena.error, bytesError)), writeInt32: arena.function([bytes, arena.int, namedTypes.get('Int32') ?? arena.error, byteOrder], arena.result(bytes, bytesError)),
|
|
90
|
+
},
|
|
91
|
+
MutableBytes: {
|
|
92
|
+
create: arena.function([arena.int], arena.result(mutableBytes, bytesError)), fromBytes: arena.function([bytes], mutableBytes), toBytes: arena.function([mutableBytes], bytes),
|
|
93
|
+
length: arena.function([mutableBytes], arena.int), get: arena.function([mutableBytes, arena.int], arena.result(namedTypes.get('Byte') ?? arena.error, bytesError)),
|
|
94
|
+
set: arena.function([mutableBytes, arena.int, namedTypes.get('Byte') ?? arena.error], arena.result(arena.unit, bytesError)), fill: arena.function([mutableBytes, namedTypes.get('Byte') ?? arena.error], arena.result(arena.unit, bytesError)),
|
|
95
|
+
},
|
|
96
|
+
ByteOrder: { BigEndian: byteOrder, LittleEndian: byteOrder },
|
|
97
|
+
HttpBody: { Empty: httpBody, Text: arena.function([arena.string], httpBody), Bytes: arena.function([bytes], httpBody) },
|
|
98
|
+
...Object.fromEntries(['Byte', 'Int8', 'UInt8', 'Int16', 'UInt16', 'Int32', 'UInt32'].map(name => [name, { fromInt: arena.function([arena.int], arena.result(namedTypes.get(name) ?? arena.error, integerRangeError)), toInt: arena.function([namedTypes.get(name) ?? arena.error], arena.int) }])),
|
|
99
|
+
...Object.fromEntries(['Int64', 'UInt64'].map(name => [name, { fromBigInt: arena.function([arena.bigint], arena.result(namedTypes.get(name) ?? arena.error, integerRangeError)), toBigInt: arena.function([namedTypes.get(name) ?? arena.error], arena.bigint) }])),
|
|
100
|
+
Debug: { format: arena.function([t], arena.string, ['T']) },
|
|
101
|
+
Option: {
|
|
102
|
+
map: arena.function([arena.option(t), arena.function([t], u)], arena.option(u), ['T', 'U']),
|
|
103
|
+
andThen: arena.function([arena.option(t), arena.function([t], arena.option(u))], arena.option(u), ['T', 'U']),
|
|
104
|
+
filter: arena.function([arena.option(t), arena.function([t], arena.bool)], arena.option(t), ['T']),
|
|
105
|
+
unwrapOr: arena.function([arena.option(t), t], t, ['T']), toResult: arena.function([arena.option(t), e], arena.result(t, e), ['T', 'E']),
|
|
106
|
+
collect: arena.function([arena.list(arena.option(t))], arena.option(arena.list(t)), ['T']),
|
|
107
|
+
},
|
|
108
|
+
Result: {
|
|
109
|
+
map: arena.function([arena.result(t, e), arena.function([t], u)], arena.result(u, e), ['T', 'E', 'U']),
|
|
110
|
+
mapError: arena.function([arena.result(t, e), arena.function([e], u)], arena.result(t, u), ['T', 'E', 'U']),
|
|
111
|
+
andThen: arena.function([arena.result(t, e), arena.function([t], arena.result(u, e))], arena.result(u, e), ['T', 'E', 'U']),
|
|
112
|
+
orElse: arena.function([arena.result(t, e), arena.function([e], arena.result(t, f))], arena.result(t, f), ['T', 'E', 'F']),
|
|
113
|
+
unwrapOr: arena.function([arena.result(t, e), t], t, ['T', 'E']), toOption: arena.function([arena.result(t, e)], arena.option(t), ['T', 'E']),
|
|
114
|
+
collect: arena.function([arena.list(arena.result(t, e))], arena.result(arena.list(t), e), ['T', 'E']),
|
|
115
|
+
collectErrors: arena.function([arena.list(arena.result(t, e))], arena.result(arena.list(t), arena.list(e)), ['T', 'E']),
|
|
116
|
+
},
|
|
117
|
+
Validation: {
|
|
118
|
+
valid: arena.function([t], arena.result(t, arena.list(e)), ['T', 'E']), invalid: arena.function([e], arena.result(t, arena.list(e)), ['T', 'E']),
|
|
119
|
+
map: arena.function([arena.result(t, arena.list(e)), arena.function([t], u)], arena.result(u, arena.list(e)), ['T', 'E', 'U']),
|
|
120
|
+
andThen: arena.function([arena.result(t, arena.list(e)), arena.function([t], arena.result(u, arena.list(e)))], arena.result(u, arena.list(e)), ['T', 'E', 'U']),
|
|
121
|
+
collect: arena.function([arena.list(arena.result(t, arena.list(e)))], arena.result(arena.list(t), arena.list(e)), ['T', 'E']),
|
|
122
|
+
},
|
|
123
|
+
Task: {
|
|
124
|
+
sleep: arena.function([duration], arena.unit, [], true, ['Task']),
|
|
125
|
+
timeout: arena.function([duration, arena.function([], t, [], true, ['*'])], arena.result(t, timeoutError), ['T'], true, ['Task']),
|
|
126
|
+
race: arena.function([arena.list(arena.function([], t, [], true, ['*']))], t, ['T'], true, ['Task']),
|
|
127
|
+
firstOk: arena.function([arena.list(arena.function([], t, [], true, ['*']))], t, ['T'], true, ['Task']),
|
|
128
|
+
retry: arena.function([arena.int, duration, arena.function([arena.int], arena.result(t, e), [], true, ['*'])], arena.result(t, e), ['T', 'E'], true, ['Task']),
|
|
129
|
+
mapParallel: arena.function([arena.list(t), arena.int, arena.function([t, arena.int], u, [], true, ['*'])], arena.list(u), ['T', 'U'], true, ['Task']),
|
|
130
|
+
supervise: arena.function([arena.int, duration, duration, arena.function([arena.int], t, [], true, ['*'])], arena.result(t, supervisorError), ['T'], true, ['Task']),
|
|
131
|
+
},
|
|
132
|
+
Stream: {
|
|
133
|
+
fromList: arena.function([arena.list(t)], streamT, ['T']), map: arena.function([streamT, arena.function([t], u, [], false, ['*'])], streamU, ['T', 'U']),
|
|
134
|
+
filter: arena.function([streamT, arena.function([t], arena.bool, [], false, ['*'])], streamT, ['T']), collect: arena.function([streamT], arena.list(t), ['T'], true, ['Task']),
|
|
135
|
+
take: arena.function([streamT, arena.int], streamT, ['T']),
|
|
136
|
+
},
|
|
137
|
+
File: {
|
|
138
|
+
readText: arena.function([arena.string], arena.result(arena.string, jsError), [], true, ['File']), readBytes: arena.function([arena.string], arena.result(bytes, jsError), [], true, ['File']),
|
|
139
|
+
writeText: arena.function([arena.string, arena.string], arena.result(arena.unit, jsError), [], true, ['File']), writeBytes: arena.function([arena.string, bytes], arena.result(arena.unit, jsError), [], true, ['File']),
|
|
140
|
+
open: arena.function([arena.string, arena.string], arena.result(fileHandle, jsError), [], true, ['File']),
|
|
141
|
+
read: arena.function([fileHandle], arena.result(arena.string, jsError), [], true, ['File']), readHandleBytes: arena.function([fileHandle], arena.result(bytes, jsError), [], true, ['File']),
|
|
142
|
+
write: arena.function([fileHandle, arena.string], arena.result(arena.unit, jsError), [], true, ['File']), writeHandleBytes: arena.function([fileHandle, bytes], arena.result(arena.unit, jsError), [], true, ['File']),
|
|
143
|
+
close: arena.function([fileHandle], arena.result(arena.unit, jsError), [], true, ['File']),
|
|
144
|
+
},
|
|
145
|
+
Path: {
|
|
146
|
+
join: arena.function([arena.list(arena.string)], arena.string), resolve: arena.function([arena.list(arena.string)], arena.string),
|
|
147
|
+
dirname: arena.function([arena.string], arena.string), basename: arena.function([arena.string], arena.string), extname: arena.function([arena.string], arena.string),
|
|
148
|
+
normalize: arena.function([arena.string], arena.string), relative: arena.function([arena.string, arena.string], arena.string), isAbsolute: arena.function([arena.string], arena.bool),
|
|
149
|
+
},
|
|
150
|
+
Process: {
|
|
151
|
+
args: arena.function([], arena.list(arena.string), [], false, ['Process']), cwd: arena.function([], arena.string, [], false, ['Process']),
|
|
152
|
+
exitCode: arena.function([arena.int], arena.unit, [], false, ['Process']), environment: arena.function([arena.string], arena.option(arena.string), [], false, ['Process']),
|
|
153
|
+
platform: arena.function([], arena.string, [], false, ['Process']), architecture: arena.function([], arena.string, [], false, ['Process']),
|
|
154
|
+
},
|
|
155
|
+
Http: { get: arena.function([arena.string], arena.result(httpResponse, jsError), [], true, ['Network']), request: arena.function([arena.string, arena.string, arena.map(arena.string, arena.string), httpBody], arena.result(httpResponse, jsError), [], true, ['Network']) },
|
|
156
|
+
Fetch: { get: arena.function([arena.string], arena.result(httpResponse, jsError), [], true, ['Network']), request: arena.function([arena.string, arena.string, arena.map(arena.string, arena.string), httpBody], arena.result(httpResponse, jsError), [], true, ['Network']) },
|
|
157
|
+
Timer: { sleep: arena.function([duration], arena.unit, [], true, ['Timer']), now: arena.function([], arena.int, [], false, ['Clock']) },
|
|
158
|
+
Storage: {
|
|
159
|
+
get: arena.function([arena.string], arena.option(arena.string), [], false, ['Storage']), set: arena.function([arena.string, arena.string], arena.unit, [], false, ['Storage']),
|
|
160
|
+
remove: arena.function([arena.string], arena.unit, [], false, ['Storage']), clear: arena.function([], arena.unit, [], false, ['Storage']),
|
|
161
|
+
},
|
|
162
|
+
Dom: {
|
|
163
|
+
getText: arena.function([arena.string], arena.result(arena.string, jsError), [], false, ['Dom']), setText: arena.function([arena.string, arena.string], arena.result(arena.unit, jsError), [], false, ['Dom']),
|
|
164
|
+
setAttribute: arena.function([arena.string, arena.string, arena.string], arena.result(arena.unit, jsError), [], false, ['Dom']), addClass: arena.function([arena.string, arena.string], arena.result(arena.unit, jsError), [], false, ['Dom']),
|
|
165
|
+
},
|
|
166
|
+
Crypto: { randomUuid: arena.function([], arena.string, [], false, ['Random']) },
|
|
167
|
+
Url: { encodeComponent: arena.function([arena.string], arena.string), decodeComponent: arena.function([arena.string], arena.result(arena.string, jsError)), isValid: arena.function([arena.string], arena.bool) },
|
|
168
|
+
Json: {
|
|
169
|
+
parse: arena.function([arena.string], arena.result(arena.unknown, jsonErrors)), decode: arena.function([arena.unknown], arena.result(t, jsonErrors), ['T']),
|
|
170
|
+
encode: arena.function([t], arena.result(arena.string, jsonErrors), ['T']),
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
return table[namespace]?.[member];
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=builtin-members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin-members.js","sourceRoot":"","sources":["../../../src/checker/builtin-members.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,UAAU,aAAa,CAAC,KAAgB,EAAE,UAAuC,EAAE,SAAiB,EAAE,MAAc;IACzH,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3H,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IAC3D,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IACvE,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IACrF,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IACnE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IACzD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IACrD,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IACnE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IAC/D,MAAM,iBAAiB,GAAG,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IAC7E,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;IAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnI,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnI,MAAM,KAAK,GAA2C;QACrD,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE;QACtF,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;QAC1D,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;QACvF,QAAQ,EAAE;YACT,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;YACnG,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;YAC5F,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC;SACrD;QACD,IAAI,EAAE;YACL,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;YACtH,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9H,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACtI,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACnI,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACpJ,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACtI,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvF,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9F,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9F,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;YACxF,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;YACxF,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClF,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChG,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC1F,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC7D,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SAC5F;QACD,GAAG,EAAE;YACJ,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9H,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5I,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzI,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxI,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvF,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACtF,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;SACzG;QACD,GAAG,EAAE;YACJ,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC1G,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;YACtH,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACtH,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACtI,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAC9J;QACD,KAAK,EAAE;YACN,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAClH,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAC9F;QACD,KAAK,EAAE;YACN,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC/G,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAC1F;QACD,MAAM,EAAE;YACP,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC;YACvP,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;YAClK,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;YACxI,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7H,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxI,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;YAC/J,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;YACvF,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;SACxa;QACD,KAAK,EAAE;YACN,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACtM,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;YACpP,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACpN,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;SAC/W;QACD,YAAY,EAAE;YACb,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;YAC7K,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAClK,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;SAC9O;QACD,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;QAC5D,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE;QACvH,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACnS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnQ,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QAC3D,MAAM,EAAE;YACP,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3F,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7G,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAClG,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxI,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAC1F;QACD,MAAM,EAAE;YACP,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACtG,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3G,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3H,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1H,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7I,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrG,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SACvH;QACD,UAAU,EAAE;YACX,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChJ,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9H,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/J,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SAC7H;QACD,IAAI,EAAE;YACL,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YACjE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YACjI,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YACpG,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YACvG,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YAC9J,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YACtJ,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;SACpK;QACD,MAAM,EAAE;YACP,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxJ,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YAC9K,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;SAC1D;QACD,IAAI,EAAE;YACL,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YAC9L,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YACxN,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YACzG,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5L,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YACtN,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;SAC1F;QACD,IAAI,EAAE;YACL,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;YACjI,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;YACpK,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;SACrL;QACD,OAAO,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;YACzI,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1K,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;SAC1I;QACD,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE;QAC7Q,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE;QAC9Q,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE;QACvI,OAAO,EAAE;YACR,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;YAC9K,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;SACzI;QACD,GAAG,EAAE;YACJ,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;YAC9M,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;SAC9O;QACD,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE;QAC/E,GAAG,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;QACjN,IAAI,EAAE;YACL,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC3J,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAC1E;KACD,CAAC;IACF,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import type * as A from '../ast/nodes.js';
|
|
2
|
+
import { DiagnosticBag } from '../diagnostics/diagnostic.js';
|
|
3
|
+
import { Scope, type SymbolInfo } from '../binder/symbols.js';
|
|
4
|
+
import type { InteropSemanticModel, JsInteropProvider, NativeCallableBoundaryDescriptor } from '../interop/types.js';
|
|
5
|
+
import type { SymbolId, TypeId } from '../source.js';
|
|
6
|
+
import { TypeArena } from '../types/types.js';
|
|
7
|
+
export interface FrontendCallableProjectionEvidence {
|
|
8
|
+
readonly viewElementNodeId: number;
|
|
9
|
+
readonly propertyIndex: number;
|
|
10
|
+
readonly property: string;
|
|
11
|
+
readonly descriptor?: Extract<NativeCallableBoundaryDescriptor, {
|
|
12
|
+
readonly version: 'virune-callable-shim/v1';
|
|
13
|
+
}>;
|
|
14
|
+
readonly viewCallback?: {
|
|
15
|
+
readonly parameterCount: number;
|
|
16
|
+
readonly effects: readonly string[];
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export interface SemanticModel {
|
|
20
|
+
readonly arena: TypeArena;
|
|
21
|
+
readonly diagnostics: DiagnosticBag;
|
|
22
|
+
readonly globalScope: Scope;
|
|
23
|
+
readonly symbols: ReadonlyMap<SymbolId, SymbolInfo>;
|
|
24
|
+
readonly namedTypes: ReadonlyMap<string, TypeId>;
|
|
25
|
+
readonly frontendCallableProjections: readonly FrontendCallableProjectionEvidence[];
|
|
26
|
+
readonly interop: InteropSemanticModel;
|
|
27
|
+
}
|
|
28
|
+
export interface TypeCheckerOptions {
|
|
29
|
+
readonly signatureOnlyNodeIds?: ReadonlySet<number>;
|
|
30
|
+
readonly typeOnlyNodeIds?: ReadonlySet<number>;
|
|
31
|
+
readonly platform?: 'node' | 'browser' | 'neutral';
|
|
32
|
+
readonly moduleId?: string;
|
|
33
|
+
readonly containingFile?: string;
|
|
34
|
+
readonly jsInteropProvider?: JsInteropProvider;
|
|
35
|
+
}
|
|
36
|
+
export declare class TypeChecker {
|
|
37
|
+
#private;
|
|
38
|
+
readonly arena: TypeArena;
|
|
39
|
+
readonly diagnostics: DiagnosticBag;
|
|
40
|
+
readonly globalScope: Scope;
|
|
41
|
+
constructor(options?: TypeCheckerOptions);
|
|
42
|
+
check(module: A.ModuleNode): SemanticModel;
|
|
43
|
+
private registerForeignImports;
|
|
44
|
+
private registerBuiltins;
|
|
45
|
+
private defineBuiltin;
|
|
46
|
+
private registerTypes;
|
|
47
|
+
private finalizeTypes;
|
|
48
|
+
private registerValues;
|
|
49
|
+
private defineValue;
|
|
50
|
+
private checkDeclaration;
|
|
51
|
+
private checkFunction;
|
|
52
|
+
private checkComponent;
|
|
53
|
+
private checkTest;
|
|
54
|
+
private checkExtern;
|
|
55
|
+
private checkAttributes;
|
|
56
|
+
private checkRecordFieldAttributes;
|
|
57
|
+
private isJsonDefaultExpression;
|
|
58
|
+
private checkDerives;
|
|
59
|
+
private checkBlock;
|
|
60
|
+
private checkStatement;
|
|
61
|
+
private checkExpression;
|
|
62
|
+
private checkViewExpression;
|
|
63
|
+
private checkViewBlock;
|
|
64
|
+
private isFrontendViewCallback;
|
|
65
|
+
private frontendExternalViewTag;
|
|
66
|
+
private frontendJsxPropertyArgument;
|
|
67
|
+
private checkFrontendViewCallback;
|
|
68
|
+
private checkFrontendViewLambda;
|
|
69
|
+
private checkViewConditional;
|
|
70
|
+
private checkViewRepetition;
|
|
71
|
+
private checkContextualAggregate;
|
|
72
|
+
private checkForeignIndex;
|
|
73
|
+
private checkForeignCall;
|
|
74
|
+
private semanticPoint;
|
|
75
|
+
private interopArgumentHasContextualCallable;
|
|
76
|
+
private prepareForeignCallValue;
|
|
77
|
+
private prepareInteropValue;
|
|
78
|
+
private prepareContextualObjectValue;
|
|
79
|
+
private prepareContextualObject;
|
|
80
|
+
private finalizeContextualObjectArguments;
|
|
81
|
+
private finalizeContextualObjectCallbacks;
|
|
82
|
+
private validateObjectArgumentEvidence;
|
|
83
|
+
private validateContextualObjectEvidence;
|
|
84
|
+
private validateWriteEvidence;
|
|
85
|
+
private commitContextualObjects;
|
|
86
|
+
private adjustedUsageIndex;
|
|
87
|
+
private currentInteropProvider;
|
|
88
|
+
private isCurrentForeignSnapshot;
|
|
89
|
+
private isValidForeignInvocationResolution;
|
|
90
|
+
private nativeCallableBoundary;
|
|
91
|
+
private nativeCallablePrimitive;
|
|
92
|
+
private externalInlineCallableProjection;
|
|
93
|
+
private currentExternalRef;
|
|
94
|
+
private currentExternalObjectRef;
|
|
95
|
+
private validateContextualCallableArgumentEvidence;
|
|
96
|
+
private validateCallableArgumentEvidence;
|
|
97
|
+
private contextualCallableTypeId;
|
|
98
|
+
private callableBoundaryMatchesContext;
|
|
99
|
+
private interopArgumentType;
|
|
100
|
+
private interopLiteralValue;
|
|
101
|
+
private applyExpectedForeignBridge;
|
|
102
|
+
private primitiveBridge;
|
|
103
|
+
private literalType;
|
|
104
|
+
private checkCall;
|
|
105
|
+
private checkField;
|
|
106
|
+
private builtinMember;
|
|
107
|
+
private checkBuiltinPlatform;
|
|
108
|
+
private requireEffects;
|
|
109
|
+
private validateEffects;
|
|
110
|
+
private checkBinary;
|
|
111
|
+
private checkUnary;
|
|
112
|
+
private checkPipeline;
|
|
113
|
+
private checkTry;
|
|
114
|
+
private checkAwait;
|
|
115
|
+
private checkRecord;
|
|
116
|
+
private checkRecordUpdate;
|
|
117
|
+
private checkList;
|
|
118
|
+
private checkMatch;
|
|
119
|
+
private checkPattern;
|
|
120
|
+
private patternHasBinding;
|
|
121
|
+
private checkLambda;
|
|
122
|
+
private checkParallel;
|
|
123
|
+
private resolveTypeReference;
|
|
124
|
+
private containsForeignType;
|
|
125
|
+
private containsOpenEffect;
|
|
126
|
+
private isSafeFfiType;
|
|
127
|
+
private isSafeFfiPrimitiveKey;
|
|
128
|
+
private invalidArity;
|
|
129
|
+
private isAssignable;
|
|
130
|
+
private listElementOf;
|
|
131
|
+
private setElementOf;
|
|
132
|
+
private mapKeyOf;
|
|
133
|
+
private isMustUse;
|
|
134
|
+
private supportsHash;
|
|
135
|
+
private containsTypeVariable;
|
|
136
|
+
private supportsDerive;
|
|
137
|
+
private supportsJson;
|
|
138
|
+
private supportsDerivedEq;
|
|
139
|
+
private supportsEq;
|
|
140
|
+
private commonType;
|
|
141
|
+
private isConstantExpression;
|
|
142
|
+
private requireBool;
|
|
143
|
+
private typeMismatch;
|
|
144
|
+
private unify;
|
|
145
|
+
private substitute;
|
|
146
|
+
}
|
|
147
|
+
export declare function checkModule(module: A.ModuleNode, options?: TypeCheckerOptions): SemanticModel;
|
|
148
|
+
//# sourceMappingURL=checker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/checker/checker.ts"],"names":[],"mappings":"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"}
|