@typespec/compiler 0.41.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 +21 -0
- package/README.md +9 -0
- package/cmd/tsp-server.js +3 -0
- package/cmd/tsp.js +3 -0
- package/dist/cmd/runner.d.ts +9 -0
- package/dist/cmd/runner.d.ts.map +1 -0
- package/dist/cmd/runner.js +62 -0
- package/dist/cmd/runner.js.map +1 -0
- package/dist/config/config-interpolation.d.ts +11 -0
- package/dist/config/config-interpolation.d.ts.map +1 -0
- package/dist/config/config-interpolation.js +109 -0
- package/dist/config/config-interpolation.js.map +1 -0
- package/dist/config/config-loader.d.ts +25 -0
- package/dist/config/config-loader.d.ts.map +1 -0
- package/dist/config/config-loader.js +182 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/config-schema.d.ts +4 -0
- package/dist/config/config-schema.d.ts.map +1 -0
- package/dist/config/config-schema.js +84 -0
- package/dist/config/config-schema.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/types.d.ts +79 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -0
- package/dist/core/binder.d.ts +29 -0
- package/dist/core/binder.d.ts.map +1 -0
- package/dist/core/binder.js +455 -0
- package/dist/core/binder.js.map +1 -0
- package/dist/core/charcode.d.ts +130 -0
- package/dist/core/charcode.d.ts.map +1 -0
- package/dist/core/charcode.js +115 -0
- package/dist/core/charcode.js.map +1 -0
- package/dist/core/checker.d.ts +138 -0
- package/dist/core/checker.d.ts.map +1 -0
- package/dist/core/checker.js +4070 -0
- package/dist/core/checker.js.map +1 -0
- package/dist/core/cli/args.d.ts +18 -0
- package/dist/core/cli/args.d.ts.map +1 -0
- package/dist/core/cli/args.js +108 -0
- package/dist/core/cli/args.js.map +1 -0
- package/dist/core/cli/cli.d.ts +2 -0
- package/dist/core/cli/cli.d.ts.map +1 -0
- package/dist/core/cli/cli.js +477 -0
- package/dist/core/cli/cli.js.map +1 -0
- package/dist/core/cli/index.d.ts +2 -0
- package/dist/core/cli/index.d.ts.map +1 -0
- package/dist/core/cli/index.js +2 -0
- package/dist/core/cli/index.js.map +1 -0
- package/dist/core/decorator-utils.d.ts +108 -0
- package/dist/core/decorator-utils.d.ts.map +1 -0
- package/dist/core/decorator-utils.js +326 -0
- package/dist/core/decorator-utils.js.map +1 -0
- package/dist/core/diagnostics.d.ts +93 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +315 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/emitter-utils.d.ts +14 -0
- package/dist/core/emitter-utils.d.ts.map +1 -0
- package/dist/core/emitter-utils.js +16 -0
- package/dist/core/emitter-utils.js.map +1 -0
- package/dist/core/formatter-fs.d.ts +21 -0
- package/dist/core/formatter-fs.d.ts.map +1 -0
- package/dist/core/formatter-fs.js +79 -0
- package/dist/core/formatter-fs.js.map +1 -0
- package/dist/core/formatter.d.ts +10 -0
- package/dist/core/formatter.d.ts.map +1 -0
- package/dist/core/formatter.js +24 -0
- package/dist/core/formatter.js.map +1 -0
- package/dist/core/helpers/discriminator-utils.d.ts +14 -0
- package/dist/core/helpers/discriminator-utils.d.ts.map +1 -0
- package/dist/core/helpers/discriminator-utils.js +169 -0
- package/dist/core/helpers/discriminator-utils.js.map +1 -0
- package/dist/core/helpers/index.d.ts +6 -0
- package/dist/core/helpers/index.d.ts.map +1 -0
- package/dist/core/helpers/index.js +6 -0
- package/dist/core/helpers/index.js.map +1 -0
- package/dist/core/helpers/operation-utils.d.ts +15 -0
- package/dist/core/helpers/operation-utils.d.ts.map +1 -0
- package/dist/core/helpers/operation-utils.js +35 -0
- package/dist/core/helpers/operation-utils.js.map +1 -0
- package/dist/core/helpers/projected-names-utils.d.ts +20 -0
- package/dist/core/helpers/projected-names-utils.d.ts.map +1 -0
- package/dist/core/helpers/projected-names-utils.js +40 -0
- package/dist/core/helpers/projected-names-utils.js.map +1 -0
- package/dist/core/helpers/type-name-utils.d.ts +14 -0
- package/dist/core/helpers/type-name-utils.d.ts.map +1 -0
- package/dist/core/helpers/type-name-utils.js +122 -0
- package/dist/core/helpers/type-name-utils.js.map +1 -0
- package/dist/core/helpers/usage-resolver.d.ts +20 -0
- package/dist/core/helpers/usage-resolver.d.ts.map +1 -0
- package/dist/core/helpers/usage-resolver.js +108 -0
- package/dist/core/helpers/usage-resolver.js.map +1 -0
- package/dist/core/index.d.ts +26 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +26 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/install.d.ts +2 -0
- package/dist/core/install.d.ts.map +1 -0
- package/dist/core/install.js +26 -0
- package/dist/core/install.js.map +1 -0
- package/dist/core/library.d.ts +34 -0
- package/dist/core/library.d.ts.map +1 -0
- package/dist/core/library.js +100 -0
- package/dist/core/library.js.map +1 -0
- package/dist/core/logger/console-sink.browser.d.ts +4 -0
- package/dist/core/logger/console-sink.browser.d.ts.map +1 -0
- package/dist/core/logger/console-sink.browser.js +14 -0
- package/dist/core/logger/console-sink.browser.js.map +1 -0
- package/dist/core/logger/console-sink.d.ts +9 -0
- package/dist/core/logger/console-sink.d.ts.map +1 -0
- package/dist/core/logger/console-sink.js +81 -0
- package/dist/core/logger/console-sink.js.map +1 -0
- package/dist/core/logger/index.d.ts +3 -0
- package/dist/core/logger/index.d.ts.map +1 -0
- package/dist/core/logger/index.js +3 -0
- package/dist/core/logger/index.js.map +1 -0
- package/dist/core/logger/logger.d.ts +7 -0
- package/dist/core/logger/logger.d.ts.map +1 -0
- package/dist/core/logger/logger.js +32 -0
- package/dist/core/logger/logger.js.map +1 -0
- package/dist/core/logger/tracer.d.ts +3 -0
- package/dist/core/logger/tracer.d.ts.map +1 -0
- package/dist/core/logger/tracer.js +91 -0
- package/dist/core/logger/tracer.js.map +1 -0
- package/dist/core/manifest.d.ts +21 -0
- package/dist/core/manifest.d.ts.map +1 -0
- package/dist/core/manifest.js +8 -0
- package/dist/core/manifest.js.map +1 -0
- package/dist/core/messages.d.ts +2253 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +749 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/module-resolver.d.ts +84 -0
- package/dist/core/module-resolver.d.ts.map +1 -0
- package/dist/core/module-resolver.js +170 -0
- package/dist/core/module-resolver.js.map +1 -0
- package/dist/core/node-host.browser.d.ts +2 -0
- package/dist/core/node-host.browser.d.ts.map +1 -0
- package/dist/core/node-host.browser.js +2 -0
- package/dist/core/node-host.browser.js.map +1 -0
- package/dist/core/node-host.d.ts +7 -0
- package/dist/core/node-host.d.ts.map +1 -0
- package/dist/core/node-host.js +43 -0
- package/dist/core/node-host.js.map +1 -0
- package/dist/core/nonascii.d.ts +2 -0
- package/dist/core/nonascii.d.ts.map +1 -0
- package/dist/core/nonascii.js +712 -0
- package/dist/core/nonascii.js.map +1 -0
- package/dist/core/options.d.ts +46 -0
- package/dist/core/options.d.ts.map +1 -0
- package/dist/core/options.js +2 -0
- package/dist/core/options.js.map +1 -0
- package/dist/core/parser.d.ts +17 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/parser.js +2561 -0
- package/dist/core/parser.js.map +1 -0
- package/dist/core/path-utils.d.ts +193 -0
- package/dist/core/path-utils.d.ts.map +1 -0
- package/dist/core/path-utils.js +427 -0
- package/dist/core/path-utils.js.map +1 -0
- package/dist/core/program.d.ts +104 -0
- package/dist/core/program.d.ts.map +1 -0
- package/dist/core/program.js +898 -0
- package/dist/core/program.js.map +1 -0
- package/dist/core/projection-members.d.ts +8 -0
- package/dist/core/projection-members.d.ts.map +1 -0
- package/dist/core/projection-members.js +387 -0
- package/dist/core/projection-members.js.map +1 -0
- package/dist/core/projector.d.ts +26 -0
- package/dist/core/projector.d.ts.map +1 -0
- package/dist/core/projector.js +523 -0
- package/dist/core/projector.js.map +1 -0
- package/dist/core/scanner.d.ts +125 -0
- package/dist/core/scanner.d.ts.map +1 -0
- package/dist/core/scanner.js +1012 -0
- package/dist/core/scanner.js.map +1 -0
- package/dist/core/schema-validator.d.ts +6 -0
- package/dist/core/schema-validator.d.ts.map +1 -0
- package/dist/core/schema-validator.js +38 -0
- package/dist/core/schema-validator.js.map +1 -0
- package/dist/core/semantic-walker.d.ts +53 -0
- package/dist/core/semantic-walker.d.ts.map +1 -0
- package/dist/core/semantic-walker.js +355 -0
- package/dist/core/semantic-walker.js.map +1 -0
- package/dist/core/type-utils.d.ts +49 -0
- package/dist/core/type-utils.d.ts.map +1 -0
- package/dist/core/type-utils.js +95 -0
- package/dist/core/type-utils.js.map +1 -0
- package/dist/core/types.d.ts +1345 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +105 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/util.d.ts +150 -0
- package/dist/core/util.d.ts.map +1 -0
- package/dist/core/util.js +417 -0
- package/dist/core/util.js.map +1 -0
- package/dist/emitter-framework/asset-emitter.d.ts +5 -0
- package/dist/emitter-framework/asset-emitter.d.ts.map +1 -0
- package/dist/emitter-framework/asset-emitter.js +610 -0
- package/dist/emitter-framework/asset-emitter.js.map +1 -0
- package/dist/emitter-framework/builders/array-builder.d.ts +7 -0
- package/dist/emitter-framework/builders/array-builder.d.ts.map +1 -0
- package/dist/emitter-framework/builders/array-builder.js +45 -0
- package/dist/emitter-framework/builders/array-builder.js.map +1 -0
- package/dist/emitter-framework/builders/object-builder.d.ts +9 -0
- package/dist/emitter-framework/builders/object-builder.d.ts.map +1 -0
- package/dist/emitter-framework/builders/object-builder.js +30 -0
- package/dist/emitter-framework/builders/object-builder.js.map +1 -0
- package/dist/emitter-framework/builders/string-builder.d.ts +13 -0
- package/dist/emitter-framework/builders/string-builder.d.ts.map +1 -0
- package/dist/emitter-framework/builders/string-builder.js +98 -0
- package/dist/emitter-framework/builders/string-builder.js.map +1 -0
- package/dist/emitter-framework/custom-key-map.d.ts +29 -0
- package/dist/emitter-framework/custom-key-map.d.ts.map +1 -0
- package/dist/emitter-framework/custom-key-map.js +62 -0
- package/dist/emitter-framework/custom-key-map.js.map +1 -0
- package/dist/emitter-framework/index.d.ts +8 -0
- package/dist/emitter-framework/index.d.ts.map +1 -0
- package/dist/emitter-framework/index.js +8 -0
- package/dist/emitter-framework/index.js.map +1 -0
- package/dist/emitter-framework/placeholder.d.ts +12 -0
- package/dist/emitter-framework/placeholder.d.ts.map +1 -0
- package/dist/emitter-framework/placeholder.js +27 -0
- package/dist/emitter-framework/placeholder.js.map +1 -0
- package/dist/emitter-framework/type-emitter.d.ts +314 -0
- package/dist/emitter-framework/type-emitter.d.ts.map +1 -0
- package/dist/emitter-framework/type-emitter.js +612 -0
- package/dist/emitter-framework/type-emitter.js.map +1 -0
- package/dist/emitter-framework/types.d.ts +124 -0
- package/dist/emitter-framework/types.d.ts.map +1 -0
- package/dist/emitter-framework/types.js +39 -0
- package/dist/emitter-framework/types.js.map +1 -0
- package/dist/formatter/index.d.ts +11 -0
- package/dist/formatter/index.d.ts.map +1 -0
- package/dist/formatter/index.js +28 -0
- package/dist/formatter/index.js.map +1 -0
- package/dist/formatter/parser.d.ts +16 -0
- package/dist/formatter/parser.d.ts.map +1 -0
- package/dist/formatter/parser.js +23 -0
- package/dist/formatter/parser.js.map +1 -0
- package/dist/formatter/print/comment-handler.d.ts +7 -0
- package/dist/formatter/print/comment-handler.d.ts.map +1 -0
- package/dist/formatter/print/comment-handler.js +81 -0
- package/dist/formatter/print/comment-handler.js.map +1 -0
- package/dist/formatter/print/index.d.ts +3 -0
- package/dist/formatter/print/index.d.ts.map +1 -0
- package/dist/formatter/print/index.js +3 -0
- package/dist/formatter/print/index.js.map +1 -0
- package/dist/formatter/print/needs-parens.d.ts +10 -0
- package/dist/formatter/print/needs-parens.d.ts.map +1 -0
- package/dist/formatter/print/needs-parens.js +27 -0
- package/dist/formatter/print/needs-parens.js.map +1 -0
- package/dist/formatter/print/printer.d.ts +62 -0
- package/dist/formatter/print/printer.d.ts.map +1 -0
- package/dist/formatter/print/printer.js +1025 -0
- package/dist/formatter/print/printer.js.map +1 -0
- package/dist/formatter/print/types.d.ts +9 -0
- package/dist/formatter/print/types.d.ts.map +1 -0
- package/dist/formatter/print/types.js +2 -0
- package/dist/formatter/print/types.js.map +1 -0
- package/dist/init/index.d.ts +2 -0
- package/dist/init/index.d.ts.map +1 -0
- package/dist/init/index.js +2 -0
- package/dist/init/index.js.map +1 -0
- package/dist/init/init-template.d.ts +45 -0
- package/dist/init/init-template.d.ts.map +1 -0
- package/dist/init/init-template.js +45 -0
- package/dist/init/init-template.js.map +1 -0
- package/dist/init/init.d.ts +49 -0
- package/dist/init/init.d.ts.map +1 -0
- package/dist/init/init.js +224 -0
- package/dist/init/init.js.map +1 -0
- package/dist/lib/decorators.d.ts +222 -0
- package/dist/lib/decorators.d.ts.map +1 -0
- package/dist/lib/decorators.js +745 -0
- package/dist/lib/decorators.js.map +1 -0
- package/dist/lib/service.d.ts +38 -0
- package/dist/lib/service.d.ts.map +1 -0
- package/dist/lib/service.js +78 -0
- package/dist/lib/service.js.map +1 -0
- package/dist/manifest.js +4 -0
- package/dist/server/completion.d.ts +10 -0
- package/dist/server/completion.d.ts.map +1 -0
- package/dist/server/completion.js +207 -0
- package/dist/server/completion.js.map +1 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +3 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/language-config.d.ts +195 -0
- package/dist/server/language-config.d.ts.map +1 -0
- package/dist/server/language-config.js +102 -0
- package/dist/server/language-config.js.map +1 -0
- package/dist/server/server.d.ts +2 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +131 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/serverlib.d.ts +72 -0
- package/dist/server/serverlib.d.ts.map +1 -0
- package/dist/server/serverlib.js +1034 -0
- package/dist/server/serverlib.js.map +1 -0
- package/dist/server/symbol-structure.d.ts +4 -0
- package/dist/server/symbol-structure.d.ts.map +1 -0
- package/dist/server/symbol-structure.js +121 -0
- package/dist/server/symbol-structure.js.map +1 -0
- package/dist/server/tmlanguage.d.ts +3 -0
- package/dist/server/tmlanguage.d.ts.map +1 -0
- package/dist/server/tmlanguage.js +713 -0
- package/dist/server/tmlanguage.js.map +1 -0
- package/dist/server/type-details.d.ts +11 -0
- package/dist/server/type-details.d.ts.map +1 -0
- package/dist/server/type-details.js +72 -0
- package/dist/server/type-details.js.map +1 -0
- package/dist/server/type-signature.d.ts +2 -0
- package/dist/server/type-signature.d.ts.map +1 -0
- package/dist/server/type-signature.js +108 -0
- package/dist/server/type-signature.js.map +1 -0
- package/dist/testing/expect.d.ts +49 -0
- package/dist/testing/expect.d.ts.map +1 -0
- package/dist/testing/expect.js +83 -0
- package/dist/testing/expect.js.map +1 -0
- package/dist/testing/index.d.ts +6 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +6 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/test-host.d.ts +14 -0
- package/dist/testing/test-host.d.ts.map +1 -0
- package/dist/testing/test-host.js +271 -0
- package/dist/testing/test-host.js.map +1 -0
- package/dist/testing/test-server-host.d.ts +39 -0
- package/dist/testing/test-server-host.d.ts.map +1 -0
- package/dist/testing/test-server-host.js +112 -0
- package/dist/testing/test-server-host.js.map +1 -0
- package/dist/testing/test-utils.d.ts +22 -0
- package/dist/testing/test-utils.d.ts.map +1 -0
- package/dist/testing/test-utils.js +60 -0
- package/dist/testing/test-utils.js.map +1 -0
- package/dist/testing/types.d.ts +69 -0
- package/dist/testing/types.d.ts.map +1 -0
- package/dist/testing/types.js +7 -0
- package/dist/testing/types.js.map +1 -0
- package/dist/typespec.tmLanguage +1760 -0
- package/lib/decorators.tsp +420 -0
- package/lib/lib.tsp +158 -0
- package/lib/main.tsp +4 -0
- package/lib/projected-names.tsp +94 -0
- package/lib/reflection.tsp +10 -0
- package/package.json +119 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../lib/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAiBzE,cAAc,cAAc,CAAC;AAE7B,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;AAEpC,SAAS,oCAAoC,CAAC,YAAoB,EAAE,YAAkB;IACpF,mEAAmE;IACnE,IAAI,YAAY,CAAC,IAAI,KAAK,mBAAmB,EAAE;QAC7C,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE;QACtD,OAAQ,YAAoB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CACjC,GAAW,EACX,OAAgB,EAChB,MAAY,EACZ,IAAY,EACZ,YAAmB;IAEnB,wEAAwE;IACxE,IAAI,YAAY,EAAE;QAChB,IAAI,GAAG,oCAAoC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KACjE;IAED,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAChD;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CACtB,OAAyB,EACzB,MAAY,EACZ,IAAY,EACZ,YAAkB;IAElB,0BAA0B,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,IAAU;IACrD,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1C;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAAC,OAAyB,EAAE,MAAY,EAAE,IAAY,EAAE,YAAmB;IAC7F,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAgB,EAAE,MAAY;IACnD,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAY,EAAE,IAAY;IACvE,sCAAsC;IACtC,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAY,EAAE,IAAY;IAC3E,sCAAsC;IACtC,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAChD,MAAM,UAAU,QAAQ,CAAC,OAAyB,EAAE,MAAY,EAAE,GAAW,EAAE,KAAW;IACxF,MAAM,OAAO,GAAiB,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAC7C,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAY;IACvD,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAmC,EAAE,MAAY;IAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxF,OAAO,CACL,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAC9F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAmC,EAAE,MAAY;IAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzF,OAAO,CACL,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAC/F,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,IAAW;IAC5D,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,IAAW;IAC7D,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAA8B;IAC5D,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE;QACnC,OAAO,MAAM,CAAC,IAAI,CAAC;KACpB;SAAM;QACL,OAAO,MAAM,CAAC;KACf;AACH,CAAC;AAED,6CAA6C;AAE7C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,OAAyB,EAAE,MAAa;IAC7D,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAY;IACzD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,6CAA6C;AAE7C,MAAM,eAAe,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,OAAO,CAAC,OAAyB,EAAE,MAA8B,EAAE,MAAc;IAC/F,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE;QACtF,OAAO;KACR;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,MAAY;IACtD,OAAO,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,8CAA8C;AAE9C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAE5D,MAAM,UAAU,QAAQ,CACtB,OAAyB,EACzB,MAA8B,EAC9B,OAAe;IAEf,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEzD,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;QAC5E,OAAO;KACR;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAY;IACvD,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,gDAAgD;AAEhD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAEhE,MAAM,UAAU,UAAU,CACxB,OAAyB,EACzB,MAA8B,EAC9B,SAAiB;IAEjB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAE3D,IACE,CAAC,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;QAC1E,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EACzE;QACA,OAAO;KACR;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAY;IACzD,OAAO,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,gDAAgD;AAEhD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAEhE,MAAM,UAAU,UAAU,CACxB,OAAyB,EACzB,MAA8B,EAC9B,SAAiB;IAEjB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAE3D,IACE,CAAC,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;QAC1E,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,EACzE;QACA,OAAO;KACR;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAY;IACzD,OAAO,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,+CAA+C;AAE/C,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAExD,MAAM,UAAU,SAAS,CACvB,OAAyB,EACzB,MAA6B,EAC7B,QAAgB;IAEhB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAE1D,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAM,CAAC,IAAY,CAAC,EAAE;QAC/F,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE;gBACN,SAAS,EAAE,WAAW;gBACtB,EAAE,EAAE,gBAAgB;aACrB;YACD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE;QAC3E,OAAO;KACR;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY;IACxD,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,gDAAgD;AAEhD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAExD,MAAM,UAAU,SAAS,CACvB,OAAyB,EACzB,MAA6B,EAC7B,QAAgB;IAEhB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAE1D,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAM,CAAC,IAAY,CAAC,EAAE;QAC/F,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE;gBACN,SAAS,EAAE,WAAW;gBACtB,EAAE,EAAE,gBAAgB;aACrB;YACD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;KACJ;IACD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE;QAC3E,OAAO;KACR;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY;IACxD,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,+CAA+C;AAE/C,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAEpD,MAAM,UAAU,SAAS,CACvB,OAAyB,EACzB,MAA8B,EAC9B,QAAgB;;IAEhB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1D,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE;QACpD,OAAO,CAAC,gBAAgB,CACtB,gBAAgB,CAAC;YACf,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,kBAAkB,EAAE;YAC1D,MAAM;SACP,CAAC,CACH,CAAC;QACF,OAAO;KACR;IAED,IACE,CAAC,aAAa,CACZ,OAAO,EACP,QAAQ,EACR,MAAA,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,mCAAI,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CACtF,EACD;QACA,OAAO;KACR;IACD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY;IACxD,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,+CAA+C;AAE/C,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAEpD,MAAM,UAAU,SAAS,CACvB,OAAyB,EACzB,MAA8B,EAC9B,QAAgB;;IAEhB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1D,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE;QACpD,OAAO,CAAC,gBAAgB,CACtB,gBAAgB,CAAC;YACf,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,kBAAkB,EAAE;YAC1D,MAAM;SACP,CAAC,CACH,CAAC;QACF,OAAO;KACR;IAED,IACE,CAAC,aAAa,CACZ,OAAO,EACP,MAAA,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,mCAAI,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EACrF,QAAQ,CACT,EACD;QACA,OAAO;KACR;IACD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY;IACxD,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,wDAAwD;AAExD,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;AAEpE,MAAM,UAAU,kBAAkB,CAChC,OAAyB,EACzB,MAA8B,EAC9B,iBAAyB;;IAEzB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACnE,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE;QACpD,OAAO,CAAC,gBAAgB,CACtB,gBAAgB,CAAC;YACf,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAAE,EAAE,kBAAkB,EAAE;YACnE,MAAM;SACP,CAAC,CACH,CAAC;QACF,OAAO;KACR;IAED,IACE,CAAC,aAAa,CACZ,OAAO,EACP,iBAAiB,EACjB,MAAA,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,mCAAI,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CACtF,EACD;QACA,OAAO;KACR;IACD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY;IACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,wDAAwD;AAExD,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;AAEpE,MAAM,UAAU,kBAAkB,CAChC,OAAyB,EACzB,MAA8B,EAC9B,iBAAyB;;IAEzB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACnE,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE;QACpD,OAAO,CAAC,gBAAgB,CACtB,gBAAgB,CAAC;YACf,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,kBAAkB,EAAE;YAC1D,MAAM;SACP,CAAC,CACH,CAAC;QACF,OAAO;KACR;IAED,IACE,CAAC,aAAa,CACZ,OAAO,EACP,MAAA,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,mCAAI,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EACrF,iBAAiB,CAClB,EACD;QACA,OAAO;KACR;IACD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY;IACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,6CAA6C;AAE7C,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,OAAyB,EAAE,MAA8B;IAC/E,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;QAC3E,OAAO;KACR;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAgB,EAAE,MAAY;IACrD,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,iDAAiD;AAEjD,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAEtE,MAAM,UAAU,WAAW,CACzB,OAAyB,EACzB,MAAqB,EACrB,GAAG,YAAsB;IAEzB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAE5D,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAY;IAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAyB,EACzB,MAAa,EACb,GAAG,YAAsB;IAEzB,4BAA4B,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,OAAgB,EAChB,QAAuB,EACvB,YAA+B;IAE/B,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9D,OAAO,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAY,EAAE,MAAwC;IAC1F,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACjB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC9B;KACF;AACH,CAAC;AAED,6DAA6D;AAE7D,MAAM,UAAU,uBAAuB,CAAC,OAAyB,EAAE,MAAa;IAC9E,kDAAkD;IAClD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,gEAAgE;AAEhE,MAAM,UAAU,yBAAyB,CAAC,OAAyB,EAAE,MAAY;IAC/E,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE;QACnF,OAAO;KACR;IAED,4BAA4B,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,gEAAgE;AAEhE,MAAM,UAAU,yBAAyB,CACvC,OAAyB,EACzB,MAAa,EACb,cAA8B;IAE9B,yCAAyC;IACzC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QACtC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;KAC/B;SAAM;QACL,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,OAAO,EAAE;YAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC3B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC5B;SACF;KACF;IAED,sCAAsC;IACtC,4BAA4B,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,4DAA4D;AAE5D,MAAM,UAAU,qBAAqB,CAAC,OAAyB,EAAE,MAAa;IAC5E,uDAAuD;IACvD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC;AAED,2CAA2C;AAE3C,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAE9D,MAAM,UAAU,KAAK,CAAC,OAAyB,EAAE,MAAiB,EAAE,UAAiB;IACnF,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,mBAAmB,EAAE;QACzD,+EAA+E;QAC/E,OAAO;KACR;IACD,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE;QAC7C,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;SACtC,CAAC,CAAC;QACH,OAAO;KACR;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY;IACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,MAAiB;IACjE,oCAAoC;IACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,0CAA0C;AAC1C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAE5D,wFAAwF;AACxF,sCAAsC;AACtC,MAAM,UAAU,IAAI,CAClB,OAAyB,EACzB,MAAyC,EACzC,GAAW;IAEX,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpE,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAChB;SAAM;QACL,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC/D;AACH,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,MAAY;IACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,4EAA4E;AAC5E,+BAA+B;AAC/B,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,MAAyC;;IAEzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,IAAI,OAAO,GAAkD,MAAM,CAAC;IACpE,OAAO,OAAO,KAAK,SAAS,EAAE;QAC5B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;YACzC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACb;QAED,wBAAwB;QACxB,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE;YAChC,OAAO,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,OAAO,CAAC,SAAS,CAAC;SAClD;aAAM;YACL,mCAAmC;YACnC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;SAC7B;KACF;IAED,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,mDAAmD;AAEnD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAE5D,MAAM,UAAU,aAAa,CAC3B,OAAyB,EACzB,MAAY,EACZ,YAAoB,EACpB,YAA8B;IAE9B,iEAAiE;IACjE,IAAI,YAAY,EAAE;QAChB,YAAY,GAAG,oCAAoC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;KACjF;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,MAAY;IAC5D,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACxD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAyB,EACzB,MAA8B,EAC9B,WAAiB;IAEjB,IACE,CAAC,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE;QACjE,QAAQ;QACR,MAAM;QACN,OAAO;QACP,OAAO;QACP,OAAO;QACP,SAAS;QACT,SAAS;KACV,CAAC,EACF;QACA,OAAO;KACR;IAED,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE;YACxE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;gBAChC,IAAI,EAAE,2BAA2B;gBACjC,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM,CAAC,IAAI;oBACnB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC;iBACxD;gBACD,MAAM;aACP,CAAC,CAAC;YACH,OAAO;SACR;KACF;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAgB,EAAE,QAAc,EAAE,MAAkB;IACxF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/E,QAAQ,UAAU,EAAE;QAClB,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzC,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,MAA8B;IAC7E,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAAC,OAAyB,EAAE,MAAqB,EAAE,OAAgB;IACrF,yDAAyD;IACzD,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE;YACrC,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,OAAO;KACR;IAED,4BAA4B;IAC5B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAgB,EAAE,QAAuB;IAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,QAAuB;IAClE,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAyB,EACzB,MAAa,EACb,UAAkB;IAElB,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAmB,EAAE,EAAE;QAChD,sDAAsD;QACtD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACzE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B;IACH,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,2BAA2B;IAC3B,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAChC,MAAM,CAAC,UAAU,CAAC,GAAG,CACnB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;YACzC,UAAU,EAAE;gBACV,GAAG,OAAO,CAAC,UAAU;gBACrB;oBACE,SAAS,EAAE,WAAW;oBACtB,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;iBACzE;aACF;SACF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CAAC,OAAyB,EAAE,MAAY,EAAE,OAAe;IAClF,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AACD,MAAM,aAAa,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAU;IACvD,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,IAAU;IACxD,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAC7D,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,OAAyB,EAAE,MAAiB,EAAE,YAAuB;IAC7F,uFAAuF;IACvF,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAC/E,MAAM,CAAC,UAAU,EACjB,YAAY,CAAC,UAAU,EACvB,MAAM,CACP,CAAC;IACF,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAErE,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CACzF,MAAM,CAAC,UAAU,EACjB,YAAY,CAAC,UAAU,EACvB,MAAM,CACP,CAAC;IACF,IAAI,CAAC,eAAe;QAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAE/E,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE;QACvD,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;KACJ;IACD,sDAAsD;IACtD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1E,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,IAAI,KAAK,EAAa,CAAC;IAChG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAc,EAAE,GAAc;IAClE,OAAO,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS;QACnC,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS;QACjC,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,SAAoB;IACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAgB,EAChB,SAAoB;IAEpB,OAAO,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAyB,EACzB,MAAY,EACZ,cAAsB,EACtB,aAAqB;IAErB,IAAI,GAAG,GAAwB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtF,IAAI,GAAG,KAAK,SAAS,EAAE;QACrB,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC7D;IACD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,MAAY;IAEZ,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,MAAY,EACZ,cAAsB;;IAEtB,OAAO,MAAA,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,0CAAE,GAAG,CAAC,cAAc,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAY,EAAE,cAAsB;;IACrF,OAAO,MAAA,MAAA,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,0CAAE,GAAG,CAAC,cAAc,CAAC,mCAAI,KAAK,CAAC;AAC1E,CAAC;AAED,SAAS,aAAa,CACpB,OAAyB,EACzB,GAAuB,EACvB,GAAuB;IAEvB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE;QAC1C,OAAO,IAAI,CAAC;KACb;IAED,IAAI,GAAG,GAAG,GAAG,EAAE;QACb,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtD,MAAM,EAAE,OAAO,CAAC,eAAe;SAChC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAMD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAE5D,MAAM,UAAU,cAAc,CAC5B,OAAyB,EACzB,MAAqB,EACrB,YAAoB;IAEpB,MAAM,aAAa,GAAkB,EAAE,YAAY,EAAE,CAAC;IAEtD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;QAC3B,gKAAgK;QAChK,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACrE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC/C,OAAO;SACR;KACF;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAY;IAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAQ,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Program } from "../core/program.js";
|
|
2
|
+
import { DecoratorContext, Model, Namespace } from "../core/types.js";
|
|
3
|
+
export interface ServiceDetails {
|
|
4
|
+
title?: string;
|
|
5
|
+
version?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface Service extends ServiceDetails {
|
|
8
|
+
type: Namespace;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* List all the services defined in the typespec program
|
|
12
|
+
* @param program Program
|
|
13
|
+
* @returns List of service.
|
|
14
|
+
*/
|
|
15
|
+
export declare function listServices(program: Program): Service[];
|
|
16
|
+
/**
|
|
17
|
+
* Get the service information for the given namespace.
|
|
18
|
+
* @param program Program
|
|
19
|
+
* @param namespace Service namespace
|
|
20
|
+
* @returns Service information or undefined if namespace is not a service namespace.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getService(program: Program, namespace: Namespace): Service | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Check if the namespace is defined as a service.
|
|
25
|
+
* @param program Program
|
|
26
|
+
* @param namespace Namespace
|
|
27
|
+
* @returns Boolean
|
|
28
|
+
*/
|
|
29
|
+
export declare function isService(program: Program, namespace: Namespace): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Mark the given namespace as a service.
|
|
32
|
+
* @param program Program
|
|
33
|
+
* @param namespace Namespace
|
|
34
|
+
* @param details Service details
|
|
35
|
+
*/
|
|
36
|
+
export declare function addService(program: Program, namespace: Namespace, details?: ServiceDetails): void;
|
|
37
|
+
export declare function $service(context: DecoratorContext, target: Namespace, options?: Model): void;
|
|
38
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../lib/service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAQ,SAAQ,cAAc;IAC7C,IAAI,EAAE,SAAS,CAAC;CACjB;AAOD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAEtF;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,cAAmB,GAC3B,IAAI,CAIN;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,KAAK,QA8BrF"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { validateDecoratorUniqueOnNode } from "../core/decorator-utils.js";
|
|
2
|
+
import { getTypeName } from "../core/index.js";
|
|
3
|
+
import { reportDiagnostic } from "../core/messages.js";
|
|
4
|
+
const serviceDetailsKey = Symbol.for("@typespec/compiler.services");
|
|
5
|
+
function getServiceMap(program) {
|
|
6
|
+
return program.stateMap(serviceDetailsKey);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* List all the services defined in the typespec program
|
|
10
|
+
* @param program Program
|
|
11
|
+
* @returns List of service.
|
|
12
|
+
*/
|
|
13
|
+
export function listServices(program) {
|
|
14
|
+
return [...getServiceMap(program).values()];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get the service information for the given namespace.
|
|
18
|
+
* @param program Program
|
|
19
|
+
* @param namespace Service namespace
|
|
20
|
+
* @returns Service information or undefined if namespace is not a service namespace.
|
|
21
|
+
*/
|
|
22
|
+
export function getService(program, namespace) {
|
|
23
|
+
return getServiceMap(program).get(namespace);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if the namespace is defined as a service.
|
|
27
|
+
* @param program Program
|
|
28
|
+
* @param namespace Namespace
|
|
29
|
+
* @returns Boolean
|
|
30
|
+
*/
|
|
31
|
+
export function isService(program, namespace) {
|
|
32
|
+
return getServiceMap(program).has(namespace);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Mark the given namespace as a service.
|
|
36
|
+
* @param program Program
|
|
37
|
+
* @param namespace Namespace
|
|
38
|
+
* @param details Service details
|
|
39
|
+
*/
|
|
40
|
+
export function addService(program, namespace, details = {}) {
|
|
41
|
+
var _a;
|
|
42
|
+
const serviceMap = getServiceMap(program);
|
|
43
|
+
const existing = (_a = serviceMap.get(namespace)) !== null && _a !== void 0 ? _a : {};
|
|
44
|
+
serviceMap.set(namespace, { ...existing, ...details, type: namespace });
|
|
45
|
+
}
|
|
46
|
+
export function $service(context, target, options) {
|
|
47
|
+
var _a, _b;
|
|
48
|
+
validateDecoratorUniqueOnNode(context, target, $service);
|
|
49
|
+
const serviceDetails = {};
|
|
50
|
+
const title = (_a = options === null || options === void 0 ? void 0 : options.properties.get("title")) === null || _a === void 0 ? void 0 : _a.type;
|
|
51
|
+
const version = (_b = options === null || options === void 0 ? void 0 : options.properties.get("version")) === null || _b === void 0 ? void 0 : _b.type;
|
|
52
|
+
if (title) {
|
|
53
|
+
if (title.kind === "String") {
|
|
54
|
+
serviceDetails.title = title.value;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
reportDiagnostic(context.program, {
|
|
58
|
+
code: "unassignable",
|
|
59
|
+
format: { value: getTypeName(title), targetType: "String" },
|
|
60
|
+
target: context.getArgumentTarget(0),
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (version) {
|
|
65
|
+
if (version.kind === "String") {
|
|
66
|
+
serviceDetails.version = version.value;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
reportDiagnostic(context.program, {
|
|
70
|
+
code: "unassignable",
|
|
71
|
+
format: { value: getTypeName(version), targetType: "String" },
|
|
72
|
+
target: context.getArgumentTarget(0),
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
addService(context.program, target, serviceDetails);
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../lib/service.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CompletionList, CompletionParams } from "vscode-languageserver";
|
|
2
|
+
import { Node, Program, TypeSpecScriptNode } from "../core/index.js";
|
|
3
|
+
export type CompletionContext = {
|
|
4
|
+
program: Program;
|
|
5
|
+
params: CompletionParams;
|
|
6
|
+
file: TypeSpecScriptNode;
|
|
7
|
+
completions: CompletionList;
|
|
8
|
+
};
|
|
9
|
+
export declare function resolveCompletion(context: CompletionContext, node: Node | undefined): Promise<CompletionList>;
|
|
10
|
+
//# sourceMappingURL=completion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../server/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EACd,gBAAgB,EAGjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,IAAI,EACJ,OAAO,EAKP,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAa1B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,GACrB,OAAO,CAAC,cAAc,CAAC,CAuBzB"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { CompletionItemKind, CompletionItemTag, MarkupKind, TextEdit, } from "vscode-languageserver";
|
|
2
|
+
import { SyntaxKind, } from "../core/index.js";
|
|
3
|
+
import { getAnyExtensionFromPath, getBaseFileName, getDirectoryPath, hasTrailingDirectorySeparator, resolvePath, } from "../core/path-utils.js";
|
|
4
|
+
import { findProjectRoot, loadFile, resolveTspMain } from "../core/util.js";
|
|
5
|
+
import { printId } from "../formatter/print/printer.js";
|
|
6
|
+
import { isDeprecated } from "../lib/decorators.js";
|
|
7
|
+
import { getTypeDetails } from "./type-details.js";
|
|
8
|
+
export async function resolveCompletion(context, node) {
|
|
9
|
+
const completions = {
|
|
10
|
+
isIncomplete: false,
|
|
11
|
+
items: [],
|
|
12
|
+
};
|
|
13
|
+
if (node === undefined) {
|
|
14
|
+
addKeywordCompletion("root", completions);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
switch (node.kind) {
|
|
18
|
+
case SyntaxKind.NamespaceStatement:
|
|
19
|
+
addKeywordCompletion("namespace", completions);
|
|
20
|
+
break;
|
|
21
|
+
case SyntaxKind.Identifier:
|
|
22
|
+
addIdentifierCompletion(context, node);
|
|
23
|
+
break;
|
|
24
|
+
case SyntaxKind.StringLiteral:
|
|
25
|
+
if (node.parent && node.parent.kind === SyntaxKind.ImportStatement) {
|
|
26
|
+
await addImportCompletion(context, node);
|
|
27
|
+
}
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return completions;
|
|
32
|
+
}
|
|
33
|
+
const keywords = [
|
|
34
|
+
// Root only
|
|
35
|
+
["import", { root: true }],
|
|
36
|
+
// Root and namespace
|
|
37
|
+
["using", { root: true, namespace: true }],
|
|
38
|
+
["model", { root: true, namespace: true }],
|
|
39
|
+
["scalar", { root: true, namespace: true }],
|
|
40
|
+
["namespace", { root: true, namespace: true }],
|
|
41
|
+
["interface", { root: true, namespace: true }],
|
|
42
|
+
["union", { root: true, namespace: true }],
|
|
43
|
+
["enum", { root: true, namespace: true }],
|
|
44
|
+
["alias", { root: true, namespace: true }],
|
|
45
|
+
["op", { root: true, namespace: true }],
|
|
46
|
+
["dec", { root: true, namespace: true }],
|
|
47
|
+
["fn", { root: true, namespace: true }],
|
|
48
|
+
// On model `model Foo <keyword> ...`
|
|
49
|
+
["extends", { model: true }],
|
|
50
|
+
["is", { model: true }],
|
|
51
|
+
// On identifier`
|
|
52
|
+
["true", { identifier: true }],
|
|
53
|
+
["false", { identifier: true }],
|
|
54
|
+
["unknown", { identifier: true }],
|
|
55
|
+
["void", { identifier: true }],
|
|
56
|
+
["never", { identifier: true }],
|
|
57
|
+
// Modifiers
|
|
58
|
+
["extern", { root: true, namespace: true }],
|
|
59
|
+
];
|
|
60
|
+
function addKeywordCompletion(area, completions) {
|
|
61
|
+
const filteredKeywords = keywords.filter(([_, x]) => area in x);
|
|
62
|
+
for (const [keyword] of filteredKeywords) {
|
|
63
|
+
completions.items.push({
|
|
64
|
+
label: keyword,
|
|
65
|
+
kind: CompletionItemKind.Keyword,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async function addLibraryImportCompletion({ program, file, completions }, node) {
|
|
70
|
+
const documentPath = file.file.path;
|
|
71
|
+
const projectRoot = await findProjectRoot(program.host, documentPath);
|
|
72
|
+
if (projectRoot !== undefined) {
|
|
73
|
+
const [packagejson] = await loadFile(program.host, resolvePath(projectRoot, "package.json"), JSON.parse, program.reportDiagnostic);
|
|
74
|
+
let dependencies = [];
|
|
75
|
+
if (packagejson.dependencies !== undefined) {
|
|
76
|
+
dependencies = dependencies.concat(Object.keys(packagejson.dependencies));
|
|
77
|
+
}
|
|
78
|
+
if (packagejson.peerDependencies !== undefined) {
|
|
79
|
+
dependencies = dependencies.concat(Object.keys(packagejson.peerDependencies));
|
|
80
|
+
}
|
|
81
|
+
for (const dependency of dependencies) {
|
|
82
|
+
const nodeProjectRoot = resolvePath(projectRoot, "node_modules", dependency);
|
|
83
|
+
const [libPackageJson] = await loadFile(program.host, resolvePath(nodeProjectRoot, "package.json"), JSON.parse, program.reportDiagnostic);
|
|
84
|
+
if (resolveTspMain(libPackageJson) !== undefined) {
|
|
85
|
+
const range = {
|
|
86
|
+
start: file.file.getLineAndCharacterOfPosition(node.pos + 1),
|
|
87
|
+
end: file.file.getLineAndCharacterOfPosition(node.end - 1),
|
|
88
|
+
};
|
|
89
|
+
completions.items.push({
|
|
90
|
+
textEdit: TextEdit.replace(range, dependency),
|
|
91
|
+
label: dependency,
|
|
92
|
+
kind: CompletionItemKind.Module,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async function addImportCompletion(context, node) {
|
|
99
|
+
if (node.value.startsWith("./") || node.value.startsWith("../")) {
|
|
100
|
+
await addRelativePathCompletion(context, node);
|
|
101
|
+
}
|
|
102
|
+
else if (!node.value.startsWith(".")) {
|
|
103
|
+
await addLibraryImportCompletion(context, node);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async function addRelativePathCompletion({ program, completions, file }, node) {
|
|
107
|
+
const documentPath = file.file.path;
|
|
108
|
+
const documentFile = getBaseFileName(documentPath);
|
|
109
|
+
const documentDir = getDirectoryPath(documentPath);
|
|
110
|
+
const nodevalueDir = hasTrailingDirectorySeparator(node.value)
|
|
111
|
+
? node.value
|
|
112
|
+
: getDirectoryPath(node.value);
|
|
113
|
+
const mainTypeSpec = resolvePath(documentDir, nodevalueDir);
|
|
114
|
+
const files = (await program.host.readDir(mainTypeSpec)).filter((x) => x !== documentFile && x !== "node_modules");
|
|
115
|
+
for (const file of files) {
|
|
116
|
+
const extension = getAnyExtensionFromPath(file);
|
|
117
|
+
switch (extension) {
|
|
118
|
+
case ".tsp":
|
|
119
|
+
case ".js":
|
|
120
|
+
case ".mjs":
|
|
121
|
+
completions.items.push({
|
|
122
|
+
label: file,
|
|
123
|
+
commitCharacters: [],
|
|
124
|
+
kind: CompletionItemKind.File,
|
|
125
|
+
});
|
|
126
|
+
break;
|
|
127
|
+
case "":
|
|
128
|
+
completions.items.push({
|
|
129
|
+
label: file,
|
|
130
|
+
commitCharacters: [],
|
|
131
|
+
kind: CompletionItemKind.Folder,
|
|
132
|
+
});
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Add completion options for an identifier.
|
|
139
|
+
*/
|
|
140
|
+
function addIdentifierCompletion({ program, completions }, node) {
|
|
141
|
+
var _a, _b;
|
|
142
|
+
const result = program.checker.resolveCompletions(node);
|
|
143
|
+
if (result.size === 0) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
for (const [key, { sym, label }] of result) {
|
|
147
|
+
let kind;
|
|
148
|
+
let deprecated = false;
|
|
149
|
+
const type = (_a = sym.type) !== null && _a !== void 0 ? _a : program.checker.getTypeForNode(sym.declarations[0]);
|
|
150
|
+
if (sym.flags & (131072 /* SymbolFlags.Function */ | 16384 /* SymbolFlags.Decorator */)) {
|
|
151
|
+
kind = CompletionItemKind.Function;
|
|
152
|
+
}
|
|
153
|
+
else if (sym.flags & 4096 /* SymbolFlags.Namespace */ &&
|
|
154
|
+
sym.declarations[0].kind !== SyntaxKind.NamespaceStatement) {
|
|
155
|
+
kind = CompletionItemKind.Module;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
kind = getCompletionItemKind(program, type);
|
|
159
|
+
deprecated = isDeprecated(program, type);
|
|
160
|
+
}
|
|
161
|
+
const documentation = getTypeDetails(program, type);
|
|
162
|
+
const item = {
|
|
163
|
+
label: label !== null && label !== void 0 ? label : key,
|
|
164
|
+
documentation: documentation
|
|
165
|
+
? {
|
|
166
|
+
kind: MarkupKind.Markdown,
|
|
167
|
+
value: documentation,
|
|
168
|
+
}
|
|
169
|
+
: undefined,
|
|
170
|
+
kind,
|
|
171
|
+
insertText: printId(key),
|
|
172
|
+
};
|
|
173
|
+
if (deprecated) {
|
|
174
|
+
item.tags = [CompletionItemTag.Deprecated];
|
|
175
|
+
}
|
|
176
|
+
completions.items.push(item);
|
|
177
|
+
}
|
|
178
|
+
if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.kind) === SyntaxKind.TypeReference) {
|
|
179
|
+
addKeywordCompletion("identifier", completions);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
function getCompletionItemKind(program, target) {
|
|
183
|
+
var _a;
|
|
184
|
+
switch ((_a = target.node) === null || _a === void 0 ? void 0 : _a.kind) {
|
|
185
|
+
case SyntaxKind.EnumStatement:
|
|
186
|
+
case SyntaxKind.UnionStatement:
|
|
187
|
+
return CompletionItemKind.Enum;
|
|
188
|
+
case SyntaxKind.EnumMember:
|
|
189
|
+
case SyntaxKind.UnionVariant:
|
|
190
|
+
return CompletionItemKind.EnumMember;
|
|
191
|
+
case SyntaxKind.AliasStatement:
|
|
192
|
+
return CompletionItemKind.Variable;
|
|
193
|
+
case SyntaxKind.ModelStatement:
|
|
194
|
+
return CompletionItemKind.Class;
|
|
195
|
+
case SyntaxKind.ScalarStatement:
|
|
196
|
+
return CompletionItemKind.Unit;
|
|
197
|
+
case SyntaxKind.ModelProperty:
|
|
198
|
+
return CompletionItemKind.Field;
|
|
199
|
+
case SyntaxKind.OperationStatement:
|
|
200
|
+
return CompletionItemKind.Method;
|
|
201
|
+
case SyntaxKind.NamespaceStatement:
|
|
202
|
+
return CompletionItemKind.Module;
|
|
203
|
+
default:
|
|
204
|
+
return CompletionItemKind.Struct;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../server/completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../server/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeSpec Language configuration. Format: https://code.visualstudio.com/api/language-extensions/language-configuration-guide
|
|
3
|
+
*/
|
|
4
|
+
export declare const TypeSpecLanguageConfiguration: {
|
|
5
|
+
readonly comments: {
|
|
6
|
+
readonly lineComment: "//";
|
|
7
|
+
readonly blockComment: readonly ["/*", "*/"];
|
|
8
|
+
};
|
|
9
|
+
readonly brackets: readonly [readonly ["{", "}"], readonly ["[", "]"], readonly ["(", ")"]];
|
|
10
|
+
readonly autoClosingPairs: readonly [{
|
|
11
|
+
readonly open: "{";
|
|
12
|
+
readonly close: "}";
|
|
13
|
+
}, {
|
|
14
|
+
readonly open: "[";
|
|
15
|
+
readonly close: "]";
|
|
16
|
+
}, {
|
|
17
|
+
readonly open: "(";
|
|
18
|
+
readonly close: ")";
|
|
19
|
+
}, {
|
|
20
|
+
readonly open: "\"";
|
|
21
|
+
readonly close: "\"";
|
|
22
|
+
}, {
|
|
23
|
+
readonly open: "/**";
|
|
24
|
+
readonly close: " */";
|
|
25
|
+
readonly notIn: readonly ["string"];
|
|
26
|
+
}];
|
|
27
|
+
readonly surroundingPairs: readonly [{
|
|
28
|
+
readonly open: "{";
|
|
29
|
+
readonly close: "}";
|
|
30
|
+
}, {
|
|
31
|
+
readonly open: "[";
|
|
32
|
+
readonly close: "]";
|
|
33
|
+
}, {
|
|
34
|
+
readonly open: "(";
|
|
35
|
+
readonly close: ")";
|
|
36
|
+
}, {
|
|
37
|
+
readonly open: "\"";
|
|
38
|
+
readonly close: "\"";
|
|
39
|
+
}];
|
|
40
|
+
readonly indentationRules: {
|
|
41
|
+
readonly decreaseIndentPattern: {
|
|
42
|
+
readonly pattern: "^((?!.*?/\\*).*\\*/)?\\s*[\\}\\]].*$";
|
|
43
|
+
};
|
|
44
|
+
readonly increaseIndentPattern: {
|
|
45
|
+
readonly pattern: "^((?!//).)*(\\{([^}\"'`/]*|(\\t|[ ])*//.*)|\\([^)\"'`/]*|\\[[^\\]\"'`/]*)$";
|
|
46
|
+
};
|
|
47
|
+
readonly unIndentedLinePattern: {
|
|
48
|
+
readonly pattern: "^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$|^(\\t|[ ])*[ ]\\*/\\s*$|^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$";
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
readonly onEnterRules: readonly [{
|
|
52
|
+
readonly beforeText: {
|
|
53
|
+
readonly pattern: "^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$";
|
|
54
|
+
};
|
|
55
|
+
readonly afterText: {
|
|
56
|
+
readonly pattern: "^\\s*\\*/$";
|
|
57
|
+
};
|
|
58
|
+
readonly action: {
|
|
59
|
+
readonly indent: "indentOutdent";
|
|
60
|
+
readonly appendText: " * ";
|
|
61
|
+
};
|
|
62
|
+
}, {
|
|
63
|
+
readonly beforeText: {
|
|
64
|
+
readonly pattern: "^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$";
|
|
65
|
+
};
|
|
66
|
+
readonly action: {
|
|
67
|
+
readonly indent: "none";
|
|
68
|
+
readonly appendText: " * ";
|
|
69
|
+
};
|
|
70
|
+
}, {
|
|
71
|
+
readonly beforeText: {
|
|
72
|
+
readonly pattern: "^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$";
|
|
73
|
+
};
|
|
74
|
+
readonly previousLineText: {
|
|
75
|
+
readonly pattern: "(?=^(\\s*(/\\*\\*|\\*)).*)(?=(?!(\\s*\\*/)))";
|
|
76
|
+
};
|
|
77
|
+
readonly action: {
|
|
78
|
+
readonly indent: "none";
|
|
79
|
+
readonly appendText: "* ";
|
|
80
|
+
};
|
|
81
|
+
}, {
|
|
82
|
+
readonly beforeText: {
|
|
83
|
+
readonly pattern: "^(\\t|[ ])*[ ]\\*/\\s*$";
|
|
84
|
+
};
|
|
85
|
+
readonly action: {
|
|
86
|
+
readonly indent: "none";
|
|
87
|
+
readonly removeText: 1;
|
|
88
|
+
};
|
|
89
|
+
}, {
|
|
90
|
+
readonly beforeText: {
|
|
91
|
+
readonly pattern: "^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$";
|
|
92
|
+
};
|
|
93
|
+
readonly action: {
|
|
94
|
+
readonly indent: "none";
|
|
95
|
+
readonly removeText: 1;
|
|
96
|
+
};
|
|
97
|
+
}];
|
|
98
|
+
};
|
|
99
|
+
/** @deprecated Use TypeSpecLanguageConfiguration */
|
|
100
|
+
export declare const CadlLanguageConfiguration: {
|
|
101
|
+
readonly comments: {
|
|
102
|
+
readonly lineComment: "//";
|
|
103
|
+
readonly blockComment: readonly ["/*", "*/"];
|
|
104
|
+
};
|
|
105
|
+
readonly brackets: readonly [readonly ["{", "}"], readonly ["[", "]"], readonly ["(", ")"]];
|
|
106
|
+
readonly autoClosingPairs: readonly [{
|
|
107
|
+
readonly open: "{";
|
|
108
|
+
readonly close: "}";
|
|
109
|
+
}, {
|
|
110
|
+
readonly open: "[";
|
|
111
|
+
readonly close: "]";
|
|
112
|
+
}, {
|
|
113
|
+
readonly open: "(";
|
|
114
|
+
readonly close: ")";
|
|
115
|
+
}, {
|
|
116
|
+
readonly open: "\"";
|
|
117
|
+
readonly close: "\"";
|
|
118
|
+
}, {
|
|
119
|
+
readonly open: "/**";
|
|
120
|
+
readonly close: " */";
|
|
121
|
+
readonly notIn: readonly ["string"];
|
|
122
|
+
}];
|
|
123
|
+
readonly surroundingPairs: readonly [{
|
|
124
|
+
readonly open: "{";
|
|
125
|
+
readonly close: "}";
|
|
126
|
+
}, {
|
|
127
|
+
readonly open: "[";
|
|
128
|
+
readonly close: "]";
|
|
129
|
+
}, {
|
|
130
|
+
readonly open: "(";
|
|
131
|
+
readonly close: ")";
|
|
132
|
+
}, {
|
|
133
|
+
readonly open: "\"";
|
|
134
|
+
readonly close: "\"";
|
|
135
|
+
}];
|
|
136
|
+
readonly indentationRules: {
|
|
137
|
+
readonly decreaseIndentPattern: {
|
|
138
|
+
readonly pattern: "^((?!.*?/\\*).*\\*/)?\\s*[\\}\\]].*$";
|
|
139
|
+
};
|
|
140
|
+
readonly increaseIndentPattern: {
|
|
141
|
+
readonly pattern: "^((?!//).)*(\\{([^}\"'`/]*|(\\t|[ ])*//.*)|\\([^)\"'`/]*|\\[[^\\]\"'`/]*)$";
|
|
142
|
+
};
|
|
143
|
+
readonly unIndentedLinePattern: {
|
|
144
|
+
readonly pattern: "^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$|^(\\t|[ ])*[ ]\\*/\\s*$|^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$";
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
readonly onEnterRules: readonly [{
|
|
148
|
+
readonly beforeText: {
|
|
149
|
+
readonly pattern: "^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$";
|
|
150
|
+
};
|
|
151
|
+
readonly afterText: {
|
|
152
|
+
readonly pattern: "^\\s*\\*/$";
|
|
153
|
+
};
|
|
154
|
+
readonly action: {
|
|
155
|
+
readonly indent: "indentOutdent";
|
|
156
|
+
readonly appendText: " * ";
|
|
157
|
+
};
|
|
158
|
+
}, {
|
|
159
|
+
readonly beforeText: {
|
|
160
|
+
readonly pattern: "^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$";
|
|
161
|
+
};
|
|
162
|
+
readonly action: {
|
|
163
|
+
readonly indent: "none";
|
|
164
|
+
readonly appendText: " * ";
|
|
165
|
+
};
|
|
166
|
+
}, {
|
|
167
|
+
readonly beforeText: {
|
|
168
|
+
readonly pattern: "^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$";
|
|
169
|
+
};
|
|
170
|
+
readonly previousLineText: {
|
|
171
|
+
readonly pattern: "(?=^(\\s*(/\\*\\*|\\*)).*)(?=(?!(\\s*\\*/)))";
|
|
172
|
+
};
|
|
173
|
+
readonly action: {
|
|
174
|
+
readonly indent: "none";
|
|
175
|
+
readonly appendText: "* ";
|
|
176
|
+
};
|
|
177
|
+
}, {
|
|
178
|
+
readonly beforeText: {
|
|
179
|
+
readonly pattern: "^(\\t|[ ])*[ ]\\*/\\s*$";
|
|
180
|
+
};
|
|
181
|
+
readonly action: {
|
|
182
|
+
readonly indent: "none";
|
|
183
|
+
readonly removeText: 1;
|
|
184
|
+
};
|
|
185
|
+
}, {
|
|
186
|
+
readonly beforeText: {
|
|
187
|
+
readonly pattern: "^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$";
|
|
188
|
+
};
|
|
189
|
+
readonly action: {
|
|
190
|
+
readonly indent: "none";
|
|
191
|
+
readonly removeText: 1;
|
|
192
|
+
};
|
|
193
|
+
}];
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=language-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-config.d.ts","sourceRoot":"","sources":["../../server/language-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGhC,CAAC;AAEX,oDAAoD;AACpD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC"}
|