@aster-cloud/aster-lang-ts 0.0.32 → 0.1.1
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/CHANGELOG.md +46 -0
- package/README.md +4 -4
- package/dist/peg/headers-parser.js +233 -468
- package/dist/scripts/aster.js +5 -5
- package/dist/scripts/aster.js.map +1 -1
- package/dist/scripts/cleanup-examples.js +1 -1
- package/dist/scripts/cleanup-examples.js.map +1 -1
- package/dist/scripts/emit-classfiles.js +1 -50
- package/dist/scripts/emit-classfiles.js.map +1 -1
- package/dist/scripts/emit-core.js +1 -1
- package/dist/scripts/emit-core.js.map +1 -1
- package/dist/scripts/golden.js +5 -8
- package/dist/scripts/golden.js.map +1 -1
- package/dist/scripts/lsp-build-index.js +1 -1
- package/dist/scripts/lsp-build-index.js.map +1 -1
- package/dist/scripts/lsp-capmanifest-codeaction-smoke.js +2 -2
- package/dist/scripts/lsp-capmanifest-codeaction-smoke.js.map +1 -1
- package/dist/scripts/lsp-codeaction-smoke.js +2 -2
- package/dist/scripts/lsp-codeaction-smoke.js.map +1 -1
- package/dist/scripts/lsp-health-smoke.js +1 -1
- package/dist/scripts/lsp-health-smoke.js.map +1 -1
- package/dist/scripts/lsp-missing-header-codeaction-smoke.js +1 -1
- package/dist/scripts/lsp-missing-header-codeaction-smoke.js.map +1 -1
- package/dist/scripts/lsp-multi-rename.test.js +1 -1
- package/dist/scripts/lsp-multi-rename.test.js.map +1 -1
- package/dist/scripts/lsp-punct-codeaction-smoke.js +1 -1
- package/dist/scripts/lsp-punct-codeaction-smoke.js.map +1 -1
- package/dist/scripts/lsp-streaming-progress-smoke.js +2 -2
- package/dist/scripts/lsp-streaming-progress-smoke.js.map +1 -1
- package/dist/scripts/perf-benchmark.js +1 -1
- package/dist/scripts/perf-benchmark.js.map +1 -1
- package/dist/scripts/perf-diagnostics.js +1 -1
- package/dist/scripts/perf-diagnostics.js.map +1 -1
- package/dist/scripts/profile-medium-project.js +1 -1
- package/dist/scripts/profile-medium-project.js.map +1 -1
- package/dist/scripts/repl.js +1 -1
- package/dist/scripts/repl.js.map +1 -1
- package/dist/scripts/typecheck-cli.js +1 -1
- package/dist/scripts/typecheck-cli.js.map +1 -1
- package/dist/scripts/update-eff-violation-expected.js +1 -1
- package/dist/scripts/update-eff-violation-expected.js.map +1 -1
- package/dist/scripts/verify-capabilities.js +1 -1
- package/dist/scripts/verify-capabilities.js.map +1 -1
- package/dist/src/ai/validator.d.ts.map +1 -1
- package/dist/src/ai/validator.js +13 -1
- package/dist/src/ai/validator.js.map +1 -1
- package/dist/src/ast/ast.js +1 -1
- package/dist/src/ast/ast.js.map +1 -1
- package/dist/src/browser.d.ts +10 -18
- package/dist/src/browser.d.ts.map +1 -1
- package/dist/src/browser.js +36 -33
- package/dist/src/browser.js.map +1 -1
- package/dist/src/cli/policy-converter.js +1 -1
- package/dist/src/cli/policy-converter.js.map +1 -1
- package/dist/src/config/lexicons/diagnostic-messages.d.ts +23 -0
- package/dist/src/config/lexicons/diagnostic-messages.d.ts.map +1 -0
- package/dist/src/config/lexicons/diagnostic-messages.js +130 -0
- package/dist/src/config/lexicons/diagnostic-messages.js.map +1 -0
- package/dist/src/config/lexicons/input-generation-rules.d.ts +22 -0
- package/dist/src/config/lexicons/input-generation-rules.d.ts.map +1 -0
- package/dist/src/config/lexicons/input-generation-rules.js +142 -0
- package/dist/src/config/lexicons/input-generation-rules.js.map +1 -0
- package/dist/src/config/lexicons/lsp-ui-texts.d.ts +42 -0
- package/dist/src/config/lexicons/lsp-ui-texts.d.ts.map +1 -0
- package/dist/src/config/lexicons/lsp-ui-texts.js +75 -0
- package/dist/src/config/lexicons/lsp-ui-texts.js.map +1 -0
- package/dist/src/config/lexicons/overlay-loader.d.ts +55 -0
- package/dist/src/config/lexicons/overlay-loader.d.ts.map +1 -0
- package/dist/src/config/lexicons/overlay-loader.js +30 -0
- package/dist/src/config/lexicons/overlay-loader.js.map +1 -0
- package/dist/src/config/lexicons/type-inference-rules.d.ts +19 -0
- package/dist/src/config/lexicons/type-inference-rules.d.ts.map +1 -0
- package/dist/src/config/lexicons/type-inference-rules.js +56 -0
- package/dist/src/config/lexicons/type-inference-rules.js.map +1 -0
- package/dist/src/config/lexicons/types.d.ts +10 -0
- package/dist/src/config/lexicons/types.d.ts.map +1 -1
- package/dist/src/config/lexicons/types.js.map +1 -1
- package/dist/src/config/semantic.d.ts +0 -8
- package/dist/src/config/semantic.d.ts.map +1 -1
- package/dist/src/config/semantic.js +0 -16
- package/dist/src/config/semantic.js.map +1 -1
- package/dist/src/core/index.d.ts +2 -0
- package/dist/src/core/index.d.ts.map +1 -1
- package/dist/src/core/index.js +1 -0
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/core/interpreter.d.ts +37 -0
- package/dist/src/core/interpreter.d.ts.map +1 -0
- package/dist/src/core/interpreter.js +454 -0
- package/dist/src/core/interpreter.js.map +1 -0
- package/dist/src/diagnostics/diagnostics.d.ts +6 -7
- package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
- package/dist/src/diagnostics/diagnostics.js +15 -9
- package/dist/src/diagnostics/diagnostics.js.map +1 -1
- package/dist/src/diagnostics/error_codes.d.ts +2 -1
- package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
- package/dist/src/diagnostics/error_codes.js +85 -480
- package/dist/src/diagnostics/error_codes.js.map +1 -1
- package/dist/src/formatter.js +9 -24
- package/dist/src/formatter.js.map +1 -1
- package/dist/src/frontend/lexer.d.ts +1 -1
- package/dist/src/frontend/lexer.js +1 -1
- package/dist/src/index.d.ts +4 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/jvm/emitter.js +3 -3
- package/dist/src/jvm/emitter.js.map +1 -1
- package/dist/src/lower_to_core.d.ts +3 -3
- package/dist/src/lower_to_core.js +3 -3
- package/dist/src/lsp/codeaction.d.ts +2 -1
- package/dist/src/lsp/codeaction.d.ts.map +1 -1
- package/dist/src/lsp/codeaction.js +17 -14
- package/dist/src/lsp/codeaction.js.map +1 -1
- package/dist/src/lsp/completion.d.ts +4 -51
- package/dist/src/lsp/completion.d.ts.map +1 -1
- package/dist/src/lsp/completion.js +16 -84
- package/dist/src/lsp/completion.js.map +1 -1
- package/dist/src/lsp/diagnostics.d.ts +3 -2
- package/dist/src/lsp/diagnostics.d.ts.map +1 -1
- package/dist/src/lsp/diagnostics.js +14 -7
- package/dist/src/lsp/diagnostics.js.map +1 -1
- package/dist/src/lsp/navigation/definition.js +1 -1
- package/dist/src/lsp/navigation/definition.js.map +1 -1
- package/dist/src/lsp/navigation/document-symbol.js +1 -1
- package/dist/src/lsp/navigation/document-symbol.js.map +1 -1
- package/dist/src/lsp/navigation/hover.d.ts +2 -1
- package/dist/src/lsp/navigation/hover.d.ts.map +1 -1
- package/dist/src/lsp/navigation/hover.js +23 -36
- package/dist/src/lsp/navigation/hover.js.map +1 -1
- package/dist/src/lsp/navigation.d.ts +1 -1
- package/dist/src/lsp/navigation.d.ts.map +1 -1
- package/dist/src/lsp/navigation.js +2 -2
- package/dist/src/lsp/navigation.js.map +1 -1
- package/dist/src/lsp/pii_diagnostics.js +3 -13
- package/dist/src/lsp/pii_diagnostics.js.map +1 -1
- package/dist/src/lsp/server.js +35 -8
- package/dist/src/lsp/server.js.map +1 -1
- package/dist/src/lsp/tokens.js +2 -2
- package/dist/src/lsp/tokens.js.map +1 -1
- package/dist/src/lsp/workspace/document-indexer.js +2 -2
- package/dist/src/lsp/workspace/document-indexer.js.map +1 -1
- package/dist/src/package/resolver.js +6 -6
- package/dist/src/package/resolver.js.map +1 -1
- package/dist/src/parser/constraint-parser.d.ts +1 -10
- package/dist/src/parser/constraint-parser.d.ts.map +1 -1
- package/dist/src/parser/constraint-parser.js +0 -30
- package/dist/src/parser/constraint-parser.js.map +1 -1
- package/dist/src/parser/context.d.ts +3 -1
- package/dist/src/parser/context.d.ts.map +1 -1
- package/dist/src/parser/context.js +2 -1
- package/dist/src/parser/context.js.map +1 -1
- package/dist/src/parser/decl-parser.d.ts +6 -10
- package/dist/src/parser/decl-parser.d.ts.map +1 -1
- package/dist/src/parser/decl-parser.js +86 -58
- package/dist/src/parser/decl-parser.js.map +1 -1
- package/dist/src/parser/expr-stmt-parser.js +3 -3
- package/dist/src/parser/expr-stmt-parser.js.map +1 -1
- package/dist/src/parser/field-variant-parser.js +1 -1
- package/dist/src/parser/field-variant-parser.js.map +1 -1
- package/dist/src/parser/import-parser.d.ts +1 -1
- package/dist/src/parser/import-parser.js +2 -2
- package/dist/src/parser/import-parser.js.map +1 -1
- package/dist/src/parser/input-generator.d.ts +20 -6
- package/dist/src/parser/input-generator.d.ts.map +1 -1
- package/dist/src/parser/input-generator.js +20 -403
- package/dist/src/parser/input-generator.js.map +1 -1
- package/dist/src/parser/type-inference.d.ts +10 -16
- package/dist/src/parser/type-inference.d.ts.map +1 -1
- package/dist/src/parser/type-inference.js +36 -127
- package/dist/src/parser/type-inference.js.map +1 -1
- package/dist/src/parser.d.ts +18 -5
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js +11 -8
- package/dist/src/parser.js.map +1 -1
- package/dist/src/typecheck/context.d.ts +2 -0
- package/dist/src/typecheck/context.d.ts.map +1 -1
- package/dist/src/typecheck/context.js.map +1 -1
- package/dist/src/typecheck/diagnostics.d.ts +6 -0
- package/dist/src/typecheck/diagnostics.d.ts.map +1 -1
- package/dist/src/typecheck/diagnostics.js +11 -3
- package/dist/src/typecheck/diagnostics.js.map +1 -1
- package/dist/src/typecheck/module.d.ts.map +1 -1
- package/dist/src/typecheck/module.js +8 -2
- package/dist/src/typecheck/module.js.map +1 -1
- package/dist/src/typecheck/workflow.js +10 -10
- package/dist/src/typecheck/workflow.js.map +1 -1
- package/dist/src/types/type-inference.d.ts +20 -0
- package/dist/src/types/type-inference.d.ts.map +1 -0
- package/dist/src/types/type-inference.js +8 -0
- package/dist/src/types/type-inference.js.map +1 -0
- package/dist/src/types.d.ts +0 -21
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/test/benchmark.js +8 -8
- package/dist/test/benchmark.js.map +1 -1
- package/dist/test/compiler/depends-on.test.js +1 -1
- package/dist/test/compiler/depends-on.test.js.map +1 -1
- package/dist/test/compiler/workflow-emitter-helpers.js +1 -1
- package/dist/test/compiler/workflow-emitter-helpers.js.map +1 -1
- package/dist/test/e2e/runner/golden-runner.js +3 -3
- package/dist/test/e2e/runner/golden-runner.js.map +1 -1
- package/dist/test/fuzz/formatter-fuzz.test.js +5 -1
- package/dist/test/fuzz/formatter-fuzz.test.js.map +1 -1
- package/dist/test/integration/compliance/compliance-smoke.test.js +4 -1
- package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-completion.test.js +1 -1
- package/dist/test/integration/lsp/lsp-completion.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-diagnostics.test.js +1 -1
- package/dist/test/integration/lsp/lsp-diagnostics.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-modules.test.js +1 -1
- package/dist/test/integration/lsp/lsp-modules.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-navigation.test.js +1 -1
- package/dist/test/integration/lsp/lsp-navigation.test.js.map +1 -1
- package/dist/test/integration/pipeline/pipeline.test.js +4 -4
- package/dist/test/integration/pipeline/pipeline.test.js.map +1 -1
- package/dist/test/property/lsp-props.test.js +2 -2
- package/dist/test/property/lsp-props.test.js.map +1 -1
- package/dist/test/property/property.test.js +15 -15
- package/dist/test/property/property.test.js.map +1 -1
- package/dist/test/regression/type-checker-golden.test.js +1 -1
- package/dist/test/regression/type-checker-golden.test.js.map +1 -1
- package/dist/test/type-checker/cross-module-packages.test.js +1 -1
- package/dist/test/type-checker/cross-module-packages.test.js.map +1 -1
- package/dist/test/type-checker/pii-propagation.test.js +1 -2
- package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
- package/dist/test/unit/async/async-discipline.test.js +1 -1
- package/dist/test/unit/async/async-discipline.test.js.map +1 -1
- package/dist/test/unit/async/async-schedule.test.js +1 -1
- package/dist/test/unit/async/async-schedule.test.js.map +1 -1
- package/dist/test/unit/browser/extract-schema.test.d.ts +2 -0
- package/dist/test/unit/browser/extract-schema.test.d.ts.map +1 -0
- package/dist/test/unit/browser/extract-schema.test.js +117 -0
- package/dist/test/unit/browser/extract-schema.test.js.map +1 -0
- package/dist/test/unit/emitter/emitter.test.js +30 -35
- package/dist/test/unit/emitter/emitter.test.js.map +1 -1
- package/dist/test/unit/interpreter/interpreter.test.d.ts +2 -0
- package/dist/test/unit/interpreter/interpreter.test.d.ts.map +1 -0
- package/dist/test/unit/interpreter/interpreter.test.js +507 -0
- package/dist/test/unit/interpreter/interpreter.test.js.map +1 -0
- package/dist/test/unit/keyword-translator.test.js +4 -4
- package/dist/test/unit/keyword-translator.test.js.map +1 -1
- package/dist/test/unit/lowering/lowering.test.js +2 -2
- package/dist/test/unit/lowering/lowering.test.js.map +1 -1
- package/dist/test/unit/lsp/pii-diagnostics.test.js +5 -5
- package/dist/test/unit/lsp/pii-diagnostics.test.js.map +1 -1
- package/dist/test/unit/parser/parser.test.js +39 -37
- package/dist/test/unit/parser/parser.test.js.map +1 -1
- package/dist/test/unit/parser/type-inference.test.js +50 -32
- package/dist/test/unit/parser/type-inference.test.js.map +1 -1
- package/dist/test/unit/typecheck/async-discipline-extended.test.js +1 -1
- package/dist/test/unit/typecheck/async-discipline-extended.test.js.map +1 -1
- package/dist/test/unit/typecheck/effects-and-capabilities.test.js +4 -4
- package/dist/test/unit/typecheck/effects-and-capabilities.test.js.map +1 -1
- package/dist/test/unit/typecheck/regression-fixes.test.js +12 -12
- package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
- package/dist/test/unit/typecheck/type-inference.test.js +1 -1
- package/dist/test/unit/typecheck/type-inference.test.js.map +1 -1
- package/dist/test/unit/typecheck/type-system.test.js +2 -2
- package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
- package/dist/test/unit/typecheck/typecheck-advanced.test.js +3 -3
- package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
- package/package.json +6 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pii-propagation.test.js","sourceRoot":"","sources":["../../../test/type-checker/pii-propagation.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pii-propagation.test.js","sourceRoot":"","sources":["../../../test/type-checker/pii-propagation.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAGxC,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,MAAM,SAAS,GAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACjD,MAAM,WAAW,GAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAErD,MAAM,IAAI,GAAG,GAAc,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,OAAO,GAAG,CAAC,KAAyB,EAAE,QAAkC,EAAa,EAAE,CAC3F,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAE3C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAkB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC9E,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,KAAyB,EAAkB,EAAE,CAAC,CAAC;IAC7E,IAAI;IACJ,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;CAC9B,CAAC,CAAC;AAEH,SAAS,QAAQ,CAAC,OAMjB;IACC,OAAO,WAAW,CAAC,IAAI,CACrB,OAAO,CAAC,IAAI,EACZ,EAAE,EACF,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,OAAO,IAAI,WAAW,EAC9B,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAC/B,EAAE,EACF,KAAK,CACN,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAA2B;IAC5C,MAAM,MAAM,GAAgB,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACnE,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAE5C,MAAM,CAAC,GAAG,EAAE;QACV,wBAAwB;QACxB,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,qBAAqB;IACzD,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;;YAC7D,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,SAAS,CAAC;QAC/C,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;;YACzD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAC3C,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;;YACzD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,GAAG,EAAE,IAAI,EAAE;YACX,IAAI,EAAE;gBACJ,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpD,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnD,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9C;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACpC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YAC3B,IAAI,EAAE;gBACJ,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpD,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClD,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC5C;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACvD,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YAC3B,IAAI,EAAE;gBACJ,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjD,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClD,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9C;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACtD,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjD,WAAW,CAAC,EAAE,CACZ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EACtB,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACtE,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACvE;gBACD,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAChG;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAE,QAAS,CAAC,IAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/B,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrD,WAAW,CAAC,EAAE,CACZ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EACtB,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACtE,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAC3E;gBACD,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAChG;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACpB,MAAM,CAAC,KAAK,CAAE,QAAS,CAAC,IAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACxG,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC3B,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACtG,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClC,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACzG,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC;YACtB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YAC3B,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SACtD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC;YACtB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YAC3B,IAAI,EAAE;gBACJ,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAChF;aACF;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC;YACtB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YAC3B,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SACtD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC;YACtB,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC7B,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YAC3B,IAAI,EAAE;gBACJ,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAChF;aACF;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,6CAAgC,CAAC,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACnC,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtD,WAAW,CAAC,QAAQ,CAClB;oBACE,WAAW,CAAC,IAAI,CACd,MAAM,EACN,WAAW,CAAC,KAAK,CAAC;wBAChB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACtD,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBACtD,CAAC,EACF,EAAE,CACH;oBACD,WAAW,CAAC,IAAI,CACd,SAAS,EACT,WAAW,CAAC,KAAK,CAAC;wBAChB,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;wBAC1B,0CAA0C;wBAC1C,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC7E;qBACF,CAAC,EACF,EAAE,CACH;iBACF,EACD,EAAE,CACH;gBACD,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC/C;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,uBAAuB;QACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAE,QAAS,CAAC,IAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACvD,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtD,WAAW,CAAC,QAAQ,CAClB;oBACE,eAAe;oBACf,WAAW,CAAC,IAAI,CACd,SAAS,EACT,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACvE,EAAE,CACH;oBACD,eAAe;oBACf,WAAW,CAAC,IAAI,CACd,SAAS,EACT,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACxE,EAAE,CACH;iBACF,EACD,EAAE,CACH;gBACD,oCAAoC;gBACpC,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC7E;aACF;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAE,QAAS,CAAC,IAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,0BAA0B;YAChC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClC,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACpD,WAAW,CAAC,QAAQ,CAClB;oBACE,WAAW,CAAC,IAAI,CACd,MAAM,EACN,WAAW,CAAC,KAAK,CAAC;wBAChB,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACnD,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC1D,CAAC,EACF,EAAE,CACH;oBACD,WAAW,CAAC,IAAI,CACd,QAAQ,EACR,WAAW,CAAC,KAAK,CAAC;wBAChB,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;wBAChC,gBAAgB;wBAChB,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAC3E;qBACF,CAAC,EACF,EAAE,CACH;iBACF,EACD,EAAE,CACH;gBACD,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC/C;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAE,QAAS,CAAC,IAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC3B,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrD,WAAW,CAAC,QAAQ,CAClB;oBACE,WAAW,CAAC,IAAI,CACd,OAAO,EACP,WAAW,CAAC,KAAK,CAAC;wBAChB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAClD,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBACtD,CAAC,EACF,EAAE,CACH;oBACD,WAAW,CAAC,IAAI,CACd,OAAO,EACP,WAAW,CAAC,KAAK,CAAC;wBAChB,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;wBAC1B,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC7E;qBACF,CAAC,EACF,EAAE,CACH;iBACF,EACD,EAAE,CACH;gBACD,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC/C;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC,CAAC,IAAI,gDAAmC;YACzC,CAAC,CAAC,IAAI,gDAAmC;YACzC,CAAC,CAAC,IAAI,6CAAgC;YACtC,CAAC,CAAC,IAAI,gDAAmC,CAC1C,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,uCAAuC;IACvC,gDAAgD;IAChD,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,0BAA0B;YAChC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAChC,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtD,WAAW,CAAC,QAAQ,CAClB;oBACE,WAAW,CAAC,IAAI,CACd,OAAO,EACP,WAAW,CAAC,KAAK,CAAC;wBAChB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnD,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBACzD,CAAC,EACF,EAAE,CACH;oBACD,WAAW,CAAC,IAAI,CACd,OAAO,EACP,WAAW,CAAC,KAAK,CAAC;wBAChB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;wBAC7B,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAC/C,CAAC,EACF,EAAE,CACH;iBACF,EACD,EAAE,CACH;gBACD,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/C;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,6BAA6B;QAC7B,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;QACrD,cAAc;QACd,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1F,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxD,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACpD,6BAA6B;gBAC7B,WAAW,CAAC,QAAQ,CAClB;oBACE,WAAW,CAAC,IAAI,CACd,OAAO,EACP,WAAW,CAAC,KAAK,CAAC;wBAChB,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjD,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBACrD,CAAC,EACF,EAAE,CACH;oBACD,WAAW,CAAC,IAAI,CACd,OAAO,EACP,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAChD,EAAE,CACH;iBACF,EACD,EAAE,CACH;gBACD,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK;gBAC3D,wCAAwC;gBACxC,WAAW,CAAC,QAAQ,CAClB;oBACE,WAAW,CAAC,IAAI,CACd,OAAO,EACP,WAAW,CAAC,KAAK,CAAC;wBAChB,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjD,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBACrD,CAAC,EACF,EAAE,CACH;oBACD,WAAW,CAAC,IAAI,CACd,OAAO,EACP,WAAW,CAAC,KAAK,CAAC;wBAChB,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;wBAC3B,oCAAoC;wBACpC,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAC3E;qBACF,CAAC,EACF,EAAE,CACH;iBACF,EACD,EAAE,CACH;gBACD,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC/C;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACxC,kCAAkC;QAClC,MAAM,CAAC,KAAK,CAAE,QAAS,CAAC,IAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,gCAAgC;QAChC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClC,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,2BAA2B;gBAC3B,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC3C,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;oBACzB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC3B,CAAC,CACH;aACF;SACF,CAAC,CAAC;QACH,oBAAoB;QACpB,MAAM,MAAM,GAAgB,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC5C,iCAAiC;QACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAE,QAAS,CAAC,IAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,+BAA+B;AAC/B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAE5C,MAAM,CAAC,GAAG,EAAE;QACV,qCAAqC;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACrC,cAAc;QACb,UAAkB,CAAC,SAAS,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,SAAS;QACT,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;;YAC7D,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,SAAS,CAAC;QAC/C,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;;YACzD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAC3C,gBAAgB;QAChB,OAAQ,UAAkB,CAAC,SAAS,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,8BAA8B;QAC9B,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClC,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC3C,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;oBACzB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC3B,CAAC,CACH;aACF;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAgB,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC5C,wBAAwB;QACxB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAE,QAAS,CAAC,IAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,GAAG,EAAE,IAAI,EAAE;YACX,IAAI,EAAE;gBACJ,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpD,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnD,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9C;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAE5C,MAAM,CAAC,GAAG,EAAE;QACV,mCAAmC;QACnC,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACrC,OAAQ,UAAkB,CAAC,SAAS,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,SAAS;QACT,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;;YAC7D,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,SAAS,CAAC;QAC/C,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;;YACzD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,sBAAsB;QACtB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,0BAA0B;YAChC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClC,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC3C,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;oBACzB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC3B,CAAC,CACH;aACF;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAgB,WAAW,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACvF,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC5C,qBAAqB;QACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACzC,IAAI,CAAC,IAAI,gDAAmC;YAC5C,IAAI,CAAC,IAAI,gDAAmC;YAC5C,IAAI,CAAC,IAAI,6CAAgC,CAC1C,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,yBAAyB;AACzB,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAE5C,MAAM,CAAC,GAAG,EAAE;QACV,kCAAkC;QAClC,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,wBAAwB;QACxB,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;;YAC7D,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,SAAS,CAAC;QAC/C,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;;YACzD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAC3C,OAAQ,UAAkB,CAAC,SAAS,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,eAAe;QACd,UAAkB,CAAC,SAAS,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;QAE3D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,wCAAwC;YACzE,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;oBAC9C,WAAW,CAAC,MAAM,CAAC,yBAAyB,CAAC;oBAC7C,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;iBACxB,CAAC,CACH;aACF;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAgB,WAAW,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QAChG,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAE5C,oBAAoB;QACpB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CAAC,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;QAElD,4BAA4B;QAC5B,mDAAmD;QACnD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,8CAAiC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;QAClE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,mCAAmC,CAAC,CAAC;QAEtF,OAAQ,UAAkB,CAAC,SAAS,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,iDAAiD;QAChD,UAAkB,CAAC,SAAS,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;QAE3D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/B,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;oBAC9C,WAAW,CAAC,MAAM,CAAC,6BAA6B,CAAC;oBACjD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;iBACxB,CAAC,CACH;aACF;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAgB,WAAW,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/F,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAE5C,gDAAgD;QAChD,gDAAgD;QAChD,oCAAoC;QACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACzC,IAAI,CAAC,IAAI,gDAAmC;YAC5C,IAAI,CAAC,IAAI,gDAAmC;YAC5C,IAAI,CAAC,IAAI,6CAAgC,CAC1C,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,mCAAmC,CAAC,CAAC;QACtE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,8CAAiC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,iBAAiB,EAAE,mCAAmC,CAAC,CAAC;QACzF,MAAM,CAAC,KAAK,CAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEnE,OAAQ,UAAkB,CAAC,SAAS,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,eAAe;QACf,OAAQ,UAAkB,CAAC,SAAS,CAAC;QAErC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACpC,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;oBAC9C,WAAW,CAAC,MAAM,CAAC,wBAAwB,CAAC;oBAC5C,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;iBAC7B,CAAC,CACH;aACF;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAgB,WAAW,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5F,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAE5C,mBAAmB;QACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACzC,IAAI,CAAC,IAAI,gDAAmC;YAC5C,IAAI,CAAC,IAAI,gDAAmC;YAC5C,IAAI,CAAC,IAAI,6CAAgC,CAC1C,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,oCAAoC,CAAC,CAAC;QAEvE,+CAA+C;QAC/C,sCAAsC;QACtC,2CAA2C;QAC3C,kDAAkD;QAClD,iDAAiD;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,eAAe;QACd,UAAkB,CAAC,SAAS,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;QAE3D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEtD,yBAAyB;QACzB,qDAAqD;QACrD,uEAAuE;QACvE,MAAM,EAAE,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,GAAG,EAAE,IAAI,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE;gBACJ,WAAW,CAAC,MAAM,CAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;oBAC9C,WAAW,CAAC,MAAM,CAAC,yBAAyB,CAAC;oBAC7C,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;iBAC1B,CAAC,CACH;aACF;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAgB,WAAW,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QAE1F,6BAA6B;QAC7B,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAEhD,gCAAgC;QAChC,oFAAoF;QACpF,kCAAkC;QAElC,uBAAuB;QACvB,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CACxC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,gDAAmC,CACrD,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,+BAA+B,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CACV,aAAa,CAAC,MAAM,EACpB,iBAAiB,EACjB,mCAAmC,CACpC,CAAC;QAEF,QAAQ;QACR,0DAA0D;QAC1D,sEAAsE;QACtE,EAAE;QACF,oEAAoE;QACpE,+EAA+E;QAC/E,6DAA6D;QAC7D,4BAA4B;QAC5B,EAAE;QACF,QAAQ;QACR,uDAAuD;QACvD,+EAA+E;QAC/E,6BAA6B;QAC7B,yDAAyD;QAEzD,OAAQ,UAAkB,CAAC,SAAS,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -26,7 +26,7 @@ function compileAndGetDiagnostics(source) {
|
|
|
26
26
|
try {
|
|
27
27
|
const canonical = canonicalize(source);
|
|
28
28
|
const tokens = lex(canonical);
|
|
29
|
-
const ast = parse(tokens);
|
|
29
|
+
const ast = parse(tokens).ast;
|
|
30
30
|
const core = lowerModule(ast);
|
|
31
31
|
return typecheckModule(core);
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-discipline.test.js","sourceRoot":"","sources":["../../../../test/unit/async/async-discipline.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"async-discipline.test.js","sourceRoot":"","sources":["../../../../test/unit/async/async-discipline.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ function compileAndGetDiagnostics(source) {
|
|
|
14
14
|
try {
|
|
15
15
|
const canonical = canonicalize(source);
|
|
16
16
|
const tokens = lex(canonical);
|
|
17
|
-
const ast = parse(tokens);
|
|
17
|
+
const ast = parse(tokens).ast;
|
|
18
18
|
const core = lowerModule(ast);
|
|
19
19
|
return typecheckModule(core);
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-schedule.test.js","sourceRoot":"","sources":["../../../../test/unit/async/async-schedule.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAI5D,SAAS,wBAAwB,CAAC,MAAc;IAC9C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"async-schedule.test.js","sourceRoot":"","sources":["../../../../test/unit/async/async-schedule.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-schema.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/browser/extract-schema.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { describe, it } from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { extractSchema } from '../../../src/browser.js';
|
|
4
|
+
describe('extractSchema', () => {
|
|
5
|
+
it('应提取基本类型参数', () => {
|
|
6
|
+
const source = `
|
|
7
|
+
Module test.schema.basic.
|
|
8
|
+
|
|
9
|
+
Rule greet given name as Text, age as Int, produce Text:
|
|
10
|
+
Return name.
|
|
11
|
+
`;
|
|
12
|
+
const result = extractSchema(source);
|
|
13
|
+
assert.ok(result.success);
|
|
14
|
+
assert.equal(result.parameters.length, 2);
|
|
15
|
+
assert.equal(result.parameters[0].name, 'name');
|
|
16
|
+
assert.equal(result.parameters[0].type, 'Text');
|
|
17
|
+
assert.equal(result.parameters[0].typeKind, 'primitive');
|
|
18
|
+
assert.equal(result.parameters[1].name, 'age');
|
|
19
|
+
assert.equal(result.parameters[1].type, 'Int');
|
|
20
|
+
assert.equal(result.parameters[1].typeKind, 'primitive');
|
|
21
|
+
});
|
|
22
|
+
it('应提取结构体参数及字段', () => {
|
|
23
|
+
const source = `
|
|
24
|
+
Module test.schema.struct.
|
|
25
|
+
|
|
26
|
+
Define User has name as Text, age as Int.
|
|
27
|
+
|
|
28
|
+
Rule process given user as User, produce Text:
|
|
29
|
+
Return user.name.
|
|
30
|
+
`;
|
|
31
|
+
const result = extractSchema(source);
|
|
32
|
+
assert.ok(result.success);
|
|
33
|
+
assert.equal(result.parameters.length, 1);
|
|
34
|
+
const param = result.parameters[0];
|
|
35
|
+
assert.equal(param.name, 'user');
|
|
36
|
+
assert.equal(param.type, 'User');
|
|
37
|
+
assert.equal(param.typeKind, 'struct');
|
|
38
|
+
assert.ok(param.fields);
|
|
39
|
+
assert.equal(param.fields.length, 2);
|
|
40
|
+
assert.equal(param.fields[0].name, 'name');
|
|
41
|
+
assert.equal(param.fields[0].type, 'Text');
|
|
42
|
+
assert.equal(param.fields[1].name, 'age');
|
|
43
|
+
assert.equal(param.fields[1].type, 'Int');
|
|
44
|
+
});
|
|
45
|
+
it('应提取枚举类型信息', () => {
|
|
46
|
+
const source = `
|
|
47
|
+
Module test.schema.enum.
|
|
48
|
+
|
|
49
|
+
Define Status as one of Pending, Approved, Rejected.
|
|
50
|
+
|
|
51
|
+
Rule check given status as Status, produce Bool:
|
|
52
|
+
Return true.
|
|
53
|
+
`;
|
|
54
|
+
const result = extractSchema(source);
|
|
55
|
+
assert.ok(result.success);
|
|
56
|
+
assert.equal(result.parameters.length, 1);
|
|
57
|
+
// 枚举在 extractSchema 中被识别为非基本类型
|
|
58
|
+
const param = result.parameters[0];
|
|
59
|
+
assert.equal(param.name, 'status');
|
|
60
|
+
assert.equal(param.type, 'Status');
|
|
61
|
+
});
|
|
62
|
+
it('应在多函数模块中选取第一个函数', () => {
|
|
63
|
+
const source = `
|
|
64
|
+
Module test.schema.multi.
|
|
65
|
+
|
|
66
|
+
Rule first given a as Int, produce Int:
|
|
67
|
+
Return a.
|
|
68
|
+
|
|
69
|
+
Rule second given b as Text, produce Text:
|
|
70
|
+
Return b.
|
|
71
|
+
`;
|
|
72
|
+
const result = extractSchema(source);
|
|
73
|
+
assert.ok(result.success);
|
|
74
|
+
assert.equal(result.functionName, 'first');
|
|
75
|
+
assert.equal(result.parameters.length, 1);
|
|
76
|
+
assert.equal(result.parameters[0].name, 'a');
|
|
77
|
+
});
|
|
78
|
+
it('应通过 functionName 选项指定目标函数', () => {
|
|
79
|
+
const source = `
|
|
80
|
+
Module test.schema.target.
|
|
81
|
+
|
|
82
|
+
Rule first given a as Int, produce Int:
|
|
83
|
+
Return a.
|
|
84
|
+
|
|
85
|
+
Rule second given b as Text, produce Text:
|
|
86
|
+
Return b.
|
|
87
|
+
`;
|
|
88
|
+
const result = extractSchema(source, { functionName: 'second' });
|
|
89
|
+
assert.ok(result.success);
|
|
90
|
+
assert.equal(result.functionName, 'second');
|
|
91
|
+
assert.equal(result.parameters.length, 1);
|
|
92
|
+
assert.equal(result.parameters[0].name, 'b');
|
|
93
|
+
assert.equal(result.parameters[0].type, 'Text');
|
|
94
|
+
});
|
|
95
|
+
it('应在无函数时返回错误', () => {
|
|
96
|
+
const source = `
|
|
97
|
+
Module test.schema.nofunc.
|
|
98
|
+
|
|
99
|
+
Define User has name as Text.
|
|
100
|
+
`;
|
|
101
|
+
const result = extractSchema(source);
|
|
102
|
+
assert.equal(result.success, false);
|
|
103
|
+
assert.ok(result.error);
|
|
104
|
+
});
|
|
105
|
+
it('应返回模块名', () => {
|
|
106
|
+
const source = `
|
|
107
|
+
Module my.app.
|
|
108
|
+
|
|
109
|
+
Rule main, produce Int:
|
|
110
|
+
Return 42.
|
|
111
|
+
`;
|
|
112
|
+
const result = extractSchema(source);
|
|
113
|
+
assert.ok(result.success);
|
|
114
|
+
assert.equal(result.moduleName, 'my.app');
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=extract-schema.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-schema.test.js","sourceRoot":"","sources":["../../../../test/unit/browser/extract-schema.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,8 +40,8 @@ describe('JVM 代码生成器', () => {
|
|
|
40
40
|
it('应生成数据类型对应的 Java 类', async () => {
|
|
41
41
|
const module = Core.Module('test.emitter.data', [
|
|
42
42
|
Core.Data('User', [
|
|
43
|
-
{ name: 'id', type: Core.TypeName('Text')
|
|
44
|
-
{ name: 'age', type: Core.TypeName('Int')
|
|
43
|
+
{ name: 'id', type: Core.TypeName('Text') },
|
|
44
|
+
{ name: 'age', type: Core.TypeName('Int') },
|
|
45
45
|
]),
|
|
46
46
|
]);
|
|
47
47
|
const { outDir, cleanup } = await emitToTemp(module);
|
|
@@ -73,7 +73,7 @@ describe('JVM 代码生成器', () => {
|
|
|
73
73
|
});
|
|
74
74
|
it('应生成函数包装类并渲染主体', async () => {
|
|
75
75
|
const funcBody = Core.Block([Core.Return(Core.String('pong'))]);
|
|
76
|
-
const funcDecl = Core.Func('ping', [], [{ name: 'input', type: Core.TypeName('Text')
|
|
76
|
+
const funcDecl = Core.Func('ping', [], [{ name: 'input', type: Core.TypeName('Text') }], Core.TypeName('Text'), [], funcBody);
|
|
77
77
|
const module = Core.Module('test.emitter.func', [funcDecl]);
|
|
78
78
|
const { outDir, cleanup } = await emitToTemp(module);
|
|
79
79
|
try {
|
|
@@ -89,7 +89,7 @@ describe('JVM 代码生成器', () => {
|
|
|
89
89
|
});
|
|
90
90
|
it('应为枚举匹配生成 switch 结构', async () => {
|
|
91
91
|
const enumDecl = Core.Enum('Status', ['Ok', 'Err']);
|
|
92
|
-
const matcher = Core.Func('classify', [], [{ name: 'status', type: Core.TypeName('Status')
|
|
92
|
+
const matcher = Core.Func('classify', [], [{ name: 'status', type: Core.TypeName('Status') }], Core.TypeName('int'), [], Core.Block([
|
|
93
93
|
Core.Match(Core.Name('status'), [
|
|
94
94
|
Core.Case(Core.PatName('Ok'), Core.Return(Core.Int(1))),
|
|
95
95
|
Core.Case(Core.PatName('Err'), Core.Return(Core.Int(0))),
|
|
@@ -111,10 +111,10 @@ describe('JVM 代码生成器', () => {
|
|
|
111
111
|
});
|
|
112
112
|
it('嵌套数据匹配应生成 instanceof 守卫与解构', async () => {
|
|
113
113
|
const pairData = Core.Data('Pair', [
|
|
114
|
-
{ name: 'left', type: Core.TypeName('Object')
|
|
115
|
-
{ name: 'right', type: Core.TypeName('Object')
|
|
114
|
+
{ name: 'left', type: Core.TypeName('Object') },
|
|
115
|
+
{ name: 'right', type: Core.TypeName('Object') },
|
|
116
116
|
]);
|
|
117
|
-
const matcher = Core.Func('unwrap', [], [{ name: 'value', type: Core.TypeName('Pair')
|
|
117
|
+
const matcher = Core.Func('unwrap', [], [{ name: 'value', type: Core.TypeName('Pair') }], Core.TypeName('Object'), [], Core.Block([
|
|
118
118
|
Core.Match(Core.Name('value'), [
|
|
119
119
|
Core.Case(Core.PatCtor('Pair', [], [
|
|
120
120
|
Core.PatName('a'),
|
|
@@ -139,11 +139,10 @@ describe('JVM 代码生成器', () => {
|
|
|
139
139
|
it('数据类应对 List 与 Map 字段生成泛型类型', async () => {
|
|
140
140
|
const module = Core.Module('test.emitter.collections', [
|
|
141
141
|
Core.Data('Catalog', [
|
|
142
|
-
{ name: 'items', type: Core.List(Core.TypeName('Int'))
|
|
142
|
+
{ name: 'items', type: Core.List(Core.TypeName('Int')) },
|
|
143
143
|
{
|
|
144
144
|
name: 'metadata',
|
|
145
145
|
type: Core.Map(Core.TypeName('Text'), Core.TypeName('Text')),
|
|
146
|
-
annotations: [],
|
|
147
146
|
},
|
|
148
147
|
]),
|
|
149
148
|
]);
|
|
@@ -167,7 +166,7 @@ describe('JVM 代码生成器', () => {
|
|
|
167
166
|
]),
|
|
168
167
|
Core.Return(Core.Name('result')),
|
|
169
168
|
]);
|
|
170
|
-
const funcDecl = Core.Func('withScope', [], [{ name: 'result', type: Core.TypeName('int')
|
|
169
|
+
const funcDecl = Core.Func('withScope', [], [{ name: 'result', type: Core.TypeName('int') }], Core.TypeName('int'), [], scopedBody);
|
|
171
170
|
const module = Core.Module('test.emitter.scope', [funcDecl]);
|
|
172
171
|
const { outDir, cleanup } = await emitToTemp(module);
|
|
173
172
|
try {
|
|
@@ -215,7 +214,7 @@ describe('JVM 代码生成器', () => {
|
|
|
215
214
|
it('javaType 应将 Maybe<Text> 映射为可空字符串', async () => {
|
|
216
215
|
const module = Core.Module('test.emitter.java_type_maybe_text', [
|
|
217
216
|
Core.Data('MaybeSample', [
|
|
218
|
-
{ name: 'value', type: Core.Maybe(Core.TypeName('Text'))
|
|
217
|
+
{ name: 'value', type: Core.Maybe(Core.TypeName('Text')) },
|
|
219
218
|
]),
|
|
220
219
|
]);
|
|
221
220
|
const content = await emitJavaClassContent(module, [
|
|
@@ -229,10 +228,10 @@ describe('JVM 代码生成器', () => {
|
|
|
229
228
|
it('javaType 应将 Maybe 自定义类型保持引用类型', async () => {
|
|
230
229
|
const module = Core.Module('test.emitter.java_type_maybe_custom', [
|
|
231
230
|
Core.Data('Profile', [
|
|
232
|
-
{ name: 'name', type: Core.TypeName('Text')
|
|
231
|
+
{ name: 'name', type: Core.TypeName('Text') },
|
|
233
232
|
]),
|
|
234
233
|
Core.Data('Wrapper', [
|
|
235
|
-
{ name: 'payload', type: Core.Maybe(Core.TypeName('Profile'))
|
|
234
|
+
{ name: 'payload', type: Core.Maybe(Core.TypeName('Profile')) },
|
|
236
235
|
]),
|
|
237
236
|
]);
|
|
238
237
|
const content = await emitJavaClassContent(module, [
|
|
@@ -246,7 +245,7 @@ describe('JVM 代码生成器', () => {
|
|
|
246
245
|
it('javaType 应将 Option<Bool> 映射为布尔类型', async () => {
|
|
247
246
|
const module = Core.Module('test.emitter.java_type_option_bool', [
|
|
248
247
|
Core.Data('FlagHolder', [
|
|
249
|
-
{ name: 'active', type: Core.Option(Core.TypeName('Bool'))
|
|
248
|
+
{ name: 'active', type: Core.Option(Core.TypeName('Bool')) },
|
|
250
249
|
]),
|
|
251
250
|
]);
|
|
252
251
|
const content = await emitJavaClassContent(module, [
|
|
@@ -263,7 +262,6 @@ describe('JVM 代码生成器', () => {
|
|
|
263
262
|
{
|
|
264
263
|
name: 'state',
|
|
265
264
|
type: Core.Result(Core.TypeName('Text'), Core.TypeName('Int')),
|
|
266
|
-
annotations: [],
|
|
267
265
|
},
|
|
268
266
|
]),
|
|
269
267
|
]);
|
|
@@ -287,7 +285,7 @@ describe('JVM 代码生成器', () => {
|
|
|
287
285
|
assert.equal(content.includes('var counter = 0;'), true);
|
|
288
286
|
});
|
|
289
287
|
it('Set 语句应输出赋值语句', async () => {
|
|
290
|
-
const func = Core.Func('assignValue', [], [{ name: 'value', type: Core.TypeName('int')
|
|
288
|
+
const func = Core.Func('assignValue', [], [{ name: 'value', type: Core.TypeName('int') }], Core.TypeName('int'), [], Core.Block([Core.Set('value', Core.Int(10)), Core.Return(Core.Name('value'))]));
|
|
291
289
|
const module = Core.Module('test.emitter.set_statement', [func]);
|
|
292
290
|
const content = await emitJavaClassContent(module, [
|
|
293
291
|
'test',
|
|
@@ -313,7 +311,7 @@ describe('JVM 代码生成器', () => {
|
|
|
313
311
|
assert.equal(content.includes('value = increment(value);'), true);
|
|
314
312
|
});
|
|
315
313
|
it('If 语句应输出 else 分支结构', async () => {
|
|
316
|
-
const func = Core.Func('chooseValue', [], [{ name: 'flag', type: Core.TypeName('boolean')
|
|
314
|
+
const func = Core.Func('chooseValue', [], [{ name: 'flag', type: Core.TypeName('boolean') }], Core.TypeName('int'), [], Core.Block([
|
|
317
315
|
Core.If(Core.Name('flag'), Core.Block([Core.Return(Core.Int(1))]), Core.Block([Core.Return(Core.Int(0))])),
|
|
318
316
|
]));
|
|
319
317
|
const module = Core.Module('test.emitter.if_else', [func]);
|
|
@@ -345,7 +343,7 @@ describe('JVM 代码生成器', () => {
|
|
|
345
343
|
});
|
|
346
344
|
it('枚举匹配无返回体时应生成 break 语句', async () => {
|
|
347
345
|
const enumDecl = Core.Enum('Status', ['Idle', 'Busy']);
|
|
348
|
-
const func = Core.Func('score', [], [{ name: 'status', type: Core.TypeName('Status')
|
|
346
|
+
const func = Core.Func('score', [], [{ name: 'status', type: Core.TypeName('Status') }], Core.TypeName('int'), [], Core.Block([
|
|
349
347
|
Core.Let('result', Core.Int(0)),
|
|
350
348
|
Core.Match(Core.Name('status'), [
|
|
351
349
|
Core.Case(Core.PatName('Idle'), Core.Block([Core.Set('result', Core.Int(1))])),
|
|
@@ -364,7 +362,7 @@ describe('JVM 代码生成器', () => {
|
|
|
364
362
|
assert.equal(content.includes('break;'), true);
|
|
365
363
|
});
|
|
366
364
|
it('整数模式匹配应转换为 switch 结构', async () => {
|
|
367
|
-
const func = Core.Func('mapCode', [], [{ name: 'code', type: Core.TypeName('int')
|
|
365
|
+
const func = Core.Func('mapCode', [], [{ name: 'code', type: Core.TypeName('int') }], Core.TypeName('int'), [], Core.Block([
|
|
368
366
|
Core.Let('result', Core.Int(0)),
|
|
369
367
|
Core.Match(Core.Name('code'), [
|
|
370
368
|
Core.Case(Core.PatInt(1), Core.Block([Core.Set('result', Core.Int(10))])),
|
|
@@ -383,7 +381,7 @@ describe('JVM 代码生成器', () => {
|
|
|
383
381
|
assert.equal(content.includes('default: break;'), true);
|
|
384
382
|
});
|
|
385
383
|
it('PatNull 与 PatName fallback 应添加空检查', async () => {
|
|
386
|
-
const func = Core.Func('describe', [], [{ name: 'input', type: Core.TypeName('Object')
|
|
384
|
+
const func = Core.Func('describe', [], [{ name: 'input', type: Core.TypeName('Object') }], Core.TypeName('String'), [], Core.Block([
|
|
387
385
|
Core.Match(Core.Name('input'), [
|
|
388
386
|
Core.Case(Core.PatNull(), Core.Return(Core.String('missing'))),
|
|
389
387
|
Core.Case(Core.PatName('value'), Core.Return(Core.String('present'))),
|
|
@@ -515,7 +513,7 @@ describe('JVM 代码生成器', () => {
|
|
|
515
513
|
assert.equal(content.includes('return Text.trim(" value ");'), true);
|
|
516
514
|
});
|
|
517
515
|
it('javaType 应将 TypeVar 映射为 Object', async () => {
|
|
518
|
-
const func = Core.Func('identity', ['T'], [{ name: 'value', type: Core.TypeVar('T')
|
|
516
|
+
const func = Core.Func('identity', ['T'], [{ name: 'value', type: Core.TypeVar('T') }], Core.TypeVar('T'), [], Core.Block([Core.Return(Core.Name('value'))]));
|
|
519
517
|
const module = Core.Module('test.emitter.java_type_var', [func]);
|
|
520
518
|
const content = await emitJavaClassContent(module, [
|
|
521
519
|
'test',
|
|
@@ -530,7 +528,6 @@ describe('JVM 代码生成器', () => {
|
|
|
530
528
|
{
|
|
531
529
|
name: 'future',
|
|
532
530
|
type: Core.TypeApp('Future', [Core.TypeName('Text')]),
|
|
533
|
-
annotations: [],
|
|
534
531
|
},
|
|
535
532
|
], Core.TypeName('void'), [], Core.Block([Core.Return(Core.Null())]));
|
|
536
533
|
const module = Core.Module('test.emitter.java_type_app', [func]);
|
|
@@ -548,7 +545,7 @@ describe('JVM 代码生成器', () => {
|
|
|
548
545
|
params: [Core.TypeName('Text'), Core.TypeName('Int')],
|
|
549
546
|
ret: Core.TypeName('Bool'),
|
|
550
547
|
};
|
|
551
|
-
const func = Core.Func('apply', [], [{ name: 'fn', type: fnType
|
|
548
|
+
const func = Core.Func('apply', [], [{ name: 'fn', type: fnType }], Core.TypeName('boolean'), [], Core.Block([Core.Return(Core.Bool(true))]));
|
|
552
549
|
const module = Core.Module('test.emitter.java_type_func', [func]);
|
|
553
550
|
const content = await emitJavaClassContent(module, [
|
|
554
551
|
'test',
|
|
@@ -559,7 +556,7 @@ describe('JVM 代码生成器', () => {
|
|
|
559
556
|
assert.equal(content.includes('aster.runtime.Fn2 fn'), true);
|
|
560
557
|
});
|
|
561
558
|
it('List.length 应映射为 size 调用', async () => {
|
|
562
|
-
const func = Core.Func('size', [], [{ name: 'items', type: Core.List(Core.TypeName('Object'))
|
|
559
|
+
const func = Core.Func('size', [], [{ name: 'items', type: Core.List(Core.TypeName('Object')) }], Core.TypeName('int'), [], Core.Block([
|
|
563
560
|
Core.Return(Core.Call(Core.Name('List.length'), [Core.Name('items')])),
|
|
564
561
|
]));
|
|
565
562
|
const module = Core.Module('test.emitter.list_length', [func]);
|
|
@@ -572,7 +569,7 @@ describe('JVM 代码生成器', () => {
|
|
|
572
569
|
assert.equal(content.includes('return items.size();'), true);
|
|
573
570
|
});
|
|
574
571
|
it('List.get 应映射为 get 调用', async () => {
|
|
575
|
-
const func = Core.Func('getItem', [], [{ name: 'items', type: Core.List(Core.TypeName('Object'))
|
|
572
|
+
const func = Core.Func('getItem', [], [{ name: 'items', type: Core.List(Core.TypeName('Object')) }], Core.TypeName('Object'), [], Core.Block([
|
|
576
573
|
Core.Return(Core.Call(Core.Name('List.get'), [Core.Name('items'), Core.Int(1)])),
|
|
577
574
|
]));
|
|
578
575
|
const module = Core.Module('test.emitter.list_get', [func]);
|
|
@@ -585,7 +582,7 @@ describe('JVM 代码生成器', () => {
|
|
|
585
582
|
assert.equal(content.includes('return items.get(1);'), true);
|
|
586
583
|
});
|
|
587
584
|
it('List.head 应生成空检查逻辑', async () => {
|
|
588
|
-
const func = Core.Func('head', [], [{ name: 'items', type: Core.List(Core.TypeName('Object'))
|
|
585
|
+
const func = Core.Func('head', [], [{ name: 'items', type: Core.List(Core.TypeName('Object')) }], Core.TypeName('Object'), [], Core.Block([
|
|
589
586
|
Core.Return(Core.Call(Core.Name('List.head'), [Core.Name('items')])),
|
|
590
587
|
]));
|
|
591
588
|
const module = Core.Module('test.emitter.list_head', [func]);
|
|
@@ -602,7 +599,6 @@ describe('JVM 代码生成器', () => {
|
|
|
602
599
|
{
|
|
603
600
|
name: 'mapping',
|
|
604
601
|
type: Core.Map(Core.TypeName('String'), Core.TypeName('String')),
|
|
605
|
-
annotations: [],
|
|
606
602
|
},
|
|
607
603
|
], Core.TypeName('String'), [], Core.Block([
|
|
608
604
|
Core.Return(Core.Call(Core.Name('Map.get'), [Core.Name('mapping'), Core.String('key')])),
|
|
@@ -652,8 +648,8 @@ describe('JVM 代码生成器', () => {
|
|
|
652
648
|
it('Construct 表达式应生成类型实例化', async () => {
|
|
653
649
|
const module = Core.Module('test.emitter.construct', [
|
|
654
650
|
Core.Data('User', [
|
|
655
|
-
{ name: 'name', type: Core.TypeName('String')
|
|
656
|
-
{ name: 'age', type: Core.TypeName('int')
|
|
651
|
+
{ name: 'name', type: Core.TypeName('String') },
|
|
652
|
+
{ name: 'age', type: Core.TypeName('int') },
|
|
657
653
|
]),
|
|
658
654
|
Core.Func('build', [], [], Core.TypeName('User'), [], Core.Block([
|
|
659
655
|
Core.Return(Core.Construct('User', [
|
|
@@ -672,10 +668,10 @@ describe('JVM 代码生成器', () => {
|
|
|
672
668
|
});
|
|
673
669
|
it('Match 多分支应解构数据字段', async () => {
|
|
674
670
|
const pair = Core.Data('Pair', [
|
|
675
|
-
{ name: 'left', type: Core.TypeName('Object')
|
|
676
|
-
{ name: 'right', type: Core.TypeName('Object')
|
|
671
|
+
{ name: 'left', type: Core.TypeName('Object') },
|
|
672
|
+
{ name: 'right', type: Core.TypeName('Object') },
|
|
677
673
|
]);
|
|
678
|
-
const func = Core.Func('describePair', [], [{ name: 'value', type: Core.TypeName('Pair')
|
|
674
|
+
const func = Core.Func('describePair', [], [{ name: 'value', type: Core.TypeName('Pair') }], Core.TypeName('Object'), [], Core.Block([
|
|
679
675
|
Core.Match(Core.Name('value'), [
|
|
680
676
|
Core.Case(Core.PatCtor('Pair', [], [Core.PatName('left'), Core.PatName('right')]), Core.Return(Core.Name('left'))),
|
|
681
677
|
Core.Case(Core.PatName('other'), Core.Return(Core.Name('other'))),
|
|
@@ -695,9 +691,9 @@ describe('JVM 代码生成器', () => {
|
|
|
695
691
|
});
|
|
696
692
|
it('Match 混合 Null 与构造体应按序生成守卫', async () => {
|
|
697
693
|
const wrapper = Core.Data('Wrapper', [
|
|
698
|
-
{ name: 'payload', type: Core.TypeName('Object')
|
|
694
|
+
{ name: 'payload', type: Core.TypeName('Object') },
|
|
699
695
|
]);
|
|
700
|
-
const func = Core.Func('analyze', [], [{ name: 'input', type: Core.TypeName('Wrapper')
|
|
696
|
+
const func = Core.Func('analyze', [], [{ name: 'input', type: Core.TypeName('Wrapper') }], Core.TypeName('String'), [], Core.Block([
|
|
701
697
|
Core.Match(Core.Name('input'), [
|
|
702
698
|
Core.Case(Core.PatNull(), Core.Return(Core.String('null'))),
|
|
703
699
|
Core.Case(Core.PatCtor('Wrapper', [], [Core.PatName('payload')]), Core.Return(Core.String('payload'))),
|
|
@@ -797,7 +793,6 @@ describe('JVM 代码生成器', () => {
|
|
|
797
793
|
{
|
|
798
794
|
name: 'items',
|
|
799
795
|
type: Core.List(Core.TypeName('String')),
|
|
800
|
-
annotations: [],
|
|
801
796
|
},
|
|
802
797
|
], Core.Map(Core.TypeName('String'), Core.TypeName('String')), [], Core.Block([Core.Return(Core.Null())]));
|
|
803
798
|
const module = Core.Module('test.emitter.type_annotations', [func]);
|